Skip to contentSkip to conversation

replace USE_LDCONFIG with ldconfig distro feature

PATCH In review Andre McCurdy 3 participants 8 messages Jan 27, 2017 – Mar 2, 2017

lore
Share & tools
lore
#0 lore raw

cover replace USE_LDCONFIG with ldconfig distro feature

Andre McCurdy (2):
bitbake.conf: replace USE_LDCONFIG with new "ldconfig" distro feature
systemd: check "ldconfig" distro feature when setting PACKAGECONFIG

 meta/classes/package.bbclass              | 5 +----
 meta/conf/bitbake.conf                    | 2 +-
 meta/recipes-core/glibc/glibc-package.inc | 9 +++------
 meta/recipes-core/systemd/systemd_232.bb  | 2 +-
 4 files changed, 6 insertions(+), 12 deletions(-)
Signature · 1 line
1.9.1
#1 lore raw

PATCH 1/2 bitbake.conf: replace USE_LDCONFIG with new "ldconfig" distro feature

USE_LDCONFIG could previously be set to 0 by distros which do not require ldconfig or ld.so.conf on the target. Since more and more recipes may need to respect that option, replace the ad-hoc variable with a distro feature.

Distros which previously set:

USE_LDCONFIG = "0"

Should now instead use:

DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " ldconfig"

---
 meta/classes/package.bbclass              | 5 +----
 meta/conf/bitbake.conf                    | 2 +-
 meta/recipes-core/glibc/glibc-package.inc | 9 +++------
 3 files changed, 5 insertions(+), 11 deletions(-)
meta/classes/package.bbclass +1 -4
index ac2d71c..d5c2d82 100644
@@ -1618,10 +1618,7 @@ python package_do_shlibs() {
     else:
         snap_symlinks = False
 
-    if (d.getVar('USE_LDCONFIG') or "1") == "1":
-        use_ldconfig = True
-    else:
-        use_ldconfig = False
+    use_ldconfig = bb.utils.contains('DISTRO_FEATURES', 'ldconfig', True, False, d)
 
     needed = {}
     shlib_provider = oe.package.read_shlib_providers(d)
meta/conf/bitbake.conf +1 -1
index e421650..01fd144 100644
@@ -769,7 +769,7 @@ MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS ?= ""
 EXTRA_IMAGE_FEATURES ??= ""
 IMAGE_FEATURES += "${EXTRA_IMAGE_FEATURES}"
 
-DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit bluez5 gobject-introspection-data"
+DISTRO_FEATURES_BACKFILL = "pulseaudio sysvinit bluez5 gobject-introspection-data ldconfig"
 MACHINE_FEATURES_BACKFILL = "rtc qemu-usermode"
 
 COMBINED_FEATURES = "${@oe.utils.set_intersect('DISTRO_FEATURES', 'MACHINE_FEATURES', d)}"
meta/recipes-core/glibc/glibc-package.inc +3 -6
index 481a00e..bb8dc2d 100644
@@ -14,9 +14,6 @@ python __anonymous () {
                                    d.getVar('TARGET_OS'))
 }
 
-# Set this to zero if you don't want ldconfig in the output package
-USE_LDCONFIG ?= "1"
-
 INHIBIT_SYSROOT_STRIP = "1"
 
 PACKAGES = "${PN}-dbg catchsegv sln nscd ldd tzcode ${PN}-utils glibc-thread-db ${PN}-pic libcidn libmemusage libsegfault ${PN}-pcprofile libsotruss ${PN} glibc-extra-nss ${PN}-dev ${PN}-staticdev ${PN}-doc"
@@ -37,7 +34,7 @@ libc_baselibs = "${base_libdir}/libcrypt*.so.* ${base_libdir}/libcrypt-*.so ${ba
 libc_baselibs_append_aarch64 = " /lib/ld-linux-aarch64*.so.1"
 INSANE_SKIP_${PN}_append_aarch64 = " libdir"
 
-FILES_${PN} = "${libc_baselibs} ${libexecdir}/* ${@base_conditional('USE_LDCONFIG', '1', '${base_sbindir}/ldconfig ${sysconfdir}/ld.so.conf', '', d)}"
+FILES_${PN} = "${libc_baselibs} ${libexecdir}/* ${base_sbindir}/ldconfig ${sysconfdir}/ld.so.conf"
 FILES_ldd = "${bindir}/ldd"
 FILES_libsegfault = "${base_libdir}/libSegFault*"
 FILES_libcidn = "${base_libdir}/libcidn-*.so ${base_libdir}/libcidn.so.*"
