[arch-commits] Commit in gn/trunk (PKGBUILD repro.patch)

Evangelos Foutras foutrelis at gemini.archlinux.org
Thu Jul 7 03:21:42 UTC 2022


    Date: Thursday, July 7, 2022 @ 03:21:41
  Author: foutrelis
Revision: 449960

upgpkg: gn 0.2042.2ecd43a1-2: fix repro maybe

Added:
  gn/trunk/repro.patch
Modified:
  gn/trunk/PKGBUILD

-------------+
 PKGBUILD    |   14 +++++++++++---
 repro.patch |   29 +++++++++++++++++++++++++++++
 2 files changed, 40 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2022-07-06 23:50:30 UTC (rev 449959)
+++ PKGBUILD	2022-07-07 03:21:41 UTC (rev 449960)
@@ -3,7 +3,7 @@
 pkgname=gn
 pkgver=0.2042.2ecd43a1
 _commit=2ecd43a10266bd091c98e6dcde507c64f6a0dad3
-pkgrel=1
+pkgrel=2
 pkgdesc="Meta-build system that generates build files for Ninja"
 arch=('x86_64')
 url="https://gn.googlesource.com/gn/"
@@ -10,8 +10,10 @@
 license=('BSD')
 depends=('gcc-libs')
 makedepends=('clang' 'ninja' 'python' 'git')
-source=(git+https://gn.googlesource.com/gn#commit=$_commit)
-sha256sums=('SKIP')
+source=(git+https://gn.googlesource.com/gn#commit=$_commit
+        repro.patch)
+sha256sums=('SKIP'
+            '4f87532d0785ded35a9452bb762635c36c8e2c8e5181c4b991dab258f895e27e')
 
 pkgver() {
   cd $pkgname
@@ -18,6 +20,12 @@
   echo 0.$(git rev-list --count initial-commit..).$(git rev-parse --short=8 HEAD)
 }
 
+prepare() {
+  cd $pkgname
+  # https://gn-review.googlesource.com/c/gn/+/14260
+  patch -Np1 -i ../repro.patch
+}
+
 build() {
   cd $pkgname
   ./build/gen.py

Added: repro.patch
===================================================================
--- repro.patch	                        (rev 0)
+++ repro.patch	2022-07-07 03:21:41 UTC (rev 449960)
@@ -0,0 +1,29 @@
+From 102a161c76f8d4c8157390b7087ae6e65ec9d7cf Mon Sep 17 00:00:00 2001
+From: Evangelos Foutras <evangelos at foutrelis.com>
+Date: Thu, 7 Jul 2022 06:18:12 +0300
+Subject: [PATCH] build/gen.py: Make LAST_COMMIT_POSITION reproducible
+
+Abbreviated hashes can vary in length depending on the number of objects
+in the Git repository. This frequently breaks reproducibility for distro
+packages. Address this by adding --abbrev=12 to the 'git describe' call.
+
+Change-Id: I2fff11ff5a8e54e437a2186ea1f7c0ec17924437
+---
+ build/gen.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/build/gen.py b/build/gen.py
+index fe56186b..f877cc24 100755
+--- a/build/gen.py
++++ b/build/gen.py
+@@ -218,8 +218,8 @@ def main(argv):
+ def GenerateLastCommitPosition(host, header):
+   ROOT_TAG = 'initial-commit'
+   describe_output = subprocess.check_output(
+-      ['git', 'describe', 'HEAD', '--match', ROOT_TAG], shell=host.is_windows(),
+-      cwd=REPO_ROOT)
++      ['git', 'describe', 'HEAD', '--abbrev=12', '--match', ROOT_TAG],
++      shell=host.is_windows(), cwd=REPO_ROOT)
+   mo = re.match(ROOT_TAG + '-(\d+)-g([0-9a-f]+)', describe_output.decode())
+   if not mo:
+     raise ValueError(



More information about the arch-commits mailing list