Date: Friday, October 14, 2022 @ 18:48:25
  Author: jelle
Revision: 458191

Make man pages / tarball reproducible

Make the tarball and man pages adhere to SOURCE_DATE_EPOCH.

Added:
  autogen/trunk/10_libopts_tarball_perms.diff
Modified:
  autogen/trunk/PKGBUILD

-------------------------------+
 10_libopts_tarball_perms.diff |   19 +++++++++++++++++++
 PKGBUILD                      |   10 +++++++---
 2 files changed, 26 insertions(+), 3 deletions(-)

Added: 10_libopts_tarball_perms.diff
===================================================================
--- 10_libopts_tarball_perms.diff                               (rev 0)
+++ 10_libopts_tarball_perms.diff       2022-10-14 18:48:25 UTC (rev 458191)
@@ -0,0 +1,19 @@
+Description: Sanitize file/directory permissions and owner in libopts
+ tarball. Override mtime with ${BUILD_DATE} which is exported in debian/rules.
+ Avoid gzip timestamp.
+Author: Andreas Metzler <[email protected]>
+Origin: vendor
+Forwarded: no
+Last-Update: 2018-07-19
+
+--- a/pkg/libopts/mklibsrc.sh
++++ b/pkg/libopts/mklibsrc.sh
+@@ -123,7 +123,7 @@ echo ! tar cvf ${tag}.${sfx} ${tag}
+ rbopts=""
+ [ -z "$SOURCE_DATE_EPOCH" ] \
+     || ! tar --help|grep -q sort= \
+-    || rbopts="--sort=name --format=gnu --clamp-mtime --mtime 
@$SOURCE_DATE_EPOCH"
++    || rbopts="--sort=name --format=gnu --clamp-mtime --mtime 
@$SOURCE_DATE_EPOCH --owner=root --group=root --mode=u+w,g-w,a+r"
+ 
+ tar cvf - $rbopts ${tag} | \
+     $gz > ${top_builddir}/autoopts/${tag}.${sfx}

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2022-10-14 18:26:17 UTC (rev 458190)
+++ PKGBUILD    2022-10-14 18:48:25 UTC (rev 458191)
@@ -4,7 +4,7 @@
 
 pkgname=autogen
 pkgver=5.18.16
-pkgrel=2
+pkgrel=3
 pkgdesc="A tool designed to simplify the creation and maintenance of programs 
that contain large amounts of repetitious text"
 arch=('x86_64')
 url="https://www.gnu.org/software/autogen/";
@@ -11,14 +11,18 @@
 license=('GPL3')
 depends=('guile' 'libxml2' 'perl')
 makedepends=('autogen' 'chrpath')
-source=(https://ftp.gnu.org/gnu/${pkgname}/rel${pkgver}/${pkgname}-${pkgver}.tar.xz{,.sig})
+source=(https://ftp.gnu.org/gnu/${pkgname}/rel${pkgver}/${pkgname}-${pkgver}.tar.xz{,.sig}
 10_libopts_tarball_perms.diff)
 validpgpkeys=('44A088E295C3A722C450590EC9EF76DEB74EE762'
               '3EEE51D1355B8EC40D9F3122495143D05D0712D1') # Bruce Korb 
<[email protected]>
 
sha512sums=('5f12c982dbe27873f5649a96049bf019ff183c90cc0c8a9196556b0ca02e72940cd422f6d6601f68cc7d8763b1124f2765c3b1a6335fc92ba07f84b03d2a53a1'
-            'SKIP')
+            'SKIP'
+            
'687a725cc901b4acaa73e4503c933b949a99264647e0829902f3d9c7bc62867268cabdf2c31fe10dcfdec9b69397ef27592196b097e3c19c6b714ef84d4060a4')
 
 prepare() {
   cd $pkgname-$pkgver
+  # Reproducible man page generation
+  export MAN_PAGE_DATE=$(LC_ALL=C date -u -d '@$(SOURCE_DATE_EPOCH)' +%Y-%m-%d)
+  patch -Np1 -i ${srcdir}/10_libopts_tarball_perms.diff
   sed -i 's/ -Werror / /' configure
 }
 

Reply via email to