packages: amanda/amanda.spec, amanda/amanda-amstar-exclude.patch (NEW) - Su...
baggins
baggins at pld-linux.org
Sat Nov 27 00:21:49 CET 2010
Author: baggins Date: Fri Nov 26 23:21:49 2010 GMT
Module: packages Tag: HEAD
---- Log message:
- Support 'exclude file' and 'exclude list', from SVN trunk
---- Files affected:
packages/amanda:
amanda.spec (1.208 -> 1.209) , amanda-amstar-exclude.patch (NONE -> 1.1) (NEW)
---- Diffs:
================================================================
Index: packages/amanda/amanda.spec
diff -u packages/amanda/amanda.spec:1.208 packages/amanda/amanda.spec:1.209
--- packages/amanda/amanda.spec:1.208 Fri Nov 26 23:36:45 2010
+++ packages/amanda/amanda.spec Sat Nov 27 00:21:43 2010
@@ -33,6 +33,7 @@
Patch7: %{name}-no-buildtime-ipv6.patch
Patch8: %{name}-heimdal.patch
Patch9: %{name}-ac.patch
+Patch10: %{name}-amstar-exclude.patch
URL: http://www.amanda.org/
BuildRequires: autoconf >= 2.53
BuildRequires: automake
@@ -202,6 +203,7 @@
%patch7 -p1
%patch8 -p1
%patch9 -p1
+%patch10 -p2
%build
%{__aclocal} -I config -I config/gettext-macros -I config/gnulib -I config/amanda -I config/macro-archive
@@ -665,6 +667,9 @@
All persons listed below can be reached at <cvs_login>@pld-linux.org
$Log$
+Revision 1.209 2010/11/26 23:21:43 baggins
+- Support 'exclude file' and 'exclude list', from SVN trunk
+
Revision 1.208 2010/11/26 22:36:45 baggins
- added kerberos amanda client service
================================================================
Index: packages/amanda/amanda-amstar-exclude.patch
diff -u /dev/null packages/amanda/amanda-amstar-exclude.patch:1.1
--- /dev/null Sat Nov 27 00:21:49 2010
+++ packages/amanda/amanda-amstar-exclude.patch Sat Nov 27 00:21:43 2010
@@ -0,0 +1,135 @@
+--- amanda/trunk/application-src/amstar.c 2010/09/24 21:46:25 3449
++++ amanda/trunk/application-src/amstar.c 2010/11/10 11:22:58 3609
+@@ -40,7 +40,8 @@
+ * IGNORE
+ * STRANGE
+ * INCLUDE-LIST (for restore only)
+- * EXCLUDE-LIST (for restore only)
++ * EXCLUDE-FILE
++ * EXCLUDE-LIST
+ * DIRECTORY
+ */
+
+@@ -159,6 +160,7 @@
+ {"exclude-list" , 1, NULL, 20},
+ {"directory" , 1, NULL, 21},
+ {"command-options" , 1, NULL, 22},
++ {"exclude-file" , 1, NULL, 23},
+ { NULL, 0, NULL, 0}
+ };
+
+@@ -320,6 +322,10 @@
+ case 22: argument.command_options =
+ g_slist_append(argument.command_options,
+ stralloc(optarg));
++ case 23: if (optarg)
++ argument.dle.exclude_file =
++ append_sl(argument.dle.exclude_file, optarg);
++ break;
+ case ':':
+ case '?':
+ break;
+@@ -417,10 +423,6 @@
+ argument->dle.include_list->nb_element >= 0) {
+ fprintf(stdout, "ERROR include-list not supported for backup\n");
+ }
+- if (argument->dle.exclude_list &&
+- argument->dle.exclude_list->nb_element >= 0) {
+- fprintf(stdout, "ERROR exclude-list not supported for backup\n");
+- }
+
+ if (!star_path) {
+ fprintf(stdout, "ERROR STAR-PATH not defined\n");
+@@ -486,10 +488,6 @@
+ argument->dle.include_list->nb_element >= 0) {
+ fprintf(stderr, "ERROR include-list not supported for backup\n");
+ }
+- if (argument->dle.exclude_list &&
+- argument->dle.exclude_list->nb_element >= 0) {
+- fprintf(stderr, "ERROR exclude-list not supported for backup\n");
+- }
+
+ if (check_device(argument) == 0) {
+ return;
+@@ -675,10 +673,6 @@
+ argument->dle.include_list->nb_element >= 0) {
+ fprintf(mesgstream, "? include-list not supported for backup\n");
+ }
+- if (argument->dle.exclude_list &&
+- argument->dle.exclude_list->nb_element >= 0) {
+- fprintf(mesgstream, "? exclude-list not supported for backup\n");
+- }
+
+ level = GPOINTER_TO_INT(argument->level->data);
+
+@@ -951,6 +945,7 @@
+ g_ptr_array_add(argv_ptr, stralloc("-"));
+ }
+ g_ptr_array_add(argv_ptr, stralloc("-C"));
++
+ #if defined(__CYGWIN__)
+ {
+ char tmppath[PATH_MAX];
+@@ -969,6 +964,7 @@
+ g_ptr_array_add(argv_ptr, stralloc2("tardumps=", tardumpfile));
+ if (command == CMD_BACKUP)
+ g_ptr_array_add(argv_ptr, stralloc("-wtardumps"));
++
+ g_ptr_array_add(argv_ptr, stralloc("-xattr"));
+ g_ptr_array_add(argv_ptr, stralloc("-acl"));
+ g_ptr_array_add(argv_ptr, stralloc("H=exustar"));
+@@ -984,6 +980,54 @@
+ if (command == CMD_BACKUP && argument->dle.create_index)
+ g_ptr_array_add(argv_ptr, stralloc("-v"));
+
++ if ((argument->dle.exclude_file &&
++ argument->dle.exclude_file->nb_element >= 1) ||
++ (argument->dle.exclude_list &&
++ argument->dle.exclude_list->nb_element >= 1)) {
++ g_ptr_array_add(argv_ptr, stralloc("-match-tree"));
++ g_ptr_array_add(argv_ptr, stralloc("-not"));
++ }
++ if (argument->dle.exclude_file &&
++ argument->dle.exclude_file->nb_element >= 1) {
++ sle_t *excl;
++ for (excl = argument->dle.exclude_file->first; excl != NULL;
++ excl = excl->next) {
++ char *ex;
++ if (strcmp(excl->name, "./") == 0) {
++ ex = g_strdup_printf("pat=%s", excl->name+2);
++ } else {
++ ex = g_strdup_printf("pat=%s", excl->name);
++ }
++ g_ptr_array_add(argv_ptr, ex);
++ }
++ }
++ if (argument->dle.exclude_list &&
++ argument->dle.exclude_list->nb_element >= 1) {
++ sle_t *excl;
++ for (excl = argument->dle.exclude_list->first; excl != NULL;
++ excl = excl->next) {
++ char *exclname = fixup_relative(excl->name, argument->dle.device);
++ FILE *exclude;
++ char *aexc;
++ if ((exclude = fopen(exclname, "r")) != NULL) {
++ while ((aexc = agets(exclude)) != NULL) {
++ if (aexc[0] != '\0') {
++ char *ex;
++ if (strcmp(aexc, "./") == 0) {
++ ex = g_strdup_printf("pat=%s", aexc+2);
++ } else {
++ ex = g_strdup_printf("pat=%s", aexc);
++ }
++ g_ptr_array_add(argv_ptr, ex);
++ }
++ amfree(aexc);
++ }
++ }
++ amfree(exclname);
++ fclose(exclude);
++ }
++ }
++
+ g_ptr_array_add(argv_ptr, stralloc("."));
+
+ g_ptr_array_add(argv_ptr, NULL);
================================================================
---- CVS-web:
http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/amanda/amanda.spec?r1=1.208&r2=1.209&f=u
More information about the pld-cvs-commit
mailing list