From 04bb44c1b97c3183739e4836588a93dc34af8806 Mon Sep 17 00:00:00 2001 From: Joshua Watt Date: Wed, 29 May 2019 21:41:09 -0500 Subject: btrfs-tools: Pass DEBUG_MAP_PREFIX flags to Python The DEBUG_MAP_PREFIX flags need to be passed when building the Python library to prevent these non-reproducible paths from being encoded into the library. The patch that does this was accepted upstream and supersedes part of a previous patch that passed LDFLAGS to the Python library in favor of passing EXTRA_PYTHON_LDFLAGS, so the patch and recipe has been updated to reflect this. Signed-off-by: Joshua Watt Signed-off-by: Richard Purdie --- ...Add-LDFLAGS-when-building-libbtrfsutil.so.patch | 19 +++------- ...s-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch | 43 ++++++++++++++++++++++ .../btrfs-tools/btrfs-tools_5.1.bb | 6 ++- 3 files changed, 53 insertions(+), 15 deletions(-) create mode 100644 meta/recipes-devtools/btrfs-tools/btrfs-tools/0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch (limited to 'meta/recipes-devtools/btrfs-tools') diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch index a8fcfc0f73..e23be32599 100644 --- a/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch @@ -1,4 +1,4 @@ -From eecc48ecad359cd4fab650ce49cfe57e99d1859d Mon Sep 17 00:00:00 2001 +From c384fa875c5128009ac8b6ba11a54a6bd4de575a Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Thu, 17 May 2018 12:21:31 +0300 Subject: [PATCH] Add LDFLAGS when building libbtrfsutil.so and python @@ -8,14 +8,14 @@ Upstream-Status: Pending Signed-off-by: Alexander Kanavin --- - Makefile | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile -index 10f0e3b0..1697794c 100644 +index e25e256f..6df00186 100644 --- a/Makefile +++ b/Makefile -@@ -402,7 +402,7 @@ libbtrfsutil/%.o: libbtrfsutil/%.c +@@ -424,7 +424,7 @@ libbtrfsutil/%.o: libbtrfsutil/%.c libbtrfsutil.so.$(libbtrfsutil_version): $(libbtrfsutil_objects) @echo " [LD] $@" @@ -24,12 +24,3 @@ index 10f0e3b0..1697794c 100644 -shared -Wl,-soname,libbtrfsutil.so.$(libbtrfsutil_major) -o $@ libbtrfsutil.a: $(libbtrfsutil_objects) -@@ -417,7 +417,7 @@ ifeq ($(PYTHON_BINDINGS),1) - libbtrfsutil_python: libbtrfsutil.so.$(libbtrfsutil_major) libbtrfsutil.so libbtrfsutil/btrfsutil.h - @echo " [PY] libbtrfsutil" - $(Q)cd libbtrfsutil/python; \ -- CFLAGS= LDFLAGS= $(PYTHON) setup.py $(SETUP_PY_Q) build_ext -i build -+ CFLAGS= $(PYTHON) setup.py $(SETUP_PY_Q) build_ext -i build - - .PHONY: libbtrfsutil_python - endif diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools/0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch new file mode 100644 index 0000000000..f69507164c --- /dev/null +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools/0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch @@ -0,0 +1,43 @@ +From 730fe2ee2fb9e08cbe885f370afe83fecb18d048 Mon Sep 17 00:00:00 2001 +From: Joshua Watt +Date: Sun, 26 May 2019 21:26:04 -0500 +Subject: [PATCH] btrfs-progs: Pass CFLAGS and LDFLAGS to Python + +Adds Make variables EXTRA_PYTHON_CFLAGS and EXTRA_PYTHON_LDFLAGS which +can be used to pass CFLAGS and LDFLAGS respectively when building the +Python library. + +This is required to support reproducible builds, as there are often +compiler and linker flags that must be passed in order to generate +reproducible output (e.g. -fdebug-prefix-map) + +Signed-off-by: Joshua Watt +Upstream-Status: Accepted [https://github.com/kdave/btrfs-progs/pull/176] +--- + Makefile | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 505bd9c1..814767a8 100644 +--- a/Makefile ++++ b/Makefile +@@ -24,6 +24,10 @@ + # DEBUG_CFLAGS additional compiler flags for debugging build + # EXTRA_CFLAGS additional compiler flags + # EXTRA_LDFLAGS additional linker flags ++# EXTRA_PYTHON_CFLAGS additional compiler flags to pass when building Python ++# library ++# EXTRA_PYTHON_LDFLAGS additional linker flags to pass when building Python ++# library + # + # Testing-specific options (see also tests/README.md): + # TEST=GLOB run test(s) from directories matching GLOB +@@ -439,7 +443,7 @@ ifeq ($(PYTHON_BINDINGS),1) + libbtrfsutil_python: libbtrfsutil.so.$(libbtrfsutil_major) libbtrfsutil.so libbtrfsutil/btrfsutil.h + @echo " [PY] libbtrfsutil" + $(Q)cd libbtrfsutil/python; \ +- CFLAGS= LDFLAGS= $(PYTHON) setup.py $(SETUP_PY_Q) build_ext -i build ++ CFLAGS="$(EXTRA_PYTHON_CFLAGS)" LDFLAGS="$(EXTRA_PYTHON_LDFLAGS)" $(PYTHON) setup.py $(SETUP_PY_Q) build_ext -i build + + .PHONY: libbtrfsutil_python + endif diff --git a/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.bb b/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.bb index 8b4178d6de..89cc1bfe20 100644 --- a/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.bb +++ b/meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.bb @@ -18,6 +18,7 @@ SRCREV = "43013422dbce4bcc9ed77cfe65b294caa0985ec8" SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git \ file://0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch \ file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \ + file://0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch \ " inherit autotools-brokensep pkgconfig manpages distutils3-base @@ -27,7 +28,10 @@ CLEANBROKEN = "1" PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, asciidoc-native xmlto-native" EXTRA_OECONF = " --disable-zstd" EXTRA_OECONF_append_libc-musl = " --disable-backtrace " -EXTRA_OEMAKE = "V=1" +EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}" +EXTRA_PYTHON_CFLAGS_class-native = "" +EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}" +EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'" do_configure_prepend() { # Upstream doesn't ship this and autoreconf won't install it as automake isn't used. -- cgit 1.2.3-korg