Skip to contentSkip to conversation

A few core changes from mel.conf

PATCH In review Christopher Larson 2 participants 10 messages Aug 24, 2015 – Aug 25, 2015

lore
Share & tools
lore
#0 lore raw

cover A few core changes from mel.conf

From: Christopher Larson <[email protected]>

These all touch core files, so please review these carefully.

The following changes since commit c38acd720b3f6ffbeb544063692eb471dada8593:

binconfig-disabled: write an message to stderr to help confused developers (2015-08-19 17:57:58 +0100)

are available in the git repository at:

git://github.com/kergoth/openembedded-core core-changes
https://github.com/kergoth/openembedded-core/tree/core-changes

Christopher Larson (7):
image.bbclass: re-run do_rootfs when feature packages change update-rc.d.bbclass: explicitly dep on initscripts nativesdk.bbclass: set sbindir to bindir bitbake.conf: add MIRROR vars to SRC_URI vardeps bitbake.conf: unexport SHELL
bitbake.conf: set USE_NLS based on DISTRO_FEATURES bitbake.conf: set PATCHRESOLVE to noop by default

 meta/classes/image.bbclass       |  2 ++
 meta/classes/nativesdk.bbclass   |  1 +
 meta/classes/update-rc.d.bbclass |  4 +---
 meta/conf/bitbake.conf           | 28 +++++++++++++++++++++++++---
 4 files changed, 29 insertions(+), 6 deletions(-)
Signature · 1 line
2.2.1
#1 lore raw

PATCH 1/7 image.bbclass: re-run do_rootfs when feature packages change

From: Christopher Larson <[email protected]>

Currently, FEATURE_PACKAGE_<feature> isn't in any vardeps, so changing the packages for a feature won't change the checksum for do_rootfs. Rather than explicitly adding those to vardeps, just use the expanded form of FEATURE_INSTALL and FEATURE_INSTALL_OPTIONAL, so the actual list of packages from the features goes into the checksum.

---
 meta/classes/image.bbclass | 2 ++
 1 file changed, 2 insertions(+)
meta/classes/image.bbclass +2 -0
index ff2ed0d..4e66535 100644
@@ -32,7 +32,9 @@ ROOTFS_BOOTSTRAP_INSTALL = "${@bb.utils.contains("IMAGE_FEATURES", "package-mana
 
 # packages to install from features
 FEATURE_INSTALL = "${@' '.join(oe.packagegroup.required_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}"
+FEATURE_INSTALL[vardepvalue] = "${FEATURE_INSTALL}"
 FEATURE_INSTALL_OPTIONAL = "${@' '.join(oe.packagegroup.optional_packages(oe.data.typed_value('IMAGE_FEATURES', d), d))}"
+FEATURE_INSTALL_OPTIONAL[vardepvalue] = "${FEATURE_INSTALL_OPTIONAL}"
 
 # Define some very basic feature package groups
 FEATURE_PACKAGES_package-management = "${ROOTFS_PKGMANAGE}"
Signature · 1 line
2.2.1
#2 lore raw

PATCH 2/7 update-rc.d.bbclass: explicitly dep on initscripts

From: Christopher Larson <[email protected]>

update-rc.d doesn't just want an initscripts package, it wants initscripts-functions. In the case where VIRTUAL-RUNTIME_initscripts is set to nothing, update-rc.d still needs initscripts-functions to satisfy its runtime dependencies. Further, we shouldn't be using a *runtime* virtual in a *build time* variable. This should resolve image creation failures with configurations without sysv initscripts when a recipe inherits update-rc.d and doesn't inherit systemd.

---
 meta/classes/update-rc.d.bbclass | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)
meta/classes/update-rc.d.bbclass +1 -3
index 6a08315..2a0a74a 100644
@@ -1,8 +1,6 @@
 UPDATERCPN ?= "${PN}"
 
-DEPENDS_append_class-target = " update-rc.d-native update-rc.d"
-VIRTUAL-RUNTIME_initscripts ?= "initscripts"
-DEPENDS_append_class-target = " ${VIRTUAL-RUNTIME_initscripts}"
+DEPENDS_append_class-target = " update-rc.d-native update-rc.d initscripts"
 UPDATERCD = "update-rc.d"
 UPDATERCD_class-cross = ""
 UPDATERCD_class-native = ""
Signature · 1 line
2.2.1
#3 lore raw

PATCH 3/7 nativesdk.bbclass: set sbindir to bindir

In reply to Christopher Larson

From: Christopher Larson <[email protected]>

The sbindir vs bindir separation really doesn't mean much in this context, and toolchain-scripts.bbclass doesn't add sbindir to the PATH, so set the former to the latter.

