Date: Wednesday, February 27, 2013 @ 22:51:19
  Author: dreisner
Revision: 178866

upgpkg: libarchive 3.1.2-1

soname bump: https://www.archlinux.org/todo/libarchive-31x-rebuild/

Added:
  libarchive/trunk/0001-mtree-fix-line-filename-length-calculation.patch
Modified:
  libarchive/trunk/PKGBUILD
Deleted:
  libarchive/trunk/libarchive-3.0.x-fix-mtree-writer.patch

-------------------------------------------------------+
 0001-mtree-fix-line-filename-length-calculation.patch |   29 +++++++++++++
 PKGBUILD                                              |   31 +++++++-------
 libarchive-3.0.x-fix-mtree-writer.patch               |   34 ----------------
 3 files changed, 45 insertions(+), 49 deletions(-)

Added: 0001-mtree-fix-line-filename-length-calculation.patch
===================================================================
--- 0001-mtree-fix-line-filename-length-calculation.patch                       
        (rev 0)
+++ 0001-mtree-fix-line-filename-length-calculation.patch       2013-02-27 
21:51:19 UTC (rev 178866)
@@ -0,0 +1,29 @@
+From e65bf287f0133426b26611fe3e80b51267987106 Mon Sep 17 00:00:00 2001
+From: Dave Reisner <[email protected]>
+Date: Thu, 21 Feb 2013 19:01:06 -0500
+Subject: [PATCH] mtree: fix line filename length calculation. Fixes #301.
+ Signed-off-by: Andres Mejia <[email protected]>
+
+---
+ libarchive/archive_write_set_format_mtree.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libarchive/archive_write_set_format_mtree.c 
b/libarchive/archive_write_set_format_mtree.c
+index 9c0613c..f37f723 100644
+--- a/libarchive/archive_write_set_format_mtree.c
++++ b/libarchive/archive_write_set_format_mtree.c
+@@ -1855,9 +1855,9 @@ mtree_entry_setup_filenames(struct archive_write *a, 
struct mtree_entry *file,
+               return (ret);
+       }
+ 
+-      /* Make a basename from dirname and slash */
++      /* Make a basename from file->parentdir.s and slash */
+       *slash  = '\0';
+-      file->parentdir.length = slash - dirname;
++      file->parentdir.length = slash - file->parentdir.s;
+       archive_strcpy(&(file->basename),  slash + 1);
+       return (ret);
+ }
+-- 
+1.8.1.4
+

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2013-02-27 20:55:22 UTC (rev 178865)
+++ PKGBUILD    2013-02-27 21:51:19 UTC (rev 178866)
@@ -2,36 +2,37 @@
 # Maintainer: Dan McGee <[email protected]>
 
 pkgname=libarchive
-pkgver=3.0.4
-pkgrel=2
+pkgver=3.1.2
+pkgrel=1
 pkgdesc="library that can create and read several streaming archive formats"
 arch=('i686' 'x86_64')
-url="http://libarchive.googlecode.com/";
+url="http://libarchive.org/";
 license=('BSD')
-depends=('zlib' 'bzip2' 'xz>=5.0.0' 'acl' 'openssl>=1.0.0' 'expat')
-source=("https://github.com/downloads/libarchive/libarchive/libarchive-${pkgver}.tar.gz";
-        libarchive-3.0.x-fix-mtree-writer.patch)
-md5sums=('af443ca9a10ddbcbf00f7ae34ca7fc16'
-         '6d36a50a7282db6576bd1fbc23f08055')
-sha256sums=('76e8d7c7b100ec4071e48c1b7d3f3ea1d22b39db3e45b7189f75b5ff4df90fac'
-            'f0081c0d7d7875fc91c683b14fe4876d56b6585f45be9181c755eba4b522f5b9')
+depends=('acl' 'attr' 'bzip2' 'expat' 'lzo2' 'openssl' 'xz' 'zlib')
+source=("http://libarchive.org/downloads/$pkgname-$pkgver.tar.gz";
+        '0001-mtree-fix-line-filename-length-calculation.patch')
+md5sums=('efad5a503f66329bb9d2f4308b5de98a'
+         'fda89c145bbcd793a96b06b463ef6a72')
 
+build() {
+  cd "$pkgname-$pkgver"
 
-build() {
-  cd "$srcdir/$pkgname-$pkgver"
-  patch -Np1 -i $srcdir/libarchive-3.0.x-fix-mtree-writer.patch
+  # https://code.google.com/p/libarchive/issues/detail?id=301
+  # upstream commit e65bf287f0133426b26611fe3e80b51267987106
+  patch -Np1 -i "$srcdir/0001-mtree-fix-line-filename-length-calculation.patch"
+
   ./configure --prefix=/usr --without-xml2
   make
 }
 
 check() {
-  cd "$srcdir/$pkgname-$pkgver"
+  cd "$pkgname-$pkgver"
 
   make check
 }
 
 package() {
-  cd "$srcdir/$pkgname-$pkgver"
+  cd "$pkgname-$pkgver"
   make DESTDIR="$pkgdir" install
 
   install -D -m644 COPYING "$pkgdir"/usr/share/licenses/libarchive/COPYING

Deleted: libarchive-3.0.x-fix-mtree-writer.patch
===================================================================
--- libarchive-3.0.x-fix-mtree-writer.patch     2013-02-27 20:55:22 UTC (rev 
178865)
+++ libarchive-3.0.x-fix-mtree-writer.patch     2013-02-27 21:51:19 UTC (rev 
178866)
@@ -1,34 +0,0 @@
---- a/libarchive/archive_write_set_format_mtree.c
-+++ b/libarchive/archive_write_set_format_mtree.c
-@@ -887,6 +887,19 @@ write_entry(struct archive_write *a, struct mtree_entry 
*me)
- 
-       archive_string_empty(&mtree->ebuf);
-       str = (mtree->indent)? &mtree->ebuf : &mtree->buf;
-+
-+      /* If the pathname does not have a path separator, we have to
-+       * add "./" to the head of the pathename because mtree reader
-+       * will suppose that it is v1(a.k.a classic) mtree format and
-+       * change the directory unexpectedly and so it will make a wrong
-+       * path. */
-+      if (strchr(me->pathname, '/') == NULL &&
-+          strcmp(me->pathname, ".") != 0) {
-+              archive_strcat(str, "./");
-+      }
-+      /* mtree reader does not accept an absolute path. */
-+      else if (me->pathname[0] == '/')
-+              archive_strappend_char(str, '.');
-       mtree_quote(str, me->pathname);
-       keys = get_keys(mtree, me);
-       if ((keys & F_NLINK) != 0 &&
---- a/libarchive/test/test_read_format_mtree.c
-+++ b/libarchive/test/test_read_format_mtree.c
-@@ -37,7 +37,8 @@ test_read_format_mtree1(void)
-        * without relying on overflow.  This assumes that long long
-        * is at least 64 bits. */
-       static const long long max_int64 = ((((long long)1) << 62) - 1) + 
(((long long)1) << 62);
--      time_t min_time, t;
-+      time_t min_time;
-+      volatile time_t t;
- 
-       extract_reference_file(reffile);
- 
\ No newline at end of file

Reply via email to