Update to GNU tar 1.20. All self-tests pass under NetBSD-current. Changes: 3.5 years worth of development; too much to list here.diff -r1.62 -r1.63 pkgsrc/archivers/gtar-base/Makefile
(tnn)
@@ -1,18 +1,17 @@ | @@ -1,18 +1,17 @@ | |||
1 | # $NetBSD: Makefile,v 1.62 2008/04/12 22:42:57 jlam Exp $ | 1 | # $NetBSD: Makefile,v 1.63 2008/05/18 01:48:09 tnn Exp $ | |
2 | 2 | |||
3 | DISTNAME= tar-1.15.1 | 3 | DISTNAME= tar-1.20 | |
4 | PKGNAME= gtar-base-1.15.1 | 4 | PKGNAME= gtar-base-1.20 | |
5 | PKGREVISION= 6 | |||
6 | SVR4_PKGNAME= gtarb | 5 | SVR4_PKGNAME= gtarb | |
7 | CATEGORIES= archivers | 6 | CATEGORIES= archivers | |
8 | MASTER_SITES= ${MASTER_SITE_GNU:=tar/} | 7 | MASTER_SITES= ${MASTER_SITE_GNU:=tar/} | |
9 | 8 | |||
10 | MAINTAINER= pkgsrc-users@NetBSD.org | 9 | MAINTAINER= pkgsrc-users@NetBSD.org | |
11 | HOMEPAGE= http://www.gnu.org/software/tar/tar.html | 10 | HOMEPAGE= http://www.gnu.org/software/tar/tar.html | |
12 | COMMENT= The GNU tape archiver with remote magnetic tape support | 11 | COMMENT= The GNU tape archiver with remote magnetic tape support | |
13 | 12 | |||
14 | CONFLICTS= gcpio-[0-9]* | 13 | CONFLICTS= gcpio-[0-9]* | |
15 | 14 | |||
16 | PKG_DESTDIR_SUPPORT= user-destdir | 15 | PKG_DESTDIR_SUPPORT= user-destdir | |
17 | PKG_INSTALLATION_TYPES= overwrite pkgviews | 16 | PKG_INSTALLATION_TYPES= overwrite pkgviews | |
18 | 17 | |||
@@ -46,22 +45,27 @@ BUILD_DEFS+= GTAR_PROGRAM_PREFIX | @@ -46,22 +45,27 @@ BUILD_DEFS+= GTAR_PROGRAM_PREFIX | |||
46 | PLIST_VARS+= gtar rmt | 45 | PLIST_VARS+= gtar rmt | |
47 | 46 | |||
48 | TEST_TARGET= check | 47 | TEST_TARGET= check | |
49 | 48 | |||
50 | .if ${GTAR_PROGRAM_PREFIX} != "g" | 49 | .if ${GTAR_PROGRAM_PREFIX} != "g" | |
51 | PLIST.gtar= yes | 50 | PLIST.gtar= yes | |
52 | .endif | 51 | .endif | |
53 | 52 | |||
54 | # don't include rmt if gtar won't build it | 53 | # don't include rmt if gtar won't build it | |
55 | .if ${OPSYS} != "Interix" | 54 | .if ${OPSYS} != "Interix" | |
56 | PLIST.rmt= yes | 55 | PLIST.rmt= yes | |
57 | .endif | 56 | .endif | |
58 | 57 | |||
58 | # XXX see similar hack in coreutils. | |||
59 | .if ${OPSYS} != "Linux" | |||
60 | CONFIGURE_ENV+= gt_cv_func_gnugettext3_libintl=yes | |||
61 | .endif | |||
62 | ||||
59 | post-install: | 63 | post-install: | |
60 | ${INSTALL_MAN} ${FILESDIR}/gtar.1 \ | 64 | ${INSTALL_MAN} ${FILESDIR}/gtar.1 \ | |
61 | ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/${GTAR_PROGRAM_PREFIX}tar.1 | 65 | ${DESTDIR}${PREFIX}/${PKGMANDIR}/man1/${GTAR_PROGRAM_PREFIX}tar.1 | |
62 | .if ${GTAR_PROGRAM_PREFIX} != "g" | 66 | .if ${GTAR_PROGRAM_PREFIX} != "g" | |
63 | ${LN} -sf ${DESTDIR}${GTAR_PROGRAM_PREFIX}tar ${DESTDIR}${PREFIX}/bin/"gtar" | 67 | ${LN} -sf ${DESTDIR}${GTAR_PROGRAM_PREFIX}tar ${DESTDIR}${PREFIX}/bin/"gtar" | |
64 | .endif | 68 | .endif | |
65 | 69 | |||
66 | .include "../../devel/gettext-lib/buildlink3.mk" | 70 | .include "../../devel/gettext-lib/buildlink3.mk" | |
67 | .include "../../mk/bsd.pkg.mk" | 71 | .include "../../mk/bsd.pkg.mk" |
@@ -1,36 +1,40 @@ | @@ -1,36 +1,40 @@ | |||
1 | @comment $NetBSD: PLIST,v 1.12 2008/04/12 22:42:57 jlam Exp $ | 1 | @comment $NetBSD: PLIST,v 1.13 2008/05/18 01:48:09 tnn Exp $ | |
2 | bin/${GTAR_PROGRAM_PREFIX}tar | 2 | bin/${GTAR_PROGRAM_PREFIX}tar | |
3 | ${PLIST.gtar}bin/gtar | 3 | ${PLIST.gtar}bin/gtar | |
4 | ${PLIST.rmt}libexec/${GTAR_PROGRAM_PREFIX}rmt | 4 | ${PLIST.rmt}libexec/${GTAR_PROGRAM_PREFIX}rmt | |
5 | man/man1/${GTAR_PROGRAM_PREFIX}tar.1 | 5 | man/man1/${GTAR_PROGRAM_PREFIX}tar.1 | |
6 | share/locale/bg/LC_MESSAGES/tar.mo | |||
6 | share/locale/cs/LC_MESSAGES/tar.mo | 7 | share/locale/cs/LC_MESSAGES/tar.mo | |
7 | share/locale/da/LC_MESSAGES/tar.mo | 8 | share/locale/da/LC_MESSAGES/tar.mo | |
8 | share/locale/de/LC_MESSAGES/tar.mo | 9 | share/locale/de/LC_MESSAGES/tar.mo | |
9 | share/locale/el/LC_MESSAGES/tar.mo | 10 | share/locale/el/LC_MESSAGES/tar.mo | |
10 | share/locale/es/LC_MESSAGES/tar.mo | 11 | share/locale/es/LC_MESSAGES/tar.mo | |
11 | share/locale/et/LC_MESSAGES/tar.mo | 12 | share/locale/et/LC_MESSAGES/tar.mo | |
13 | share/locale/eu/LC_MESSAGES/tar.mo | |||
12 | share/locale/fi/LC_MESSAGES/tar.mo | 14 | share/locale/fi/LC_MESSAGES/tar.mo | |
13 | share/locale/fr/LC_MESSAGES/tar.mo | 15 | share/locale/fr/LC_MESSAGES/tar.mo | |
14 | share/locale/ga/LC_MESSAGES/tar.mo | 16 | share/locale/ga/LC_MESSAGES/tar.mo | |
15 | share/locale/gl/LC_MESSAGES/tar.mo | 17 | share/locale/gl/LC_MESSAGES/tar.mo | |
16 | share/locale/hr/LC_MESSAGES/tar.mo | 18 | share/locale/hr/LC_MESSAGES/tar.mo | |
17 | share/locale/hu/LC_MESSAGES/tar.mo | 19 | share/locale/hu/LC_MESSAGES/tar.mo | |
18 | share/locale/id/LC_MESSAGES/tar.mo | 20 | share/locale/id/LC_MESSAGES/tar.mo | |
19 | share/locale/it/LC_MESSAGES/tar.mo | 21 | share/locale/it/LC_MESSAGES/tar.mo | |
20 | share/locale/ja/LC_MESSAGES/tar.mo | 22 | share/locale/ja/LC_MESSAGES/tar.mo | |
21 | share/locale/ko/LC_MESSAGES/tar.mo | 23 | share/locale/ko/LC_MESSAGES/tar.mo | |
24 | share/locale/ky/LC_MESSAGES/tar.mo | |||
22 | share/locale/ms/LC_MESSAGES/tar.mo | 25 | share/locale/ms/LC_MESSAGES/tar.mo | |
23 | share/locale/nb/LC_MESSAGES/tar.mo | 26 | share/locale/nb/LC_MESSAGES/tar.mo | |
24 | share/locale/nl/LC_MESSAGES/tar.mo | 27 | share/locale/nl/LC_MESSAGES/tar.mo | |
25 | share/locale/no/LC_MESSAGES/tar.mo | |||
26 | share/locale/pl/LC_MESSAGES/tar.mo | 28 | share/locale/pl/LC_MESSAGES/tar.mo | |
27 | share/locale/pt/LC_MESSAGES/tar.mo | 29 | share/locale/pt/LC_MESSAGES/tar.mo | |
28 | share/locale/pt_BR/LC_MESSAGES/tar.mo | 30 | share/locale/pt_BR/LC_MESSAGES/tar.mo | |
29 | share/locale/ro/LC_MESSAGES/tar.mo | 31 | share/locale/ro/LC_MESSAGES/tar.mo | |
30 | share/locale/ru/LC_MESSAGES/tar.mo | 32 | share/locale/ru/LC_MESSAGES/tar.mo | |
31 | share/locale/sk/LC_MESSAGES/tar.mo | 33 | share/locale/sk/LC_MESSAGES/tar.mo | |
32 | share/locale/sl/LC_MESSAGES/tar.mo | 34 | share/locale/sl/LC_MESSAGES/tar.mo | |
33 | share/locale/sv/LC_MESSAGES/tar.mo | 35 | share/locale/sv/LC_MESSAGES/tar.mo | |
34 | share/locale/tr/LC_MESSAGES/tar.mo | 36 | share/locale/tr/LC_MESSAGES/tar.mo | |
37 | share/locale/uk/LC_MESSAGES/tar.mo | |||
38 | share/locale/vi/LC_MESSAGES/tar.mo | |||
35 | share/locale/zh_CN/LC_MESSAGES/tar.mo | 39 | share/locale/zh_CN/LC_MESSAGES/tar.mo | |
36 | share/locale/zh_TW/LC_MESSAGES/tar.mo | 40 | share/locale/zh_TW/LC_MESSAGES/tar.mo |
@@ -1,16 +1,10 @@ | @@ -1,16 +1,10 @@ | |||
1 | $NetBSD: distinfo,v 1.21 2008/04/02 22:03:07 tonnerre Exp $ | 1 | $NetBSD: distinfo,v 1.22 2008/05/18 01:48:09 tnn Exp $ | |
2 | 2 | |||
3 | SHA1 (tar-1.15.1.tar.gz) = 21574ae5d39b698f7f577e2cecc91a5ec89b659c | 3 | SHA1 (tar-1.20.tar.gz) = 1bc0731a00f2483f381c48e0b3f359877ddff910 | |
4 | RMD160 (tar-1.15.1.tar.gz) = 83f35ee090d05f0865ebd9915bbd1b649a6555c5 | 4 | RMD160 (tar-1.20.tar.gz) = 6ac6847b4d0f4fcd61408f63df18b503699f2fb9 | |
5 | Size (tar-1.15.1.tar.gz) = 2204322 bytes | 5 | Size (tar-1.20.tar.gz) = 2822777 bytes | |
6 | SHA1 (patch-aa) = adbd252113bfb131de80bbcf8150b2a955e17058 | 6 | SHA1 (patch-ab) = bc2cb4547a0df1d1877a3d09a6e3969123ddecab | |
7 | SHA1 (patch-ab) = 59e75a2051738076ad948ebc4db1240d47e7d366 | 7 | SHA1 (patch-ad) = c5106ba2d0a0414ccbc55dfbf71c95280080b190 | |
8 | SHA1 (patch-ac) = 072a7eaff685093b86289e0b45281c41ae06f4fc | 8 | SHA1 (patch-ae) = 99323cf270e3e60dd21db42aea3556dd9255cef2 | |
9 | SHA1 (patch-ad) = 8f109cbc150cb7db48b7a59dcba9eefb654875e0 | 9 | SHA1 (patch-af) = 8e57e09e3b1a79310dc343c3741fc94916788b79 | |
10 | SHA1 (patch-ae) = 6518ab82e19c831f16bc772136fafc037a592df4 | 10 | SHA1 (patch-ag) = 8e1f6d2b6d38a029485cd7a1987cc6acb6a4cc84 | |
11 | SHA1 (patch-af) = be20dafd1c65db4ca60a5aedbc7a972117cd7072 | |||
12 | SHA1 (patch-ag) = 39fd6e84665a632258c722a35359713a1e194287 | |||
13 | SHA1 (patch-ah) = d8532a99bf2bd0c35a9d994101fbd722f52c9ead | |||
14 | SHA1 (patch-ai) = 9e065a4bbe3fcaee7e08a53b64e863b8fbd0d32a | |||
15 | SHA1 (patch-aj) = 409760785d3a0e12175760f2f71e192c3dd1ef52 | |||
16 | SHA1 (patch-ak) = 0bc0bae9d39eafdc6a54a59708e01063b9e41497 |
@@ -1,60 +1,32 @@ | @@ -1,60 +1,32 @@ | |||
1 | $NetBSD: patch-ab,v 1.11 2006/12/03 15:21:20 tron Exp $ | 1 | $NetBSD: patch-ab,v 1.12 2008/05/18 01:48:09 tnn Exp $ | |
2 | 2 | |||
3 | --- src/tar.c.orig 2004-12-21 14:11:26.000000000 +0000 | 3 | --- src/tar.c.orig 2008-04-14 14:03:13.000000000 +0200 | |
4 | +++ src/tar.c 2006-12-03 15:13:25.000000000 +0000 | 4 | +++ src/tar.c | |
5 | @@ -181,6 +181,7 @@ | 5 | @@ -285,6 +286,7 @@ enum | |
6 | enum | |||
7 | { | |||
8 | ANCHORED_OPTION = CHAR_MAX + 1, | |||
9 | + ALLOW_NAME_MANGLING_OPTION, | |||
10 | ATIME_PRESERVE_OPTION, | |||
11 | BACKUP_OPTION, | |||
12 | CHECKPOINT_OPTION, | |||
13 | @@ -203,6 +204,7 @@ | |||
14 | NO_RECURSION_OPTION, | 6 | NO_RECURSION_OPTION, | |
15 | NO_SAME_OWNER_OPTION, | 7 | NO_SAME_OWNER_OPTION, | |
16 | NO_SAME_PERMISSIONS_OPTION, | 8 | NO_SAME_PERMISSIONS_OPTION, | |
17 | + NO_UNLINK_FIRST_OPTION, | 9 | + NO_UNLINK_FIRST_OPTION, | |
18 | NO_WILDCARDS_OPTION, | 10 | NO_UNQUOTE_OPTION, | |
19 | NO_WILDCARDS_MATCH_SLASH_OPTION, | 11 | NO_WILDCARDS_MATCH_SLASH_OPTION, | |
20 | NULL_OPTION, | 12 | NO_WILDCARDS_OPTION, | |
21 | @@ -340,6 +342,8 @@ | 13 | @@ -483,6 +485,8 @@ static struct argp_option options[] = { | |
22 | N_("try extracting files with the same ownership"), 31 }, | 14 | N_("try extracting files with the same ownership"), GRID+1 }, | |
23 | {"no-same-owner", NO_SAME_OWNER_OPTION, 0, 0, | 15 | {"no-same-owner", NO_SAME_OWNER_OPTION, 0, 0, | |
24 | N_("extract files as yourself"), 31 }, | 16 | N_("extract files as yourself"), GRID+1 }, | |
25 | + {"no-unlink-first", NO_UNLINK_FIRST_OPTION, 0, 0, | 17 | + {"no-unlink-first", NO_UNLINK_FIRST_OPTION, 0, 0, | |
26 | + N_("don't remove each file prior to extracting"), 31 }, | 18 | + N_("don't remove each file prior to extracting"), GRID+1 }, | |
27 | {"numeric-owner", NUMERIC_OWNER_OPTION, 0, 0, | 19 | {"numeric-owner", NUMERIC_OWNER_OPTION, 0, 0, | |
28 | N_("always use numbers for user/group names"), 31 }, | 20 | N_("always use numbers for user/group names"), GRID+1 }, | |
29 | {"preserve-permissions", 'p', 0, 0, | 21 | {"preserve-permissions", 'p', 0, 0, | |
30 | @@ -528,6 +532,8 @@ | 22 | @@ -1495,6 +1501,10 @@ parse_opt (int key, char *arg, struct ar | |
31 | ||||
32 | {NULL, 'o', 0, 0, | |||
33 | N_("when creating, same as --old-archive. When extracting, same as --no-same-owner"), 91 }, | |||
34 | + {"allow-name-mangling", ALLOW_NAME_MANGLING_OPTION, 0, 0, | |||
35 | + N_("when creating, allow GNUTYPE_NAMES mangling -- considered dangerous"), 91 }, | |||
36 | ||||
37 | {NULL, 0, NULL, 0, | |||
38 | N_("Other options:"), 100 }, | |||
39 | @@ -865,6 +871,10 @@ | |||
40 | case 'U': | |||
41 | old_files_option = UNLINK_FIRST_OLD_FILES; | 23 | old_files_option = UNLINK_FIRST_OLD_FILES; | |
42 | break; | 24 | break; | |
43 | + | 25 | ||
44 | + case NO_UNLINK_FIRST_OPTION: | 26 | + case NO_UNLINK_FIRST_OPTION: | |
45 | + old_files_option = 0; | 27 | + old_files_option = 0; | |
46 | + break; | 28 | + break; | |
47 | 29 | + | ||
48 | case UTC_OPTION: | 30 | case UTC_OPTION: | |
49 | utc_option = true; | 31 | utc_option = true; | |
50 | @@ -913,6 +923,10 @@ | |||
51 | case 'Z': | |||
52 | set_use_compress_program_option ("compress"); | |||
53 | break; | 32 | break; | |
54 | + | |||
55 | + case ALLOW_NAME_MANGLING_OPTION: | |||
56 | + allow_name_mangling_option = true; | |||
57 | + break; | |||
58 | ||||
59 | case ANCHORED_OPTION: | |||
60 | args->exclude_options |= EXCLUDE_ANCHORED; |
@@ -1,13 +1,13 @@ | @@ -1,13 +1,13 @@ | |||
1 | $NetBSD: patch-ad,v 1.7 2005/01/09 22:52:14 recht Exp $ | 1 | $NetBSD: patch-ad,v 1.8 2008/05/18 01:48:09 tnn Exp $ | |
2 | 2 | |||
3 | --- Makefile.in.orig Mon Dec 20 12:06:01 2004 | 3 | --- Makefile.in.orig 2008-04-14 14:04:01.000000000 +0200 | |
4 | +++ Makefile.in Sun Jan 9 19:30:11 2005 | 4 | +++ Makefile.in | |
5 | @@ -247,7 +247,7 @@ | 5 | @@ -532,7 +532,7 @@ top_builddir = @top_builddir@ | |
6 | target_alias = @target_alias@ | 6 | top_srcdir = @top_srcdir@ | |
7 | ACLOCAL_AMFLAGS = -I m4 | 7 | ACLOCAL_AMFLAGS = -I m4 | |
8 | EXTRA_DIST = ChangeLog.1 PORTS | 8 | EXTRA_DIST = ChangeLog.1 PORTS | |
9 | -SUBDIRS = doc lib rmt src scripts po tests | 9 | -SUBDIRS = doc lib rmt src scripts po tests | |
10 | +SUBDIRS = lib rmt src scripts po tests | 10 | +SUBDIRS = lib rmt src scripts po tests | |
11 | all: config.h | 11 | all: config.h | |
12 | $(MAKE) $(AM_MAKEFLAGS) all-recursive | 12 | $(MAKE) $(AM_MAKEFLAGS) all-recursive | |
13 | 13 |
@@ -1,12 +1,12 @@ | @@ -1,12 +1,12 @@ | |||
1 | $NetBSD: patch-ae,v 1.7 2005/01/09 22:52:14 recht Exp $ | 1 | $NetBSD: patch-ae,v 1.8 2008/05/18 01:48:09 tnn Exp $ | |
2 | 2 | |||
3 | --- lib/Makefile.in.orig Sun Jan 9 18:41:01 2005 | 3 | --- lib/Makefile.in.orig 2008-04-14 14:03:58.000000000 +0200 | |
4 | +++ lib/Makefile.in Sun Jan 9 18:42:35 2005 | 4 | +++ lib/Makefile.in | |
5 | @@ -668,7 +668,6 @@ | 5 | @@ -980,7 +980,6 @@ check: $(BUILT_SOURCES) | |
6 | all-am: Makefile $(LIBRARIES) $(HEADERS) all-local | 6 | all-am: Makefile $(LIBRARIES) $(LTLIBRARIES) $(HEADERS) all-local | |
7 | installdirs: | 7 | installdirs: | |
8 | install: $(BUILT_SOURCES) | 8 | install: $(BUILT_SOURCES) | |
9 | - $(MAKE) $(AM_MAKEFLAGS) install-am | 9 | - $(MAKE) $(AM_MAKEFLAGS) install-am | |
10 | install-exec: install-exec-am | 10 | install-exec: install-exec-am | |
11 | install-data: install-data-am | 11 | install-data: install-data-am | |
12 | uninstall: uninstall-am | 12 | uninstall: uninstall-am |
@@ -1,13 +1,13 @@ | @@ -1,13 +1,13 @@ | |||
1 | $NetBSD: patch-af,v 1.3 2005/02/09 16:00:42 tv Exp $ | 1 | $NetBSD: patch-af,v 1.4 2008/05/18 01:48:09 tnn Exp $ | |
2 | 2 | |||
3 | --- tests/testsuite.orig 2004-12-21 08:36:33.000000000 -0500 | 3 | --- tests/testsuite.orig 2008-04-14 14:11:06.000000000 +0200 | |
4 | +++ tests/testsuite | 4 | +++ tests/testsuite | |
5 | @@ -303,7 +303,7 @@ at_times_file=$at_suite_dir/at-times | 5 | @@ -620,7 +620,7 @@ at_times_file=$at_suite_dir/at-times | |
6 | # List of the tested programs. | 6 | # List of the tested programs. | |
7 | at_tested='tar' | 7 | at_tested='tar' | |
8 | # List of the all the test groups. | 8 | # List of the all the test groups. | |
9 | -at_groups_all=' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37' | 9 | -at_groups_all=' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74' | |
10 | +at_groups_all=' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37' | 10 | +at_groups_all=' 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74' | |
11 | # As many dots as there are digits in the last test group number. | 11 | # As many question marks as there are digits in the last test group number. | |
12 | # Used to normalize the test group numbers so that `ls' lists them in | 12 | # Used to normalize the test group numbers so that `ls' lists them in | |
13 | # numerical order. | 13 | # numerical order. |
@@ -1,69 +1,16 @@ | @@ -1,69 +1,16 @@ | |||
1 | $NetBSD: patch-ag,v 1.4 2006/12/03 15:21:20 tron Exp $ | 1 | $NetBSD: patch-ag,v 1.5 2008/05/18 01:48:09 tnn Exp $ | |
2 | 2 | |||
3 | --- src/extract.c.orig 2004-12-21 09:55:12.000000000 +0000 | 3 | --- src/extract.c.orig 2007-08-26 10:56:55.000000000 +0200 | |
4 | +++ src/extract.c 2006-12-03 15:13:25.000000000 +0000 | 4 | +++ src/extract.c | |
5 | @@ -195,7 +195,11 @@ | 5 | @@ -186,7 +186,11 @@ set_mode (char const *file_name, | |
6 | mode = cur_info->st_mode ^ invert_permissions; | 6 | mode = cur_info->st_mode ^ invert_permissions; | |
7 | } | 7 | } | |
8 | 8 | |||
9 | +#if (defined (__NetBSD__) && NetBSD > 199706 && !defined(NetBSD1_2)) | 9 | +#if (defined (__NetBSD__) && NetBSD > 199706 && !defined(NetBSD1_2)) | |
10 | + if (lchmod (file_name, mode) != 0) | 10 | + if (lchmod (file_name, mode) != 0) | |
11 | +#else | 11 | +#else | |
12 | if (chmod (file_name, mode) != 0) | 12 | if (chmod (file_name, mode) != 0) | |
13 | +#endif | 13 | +#endif | |
14 | chmod_error_details (file_name, mode); | 14 | chmod_error_details (file_name, mode); | |
15 | } | 15 | } | |
16 | 16 | |||
17 | @@ -235,7 +239,12 @@ | |||
18 | { | |||
19 | struct utimbuf utimbuf; | |||
20 | ||||
21 | +#if !(defined (__NetBSD__) && NetBSD > 199706 && !defined(NetBSD1_2)) | |||
22 | if (typeflag != SYMTYPE) | |||
23 | +#else | |||
24 | + struct timeval tv[2]; | |||
25 | +#endif | |||
26 | + | |||
27 | { | |||
28 | /* We do the utime before the chmod because some versions of utime are | |||
29 | broken and trash the modes of the file. */ | |||
30 | @@ -248,6 +257,7 @@ | |||
31 | ||||
32 | /* FIXME: incremental_option should set ctime too, but how? */ | |||
33 | ||||
34 | +#if !(defined (__NetBSD__) && NetBSD > 199706 && !defined(NetBSD1_2)) | |||
35 | if (incremental_option) | |||
36 | utimbuf.actime = stat_info->st_atime; | |||
37 | else | |||
38 | @@ -256,6 +266,16 @@ | |||
39 | utimbuf.modtime = stat_info->st_mtime; | |||
40 | ||||
41 | if (utime (file_name, &utimbuf) < 0) | |||
42 | +#else | |||
43 | + if (incremental_option) | |||
44 | + tv[0].tv_sec = stat_info->st_atime; | |||
45 | + else | |||
46 | + tv[0].tv_sec = start_time; | |||
47 | + tv[0].tv_usec = 0; | |||
48 | + tv[1].tv_sec = stat_info->st_mtime; | |||
49 | + tv[1].tv_usec = 0; | |||
50 | + if (lutimes (file_name, tv) < 0) | |||
51 | +#endif | |||
52 | utime_error (file_name); | |||
53 | else | |||
54 | { | |||
55 | @@ -1101,7 +1121,13 @@ | |||
56 | break; | |||
57 | ||||
58 | case GNUTYPE_NAMES: | |||
59 | - extract_mangle (); | |||
60 | + if (allow_name_mangling_option) { | |||
61 | + extract_mangle (); | |||
62 | + } | |||
63 | + else { | |||
64 | + ERROR ((0, 0, _("GNUTYPE_NAMES mangling ignored"))); | |||
65 | + skip_member (); | |||
66 | + } | |||
67 | break; | |||
68 | ||||
69 | case GNUTYPE_MULTIVOL: |