git: restore reproducibility on centos 7

Message ID 20220207091621.756173-1-alex@linutronix.de
State Accepted, archived
Commit edeb2a1a4cfd16706da6815af198d133a94b5ac6
Headers show
Series git: restore reproducibility on centos 7 | expand

Commit Message

Alexander Kanavin Feb. 7, 2022, 9:16 a.m. UTC
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 ...-do-not-force-RHEL-7-specific-build-.patch | 30 +++++++++++++++++++
 meta/recipes-devtools/git/git_2.35.1.bb       |  3 +-
 2 files changed, 32 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-devtools/git/git/0001-config.mak.uname-do-not-force-RHEL-7-specific-build-.patch

Comments

Richard Purdie Feb. 7, 2022, 10:03 a.m. UTC | #1
On Mon, 2022-02-07 at 10:16 +0100, Alexander Kanavin wrote:
> Signed-off-by: Alexander Kanavin <alex@linutronix.de>
> ---
>  ...-do-not-force-RHEL-7-specific-build-.patch | 30 +++++++++++++++++++
>  meta/recipes-devtools/git/git_2.35.1.bb       |  3 +-
>  2 files changed, 32 insertions(+), 1 deletion(-)
>  create mode 100644 meta/recipes-devtools/git/git/0001-config.mak.uname-do-not-force-RHEL-7-specific-build-.patch
> 
> diff --git a/meta/recipes-devtools/git/git/0001-config.mak.uname-do-not-force-RHEL-7-specific-build-.patch b/meta/recipes-devtools/git/git/0001-config.mak.uname-do-not-force-RHEL-7-specific-build-.patch
> new file mode 100644
> index 0000000000..e0f702f327
> --- /dev/null
> +++ b/meta/recipes-devtools/git/git/0001-config.mak.uname-do-not-force-RHEL-7-specific-build-.patch
> @@ -0,0 +1,30 @@
> +From 3b2505435bc6f982226eff84bad6bf9a36381573 Mon Sep 17 00:00:00 2001
> +From: Alexander Kanavin <alex@linutronix.de>
> +Date: Mon, 7 Feb 2022 10:13:15 +0100
> +Subject: [PATCH] config.mak.uname: do not force RHEL-7 specific build settings
> +
> +This breaks reproducibility as git builds on centos 7 use
> +different flags than git builds on other host distros.
> +
> +Upstream-Status: Inappropriate [upstream needs to check compiler and component versions properly]

I'm struggling a bit with the Inappropriate patch status. I can't help wonder if
we should have something like "NeedsRework" to illustrate something where the
patch itself isn't appropriate but the issue itself should be handled upstream?

Cheers,

Richard
Alexander Kanavin Feb. 7, 2022, 11:04 a.m. UTC | #2
On Mon, 7 Feb 2022 at 11:03, Richard Purdie <
richard.purdie@linuxfoundation.org> wrote:

> > +This breaks reproducibility as git builds on centos 7 use
> > +different flags than git builds on other host distros.
> > +
> > +Upstream-Status: Inappropriate [upstream needs to check compiler and
> component versions properly]
>
> I'm struggling a bit with the Inappropriate patch status. I can't help
> wonder if
> we should have something like "NeedsRework" to illustrate something where
> the
> patch itself isn't appropriate but the issue itself should be handled
> upstream?
>

I'm ok with that status if it also has a link to the upstream ticket. Git
upstream's way of bug reporting is "send a mail to our mailing list without
subscribing, and you'll be CCd in replies" which is not particularly
reassuring, but I'll do it now. Then we can do the corrections once I have
a link (which probably won't happen immediately due to list pre-moderation).

Alex

Patch

diff --git a/meta/recipes-devtools/git/git/0001-config.mak.uname-do-not-force-RHEL-7-specific-build-.patch b/meta/recipes-devtools/git/git/0001-config.mak.uname-do-not-force-RHEL-7-specific-build-.patch
new file mode 100644
index 0000000000..e0f702f327
--- /dev/null
+++ b/meta/recipes-devtools/git/git/0001-config.mak.uname-do-not-force-RHEL-7-specific-build-.patch
@@ -0,0 +1,30 @@ 
+From 3b2505435bc6f982226eff84bad6bf9a36381573 Mon Sep 17 00:00:00 2001
+From: Alexander Kanavin <alex@linutronix.de>
+Date: Mon, 7 Feb 2022 10:13:15 +0100
+Subject: [PATCH] config.mak.uname: do not force RHEL-7 specific build settings
+
+This breaks reproducibility as git builds on centos 7 use
+different flags than git builds on other host distros.
+
+Upstream-Status: Inappropriate [upstream needs to check compiler and component versions properly]
+Signed-off-by: Alexander Kanavin <alex@linutronix.de>
+---
+ config.mak.uname | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/config.mak.uname b/config.mak.uname
+index c48db45..9b3e9bf 100644
+--- a/config.mak.uname
++++ b/config.mak.uname
+@@ -63,11 +63,6 @@ ifeq ($(uname_S),Linux)
+ 	PROCFS_EXECUTABLE_PATH = /proc/self/exe
+ 	HAVE_PLATFORM_PROCINFO = YesPlease
+ 	COMPAT_OBJS += compat/linux/procinfo.o
+-	# centos7/rhel7 provides gcc 4.8.5 and zlib 1.2.7.
+-	ifneq ($(findstring .el7.,$(uname_R)),)
+-		BASIC_CFLAGS += -std=c99
+-		NO_UNCOMPRESS2 = YesPlease
+-	endif
+ endif
+ ifeq ($(uname_S),GNU/kFreeBSD)
+ 	HAVE_ALLOCA_H = YesPlease
diff --git a/meta/recipes-devtools/git/git_2.35.1.bb b/meta/recipes-devtools/git/git_2.35.1.bb
index 62017b98ef..a333458d5f 100644
--- a/meta/recipes-devtools/git/git_2.35.1.bb
+++ b/meta/recipes-devtools/git/git_2.35.1.bb
@@ -9,7 +9,8 @@  PROVIDES:append:class-native = " git-replacement-native"
 
 SRC_URI = "${KERNELORG_MIRROR}/software/scm/git/git-${PV}.tar.gz;name=tarball \
            file://fixsort.patch \
-"
+           file://0001-config.mak.uname-do-not-force-RHEL-7-specific-build-.patch \
+           "
 
 S = "${WORKDIR}/git-${PV}"