Skip to contentSkip to conversation

eglibc: Remove bogus PACKAGES_DYNAMIC setting

PATCH Applied Phil Blundell 2 participants 2 messages Sep 27, 2012

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 eglibc: Remove bogus PACKAGES_DYNAMIC setting

It transpires that eglibc has been setting PACKAGES_DYNAMIC = "libc6*" for some time. However, this is bogus for at least two reasons:

1. Bitbake interprets PACKAGES_DYNAMIC as a regex, not a glob, so this will match against any package whose name starts "libc" plus zero or more sixes. This is particularly toxic because the nativesdk variant picks up the same value and will, consequently, start trying to build itself at the slightest excuse.

2. eglibc doesn't actually build any packages named "libc6<anything>", other than the ones that are named in PACKAGES anyway, so the dynamic provider declaration is in any case useless.

Simply deleting the line is not sufficient since then we get the default value from bitbake.conf which causes eglibc.bb to fight with eglibc-locale.bb. So instead we must set it to the empty string for good results.

---
 meta/recipes-core/eglibc/eglibc_2.16.bb |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
meta/recipes-core/eglibc/eglibc_2.16.bb +2 -1
index 3a7ae50..b37922d 100644
@@ -43,7 +43,8 @@ SRC_URI_append_virtclass-nativesdk = " file://ld-search-order.patch \
 S = "${WORKDIR}/${EGLIBC_BRANCH}/libc"
 B = "${WORKDIR}/build-${TARGET_SYS}"
 
-PACKAGES_DYNAMIC = "libc6*"
+PACKAGES_DYNAMIC = ""
+
 RPROVIDES_${PN}-dev = "libc6-dev virtual-libc-dev"
 PROVIDES_${PN}-dbg = "glibc-dbg"
 
Signature · 1 line
1.7.10.4
Applied
#1 lore raw
Quoted 28 lines · Phil Blundell

It transpires that eglibc has been setting PACKAGES_DYNAMIC = "libc6*" for some time. However, this is bogus for at least two reasons:

1. Bitbake interprets PACKAGES_DYNAMIC as a regex, not a glob, so this will match against any package whose name starts "libc" plus zero or more sixes. This is particularly toxic because the nativesdk variant picks up the same value and will, consequently, start trying to build itself at the slightest excuse.

2. eglibc doesn't actually build any packages named "libc6<anything>", other than the ones that are named in PACKAGES anyway, so the dynamic provider declaration is in any case useless.

Simply deleting the line is not sufficient since then we get the default value from bitbake.conf which causes eglibc.bb to fight with eglibc-locale.bb. So instead we must set it to the empty string for good results.

---
  meta/recipes-core/eglibc/eglibc_2.16.bb |    3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
meta/recipes-core/eglibc/eglibc_2.16.bb +0 -0
index 3a7ae50..b37922d 100644

meta/recipes-core/eglibc/eglibc_2.16.bb SRC_URI_append_virtclass-nativesdk = " file://ld-search-order.patch \ · line 50

Quoted 9 lines
meta/recipes-core/eglibc/eglibc_2.16.bb +2 -1
@@ -43,7 +43,8 @@ SRC_URI_append_virtclass-nativesdk = " file://ld-search-order.patch \
  S = "${WORKDIR}/${EGLIBC_BRANCH}/libc"
  B = "${WORKDIR}/build-${TARGET_SYS}"
 
-PACKAGES_DYNAMIC = "libc6*"
+PACKAGES_DYNAMIC = ""
+
  RPROVIDES_${PN}-dev = "libc6-dev virtual-libc-dev"
  PROVIDES_${PN}-dbg = "glibc-dbg"
 

Merged into OE-Core

Thanks
Sau!