[OE-core] [oe-core][systemd][PATCH] some dependencies in systemd seem not to be taken into account in systemd_229.bb

Herve Jourdain herve.jourdain at neuf.fr
Mon Mar 7 10:42:17 UTC 2016


Systemd: - RESOLVED depends on GCRYPT, so GCRYPT should be enabled if
RESOLVED is enabled

                 - ${PN}-binfmt should be added to SYSTEMD_PACKAGES only if
binfmt is enabled

Without this patch, build fails when gcrypt is not in PACKAGECONFIG, but
resolved is, or when binfmt is not in PACKAGECONFIG.

 

Signed-off-by: Herve Jourdain <herve.jourdain at neuf.fr
<mailto:herve.jourdain at neuf.fr> >

---

diff --git a/meta/recipes-core/systemd/systemd_229.bb
b/meta/recipes-core/systemd/systemd_229.bb

index 16af0ac..6523e0a 100644

--- a/meta/recipes-core/systemd/systemd_229.bb

+++ b/meta/recipes-core/systemd/systemd_229.bb

@@ -97,11 +97,13 @@ PACKAGECONFIG_remove_libc-musl = "smack"

 

 PACKAGECONFIG[journal-upload] = "--enable-libcurl,--disable-libcurl,curl"

# Sign the journal for anti-tampering

-PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt"

+# RESOLVED depends on GCRYPT, so disable gcrypt only if resolved and gcrypt
are NOT part of PACKAGECONFIG - done in EXTRA_OECONF

+PACKAGECONFIG[gcrypt] = "--enable-gcrypt,,libgcrypt"

PACKAGECONFIG[cryptsetup] =
"--enable-libcryptsetup,--disable-libcryptsetup,cryptsetup"

PACKAGECONFIG[microhttpd] =
"--enable-microhttpd,--disable-microhttpd,libmicrohttpd"

PACKAGECONFIG[elfutils] = "--enable-elfutils,--disable-elfutils,elfutils"

-PACKAGECONFIG[resolved] = "--enable-resolved,--disable-resolved"

+# RESOLVED depends on GCRYPT, so enable gcrypt any time resolved is in
PACKAGECONFIG

+PACKAGECONFIG[resolved] = "--enable-resolved
--enable-gcrypt,--disable-resolved,libgcrypt"

PACKAGECONFIG[networkd] = "--enable-networkd,--disable-networkd"

PACKAGECONFIG[machined] = "--enable-machined,--disable-machined"

PACKAGECONFIG[backlight] = "--enable-backlight,--disable-backlight"

@@ -180,6 +182,9 @@ EXTRA_OECONF = " --with-rootprefix=${rootprefix} \

                  --with-firmware-path=/lib/firmware \

                  --with-testdir=${PTEST_PATH} \

                "

+# RESOLVED depends on GCRYPT, so disable gcrypt only if resolved and gcrypt
are NOT part of PACKAGECONFIG

+EXTRA_OECONF += "${@bb.utils.contains_any('PACKAGECONFIG', 'resolved
gcrypt', '', '--disable-gcrypt', d)}
<mailto:$%7b at bb.utils.contains_any('PACKAGECONFIG',%20'resolved%20gcrypt',%2
0'',%20'--disable-gcrypt',%20d)%7d> "

+

# per the systemd README, define VALGRIND=1 to run under valgrind

CFLAGS .= "${@bb.utils.contains('PACKAGECONFIG', 'valgrind', '
-DVALGRIND=1', '', d)}
<mailto:$%7b at bb.utils.contains('PACKAGECONFIG',%20'valgrind',%20'%20-DVALGRI
ND=1',%20'',%20d)%7d> "

 

@@ -196,6 +201,10 @@ do_configure_prepend() {

              else

                             cp -r ${S}/units ${S}/units.pre_sed

              fi

+             if [ ${@bb.utils.contains('PACKAGECONFIG
<mailto:$%7b at bb.utils.contains('PACKAGECONFIG> ', 'resolved', 'true',
'false', d)} -a \

+         ! ${@bb.utils.contains('PACKAGECONFIG
<mailto:$%7b at bb.utils.contains('PACKAGECONFIG> ', 'gcrypt', 'true', 'false',
d)} ]; then

+                           PACKAGECONFIG_append = "gcrypt"

+             fi

}

 

 do_install() {

@@ -298,8 +307,10 @@ PACKAGES =+ "\

     ${PN}-extra-utils \

"

 

-SYSTEMD_PACKAGES = "${PN}-binfmt"

-SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"

+#SYSTEMD_PACKAGES = "${PN}-binfmt"

+#SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service"

+SYSTEMD_PACKAGES = "${@bb.utils.contains('PACKAGECONFIG', 'binfmt',
'${PN}-binfmt', '', d)}
<mailto:$%7b at bb.utils.contains('PACKAGECONFIG',%20'binfmt',%20'$%7bPN%7d-bin
fmt',%20'',%20d)%7d> "

+SYSTEMD_SERVICE_${PN}-binfmt = "${@bb.utils.contains('PACKAGECONFIG',
'binfmt', 'systemd-binfmt.service', '', d)}
<mailto:$%7b at bb.utils.contains('PACKAGECONFIG',%20'binfmt',%20'systemd-binfm
t.service',%20'',%20d)%7d> "

 

 USERADD_PACKAGES = "${PN}"

USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'microhttpd',
'--system -d / -M --shell /bin/nologin systemd-journal-gateway;', '', d)}
<mailto:$%7b at bb.utils.contains('PACKAGECONFIG',%20'microhttpd',%20'--system%
20-d%20/%20-M%20--shell%20/bin/nologin%20systemd-journal-gateway;',%20'',%20
d)%7d> "

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160307/7884cf3f/attachment-0002.html>


More information about the Openembedded-core mailing list