diff options
author | naddy <naddy@FreeBSD.org> | 2010-11-28 04:31:19 +0800 |
---|---|---|
committer | naddy <naddy@FreeBSD.org> | 2010-11-28 04:31:19 +0800 |
commit | 0edef7b85d46bdc0ca21ce0e4679140cd3870d47 (patch) | |
tree | af7762f7f67e6865d1dfdfdc4bb7c10269f2a099 /archivers | |
parent | d3a71a54329ec5f54239c407b7a8bdba13629d21 (diff) | |
download | freebsd-ports-gnome-0edef7b85d46bdc0ca21ce0e4679140cd3870d47.tar.gz freebsd-ports-gnome-0edef7b85d46bdc0ca21ce0e4679140cd3870d47.tar.zst freebsd-ports-gnome-0edef7b85d46bdc0ca21ce0e4679140cd3870d47.zip |
Fix bug with --one-file-system and --listed-incremental.
This is important for at least misc/amanda-client.
Submitted by: John Hein <jhein@symmetricom.com>
Obtained from: upstream
Diffstat (limited to 'archivers')
-rw-r--r-- | archivers/gtar/Makefile | 1 | ||||
-rw-r--r-- | archivers/gtar/files/patch-gnu_Makefile.in | 6 | ||||
-rw-r--r-- | archivers/gtar/files/patch-src_create.c | 15 | ||||
-rw-r--r-- | archivers/gtar/files/patch-src_incremen.c | 28 | ||||
-rw-r--r-- | archivers/gtar/files/patch-src_names.c | 15 |
5 files changed, 62 insertions, 3 deletions
diff --git a/archivers/gtar/Makefile b/archivers/gtar/Makefile index 8c86a301df46..1caa5df5662b 100644 --- a/archivers/gtar/Makefile +++ b/archivers/gtar/Makefile @@ -7,6 +7,7 @@ PORTNAME= tar PORTVERSION= 1.25 +PORTREVISION= 1 CATEGORIES= archivers sysutils MASTER_SITES= ${MASTER_SITE_GNU} MASTER_SITE_SUBDIR= ${PORTNAME} diff --git a/archivers/gtar/files/patch-gnu_Makefile.in b/archivers/gtar/files/patch-gnu_Makefile.in index 3477e898899c..cc254d496081 100644 --- a/archivers/gtar/files/patch-gnu_Makefile.in +++ b/archivers/gtar/files/patch-gnu_Makefile.in @@ -2,9 +2,9 @@ $FreeBSD$ Don't install lib/charset.alias. ---- gnu/Makefile.in.orig 2010-03-17 21:55:42.000000000 +0100 -+++ gnu/Makefile.in 2010-03-17 21:56:32.000000000 +0100 -@@ -1860,7 +1860,7 @@ langinfo.h: langinfo.in.h $(CXXDEFS_H) $ +--- gnu/Makefile.in.orig 2010-11-07 14:53:46.000000000 +0100 ++++ gnu/Makefile.in 2010-11-27 21:07:28.000000000 +0100 +@@ -1957,7 +1957,7 @@ langinfo.h: langinfo.in.h $(CXXDEFS_H) $ # avoid installing it. all-local: charset.alias ref-add.sed ref-del.sed diff --git a/archivers/gtar/files/patch-src_create.c b/archivers/gtar/files/patch-src_create.c new file mode 100644 index 000000000000..05ee743a2f58 --- /dev/null +++ b/archivers/gtar/files/patch-src_create.c @@ -0,0 +1,15 @@ +$FreeBSD$ + +Fix bug with --one-file-system and --listed-incremental. + +--- src/create.c.orig 2010-11-01 21:34:59.000000000 +0100 ++++ src/create.c 2010-11-27 21:12:55.000000000 +0100 +@@ -1680,7 +1680,7 @@ dump_file0 (struct tar_stat_info *st, ch + This check is omitted if incremental_option is set *and* the + requested file is not explicitely listed in the command line. */ + +- if (!(incremental_option && !is_individual_file (p)) ++ if (! (incremental_option && ! top_level) + && !S_ISDIR (st->stat.st_mode) + && OLDER_TAR_STAT_TIME (*st, m) + && (!after_date_option || OLDER_TAR_STAT_TIME (*st, c))) diff --git a/archivers/gtar/files/patch-src_incremen.c b/archivers/gtar/files/patch-src_incremen.c new file mode 100644 index 000000000000..3c2ae5d7e8dd --- /dev/null +++ b/archivers/gtar/files/patch-src_incremen.c @@ -0,0 +1,28 @@ +$FreeBSD$ + +Fix bug with --one-file-system and --listed-incremental. + +--- src/incremen.c.orig 2010-10-24 20:07:55.000000000 +0200 ++++ src/incremen.c 2010-11-27 21:08:05.000000000 +0100 +@@ -426,7 +426,6 @@ procdir (const char *name_buffer, struct + { + struct directory *directory; + struct stat *stat_data = &st->stat; +- dev_t device = st->parent ? st->parent->stat.st_dev : 0; + bool nfs = NFS_FILE_STAT (*stat_data); + + if ((directory = find_directory (name_buffer)) != NULL) +@@ -540,11 +539,8 @@ procdir (const char *name_buffer, struct + } + } + +- /* If the directory is on another device and --one-file-system was given, +- omit it... */ +- if (one_file_system_option && device != stat_data->st_dev +- /* ... except if it was explicitely given in the command line */ +- && !is_individual_file (name_buffer)) ++ if (one_file_system_option && st->parent ++ && stat_data->st_dev != st->parent->stat.st_dev) + /* FIXME: + WARNOPT (WARN_XDEV, + (0, 0, diff --git a/archivers/gtar/files/patch-src_names.c b/archivers/gtar/files/patch-src_names.c new file mode 100644 index 000000000000..8f29ba48e186 --- /dev/null +++ b/archivers/gtar/files/patch-src_names.c @@ -0,0 +1,15 @@ +$FreeBSD$ + +Fix bug with --one-file-system and --listed-incremental. + +--- src/names.c.orig 2010-10-24 20:07:55.000000000 +0200 ++++ src/names.c 2010-11-27 21:11:20.000000000 +0100 +@@ -360,8 +360,6 @@ name_next_elt (int change_dirs) + { + if (unquote_option) + unquote_string (name_buffer); +- if (incremental_option) +- register_individual_file (name_buffer); + entry.type = ep->type; + entry.v.name = name_buffer; + return &entry; |