aboutsummaryrefslogtreecommitdiffstats
path: root/misc
diff options
context:
space:
mode:
authorkwm <kwm@FreeBSD.org>2011-07-30 17:38:05 +0800
committerkwm <kwm@FreeBSD.org>2011-07-30 17:38:05 +0800
commit550ed7d78fab02c5dbdfeea1ecea79f43bbeb1fd (patch)
tree7d3d70da3854daa7fa60c139dd11d89b47a0a941 /misc
parent5a88713c3d80d250a7b2264d8173043361abcad0 (diff)
downloadfreebsd-ports-gnome-550ed7d78fab02c5dbdfeea1ecea79f43bbeb1fd.tar.gz
freebsd-ports-gnome-550ed7d78fab02c5dbdfeea1ecea79f43bbeb1fd.tar.zst
freebsd-ports-gnome-550ed7d78fab02c5dbdfeea1ecea79f43bbeb1fd.zip
Make the amanda26-* ports build with the new glib 2.28.
Obtained from: amanda upstream.
Diffstat (limited to 'misc')
-rw-r--r--misc/amanda26-client/Makefile2
-rw-r--r--misc/amanda26-server/Makefile2
-rw-r--r--misc/amanda26-server/files/patch-common-src::glib-util.c41
-rw-r--r--misc/amanda26-server/files/patch-common-src_conffile.c29
-rw-r--r--misc/amanda26-server/files/patch-common-src_glib-util.h21
-rw-r--r--misc/amanda26-server/files/patch-server-src_amadmin.c20
-rw-r--r--misc/amanda26-server/files/patch-server-src_amflush.c41
-rw-r--r--misc/amanda26-server/files/patch-server-src_cmdline.c11
-rw-r--r--misc/amanda26-server/files/patch-server-src_find.c11
-rw-r--r--misc/amanda26-server/files/patch-server-src_holding.c20
-rw-r--r--misc/amanda26-server/files/patch-server-src_planner.c11
11 files changed, 202 insertions, 7 deletions
diff --git a/misc/amanda26-client/Makefile b/misc/amanda26-client/Makefile
index 1fab83a5f7c4..15c4f11d5f16 100644
--- a/misc/amanda26-client/Makefile
+++ b/misc/amanda26-client/Makefile
@@ -6,7 +6,7 @@
#
PKGNAMESUFFIX= -client
-PORTREVISION= 1
+PORTREVISION= 2
COMMENT= The Advanced Maryland Automatic Network Disk Archiver (client)
diff --git a/misc/amanda26-server/Makefile b/misc/amanda26-server/Makefile
index 94efda1f1b8e..f8827413ffd5 100644
--- a/misc/amanda26-server/Makefile
+++ b/misc/amanda26-server/Makefile
@@ -7,7 +7,7 @@
PORTNAME= amanda
PORTVERSION= 2.6.1p2
-PORTREVISION= 3
+PORTREVISION= 4
PORTEPOCH= 1
CATEGORIES= misc
MASTER_SITES= SF/amanda/amanda%20-%20stable/${PORTVERSION}
diff --git a/misc/amanda26-server/files/patch-common-src::glib-util.c b/misc/amanda26-server/files/patch-common-src::glib-util.c
index c7450c7835eb..1d3b00558e0d 100644
--- a/misc/amanda26-server/files/patch-common-src::glib-util.c
+++ b/misc/amanda26-server/files/patch-common-src::glib-util.c
@@ -1,6 +1,5 @@
-
---- common-src/glib-util.c.orig 2010-05-20 13:19:58.000000000 -0400
-+++ common-src/glib-util.c 2010-05-20 13:24:40.000000000 -0400
+--- common-src/glib-util.c.orig 2008-12-01 22:17:19.000000000 +0100
++++ common-src/glib-util.c 2011-06-25 22:43:28.000000000 +0200
@@ -38,26 +38,15 @@
if (did_glib_init) return;
did_glib_init = TRUE;
@@ -47,5 +46,37 @@
}
typedef enum {
-
-
+@@ -107,29 +107,19 @@
+ return to;
+ }
+
+-void g_list_free_full(GList * list) {
+- GList * cur = list;
+-
+- while (cur != NULL) {
+- gpointer data = cur->data;
+- amfree(data);
+- cur = g_list_next(cur);
+- }
+-
+- g_list_free(list);
+-}
+-
+-void g_slist_free_full(GSList * list) {
++#if (GLIB_MAJOR_VERSION < 2 || (GLIB_MAJOR_VERSION == 2 && GLIB_MINOR_VERSION < 28))
++void _slist_free_full(GSList * list, GDestroyNotify free_fn) {
+ GSList * cur = list;
+
+ while (cur != NULL) {
+ gpointer data = cur->data;
+- amfree(data);
++ free_fn(data);
+ cur = g_slist_next(cur);
+ }
+
+ g_slist_free(list);
+ }
++#endif
+
+ void g_queue_free_full(GQueue * queue) {
+ while (!g_queue_is_empty(queue)) {
diff --git a/misc/amanda26-server/files/patch-common-src_conffile.c b/misc/amanda26-server/files/patch-common-src_conffile.c
new file mode 100644
index 000000000000..1503c7f5c67e
--- /dev/null
+++ b/misc/amanda26-server/files/patch-common-src_conffile.c
@@ -0,0 +1,29 @@
+--- common-src/conffile.c.orig 2011-06-25 22:48:30.000000000 +0200
++++ common-src/conffile.c 2011-06-25 22:58:42.000000000 +0200
+@@ -4151,7 +4151,7 @@
+ amfree(config_name);
+ amfree(config_dir);
+
+- g_slist_free_full(seen_filenames);
++ _slist_free_full(seen_filenames, g_free);
+ seen_filenames = NULL;
+
+ config_client = FALSE;
+@@ -5655,7 +5655,7 @@
+ break;
+
+ case CONFTYPE_PP_SCRIPTLIST:
+- g_slist_free_full(val->v.pp_scriptlist);
++ _slist_free_full(val->v.pp_scriptlist, g_free);
+ break;
+
+ case CONFTYPE_APPLICATION:
+@@ -6771,7 +6771,7 @@
+ void
+ config_clear_errors(void)
+ {
+- g_slist_free_full(cfgerr_errors);
++ _slist_free_full(cfgerr_errors, g_free);
+
+ cfgerr_errors = NULL;
+ cfgerr_level = CFGERR_OK;
diff --git a/misc/amanda26-server/files/patch-common-src_glib-util.h b/misc/amanda26-server/files/patch-common-src_glib-util.h
new file mode 100644
index 000000000000..7e26de023ff5
--- /dev/null
+++ b/misc/amanda26-server/files/patch-common-src_glib-util.h
@@ -0,0 +1,21 @@
+--- common-src/glib-util.h.orig 2011-06-25 22:39:20.000000000 +0200
++++ common-src/glib-util.h 2011-06-25 22:40:39.000000000 +0200
+@@ -62,10 +62,16 @@ GValue* g_value_unset_init(GValue* val,
+ * Returns its second (reset) argument.*/
+ GValue* g_value_unset_copy(const GValue* from, GValue * to);
+
++/* This function is available in glib-2.28.0 and higher; for lower versions
++ * we build our own version with a different name */
++#if (GLIB_MAJOR_VERSION < 2 || (GLIB_MAJOR_VERSION == 2 && GLIB_MINOR_VERSION < 28))
++void _slist_free_full(GSList * list, GDestroyNotify free_fn);
++#else
++#define _slist_free_full(list, free_fn) g_slist_free_full((list), (free_fn))
++#endif
++
+ /* These functions all take a GLib container, and call free() on all the
+ * pointers in the container before free()ing the container itself. */
+-void g_list_free_full(GList * list);
+-void g_slist_free_full(GSList * list);
+ void g_queue_free_full(GQueue * queue);
+ void g_ptr_array_free_full(GPtrArray * array);
+
diff --git a/misc/amanda26-server/files/patch-server-src_amadmin.c b/misc/amanda26-server/files/patch-server-src_amadmin.c
new file mode 100644
index 000000000000..613ac2cfd2c0
--- /dev/null
+++ b/misc/amanda26-server/files/patch-server-src_amadmin.c
@@ -0,0 +1,20 @@
+--- server-src/amadmin.c.orig 2011-06-25 22:52:23.000000000 +0200
++++ server-src/amadmin.c 2011-06-25 22:53:50.000000000 +0200
+@@ -1414,7 +1414,7 @@
+ amfree(dumpstr);
+ dumpfile_free_data(&file);
+ }
+- g_slist_free_full(file_list);
++ _slist_free_full(file_list, g_free);
+ break;
+
+ case HOLDING_DELETE:
+@@ -1432,7 +1432,7 @@
+ error(_("Could not delete '%s'"), (char *)li->data);
+ }
+ }
+- g_slist_free_full(file_list);
++ _slist_free_full(file_list, g_free);
+ break;
+ }
+ }
diff --git a/misc/amanda26-server/files/patch-server-src_amflush.c b/misc/amanda26-server/files/patch-server-src_amflush.c
new file mode 100644
index 000000000000..b8f9ca13788f
--- /dev/null
+++ b/misc/amanda26-server/files/patch-server-src_amflush.c
@@ -0,0 +1,41 @@
+--- server-src/amflush.c.orig 2011-06-25 22:52:32.000000000 +0200
++++ server-src/amflush.c 2011-06-25 22:54:16.000000000 +0200
+@@ -241,7 +241,7 @@
+ stralloc((char *)datestamp->data),
+ g_compare_strings);
+ }
+- g_slist_free_full(all_datestamps);
++ _slist_free_full(all_datestamps, g_free);
+ }
+ else {
+ /* otherwise, in batch mode, use all datestamps */
+@@ -390,9 +390,9 @@
+ }
+ }
+
+- g_slist_free_full(datestamp_list);
++ _slist_free_full(datestamp_list, g_free);
+ datestamp_list = NULL;
+- g_slist_free_full(holding_list);
++ _slist_free_full(holding_list, g_free);
+ holding_list = NULL;
+
+ if(redirect) { /* rename errfile */
+@@ -583,7 +583,7 @@
+ }
+ chupper = (char)toupper(ch);
+ if (chupper < 'A' || chupper > max_char) {
+- g_slist_free_full(r_datestamp_list);
++ _slist_free_full(r_datestamp_list, g_free);
+ r_datestamp_list = NULL;
+ break;
+ }
+@@ -591,7 +591,7 @@
+ stralloc(datestamps[chupper - 'A']));
+ } while ((ch = *a++) != '\0');
+ if (r_datestamp_list && ch == '\0') {
+- g_slist_free_full(datestamp_list);
++ _slist_free_full(datestamp_list, g_free);
+ datestamp_list = r_datestamp_list;
+ break;
+ }
diff --git a/misc/amanda26-server/files/patch-server-src_cmdline.c b/misc/amanda26-server/files/patch-server-src_cmdline.c
new file mode 100644
index 000000000000..d1d17a15b9bb
--- /dev/null
+++ b/misc/amanda26-server/files/patch-server-src_cmdline.c
@@ -0,0 +1,11 @@
+--- server-src/cmdline.c.orig 2011-06-25 22:50:58.000000000 +0200
++++ server-src/cmdline.c 2011-06-25 22:51:17.000000000 +0200
+@@ -255,7 +255,7 @@
+ dumpfile_free_data(&file);
+ }
+
+- g_slist_free_full(holding_files);
++ _slist_free_full(holding_files, g_free);
+
+ return matching_files;
+ }
diff --git a/misc/amanda26-server/files/patch-server-src_find.c b/misc/amanda26-server/files/patch-server-src_find.c
new file mode 100644
index 000000000000..621c9d02549d
--- /dev/null
+++ b/misc/amanda26-server/files/patch-server-src_find.c
@@ -0,0 +1,11 @@
+--- server-src/find.c.orig 2011-06-25 22:52:09.000000000 +0200
++++ server-src/find.c 2011-06-25 22:53:37.000000000 +0200
+@@ -257,7 +257,7 @@
+ dumpfile_free_data(&file);
+ }
+
+- g_slist_free_full(holding_file_list);
++ _slist_free_full(holding_file_list, g_free);
+ }
+
+ static char *
diff --git a/misc/amanda26-server/files/patch-server-src_holding.c b/misc/amanda26-server/files/patch-server-src_holding.c
new file mode 100644
index 000000000000..84f4061e790e
--- /dev/null
+++ b/misc/amanda26-server/files/patch-server-src_holding.c
@@ -0,0 +1,20 @@
+--- server-src/holding.c.orig 2011-06-25 22:51:58.000000000 +0200
++++ server-src/holding.c 2011-06-25 22:53:27.000000000 +0200
+@@ -565,7 +565,7 @@
+ dumpfile_free_data(&file);
+ }
+
+- if (file_list) g_slist_free_full(file_list);
++ if (file_list) _slist_free_full(file_list, g_free);
+
+ return result_list;
+ }
+@@ -591,7 +591,7 @@
+ dumpfile_free_data(&dfile);
+ }
+
+- g_slist_free_full(all_files);
++ _slist_free_full(all_files, g_free);
+
+ return datestamps;
+ }
diff --git a/misc/amanda26-server/files/patch-server-src_planner.c b/misc/amanda26-server/files/patch-server-src_planner.c
new file mode 100644
index 000000000000..0fbd3ced557b
--- /dev/null
+++ b/misc/amanda26-server/files/patch-server-src_planner.c
@@ -0,0 +1,11 @@
+--- server-src/planner.c.orig 2011-06-25 22:52:39.000000000 +0200
++++ server-src/planner.c 2011-06-25 22:54:23.000000000 +0200
+@@ -431,7 +431,7 @@
+ amfree(qhname);
+ dumpfile_free_data(&file);
+ }
+- g_slist_free_full(holding_list);
++ _slist_free_full(holding_list, g_free);
+ holding_list = NULL;
+ }
+ g_fprintf(stderr, _("ENDFLUSH\n"));