Grab change from upstream to remove GNUTYPE_NAMES #155901.
authorMike Frysinger <vapier@gentoo.org>
Sat, 2 Dec 2006 22:59:57 +0000 (22:59 +0000)
committerMike Frysinger <vapier@gentoo.org>
Sat, 2 Dec 2006 22:59:57 +0000 (22:59 +0000)
Package-Manager: portage-2.1.2_rc2-r3

app-arch/tar/ChangeLog
app-arch/tar/Manifest
app-arch/tar/files/digest-tar-1.16-r2 [new file with mode: 0644]
app-arch/tar/files/tar-1.16-remove-GNUTYPE_NAMES.patch [new file with mode: 0644]
app-arch/tar/tar-1.16-r2.ebuild [new file with mode: 0644]

index a10a8a7538d117782dd1ae8f86dfdaf5fb22ef9f..111990aceee3f0b2f646853ab9c7b51ba2255bcf 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for app-arch/tar
 # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/tar/ChangeLog,v 1.71 2006/11/01 01:18:48 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-arch/tar/ChangeLog,v 1.72 2006/12/02 22:59:57 vapier Exp $
+
+*tar-1.16-r2 (02 Dec 2006)
+
+  02 Dec 2006; Mike Frysinger <vapier@gentoo.org>
+  +files/tar-1.16-remove-GNUTYPE_NAMES.patch, +tar-1.16-r2.ebuild:
+  Grab change from upstream to remove GNUTYPE_NAMES #155901.
 
 *tar-1.16-r1 (01 Nov 2006)
 
index b44f2c3041b39ad230e6929902dcf3f5b257b3ea..abe66ae675d185b424f402816e2001655c4103b4 100644 (file)
@@ -25,6 +25,10 @@ AUX tar-1.15.1-lseek.patch 5270 RMD160 5f9b369b4c6bb0160c6cc4fe37af83d9cc1e016f
 MD5 c6222f8e6644e897361b0426c753fc8d files/tar-1.15.1-lseek.patch 5270
 RMD160 5f9b369b4c6bb0160c6cc4fe37af83d9cc1e016f files/tar-1.15.1-lseek.patch 5270
 SHA256 a633c41829595a7f31d25cd0711d473bb79c3bf552a6fd6f13f8758d3342b8ba files/tar-1.15.1-lseek.patch 5270
+AUX tar-1.16-remove-GNUTYPE_NAMES.patch 5363 RMD160 6977c6bbf2ba8b55f1c43ff9d53f05db52da1010 SHA1 cd22b2020cd5498bd83f708b2f7d45570be5feb3 SHA256 c3863ee495f544f295135452d87281a384512550e1c9a0a5744975ec871fcaf9
+MD5 d3685203285802ed9749ba7c103aa295 files/tar-1.16-remove-GNUTYPE_NAMES.patch 5363
+RMD160 6977c6bbf2ba8b55f1c43ff9d53f05db52da1010 files/tar-1.16-remove-GNUTYPE_NAMES.patch 5363
+SHA256 c3863ee495f544f295135452d87281a384512550e1c9a0a5744975ec871fcaf9 files/tar-1.16-remove-GNUTYPE_NAMES.patch 5363
 AUX tar-1.16-segv.patch 3565 RMD160 ce5462948e80e1ba04d56e0463d44a6a7576470b SHA1 da656c13d35a0fa65252cf7029906f2cf5dc920a SHA256 f728d761017e7257584c6a59c2ad74bd37a1485d8a5e1eb90c66325a4ff39fce
 MD5 f50e8ad7424115b7d9a3343837a6c216 files/tar-1.16-segv.patch 3565
 RMD160 ce5462948e80e1ba04d56e0463d44a6a7576470b files/tar-1.16-segv.patch 3565
@@ -47,10 +51,14 @@ EBUILD tar-1.16-r1.ebuild 1671 RMD160 30bfcf2ea4e25a9ada88b016b379de7a63aa2fb3 S
 MD5 53ad3a0e07f17fae0559bceceadcab6d tar-1.16-r1.ebuild 1671
 RMD160 30bfcf2ea4e25a9ada88b016b379de7a63aa2fb3 tar-1.16-r1.ebuild 1671
 SHA256 bfd252ae1092d3855a74bb4e6994be50a08eea049e66ce15c65f6b2e87a848d4 tar-1.16-r1.ebuild 1671
