Source: php8.2
Severity: serious
Justification: TC resolution #994388
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: usrmerge
X-Debbugs-Cc: reproducible-b...@lists.alioth.debian.org

The paths to sed are embedded in two scripts shipped in /usr/bin:

  
https://tests.reproducible-builds.org/debian/rb-pkg/bookworm/amd64/diffoscope-results/php8.2.html

  /usr/bin/php-config8.2

  SED="/bin/sed"
  vs.
  SED="/usr/bin/sed"

It appears this was attempted to be fixed in an earlier php package, but
the fix was either never effective, or has for some reason become
ineffective:

  https://bugs.debian.org/1015188

The attached patch fixes this by explicitly specifying the /usr/bin
path, which is compatible with both usrmerge and non-usrmerge systems.

Other approaches would be to adapt configure to be able to override the
autodetection of the path for SED, or perhaps ideal would be to specify
SED without any path, assuming it is always run in an environment where
PATH is set correctly.

Unfortunately, there are other outstanding issues and this patch is not
sufficient to make php8.2 reproducible, but it should reduce the
differences.

Thanks for maintaining php8.2!

live well,
  vagrant
From 830b885bf5495bd079bf698c7a3352ccf7a38633 Mon Sep 17 00:00:00 2001
From: Vagrant Cascadian <vagr...@reproducible-builds.org>
Date: Thu, 13 Apr 2023 15:59:57 -0700
Subject: [PATCH] scripts/php*.in: Explicitly define the path to sed.

The full path is detected by configure, resulting in a different build
depending on if it is built on a usrmerge or non-usrmerge system.

Since usrmerge systems contain compatibility symlinks for the
non-usrmerge paths, use the non-usrmerge path which is compatible in
both systems.

https://tests.reproducible-builds.org/debian/issues/bookworm/paths_vary_due_to_usrmerge_issue.html
---
 scripts/php-config.in | 2 +-
 scripts/phpize.in     | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/php-config.in b/scripts/php-config.in
index 45a07597..05307ee3 100644
--- a/scripts/php-config.in
+++ b/scripts/php-config.in
@@ -1,6 +1,6 @@
 #! /bin/sh
 
-SED="@SED@"
+SED="/bin/sed"
 prefix="@prefix@"
 datarootdir="@datarootdir@"
 exec_prefix="@exec_prefix@"
diff --git a/scripts/phpize.in b/scripts/phpize.in
index 0dcfe21d..0d71e795 100644
--- a/scripts/phpize.in
+++ b/scripts/phpize.in
@@ -7,7 +7,7 @@ exec_prefix="`eval echo @exec_prefix@`"
 phpdir="$prefix/lib/php/@DEBIAN_PHP_API@/build"
 includedir="$prefix/include/php/@DEBIAN_PHP_API@"
 builddir="`pwd`"
-SED="@SED@"
+SED="/bin/sed"
 
 libtool_version=$(dpkg-query -f'${Version}' -W libtool)
 aclocaldir="$prefix/share/aclocal"
-- 
2.39.2

Attachment: signature.asc
Description: PGP signature

Reply via email to