---
 meta/classes/nativesdk.bbclass | 1 +
 1 file changed, 1 insertion(+)
meta/classes/nativesdk.bbclass +1 -0
index 30bcdfe..f74da62 100644
@@ -56,6 +56,7 @@ base_prefix = "${SDKPATHNATIVE}"
 prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
 exec_prefix = "${SDKPATHNATIVE}${prefix_nativesdk}"
 baselib = "lib"
+sbindir = "${bindir}"
 
 export PKG_CONFIG_DIR = "${STAGING_DIR_HOST}${libdir}/pkgconfig"
 export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR_HOST}"
Signature · 1 line
2.2.1
#4 lore raw

PATCH 4/7 bitbake.conf: add MIRROR vars to SRC_URI vardeps

In reply to Christopher Larson

From: Christopher Larson <[email protected]>

Changes to what mirror we happen to fetch from shouldn't cause rebuilds.

---
 meta/conf/bitbake.conf | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
meta/conf/bitbake.conf +17 -0
index 21f1698..1407c5f 100644
@@ -581,6 +581,23 @@ SAVANNAH_GNU_MIRROR = "http://download.savannah.gnu.org/releases"
 SAVANNAH_NONGNU_MIRROR = "http://download.savannah.nongnu.org/releases"
 CPAN_MIRROR = "http://search.cpan.org/CPAN"
 
+SRC_URI[vardeps] += "\
+    APACHE_MIRROR \
+    CPAN_MIRROR \
+    DEBIAN_MIRROR \
+    GENTOO_MIRROR \
+    GNOME_GIT \
+    GNOME_MIRROR \
+    GNU_MIRROR \
+    GPE_MIRROR \
+    KERNELORG_MIRROR \
+    SAVANNAH_GNU_MIRROR \
+    SAVANNAH_NONGNU_MIRROR \
+    SOURCEFORGE_MIRROR \
+    XLIBS_MIRROR \
+    XORG_MIRROR \
+"
+
 # You can use the mirror of your country to get faster downloads by putting
 #  export DEBIAN_MIRROR = "ftp://ftp.de.debian.org/debian/pool"
 #     into your local.conf
Signature · 1 line
2.2.1
#5 lore raw

Re: [PATCH 4/7] bitbake.conf: add MIRROR vars to SRC_URI vardeps

Quoted 23 lines · Christopher Larson

From: Christopher Larson <[email protected]>

Changes to what mirror we happen to fetch from shouldn't cause rebuilds.

---
 meta/conf/bitbake.conf | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
meta/conf/bitbake.conf +6 -0
index 21f1698..1407c5f 100644
@@ -581,6 +581,23 @@ SAVANNAH_GNU_MIRROR = "http://download.savannah.gnu.org/releases"
 SAVANNAH_NONGNU_MIRROR = "http://download.savannah.nongnu.org/releases"
 CPAN_MIRROR = "http://search.cpan.org/CPAN"
 
+SRC_URI[vardeps] += "\
+    APACHE_MIRROR \
+    CPAN_MIRROR \
+    DEBIAN_MIRROR \
+    GENTOO_MIRROR \
+    GNOME_GIT \

meta/conf/bitbake.conf SAVANNAH_GNU_MIRROR = "http://download.savannah.gnu.org/releases" · line 599

Quoted 10 lines
meta/conf/bitbake.conf +10 -0
+    GNOME_MIRROR \
+    GNU_MIRROR \
+    GPE_MIRROR \
+    KERNELORG_MIRROR \
+    SAVANNAH_GNU_MIRROR \
+    SAVANNAH_NONGNU_MIRROR \
+    SOURCEFORGE_MIRROR \
+    XLIBS_MIRROR \
+    XORG_MIRROR \
+"

Do you mean vardeps here? Don't you want to exclude them?

Cheers,

Richard

#6 lore raw

Re: [PATCH 4/7] bitbake.conf: add MIRROR vars to SRC_URI vardeps

Quoted 36 lines · Richard Purdie

meta/conf/bitbake.conf SAVANNAH_GNU_MIRROR = "

Quoted 14 lines · Christopher Larson

From: Christopher Larson <[email protected]>

Changes to what mirror we happen to fetch from shouldn't cause rebuilds.

---
 meta/conf/bitbake.conf | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)
meta/conf/bitbake.conf +0 -0
index 21f1698..1407c5f 100644
@@ -581,6 +581,23 @@ SAVANNAH_GNU_MIRROR = "

http://download.savannah.gnu.org/releases"