@@ -96,8 +93,8 @@ do_install_append () {
 		rm -f ${D}${infodir}/dir
 	fi
 
-	if [ "${USE_LDCONFIG}" != "1" ]; then
-		# We won't ship these files (see FILES above) so let's not install them
+	if ! ${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', 'true', 'false', d)}; then
+		# The distro doesn't want these files so let's not install them
 		rm -f ${D}${sysconfdir}/ld.so.conf
 		rm -f ${D}${base_sbindir}/ldconfig
 		# This directory will be empty now so remove it too.
Signature · 1 line
1.9.1
#2 lore raw

PATCH 2/2 systemd: check "ldconfig" distro feature when setting PACKAGECONFIG

In reply to Andre McCurdy

Avoid trying to call ldconfig at run-time in distros which don't provide ldconfig on the target.

---
 meta/recipes-core/systemd/systemd_232.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/recipes-core/systemd/systemd_232.bb +1 -1
index cc8781e..2b52227 100644
@@ -40,7 +40,7 @@ SRC_URI_append_libc-uclibc = "\
 SRC_URI_append_qemuall = " file://0001-core-device.c-Change-the-default-device-timeout-to-2.patch"
 
 PACKAGECONFIG ??= "xz \
-                   ldconfig \
+                   ${@bb.utils.contains('DISTRO_FEATURES', 'ldconfig', 'ldconfig', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \
Signature · 1 line
1.9.1
#3 lore raw
In reply to Andre McCurdy
Quoted 3 lines · Andre McCurdy

Andre McCurdy (2):
bitbake.conf: replace USE_LDCONFIG with new "ldconfig" distro feature
systemd: check "ldconfig" distro feature when setting PACKAGECONFIG

Ping!

Quoted 9 lines
 meta/classes/package.bbclass              | 5 +----
 meta/conf/bitbake.conf                    | 2 +-
 meta/recipes-core/glibc/glibc-package.inc | 9 +++------
 meta/recipes-core/systemd/systemd_232.bb  | 2 +-
 4 files changed, 6 insertions(+), 12 deletions(-)

--
1.9.1

Acked-by on the v1 series
#4 lore raw
In reply to Andre McCurdy
Quoted 9 lines · Andre McCurdy

Andre McCurdy (2):
bitbake.conf: replace USE_LDCONFIG with new "ldconfig" distro feature
systemd: check "ldconfig" distro feature when setting PACKAGECONFIG

 meta/classes/package.bbclass              | 5 +----
 meta/conf/bitbake.conf                    | 2 +-
 meta/recipes-core/glibc/glibc-package.inc | 9 +++------
 meta/recipes-core/systemd/systemd_232.bb  | 2 +-
 4 files changed, 6 insertions(+), 12 deletions(-)

This changeset looks good.

Quoted 9 lines

--
1.9.1

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#5 lore raw
Quoted 11 lines · Khem Raj
Quoted 9 lines · Andre McCurdy

Andre McCurdy (2):
bitbake.conf: replace USE_LDCONFIG with new "ldconfig" distro feature
systemd: check "ldconfig" distro feature when setting PACKAGECONFIG

 meta/classes/package.bbclass              | 5 +----
 meta/conf/bitbake.conf                    | 2 +-
 meta/recipes-core/glibc/glibc-package.inc | 9 +++------
 meta/recipes-core/systemd/systemd_232.bb  | 2 +-
 4 files changed, 6 insertions(+), 12 deletions(-)
Quoted 3 lines

This changeset looks good.

Ping.

Quoted 9 lines
Quoted 9 lines

--
1.9.1

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#6 lore raw
Quoted 12 lines · Andre McCurdy
Quoted 11 lines · Khem Raj
Quoted 9 lines · Andre McCurdy

Andre McCurdy (2):
bitbake.conf: replace USE_LDCONFIG with new "ldconfig" distro feature
systemd: check "ldconfig" distro feature when setting PACKAGECONFIG

 meta/classes/package.bbclass              | 5 +----
 meta/conf/bitbake.conf                    | 2 +-
 meta/recipes-core/glibc/glibc-package.inc | 9 +++------
 meta/recipes-core/systemd/systemd_232.bb  | 2 +-
 4 files changed, 6 insertions(+), 12 deletions(-)
Quoted 5 lines
Quoted 3 lines

This changeset looks good.

Ping.

Ross, thanks for rebasing.

However, as part of this:

PACKAGECONFIG ??= "xz \
ldconfig \
- ${@bb.utils.filter('DISTRO_FEATURES', 'efi pam selinux', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'efi pam selinux ldconfig', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'wifi', 'rfkill', '', d)} \
binfmt \

the existing hardcoded "ldconfig" in PACKAGECONFIG should also be removed.

Quoted 9 lines
Quoted 9 lines
Quoted 9 lines

--
1.9.1

--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

#7 lore raw
Quoted 2 lines · Andre McCurdy

the existing hardcoded "ldconfig" in PACKAGECONFIG should also be removed.

Damnit, thanks.

Ross