-MISC ChangeLog 12882 RMD160 7fe84c3fc5a5c577ae2fbaf2cd753c68cd4d8d70 SHA1 4e9e7bf04a19dd94e230aa291b97d78f5109ed49 SHA256 21f6afd41e4cde4edba3ba4302fd124a0cf2f531d8fce4f2f6bcf36e53b28def
-MD5 8f04871d62b2b96ab8f9e5018ab634e0 ChangeLog 12882
-RMD160 7fe84c3fc5a5c577ae2fbaf2cd753c68cd4d8d70 ChangeLog 12882
-SHA256 21f6afd41e4cde4edba3ba4302fd124a0cf2f531d8fce4f2f6bcf36e53b28def ChangeLog 12882
+EBUILD tar-1.16-r2.ebuild 1733 RMD160 f01821dd959e98f1af1d1c81014a2f94d532547b SHA1 f728774b33a3014397e80a2eb508d6b4e475dc1e SHA256 557015e485e4ad11e3b4523acceb9c6e1a228433778fa17a508bac66a5c43b8a
+MD5 c1a4490eb69bc28c7f671548761019a8 tar-1.16-r2.ebuild 1733
+RMD160 f01821dd959e98f1af1d1c81014a2f94d532547b tar-1.16-r2.ebuild 1733
+SHA256 557015e485e4ad11e3b4523acceb9c6e1a228433778fa17a508bac66a5c43b8a tar-1.16-r2.ebuild 1733
+MISC ChangeLog 13089 RMD160 d57701c1942a82a8e08a36359cf8fe45dfbd741c SHA1 88749dc0794de381ff07833307a58dbc9ec62145 SHA256 f7474876c341d82f16e223970b994a0bae7e5c4be46f70073f332cf7c16a8d17
+MD5 8de7997dca8929bf0fe9d8108cfd1cea ChangeLog 13089
+RMD160 d57701c1942a82a8e08a36359cf8fe45dfbd741c ChangeLog 13089
+SHA256 f7474876c341d82f16e223970b994a0bae7e5c4be46f70073f332cf7c16a8d17 ChangeLog 13089
 MISC metadata.xml 164 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 SHA1 9c213f5803676c56439df3716be07d6692588856 SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92
 MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 metadata.xml 164
@@ -61,10 +69,13 @@ SHA256 eea23c8236851bf6a88f8c709db6bd7a4ba13c77bb454702bee6d9d494c5c8e6 files/di
 MD5 d83012aa7c110e18a7515d2445728211 files/digest-tar-1.16-r1 232
 RMD160 84073f7ff171b3e55397133047bfcc9e51df72ab files/digest-tar-1.16-r1 232
 SHA256 fd938834fa8b004b0d930585435d930db0a29a5d8f1dcdc65d8c1e8ff3d6a4d2 files/digest-tar-1.16-r1 232
+MD5 d83012aa7c110e18a7515d2445728211 files/digest-tar-1.16-r2 232
+RMD160 84073f7ff171b3e55397133047bfcc9e51df72ab files/digest-tar-1.16-r2 232
+SHA256 fd938834fa8b004b0d930585435d930db0a29a5d8f1dcdc65d8c1e8ff3d6a4d2 files/digest-tar-1.16-r2 232
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.5 (GNU/Linux)
 
-iD8DBQFFR/YCamhnQswr0vIRAvfMAJwILogIufXlgY/CSkiPamrNvzBIzQCfdi/d
-0eYIeMi+z4DV3X9svOraTZI=
-=eB0H
+iD8DBQFFcgV4amhnQswr0vIRAkjWAJ4lPeIZqqhu2xnqkssNqj0HXA7RxgCcCetk
+Fr9Cv6OWkK7cQcDZ6uez4s4=
+=Iokk
 -----END PGP SIGNATURE-----
