summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDan McGregor <dan.mcgregor@usask.ca>2024-11-19 14:27:53 -0600
committerKhem Raj <raj.khem@gmail.com>2024-11-19 16:59:16 -0800
commit065abae6cf40c8046dbaf63e96313cdbf1f9c575 (patch)
tree541166af334a924d20b8515c381dc64ad6eb2602
parente7f560b9b8dacf7aadf59d6321c2e869dcd5831e (diff)
downloadmeta-openembedded-065abae6cf40c8046dbaf63e96313cdbf1f9c575.tar.gz
hplip: Address reproducibility issues
The distributed configure script removes the existing CFLAGS if it finds python3. Correct this, so that our prefix mapping flags and other OpenEmbedded flags get applied. This patch was acquired from the comments in https://bugs.launchpad.net/hplip/+bug/1879445 Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rwxr-xr-xmeta-oe/conf/include/non-repro-meta-oe.inc2
-rw-r--r--meta-oe/recipes-extended/hplip/hplip/0001-Fix-upstream-CFLAGS-override.patch68
-rw-r--r--meta-oe/recipes-extended/hplip/hplip_3.22.10.bb15
3 files changed, 73 insertions, 12 deletions
diff --git a/meta-oe/conf/include/non-repro-meta-oe.inc b/meta-oe/conf/include/non-repro-meta-oe.inc
index 7961d851f9..3441cb119a 100755
--- a/meta-oe/conf/include/non-repro-meta-oe.inc
+++ b/meta-oe/conf/include/non-repro-meta-oe.inc
@@ -33,8 +33,6 @@ KNOWN_NON_REPRO_META_OE = " \
33 hdf5-dbg \ 33 hdf5-dbg \
34 hdf5-src \ 34 hdf5-src \
35 hdf5-staticdev \ 35 hdf5-staticdev \
36 hplip \
37 hplip-dbg \
38 jpnevulator-doc \ 36 jpnevulator-doc \
39 jsonrpc-dev \ 37 jsonrpc-dev \
40 kpatch-build \ 38 kpatch-build \
diff --git a/meta-oe/recipes-extended/hplip/hplip/0001-Fix-upstream-CFLAGS-override.patch b/meta-oe/recipes-extended/hplip/hplip/0001-Fix-upstream-CFLAGS-override.patch
new file mode 100644
index 0000000000..c8c892c5e1
--- /dev/null
+++ b/meta-oe/recipes-extended/hplip/hplip/0001-Fix-upstream-CFLAGS-override.patch
@@ -0,0 +1,68 @@
1From 297e517d302469fa27dd96c091021b53f9ac2254 Mon Sep 17 00:00:00 2001
2From: Zdenek Dohnal <zdohnal@redhat.com>
3Date: Fri, 26 Apr 2024 14:17:54 -0600
4Subject: [PATCH] Fix upstream CFLAGS override
5
6Upstream check for python clears OS build system CFLAGS
7
8Upstream-Status: Submitted [https://bugs.launchpad.net/hplip/+bug/1879445]
9---
10 configure.in | 36 +++++++++++++++++++++++-------------
11 1 file changed, 23 insertions(+), 13 deletions(-)
12
13diff --git a/configure.in b/configure.in
14index ebea052..80c4618 100644
15--- a/configure.in
16+++ b/configure.in
17@@ -628,20 +628,31 @@ if test "$class_driver" = "no" && test "$hpijs_only_build" = "no" && test "$hpcu
18 fi
19 fi
20
21-SAVE_CPPFLAGS="$CPPFLAGS"
22-CFLAGS=`python-config --includes`
23-if [ $? -eq 0 ]
24-then
25- echo $FLAGS
26-else
27-CFLAGS=`python3-config --includes`
28- if [ $? -eq 0 ]
29- then
30- echo $FLAGS
31- fi
32+AC_PATH_PROG(python3_config_path, python3-config, [AC_MSG_ERROR([python3-config not installed], 6)])
33+
34+PYTHON_INCLUDES=`$python3_config_path --includes`
35+if test "X$PYTHON_INCLUDES" == "X" ; then
36+ AC_MSG_ERROR([Cannot get Python includes via python3-config], 6)
37+fi
38+
39+PYTHON_LIBS=`$python3_config_path --libs`
40+if test "X$PYTHON_LIBS" == "X" ; then
41+ AC_MSG_ERROR([Cannot get Python libs via python3-config], 6)
42+fi
43+
44+SAVE_CFLAGS=$CFLAGS
45+SAVE_LIBS=$LIBS
46+
47+CFLAGS="$CFLAGS $PYTHON_INCLUDES"
48+LIBS="$LIBS $PYTHON_LIBS"
49+
50+AC_TRY_LINK(,[ ], AC_MSG_RESULT(yes); python_includes="ok", AC_MSG_ERROR([no: PYTHON DISABLED], 6))
51+
52+if test "X$python_includes" != "Xok" ; then
53+ CFLAGS="$SAVE_CFLAGS"
54+ LIBS="$SAVE_LIBS"
55 fi
56
57-#CFLAGS=`(python-config --includes)`
58 if test "$class_driver" = "no" && test "$hpijs_only_build" = "no" && test "$lite_build" = "no" && test "$hpcups_only_build" = "no"; then
59 AC_ARG_VAR([PYTHON], [Python interpreter/compiler command])
60 AC_CHECK_PROGS(PYTHON,[python python3 python2])
61@@ -664,7 +675,6 @@ if test "$class_driver" = "no" && test "$hpijs_only_build" = "no" && test "$lite
62 AS_IF([test "x$FOUND_HEADER" != "xyes"],
63 [AC_MSG_ERROR([cannot find python-devel support], 6)])
64 fi
65-CFLAGS="$save_CFLAGS"
66
67 if test "$hpijs_only_build" = "no" && test "$scan_build" = "yes" && test "$hpcups_only_build" = "no"; then
68 AC_CHECK_LIB([sane], [sane_open], [LIBS="$LIBS"], [AC_MSG_ERROR([cannot find sane-backends-devel support (or --disable-scan-build)], 12)])
diff --git a/meta-oe/recipes-extended/hplip/hplip_3.22.10.bb b/meta-oe/recipes-extended/hplip/hplip_3.22.10.bb
index c54b2e0d88..4ee333de33 100644
--- a/meta-oe/recipes-extended/hplip/hplip_3.22.10.bb
+++ b/meta-oe/recipes-extended/hplip/hplip_3.22.10.bb
@@ -16,7 +16,8 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
16 file://0005-hp_ipp.c-Add-printf-format-to-snprintf-calls.patch \ 16 file://0005-hp_ipp.c-Add-printf-format-to-snprintf-calls.patch \
17 file://0006-Workaround-patch-for-missing-Python3-transition-of-t.patch \ 17 file://0006-Workaround-patch-for-missing-Python3-transition-of-t.patch \
18 file://0001-Fix-installing-ipp-usb-quirk.patch \ 18 file://0001-Fix-installing-ipp-usb-quirk.patch \
19 file://0001-Drop-using-register-storage-classifier.patch" 19 file://0001-Drop-using-register-storage-classifier.patch \
20 file://0001-Fix-upstream-CFLAGS-override.patch"
20SRC_URI[sha256sum] = "533c3f2f6b53e4163ded4fd81d1f11ae6162a0f6451bd5e62a8382d0c1366624" 21SRC_URI[sha256sum] = "533c3f2f6b53e4163ded4fd81d1f11ae6162a0f6451bd5e62a8382d0c1366624"
21 22
22UPSTREAM_CHECK_URI = "https://sourceforge.net/p/hplip/activity" 23UPSTREAM_CHECK_URI = "https://sourceforge.net/p/hplip/activity"
@@ -25,11 +26,6 @@ DEPENDS += "cups python3 libusb1 python3-setuptools-native"
25 26
26inherit autotools-brokensep python3-dir python3native python3targetconfig pkgconfig systemd 27inherit autotools-brokensep python3-dir python3native python3targetconfig pkgconfig systemd
27 28
28export STAGING_INCDIR
29export STAGING_LIBDIR
30
31CFLAGS += "-I${STAGING_INCDIR}/python${PYTHON_BASEVERSION}${PYTHON_ABI}"
32
33EXTRA_OECONF += "\ 29EXTRA_OECONF += "\
34 --enable-cups-drv-install \ 30 --enable-cups-drv-install \
35 --enable-cups-ppd-install \ 31 --enable-cups-ppd-install \
@@ -51,7 +47,7 @@ EXTRA_OECONF += "\
51 --with-cupsfilterdir=${libexecdir}/cups/filter \ 47 --with-cupsfilterdir=${libexecdir}/cups/filter \
52" 48"
53 49
54EXTRA_OEMAKE = "CPPFLAGS='${CFLAGS}' rulessystemdir=${systemd_unitdir}/system/" 50EXTRA_OEMAKE = "rulessystemdir=${systemd_unitdir}/system/"
55 51
56do_install:append() { 52do_install:append() {
57 rm -rf ${D}${datadir}/hplip/upgrade.py 53 rm -rf ${D}${datadir}/hplip/upgrade.py
@@ -76,7 +72,8 @@ RDEPENDS:${PN} += " \
76" 72"
77RDEPENDS:${PN}-filter += "perl ghostscript" 73RDEPENDS:${PN}-filter += "perl ghostscript"
78 74
79FILES:${PN} += "${datadir}/ipp-usb/quirks/HPLIP.conf" 75FILES:${PN} += "${datadir}/ipp-usb/quirks/HPLIP.conf \
76 ${systemd_system_unitdir}/hplip-printer@.service"
80FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la" 77FILES:${PN}-dev += "${PYTHON_SITEPACKAGES_DIR}/*.la"
81FILES:${PN}-ppd = "${datadir}/ppd" 78FILES:${PN}-ppd = "${datadir}/ppd"
82FILES:${PN}-cups = "${datadir}/cups" 79FILES:${PN}-cups = "${datadir}/cups"
@@ -86,6 +83,4 @@ FILES:${PN}-hal = "${datadir}/hal"
86 83
87FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}/*.so" 84FILES:${PN} += "${PYTHON_SITEPACKAGES_DIR}/*.so"
88 85
89SYSTEMD_SERVICE:${PN} = "hplip-printer@.service"
90
91CLEANBROKEN = "1" 86CLEANBROKEN = "1"