Package: nspr
Version: 2:4.35-1.1
Severity: normal
Tags: patch
X-Debbugs-Cc: bdr...@debian.org
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu oracular ubuntu-patch

Dear Maintainer,

In Ubuntu, the attached patch was applied to achieve the following:

  * Drop explicit -Wl,--as-needed linker flag. It's the default.
  * Drop explicit CFLAGS that are checked by configure.
  * Also use non-hardening flags from dpkg-buildflags to pick up flags
    like -fno-omit-frame-pointer.

Thanks for considering the patch. I also attach the individual commits
done in Ubuntu that could be applied with "git am".

-- 
Benjamin Drung
Debian & Ubuntu Developer
diff -Nru nspr-4.35/debian/rules nspr-4.35/debian/rules
--- nspr-4.35/debian/rules      2023-02-10 21:52:57.000000000 +0100
+++ nspr-4.35/debian/rules      2024-07-22 11:23:52.000000000 +0200
@@ -4,15 +4,6 @@
 
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
-# Use dpkg-buildflags to get hardening flags, and exclude non-hardening flags
-dpkg_buildflags = $(and $(1),$(shell DEB_CFLAGS_MAINT_STRIP="$(shell 
DEB_BUILD_MAINT_OPTIONS=hardening=-all dpkg-buildflags --get $(1))" 
dpkg-buildflags --get $(1)))
-$(call lazy,CFLAGS,$$(call dpkg_buildflags,CFLAGS))
-$(call lazy,CPPFLAGS,$$(call dpkg_buildflags,CPPFLAGS))
-$(call lazy,LDFLAGS,$$(call dpkg_buildflags,LDFLAGS))
-
-CFLAGS += -Wall -pipe
-LDFLAGS += -Wl,--as-needed
-
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
        CONFIGURE_FLAGS := --disable-optimize
 else
@@ -49,9 +40,6 @@
        done
 
        cd nspr && \
-       CFLAGS="$(CFLAGS)" \
-       CPPFLAGS="$(CPPFLAGS)" \
-       LDFLAGS="$(LDFLAGS)" \
        ./configure --target=$(DEB_HOST_GNU_TYPE) --host=$(DEB_BUILD_GNU_TYPE) 
--build=$(DEB_BUILD_GNU_TYPE) \
                     $(CONFIGURE_FLAGS) \
                    --prefix=/usr \
>From 72c276c25bcdda20bb252f75c6dbc369a391b461 Mon Sep 17 00:00:00 2001
From: Benjamin Drung <benjamin.dr...@canonical.com>
Date: Mon, 22 Jul 2024 11:27:41 +0200
Subject: [PATCH 1/3] Drop explicit -Wl,--as-needed linker flag

The debian/rules file for this package uses the -Wl,--as-needed linker
flag. The bullseye toolchain defaults to linking with --as-needed and
therefore it should no longer be necessary to inject this into the build
process.
---
 debian/rules | 1 -
 1 file changed, 1 deletion(-)

diff --git a/debian/rules b/debian/rules
index fcd74da..418a439 100755
--- a/debian/rules
+++ b/debian/rules
@@ -11,7 +11,6 @@ $(call lazy,CPPFLAGS,$$(call dpkg_buildflags,CPPFLAGS))
 $(call lazy,LDFLAGS,$$(call dpkg_buildflags,LDFLAGS))
 
 CFLAGS += -Wall -pipe
-LDFLAGS += -Wl,--as-needed
 
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
        CONFIGURE_FLAGS := --disable-optimize
-- 
2.43.0

>From 02a76d81e9bd5c2ab0b10d8620938efc39377096 Mon Sep 17 00:00:00 2001
From: Benjamin Drung <benjamin.dr...@canonical.com>
Date: Mon, 22 Jul 2024 11:30:19 +0200
Subject: [PATCH 2/3] Drop explicit CFLAGS that are checked by configure

The configure script will check for `-Wall` and `-pipe`. So rely on
configure instead of explicitly setting those.
---
 debian/rules | 2 --
 1 file changed, 2 deletions(-)

diff --git a/debian/rules b/debian/rules
index 418a439..602633d 100755
--- a/debian/rules
+++ b/debian/rules
@@ -10,8 +10,6 @@ $(call lazy,CFLAGS,$$(call dpkg_buildflags,CFLAGS))
 $(call lazy,CPPFLAGS,$$(call dpkg_buildflags,CPPFLAGS))
 $(call lazy,LDFLAGS,$$(call dpkg_buildflags,LDFLAGS))
 
-CFLAGS += -Wall -pipe
-
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
        CONFIGURE_FLAGS := --disable-optimize
 else
-- 
2.43.0

>From 9b161f5a44eba294917aa43c2269e631a875e821 Mon Sep 17 00:00:00 2001
From: Benjamin Drung <benjamin.dr...@canonical.com>
Date: Mon, 22 Jul 2024 11:31:18 +0200
Subject: [PATCH 3/3] Also use non-hardening flags from dpkg-buildflags

Also use non-hardening flags from dpkg-buildflags to pick up flags like
`-fno-omit-frame-pointer`.
---
 debian/rules | 9 ---------
 1 file changed, 9 deletions(-)

diff --git a/debian/rules b/debian/rules
index 602633d..952806b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -4,12 +4,6 @@ include debian/make.mk
 
 export DEB_BUILD_MAINT_OPTIONS = hardening=+all
 
-# Use dpkg-buildflags to get hardening flags, and exclude non-hardening flags
-dpkg_buildflags = $(and $(1),$(shell DEB_CFLAGS_MAINT_STRIP="$(shell 
DEB_BUILD_MAINT_OPTIONS=hardening=-all dpkg-buildflags --get $(1))" 
dpkg-buildflags --get $(1)))
-$(call lazy,CFLAGS,$$(call dpkg_buildflags,CFLAGS))
-$(call lazy,CPPFLAGS,$$(call dpkg_buildflags,CPPFLAGS))
-$(call lazy,LDFLAGS,$$(call dpkg_buildflags,LDFLAGS))
-
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
        CONFIGURE_FLAGS := --disable-optimize
 else
@@ -46,9 +40,6 @@ override_dh_auto_configure: $(PREPROCESS_FILES:.in=)
        done
 
        cd nspr && \
-       CFLAGS="$(CFLAGS)" \
-       CPPFLAGS="$(CPPFLAGS)" \
-       LDFLAGS="$(LDFLAGS)" \
        ./configure --target=$(DEB_HOST_GNU_TYPE) --host=$(DEB_BUILD_GNU_TYPE) 
--build=$(DEB_BUILD_GNU_TYPE) \
                     $(CONFIGURE_FLAGS) \
                    --prefix=/usr \
-- 
2.43.0

Reply via email to