diff --git a/app-arch/tar/files/digest-tar-1.16-r2 b/app-arch/tar/files/digest-tar-1.16-r2
new file mode 100644 (file)
index 0000000..9e01542
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 d6fe544e834a8f9db6e6c7c2d38ec100 tar-1.16.tar.bz2 1785682
+RMD160 9d4a8a55ae0b62395cc7f72421fd274c443caf66 tar-1.16.tar.bz2 1785682
+SHA256 5037dfa4bdd426e680345681070a484f7f4edfa0b3381f595ca6dbc6ca1f5361 tar-1.16.tar.bz2 1785682
diff --git a/app-arch/tar/files/tar-1.16-remove-GNUTYPE_NAMES.patch b/app-arch/tar/files/tar-1.16-remove-GNUTYPE_NAMES.patch
new file mode 100644 (file)
index 0000000..24b03f3
--- /dev/null
@@ -0,0 +1,169 @@
+this is based on the upstream diff to remove GNUTYPE_NAMES ... only difference
+is src/Makefile.am is not tweaked (so we dont have to run autotools) nor is the
+doc/tar.texi updated.  instead, the entire src/mangle.c is ifdef-ed out.
+
+http://bugs.gentoo.org/155901
+
+2006-11-29  Paul Eggert  <eggert@cs.ucla.edu>
+       * NEWS: Remove support for mangled names.
+       * doc/tar.texi (verbose tutorial): Likewise.
+       * src/Makefile.am (tar_SOURCES): Remove mangle.c.
+       * src/common.h (extract_mangle): Remove decl.
+       * src/extract.c (extract_mangle_wrapper): Remove.
+       (prepare_to_extract): Remove support for mangled names.
+       * src/list.c (read_and, print_header): Likewise.
+       * src/mangle.c: Remove.
+       * src/tar.h (GNUTYPE_NAMES): Remove.
+
+Index: NEWS
+===================================================================
+RCS file: /cvsroot/tar/tar/NEWS,v
+retrieving revision 1.126
+retrieving revision 1.127
+diff -u -p -r1.126 -r1.127
+--- NEWS       29 Nov 2006 18:16:27 -0000      1.126
++++ NEWS       30 Nov 2006 06:39:29 -0000      1.127
+@@ -1,6 +1,14 @@
+ GNU tar NEWS - User visible changes.
+ Please send GNU tar bug reports to <bug-tar@gnu.org>
\f
++* Support for reading ustar type 'N' header logical records has been removed.
++  This GNU extension was generated only by very old versions of GNU 'tar'.
++  Unfortunately its implementation had security holes; see
++  <http://archives.neohapsis.com/archives/fulldisclosure/2006-11/0344.html>.
++  We don't expect that any tar archives in practical use have type 'N'
++  records, but if you have one and you trust its contents, you can
++  decode it with GNU tar 1.16 or earlier.
++
+ version 1.16 - Sergey Poznyakoff, 2006-10-21
+ * After creating an archive, tar exits with code 1 if some files were
+Index: src/common.h
+===================================================================
+RCS file: /cvsroot/tar/tar/src/common.h,v
+retrieving revision 1.91
+retrieving revision 1.92
+diff -u -p -r1.91 -r1.92
+--- src/common.h       29 Nov 2006 18:16:27 -0000      1.91
++++ src/common.h       30 Nov 2006 06:39:29 -0000      1.92
+@@ -546,10 +546,6 @@ enum read_header tar_checksum (union blo
+ void skip_file (off_t size);
+ void skip_member (void);
+-/* Module mangle.c.  */
+-
+-void extract_mangle (void);
+-
+ /* Module misc.c.  */
+ void assign_string (char **dest, const char *src);
+Index: src/extract.c
+===================================================================
+RCS file: /cvsroot/tar/tar/src/extract.c,v
+retrieving revision 1.97
+retrieving revision 1.98
+diff -u -p -r1.97 -r1.98
+--- src/extract.c      29 Nov 2006 18:16:27 -0000      1.97
++++ src/extract.c      30 Nov 2006 06:39:29 -0000      1.98
+@@ -1024,13 +1024,6 @@ extract_fifo (char *file_name, int typef
+ #endif
+ static int
+-extract_mangle_wrapper (char *file_name, int typeflag)
+-{
+-  extract_mangle ();
+-  return 0;
+-}
+-
+-static int
+ extract_volhdr (char *file_name, int typeflag)
+ {
+   if (verbose_option)
+@@ -1121,10 +1114,6 @@ prepare_to_extract (char const *file_nam
+       *fun = extract_volhdr;
+       break;
+-    case GNUTYPE_NAMES:
+-      *fun = extract_mangle_wrapper;
+-      break;
+-
+     case GNUTYPE_MULTIVOL:
+       ERROR ((0, 0,
+             _("%s: Cannot extract -- file is continued from another volume"),
+Index: src/list.c
+===================================================================
+RCS file: /cvsroot/tar/tar/src/list.c,v
+retrieving revision 1.101
+retrieving revision 1.102
+diff -u -p -r1.101 -r1.102
+--- src/list.c 2 Jun 2006 08:05:04 -0000       1.101
++++ src/list.c 30 Nov 2006 06:39:29 -0000      1.102
+@@ -107,7 +107,6 @@ read_and (void (*do_something) (void))
+               {
+               case GNUTYPE_VOLHDR:
+               case GNUTYPE_MULTIVOL:
+-              case GNUTYPE_NAMES:
+                 break;
+               case DIRTYPE:
+@@ -1047,10 +1046,6 @@ print_header (struct tar_stat_info *st, 
+         modes[0] = 'M';
+         break;
+-      case GNUTYPE_NAMES:
+-        modes[0] = 'N';
+-        break;
+-
+       case GNUTYPE_LONGNAME:
+       case GNUTYPE_LONGLINK:
+         modes[0] = 'L';
+@@ -1234,10 +1229,6 @@ print_header (struct tar_stat_info *st, 
+                  uintbuf));
+         fprintf (stdlis, _("--Continued at byte %s--\n"), size);
+         break;
+-
+-      case GNUTYPE_NAMES:
+-        fprintf (stdlis, _("--Mangled file names--\n"));
+-        break;
+       }
+     }
+   fflush (stdlis);
+Index: src/mangle.c
+===================================================================
+RCS file: src/mangle.c
+diff -N src/mangle.c
+--- src/mangle.c       15 May 2005 03:59:10 -0000      1.17
++++ src/mangle.c
+@@ -1,1 +1,2 @@
++#if 0
+ /* Encode long filenames for GNU tar.
+@@ -121,1 +121,2 @@
+ }
++#endif
+Index: src/tar.h
+===================================================================
+RCS file: /cvsroot/tar/tar/src/tar.h,v
+retrieving revision 1.37
+retrieving revision 1.38
+diff -u -p -r1.37 -r1.38
+--- src/tar.h  29 Nov 2006 18:28:45 -0000      1.37
++++ src/tar.h  30 Nov 2006 06:39:29 -0000      1.38
+@@ -165,6 +165,7 @@ struct oldgnu_header
+    'A' Solaris Access Control List
+    'E' Solaris Extended Attribute File
+    'I' Inode only, as in 'star'
++   'N' Obsolete GNU tar, for file names that do not fit into the main header.
+    'X' POSIX 1003.1-2001 eXtended (VU version)  */
+ /* This is a dir entry that contains the names of files that were in the
+@@ -180,9 +181,6 @@ struct oldgnu_header
+ /* This is the continuation of a file that began on another volume.  */
+ #define GNUTYPE_MULTIVOL 'M'
+-/* For storing filenames that do not fit into the main header.  */
+-#define GNUTYPE_NAMES 'N'
+-
+ /* This is for sparse files.  */
+ #define GNUTYPE_SPARSE 'S'
diff --git a/app-arch/tar/tar-1.16-r2.ebuild b/app-arch/tar/tar-1.16-r2.ebuild
new file mode 100644 (file)
index 0000000..dbfcbfa
--- /dev/null
@@ -0,0 +1,67 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-arch/tar/tar-1.16-r2.ebuild,v 1.1 2006/12/02 22:59:57 vapier Exp $
+
+inherit flag-o-matic eutils
+
+DESCRIPTION="Use this to make tarballs :)"
+HOMEPAGE="http://www.gnu.org/software/tar/"
+SRC_URI="http://ftp.gnu.org/gnu/tar/${P}.tar.bz2
+       ftp://alpha.gnu.org/gnu/tar/${P}.tar.bz2
+       mirror://gnu/tar/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc-macos ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="nls static"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+       nls? ( >=sys-devel/gettext-0.10.35 )"
+
+src_unpack() {
+       unpack ${A}
+       cd "${S}"
+       epatch "${FILESDIR}"/${P}-segv.patch
+       epatch "${FILESDIR}"/${P}-remove-GNUTYPE_NAMES.patch #155901
+
+       if ! use userland_GNU ; then
+               sed -i \
+                       -e 's:/backup\.sh:/gbackup.sh:' \
+                       scripts/{backup,dump-remind,restore}.in \
+                       || die "sed non-GNU"
+       fi
+}
+
+src_compile() {
+       local myconf
+       use static && append-ldflags -static
+       use userland_GNU || myconf="--program-prefix=g"
+       # Work around bug in sandbox #67051
+       gl_cv_func_chown_follows_symlink=yes \
+       econf \
+               --enable-backup-scripts \
+               --bindir=/bin \
+               --libexecdir=/usr/sbin \
+               $(use_enable nls) \
+               ${myconf} || die
+       emake || die "emake failed"
+}
+
+src_install() {
+       local p=""
+       use userland_GNU || p=g
+
+       emake DESTDIR="${D}" install || die "make install failed"
+
+       # a nasty yet required symlink
+       dodir /etc
+       dosym /usr/sbin/${p}rmt /etc/${p}rmt
+
+       dodoc AUTHORS ChangeLog* NEWS README* PORTS THANKS
+       newman "${FILESDIR}"/tar.1 ${p}tar.1
+       mv "${D}"/usr/sbin/${p}backup{,-tar}
+       mv "${D}"/usr/sbin/${p}restore{,-tar}
+
+       rm -f "${D}"/usr/$(get_libdir)/charset.alias
+}