Quoted 9 lines
meta/conf/bitbake.conf +6 -0
 SAVANNAH_NONGNU_MIRROR = "http://download.savannah.nongnu.org/releases"
 CPAN_MIRROR = "http://search.cpan.org/CPAN"
 
+SRC_URI[vardeps] += "\
+    APACHE_MIRROR \
+    CPAN_MIRROR \
+    DEBIAN_MIRROR \
+    GENTOO_MIRROR \
+    GNOME_GIT \

meta/conf/bitbake.conf SAVANNAH_GNU_MIRROR = "http://download.savannah.gnu.org/releases" · line 599

Quoted 10 lines
meta/conf/bitbake.conf +10 -0
+    GNOME_MIRROR \
+    GNU_MIRROR \
+    GPE_MIRROR \
+    KERNELORG_MIRROR \
+    SAVANNAH_GNU_MIRROR \
+    SAVANNAH_NONGNU_MIRROR \
+    SOURCEFORGE_MIRROR \
+    XLIBS_MIRROR \
+    XORG_MIRROR \
+"
Quoted 1 line

Do you mean vardeps here? Don't you want to exclude them?

Err, yes, that should obviously be vardepsexclude. I recreated it rather than copying and pasting it from mel since I wanted to use a current list of mirrors from that file, and clearly typoed/thinko'd. Thanks, will fix.

Signature · 5 lines
Christopher Larson
kergoth at gmail dot com
Founder - BitBake, OpenEmbedded, OpenZaurus
Maintainer - Tslib
Senior Software Engineer, Mentor Graphics
#7 lore raw

PATCH 5/7 bitbake.conf: unexport SHELL

In reply to Christopher Larson

From: Christopher Larson <[email protected]>

The user's shell shouldn't be allowed to affect the build (and it can break the flock command and possibly more, if the user's shell isn't POSIX compliant).

---
 meta/conf/bitbake.conf | 5 +++++
 1 file changed, 5 insertions(+)
meta/conf/bitbake.conf +5 -0
index 1407c5f..4250ca5 100644
@@ -780,6 +780,11 @@ TARGET_ARCH[unexport] = "1"
 # (breaks sysvinit at least)
 DISTRO[unexport] = "1"
 
+# Make sure SHELL isn't exported
+# (can break any number of things if the user's shell isn't POSIX-compliant,
+# including the flock command). The user's shell shouldn't affect our builds.
+SHELL[unexport] = "1"
+
 # Used by canadian-cross to handle string conversions on TARGET_ARCH where needed
 TRANSLATED_TARGET_ARCH ??= "${@d.getVar('TARGET_ARCH', True).replace("_", "-")}"
 
Signature · 1 line
2.2.1
#8 lore raw

PATCH 6/7 bitbake.conf: set USE_NLS based on DISTRO_FEATURES

In reply to Christopher Larson

From: Christopher Larson <[email protected]>

If our libc doesn't support locales, we don't need gettext nls bits enabled.

---
 meta/conf/bitbake.conf | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
meta/conf/bitbake.conf +1 -1
index 4250ca5..0ef185d 100644
@@ -114,7 +114,7 @@ TUNE_ASARGS ??= ""
 TUNE_FEATURES ??= "${TUNE_FEATURES_tune-${DEFAULTTUNE}}"
 LIBCEXTENSION ??= ""
 ABIEXTENSION ??= ""
-USE_NLS ??= "yes"
+USE_NLS ??= "${@bb.utils.contains('DISTRO_FEATURES', 'libc-locale-code', 'yes', 'no', d)}"
 SDKUSE_NLS ??= "yes"
 
 TARGET_ARCH = "${TUNE_ARCH}"
Signature · 1 line
2.2.1
#9 lore raw

PATCH 7/7 bitbake.conf: set PATCHRESOLVE to noop by default

In reply to Christopher Larson

From: Christopher Larson <[email protected]>

Automatically spawning a devshell, rather than doing so on demand, is questionable default behavior, and is potentially problematic in headless builds. Further, there are problems with the patch resolver today. Default to noop, and the user can always opt-in to use of the patch resolver by setting PATCHRESOLVE to user.

---
 meta/conf/bitbake.conf | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
meta/conf/bitbake.conf +2 -2
index 0ef185d..be681cb 100644
@@ -483,8 +483,8 @@ export LC_ALL = "C"
 ##################################################################
 # Patch handling.
 ##################################################################
-PATCHTOOL = 'quilt'
-PATCHRESOLVE = 'user'
+PATCHTOOL = "quilt"
+PATCHRESOLVE = "noop"
 
 ##################################################################
 # Build flags and options.
Signature · 1 line
2.2.1