summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Watt <jpewhacker@gmail.com>2019-05-29 21:41:09 -0500
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-05-30 12:34:56 +0100
commit04bb44c1b97c3183739e4836588a93dc34af8806 (patch)
tree077485e02c1759a4fce3fd953a01653604e846f2
parentf4e712162566373279049fb952d8bceb9184128a (diff)
downloadopenembedded-core-contrib-04bb44c1b97c3183739e4836588a93dc34af8806.tar.gz
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 <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/btrfs-tools/btrfs-tools/0001-Add-LDFLAGS-when-building-libbtrfsutil.so.patch19
-rw-r--r--meta/recipes-devtools/btrfs-tools/btrfs-tools/0003-btrfs-progs-Pass-CFLAGS-and-LDFLAGS-to-Python.patch43
-rw-r--r--meta/recipes-devtools/btrfs-tools/btrfs-tools_5.1.bb6
3 files changed, 53 insertions, 15 deletions
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 <alex.kanavin@gmail.com>
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 <alex.kanavin@gmail.com>
---
- 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 <JPEWhacker@gmail.com>
+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 <JPEWhacker@gmail.com>
+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.