diff options
-rw-r--r-- | .SRCINFO | 18 | ||||
-rw-r--r-- | 0002-Use-posix-tar-format-by-default.patch | 8 | ||||
-rw-r--r-- | 0003-Mangle-PAX-headers-when-using-posix-tar-format.patch | 16 | ||||
-rw-r--r-- | 0004-HACK-workaround-for-some-broken-pristine-tar-branche.patch (renamed from 0010-workaround-for-some-broken-pristine-tar-branche.patch) | 2 | ||||
-rw-r--r-- | 0004-Remove-all-timestamps-from-extended-PAX-headers.patch | 28 | ||||
-rw-r--r-- | PKGBUILD | 36 |
6 files changed, 42 insertions, 66 deletions
@@ -1,24 +1,22 @@ pkgbase = pristine-tar pkgdesc = Tool to regenerate a pristine upstream tarball using only a small binary delta file and a copy of the source which can be a revision control checkout. - pkgver = 1.32 + pkgver = 1.33 pkgrel = 1 - url = http://joeyh.name/code/pristine-tar/ + url = https://packages.debian.org/sid/pristine-tar arch = i686 arch = x86_64 license = GPL depends = perl depends = xdelta conflicts = pristine-tar-git - source = http://ftp.debian.org/debian/pool/main/p/pristine-tar/pristine-tar_1.32.tar.gz + source = http://ftp.debian.org/debian/pool/main/p/pristine-tar/pristine-tar_1.33.tar.gz source = 0002-Use-posix-tar-format-by-default.patch source = 0003-Mangle-PAX-headers-when-using-posix-tar-format.patch - source = 0004-Remove-all-timestamps-from-extended-PAX-headers.patch - source = 0010-workaround-for-some-broken-pristine-tar-branche.patch - sha256sums = 1df928c89fa3adb72ac1fcbc28253b392a7692b6f5a77c2855933253a4598d57 - sha256sums = a41617db19c85b18b9b157b2cb3e523f5484472b434cc9f69717499e268e7fcf - sha256sums = c8848744d934eebe9d672f92f57b05929edc13f608835c7da367479ce1bdd992 - sha256sums = a6ddb2602d536fa1f4a2e6f748ad8bac2aa49d8f533e3b5993f2f77716bcdb73 - sha256sums = b7a3713c327fd68e49818ad38d5f550870095eebd094a5bd85dd59e815fde9a1 + source = 0004-HACK-workaround-for-some-broken-pristine-tar-branche.patch + sha256sums = 7d87cfe6b957e100e5cd87dca0835af299b4e03f8cb24990f01bbf0f065197b4 + sha256sums = 09b7e2fba6f53ad1ac85d6000393835aedb8785ddcfd176f043f6301e267c614 + sha256sums = d470d888fba8c32c20602a2e90219893d15074cf447c5920b37fa57fe5d38692 + sha256sums = 0d2cbbeeb8c5fbba193b4ac39a33de800515811f6858e26a8874ed3bce6f394c pkgname = pristine-tar diff --git a/0002-Use-posix-tar-format-by-default.patch b/0002-Use-posix-tar-format-by-default.patch index cf712c1f554a..6b615aad3b45 100644 --- a/0002-Use-posix-tar-format-by-default.patch +++ b/0002-Use-posix-tar-format-by-default.patch @@ -15,10 +15,10 @@ Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pristine-tar b/pristine-tar -index 1c321d4..f1fae98 100755 +index 0bf44e8..d36e51b 100755 --- a/pristine-tar +++ b/pristine-tar -@@ -396,12 +396,10 @@ sub gentar { +@@ -417,12 +417,10 @@ sub gentar { my @try; push @try, sub { recreatetarball($delta->{manifest}, getcwd, @@ -33,7 +33,7 @@ index 1c321d4..f1fae98 100755 my $ok; foreach my $variant (@try) { -@@ -511,7 +509,8 @@ sub gendelta { +@@ -532,7 +530,8 @@ sub gendelta { if ($#out == 0 && -d $out[0]) { $sourcedir=$out[0]; } @@ -43,7 +43,7 @@ index 1c321d4..f1fae98 100755 } else { $recreatetarball=$opts{recreatetarball}; -@@ -778,7 +777,7 @@ sub commit { +@@ -800,7 +799,7 @@ sub commit { my ($sourcedir, $id)=export($upstream); genmanifest($tarball, "$tempdir/manifest"); my $recreatetarball=recreatetarball("$tempdir/manifest", $sourcedir, diff --git a/0003-Mangle-PAX-headers-when-using-posix-tar-format.patch b/0003-Mangle-PAX-headers-when-using-posix-tar-format.patch index bb2b4187af30..d2862b0eacb1 100644 --- a/0003-Mangle-PAX-headers-when-using-posix-tar-format.patch +++ b/0003-Mangle-PAX-headers-when-using-posix-tar-format.patch @@ -2,8 +2,14 @@ From: Markus Lehtonen <markus.lehtonen@linux.intel.com> Date: Thu, 6 Jun 2013 14:31:25 +0300 Subject: Mangle PAX headers when using posix tar format -Mangle tar PAX headers in order to guarantee that created tarballs are -always identical so that the delta can be applied cleanly. +Remove all timestamps from extended PAX headers in order to guarantee +that created tarballs are always identical so that the delta can be +applied cleanly. + +The timestamps can break pristine-tar generation as they are different +every time an archive is generated from git (when using tree id +instead of commit id as the sha-1 to checkout). Git uses the current +time as the modification time of files when a tree is archived. Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> --- @@ -11,17 +17,17 @@ Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> 1 file changed, 5 insertions(+) diff --git a/pristine-tar b/pristine-tar -index f1fae98..3e92a74 100755 +index d36e51b..4421068 100755 --- a/pristine-tar +++ b/pristine-tar -@@ -357,6 +357,11 @@ sub recreatetarball_helper { +@@ -378,6 +378,11 @@ sub recreatetarball_helper { "--files-from", "$tempdir/manifest"); if (exists $options{tar_format}) { push @cmd, ("-H", $options{tar_format}); + if ($options{tar_format} eq 'posix') { + # Mangle PAX headers so that created tarballs are always identical + # so that delta can be successfully applied -+ push @cmd, ('--pax-option=exthdr.name=%d/PaxHeaders/%f,ctime:=0'); ++ push @cmd, ('--pax-option=exthdr.name=%d/PaxHeaders/%f,mtime:=0,atime:=0,ctime:=0'); + } } diff --git a/0010-workaround-for-some-broken-pristine-tar-branche.patch b/0004-HACK-workaround-for-some-broken-pristine-tar-branche.patch index c264fb511364..7378bdb09b19 100644 --- a/0010-workaround-for-some-broken-pristine-tar-branche.patch +++ b/0004-HACK-workaround-for-some-broken-pristine-tar-branche.patch @@ -12,7 +12,7 @@ Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> 1 file changed, 4 insertions(+) diff --git a/pristine-bz2 b/pristine-bz2 -index dbbe319..112d49e 100755 +index 411e990..8fc694e 100755 --- a/pristine-bz2 +++ b/pristine-bz2 @@ -263,6 +263,10 @@ sub genbz2 { diff --git a/0004-Remove-all-timestamps-from-extended-PAX-headers.patch b/0004-Remove-all-timestamps-from-extended-PAX-headers.patch deleted file mode 100644 index 4d5cbe217ebe..000000000000 --- a/0004-Remove-all-timestamps-from-extended-PAX-headers.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Markus Lehtonen <markus.lehtonen@linux.intel.com> -Date: Fri, 23 Aug 2013 00:47:12 +0300 -Subject: Remove all timestamps from extended PAX headers - -The timestamps can break pristine-tar generation as they are different -every time an archive is generated from git (when using tree id -instead of commit id as the sha-1 to checkout). Git uses the current -time as the modification time of files when a tree is archived. - -Change-Id: I25fc631c4f1c62fc5ec2c1a8112dd01c643aae90 -Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com> ---- - pristine-tar | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/pristine-tar b/pristine-tar -index 3e92a74..19af965 100755 ---- a/pristine-tar -+++ b/pristine-tar -@@ -360,7 +360,7 @@ sub recreatetarball_helper { - if ($options{tar_format} eq 'posix') { - # Mangle PAX headers so that created tarballs are always identical - # so that delta can be successfully applied -- push @cmd, ('--pax-option=exthdr.name=%d/PaxHeaders/%f,ctime:=0'); -+ push @cmd, ('--pax-option=exthdr.name=%d/PaxHeaders/%f,mtime:=0,atime:=0,ctime:=0'); - } - } - @@ -1,40 +1,40 @@ -# Maintainer: Patrick McCarty <pnorcks at gmail dot com> +# Contributor: Johannes Dewender arch at JonnyJD dot net +# Contributor: Patrick McCarty <pnorcks at gmail dot com> # Contributor: Jimmy Tang <jtang@tchpc.tcd.ie> pkgname=pristine-tar -pkgver=1.32 +pkgver=1.33 pkgrel=1 pkgdesc="Tool to regenerate a pristine upstream tarball using only a small binary delta file and a copy of the source which can be a revision control checkout." arch=('i686' 'x86_64') -url="http://joeyh.name/code/pristine-tar/" +url="https://packages.debian.org/sid/pristine-tar" license=('GPL') depends=('perl' 'xdelta') conflicts=('pristine-tar-git') source=(http://ftp.debian.org/debian/pool/main/p/${pkgname}/${pkgname}_${pkgver}.tar.gz 0002-Use-posix-tar-format-by-default.patch 0003-Mangle-PAX-headers-when-using-posix-tar-format.patch - 0004-Remove-all-timestamps-from-extended-PAX-headers.patch - 0010-workaround-for-some-broken-pristine-tar-branche.patch) -sha256sums=('1df928c89fa3adb72ac1fcbc28253b392a7692b6f5a77c2855933253a4598d57' - 'a41617db19c85b18b9b157b2cb3e523f5484472b434cc9f69717499e268e7fcf' - 'c8848744d934eebe9d672f92f57b05929edc13f608835c7da367479ce1bdd992' - 'a6ddb2602d536fa1f4a2e6f748ad8bac2aa49d8f533e3b5993f2f77716bcdb73' - 'b7a3713c327fd68e49818ad38d5f550870095eebd094a5bd85dd59e815fde9a1') + 0004-HACK-workaround-for-some-broken-pristine-tar-branche.patch) +sha256sums=('7d87cfe6b957e100e5cd87dca0835af299b4e03f8cb24990f01bbf0f065197b4' + '09b7e2fba6f53ad1ac85d6000393835aedb8785ddcfd176f043f6301e267c614' + 'd470d888fba8c32c20602a2e90219893d15074cf447c5920b37fa57fe5d38692' + '0d2cbbeeb8c5fbba193b4ac39a33de800515811f6858e26a8874ed3bce6f394c') prepare() { - cd "$srcdir/$pkgname" + cd "$srcdir/$pkgname-$pkgver" - # three patches used in the Tizen tools package (improvements for POSIX tar support) - patch -Np1 -i "$srcdir"/0002-Use-posix-tar-format-by-default.patch - patch -Np1 -i "$srcdir"/0003-Mangle-PAX-headers-when-using-posix-tar-format.patch - patch -Np1 -i "$srcdir"/0004-Remove-all-timestamps-from-extended-PAX-headers.patch + # patches used in the Tizen tools package + # (improvements for POSIX tar support) + # available in the pristine-tar package at download.tizen.org/tools + patch -p1 < ../0002-Use-posix-tar-format-by-default.patch + patch -p1 < ../0003-Mangle-PAX-headers-when-using-posix-tar-format.patch # extra patch for Tizen compat - patch -Np1 -i "$srcdir"/0010-workaround-for-some-broken-pristine-tar-branche.patch + patch -p1 < ../0004-HACK-workaround-for-some-broken-pristine-tar-branche.patch } build() { - cd "$srcdir/$pkgname" + cd "$srcdir/$pkgname-$pkgver" export PATH=/usr/bin/core_perl:$PATH @@ -43,7 +43,7 @@ build() { } package() { - cd "$srcdir/$pkgname" + cd "$srcdir/$pkgname-$pkgver" make install DESTDIR=$pkgdir PREFIX=/usr INSTALLSITESCRIPT=/usr/bin install -d $pkgdir/usr/share/doc/pristine-tar |