uclibc support in oe-core v2
cover uclibc support in oe-core v2
Here are patches needed on top of oe-core to get uclibc based images building. It incorporates the feedback from last set of patches. On top there is a new virtual package virtual/gettext introduced which is preferred to be gettext but can be overridden e.g. for uclibc it can be set to proxy-libintl and thereby getting rid of gettext in images
libintl comes from three sources glibc/eglibc, gettext, proxy-libintl when using eglibc/glibc we chose glibc/eglibc to provide it and not gettext
but when using uclibc one could use gettext to provide it or one could choose proxy-libintl which stubs out gettext functionality and reduces the image size.
Virtual/gettext can be provided by gettext or proxy-libintl, when we build uclibc systems with out NLS then we can get rid of gettext fully by selecting proxy-libintl to provide both virtual/libintl as well as virtual/gettext
Thanks
-Khem
Pull URL: git://git.openembedded.org/openembedded-core-contrib
Branch: kraj/uclibc
Browse: http://git.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/uclibc
Thanks,
Khem Raj <[email protected]>
---
Khem Raj (17):
gettext.bbclass: Use _append instead of =+
insane.bbclass: Move code to add function to tasks toward the end insane.bbclass: Checking for NLS too when checking gettext dependency autotools.bbclass: Copy gettext files only if --disable-nls is not
set
sstate.bbclass: Reduce SSTATE_MANIFESTS assignment to be weak
gettext: Divide packaging into gettext-runtime and rest gettext_0.17.bb: PROVIDE virtual/gettext and RCONFLICT with
proxy-libintl
poky-default.inc: Weakly assign gettext to provide virtual/gettext
libiconv: update from 1.9.2 -> 1.11.1
glib-2.0: Inherit gettext should provide right libintl so remove from
DEPENDS
util-linux.inc: remove virtual/libintl from DEPENDS elfutils_0.148.bb: Fix compilation issues on uclibc perl_5.12.2.bb: Undefine features not found in uclibc
xorg-lib: inherit gettext class instead of adding gettext to DEPENDS
directly
attr: Fix compilation on uclibc
linux-tools.inc: Dummify do_compile_perf and do_install_perf for
uclibc
alsa-utils_1.0.23.bb: Fix compilation for uclibc targets
meta/classes/autotools.bbclass | 19 ++-- meta/classes/gettext.bbclass | 31 ++++--- meta/classes/insane.bbclass | 24 +++-- meta/classes/sstate.bbclass | 2 +- meta/conf/distro/include/poky-default.inc | 1 + meta/recipes-core/gettext/gettext_0.17.bb | 39 ++++++- meta/recipes-core/glib-2.0/glib-2.0/no-iconv.patch | 104 ++++++++++++++++++++ meta/recipes-core/glib-2.0/glib-2.0_2.26.1.bb | 4 +- meta/recipes-core/glib-2.0/glib-2.0_2.27.5.bb | 5 +- meta/recipes-core/glib-2.0/glib.inc | 2 +- meta/recipes-core/util-linux/util-linux.inc | 6 +- .../elfutils/elfutils-0.148/mempcpy.patch | 23 +++++ meta/recipes-devtools/elfutils/elfutils_0.148.bb | 6 +- .../perl/perl-5.12.2/native-ssp.patch | 16 --- meta/recipes-devtools/perl/perl_5.12.2.bb | 16 +++ meta/recipes-graphics/xorg-lib/libxau_1.0.6.bb | 4 +- meta/recipes-graphics/xorg-lib/libxdmcp_1.1.0.bb | 4 +- meta/recipes-graphics/xorg-lib/xtrans_1.2.6.bb | 3 +- meta/recipes-kernel/linux/linux-tools.inc | 17 +++- meta/recipes-multimedia/alsa/alsa-utils_1.0.23.bb | 9 +- meta/recipes-support/attr/attr.inc | 4 + meta/recipes-support/attr/ea-acl.inc | 4 +- .../libiconv/libiconv-1.11.1/autoconf.patch | 48 +++++++++ .../shared_preloadable_libiconv_linux.patch | 24 +++++ meta/recipes-support/libiconv/libiconv_1.11.1.bb | 30 ++++++ meta/recipes-support/libiconv/libiconv_1.9.2.bb | 21 ---- 26 files changed, 366 insertions(+), 100 deletions(-) create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/no-iconv.patch create mode 100644 meta/recipes-devtools/elfutils/elfutils-0.148/mempcpy.patch delete mode 100644 meta/recipes-devtools/perl/perl-5.12.2/native-ssp.patch create mode 100644 meta/recipes-support/libiconv/libiconv-1.11.1/autoconf.patch create mode 100644 meta/recipes-support/libiconv/libiconv-1.11.1/shared_preloadable_libiconv_linux.patch create mode 100644 meta/recipes-support/libiconv/libiconv_1.11.1.bb delete mode 100644 meta/recipes-support/libiconv/libiconv_1.9.2.bb
Signature · 1 line
1.7.4.1
PATCH 1/17 gettext.bbclass: Use _append instead of =+
Ensure gettext and gettext-native are removed from DEPENDS when not using NLS
Use append instead of += to get gettext dependecies processed correctly in all cases
Dont remove gettext-native for native recipes as ENABLE_NLS is only for target and not for native recipes
Replace using 1 for a boolean type with True
Honor INHIBIT_DEFAULT_DEPS
Remove the added dependencies for gettext if INHIBIT_DEFAULT_DEPS is non null
--- meta/classes/gettext.bbclass | 31 +++++++++++++++++++------------ 1 files changed, 19 insertions(+), 12 deletions(-)
meta/classes/gettext.bbclass +19 -12
@@ -1,17 +1,24 @@ def gettext_after_parse(d): - # Remove the NLS bits if USE_NLS is no. - if bb.data.getVar('USE_NLS', d, 1) == 'no': - cfg = oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d) - cfg += " --disable-nls" - depends = bb.data.getVar('DEPENDS', d, 1) or "" - bb.data.setVar('DEPENDS', oe_filter_out('^(virtual/libiconv|virtual/libintl)$', depends, d), d) - bb.data.setVar('EXTRA_OECONF', cfg, d) - + # Remove the NLS bits if USE_NLS is no. + if bb.data.getVar('USE_NLS', d, True) == 'no': + cfg = oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d) + cfg += " --disable-nls" + depends = bb.data.getVar('DEPENDS', d, True) or "" + depends = oe_filter_out('^(virtual/libiconv|virtual/libintl|virtual/gettext|gettext)$', depends, d) + if not oe.utils.inherits(d, 'native', 'nativesdk', 'cross', 'crosssdk'): + depends = oe_filter_out('^(gettext-native)$', depends, d) + bb.data.setVar('DEPENDS', depends, d) + bb.data.setVar('EXTRA_OECONF', cfg, d) + # check if INHIBIT_DEFAULT_DEPS is 1 then we forcibly remove dependencies + # added by this class through DEPENDS_GETTEXT + if bb.data.getVar('INHIBIT_DEFAULT_DEPS', d, True): + depends = bb.data.getVar('DEPENDS', d, True) or "" + gettext_deps = '^(' + bb.data.getVar('DEPENDS_GETTEXT', d, True) + ')$' + depends = oe_filter_out(gettext_deps, depends, d) + bb.data.setVar('DEPENDS', depends, d) python () { gettext_after_parse(d) } - -DEPENDS_GETTEXT = "gettext gettext-native" - -DEPENDS =+ "${DEPENDS_GETTEXT}" EXTRA_OECONF += "--enable-nls" +DEPENDS_GETTEXT ?= "virtual/gettext" +DEPENDS_append = " ${DEPENDS_GETTEXT} "
Signature · 1 line
1.7.4.1
Re: [PATCH 01/17] gettext.bbclass: Use _append instead of =+
Quoted 9 lines · Khem Raj
Ensure gettext and gettext-native are removed from DEPENDS when not using NLS
Use append instead of += to get gettext dependecies processed correctly in all cases
Dont remove gettext-native for native recipes as
ENABLE_NLSis only for target and not for native recipes
Quoted 7 lines
Replace using 1 for a boolean type with True
Honor
INHIBIT_DEFAULT_DEPSRemove the added dependencies for gettext if
INHIBIT_DEFAULT_DEPSis non null
Khem,
This patch seems to be causing a circular dependency when you try to build meta-toolchain-sdk, not sure if you tested that target.
% bitbake meta-toolchain-sdk -n
NOTE: Out of date cache found, rebuilding...
WARNING: No bb files matched BBFILE_PATTERN_yocto '^/intel/poky/distro/meta-yocto/' Parsing recipes: 100% |#########################################| Time: 00:00:15 Parsing of 796 .bb files complete (0 cached, 796 parsed). 1008 targets, 6 skipped, 0 masked, 0 errors.
OE Build Configuration:BB_VERSION = "1.11.0"METADATA_BRANCH = "stage"METADATA_REVISION = "86f12953dbf57264cfcc06feac446f3edf0c6d8f"
TARGET_ARCH = "i586" TARGET_OS = "linux" MACHINE = "qemux86" DISTRO = "poky-lsb" DISTRO_VERSION = "1.0+snapshot-20110426" TARGET_FPU = ""
NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
ERROR: Task virtual:nativesdk:/intel/poky/distro/meta/recipes-core/gettext/gettext_0.17.bb (do_package) has circular dependency on virtual:nativesdk:/intel/poky/distro/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb (do_package)
Is there dependencies on this patch with the other patches? (ie can I take part of your other patches or just hold off)?
Sau!
Quoted 46 lines
Signed-off-by Khem Raj<[email protected]>--- meta/classes/gettext.bbclass | 31 +++++++++++++++++++------------ 1 files changed, 19 insertions(+), 12 deletions(-)meta/classes/gettext.bbclass +19
-12@@ -1,17 +1,24 @@ def gettext_after_parse(d): - # Remove the NLS bits if USE_NLS is no. - if bb.data.getVar('USE_NLS', d, 1) == 'no': - cfg = oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d) - cfg += " --disable-nls" - depends = bb.data.getVar('DEPENDS', d, 1) or "" - bb.data.setVar('DEPENDS', oe_filter_out('^(virtual/libiconv|virtual/libintl)$', depends, d), d) - bb.data.setVar('EXTRA_OECONF', cfg, d) - + # Remove the NLS bits if USE_NLS is no. + if bb.data.getVar('USE_NLS', d, True) == 'no': + cfg = oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d) + cfg += " --disable-nls" + depends = bb.data.getVar('DEPENDS', d, True) or "" + depends = oe_filter_out('^(virtual/libiconv|virtual/libintl|virtual/gettext|gettext)$', depends, d) + if not oe.utils.inherits(d, 'native', 'nativesdk', 'cross', 'crosssdk'): + depends = oe_filter_out('^(gettext-native)$', depends, d) + bb.data.setVar('DEPENDS', depends, d) + bb.data.setVar('EXTRA_OECONF', cfg, d) + # check if INHIBIT_DEFAULT_DEPS is 1 then we forcibly remove dependencies + # added by this class through DEPENDS_GETTEXT + if bb.data.getVar('INHIBIT_DEFAULT_DEPS', d, True): + depends = bb.data.getVar('DEPENDS', d, True) or "" + gettext_deps = '^(' + bb.data.getVar('DEPENDS_GETTEXT', d, True) + ')$' + depends = oe_filter_out(gettext_deps, depends, d) + bb.data.setVar('DEPENDS', depends, d) python () { gettext_after_parse(d) } - -DEPENDS_GETTEXT = "gettext gettext-native" - -DEPENDS =+ "${DEPENDS_GETTEXT}" EXTRA_OECONF += "--enable-nls" +DEPENDS_GETTEXT ?= "virtual/gettext" +DEPENDS_append = " ${DEPENDS_GETTEXT} "
Re: [PATCH 01/17] gettext.bbclass: Use _append instead of =+
Quoted 15 lines · Saul Wold
Quoted 14 lines · Khem Raj
Ensure gettext and gettext-native are removed from DEPENDS when not using NLS
Use append instead of += to get gettext dependecies processed correctly in all cases
Dont remove gettext-native for native recipes as
ENABLE_NLSis only for target and not for native recipesReplace using 1 for a boolean type with True
Honor
INHIBIT_DEFAULT_DEPS
Quoted 8 lines
Quoted 3 lines
Remove the added dependencies for gettext if
INHIBIT_DEFAULT_DEPSis non nullKhem,
This patch seems to be causing a circular dependency when you try to build meta-toolchain-sdk, not sure if you tested that target.
No I did not. Let me try it out.
Quoted 28 lines
% bitbake meta-toolchain-sdk -n
NOTE: Out of date cache found, rebuilding...
WARNING: No bb files matchedBBFILE_PATTERN_yocto'^/intel/poky/distro/meta-yocto/'
Parsing recipes: 100% |#########################################| Time:
00:00:15
Parsing of 796 .bb files complete (0 cached, 796 parsed). 1008 targets, 6 skipped, 0 masked, 0 errors.OE Build Configuration:
BB_VERSION= "1.11.0"METADATA_BRANCH= "stage"METADATA_REVISION= "86f12953dbf57264cfcc06feac446f3edf0c6d8f"TARGET_ARCH= "i586"TARGET_OS= "linux"
MACHINE = "qemux86"
DISTRO = "poky-lsb"DISTRO_VERSION= "1.0+snapshot-20110426"TARGET_FPU= ""NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
ERROR: Task virtual:nativesdk:/intel/poky/distro/meta/recipes-core/gettext/gettext_0.17.bb (do_package) has circular dependency on virtual:nativesdk:/intel/poky/distro/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb (do_package)
Quoted 3 lines
Is there dependencies on this patch with the other patches? (ie can I take part of your other patches or just hold off)?
This patch is kind of needed for few of them for parsing sake. some of them dont depend on this e.g.
[PATCH 05/17] sstate.bbclass: Reduce SSTATE_MANIFESTS assignment to be weak [PATCH 09/17] libiconv: update from 1.9.2 -> 1.11.1
[PATCH 12/17] elfutils_0.148.bb: Fix compilation issues on uclibc [PATCH 13/17] perl_5.12.2.bb: Undefine features not found in uclibc [PATCH 14/17] xorg-lib: inherit gettext class instead of adding gettext to DEPENDS directly
[PATCH 15/17] attr: Fix compilation on uclibc
[PATCH 16/17] linux-tools.inc: Dummify do_compile_perf and do_install_perf for uclibc
Quoted 62 lines
Sau!
Quoted 52 lines
Signed-off-by Khem Raj<[email protected]>---
meta/classes/gettext.bbclass | 31 +++++++++++++++++++------------1 files changed, 19 insertions(+), 12 deletions(-)meta/classes/gettext.bbclass +0
-0@@ -1,17 +1,24 @@def
gettext_after_parse(d):
- # Remove the NLS bits ifUSE_NLSis no.
- ifbb.data.getVar('USE_NLS', d, 1)== 'no':
- cfg =oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d)
- cfg += " --disable-nls"
- depends =bb.data.getVar('DEPENDS', d, 1)or ""
- bb.data.setVar('DEPENDS',oe_filter_out('^(virtual/libiconv|virtual/libintl)$', depends, d), d)
- bb.data.setVar('EXTRA_OECONF', cfg, d)
-
+ # Remove the NLS bits ifUSE_NLSis no.
+ ifbb.data.getVar('USE_NLS', d, True)== 'no':
+ cfg =oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d)
+ cfg += " --disable-nls"
+ depends =bb.data.getVar('DEPENDS', d, True)or ""
+ depends =oe_filter_out('^(virtual/libiconv|virtual/libintl|virtual/gettext|gettext)$', depends, d)
+ if notoe.utils.inherits(d, 'native', 'nativesdk', 'cross', 'crosssdk'):
+ depends =oe_filter_out('^(gettext-native)$', depends, d)
+bb.data.setVar('DEPENDS', depends, d)
+bb.data.setVar('EXTRA_OECONF', cfg, d)
+ # check ifINHIBIT_DEFAULT_DEPSis 1 then we forcibly remove dependencies
+ # added by this class throughDEPENDS_GETTEXT
+ ifbb.data.getVar('INHIBIT_DEFAULT_DEPS', d, True):
+ depends =bb.data.getVar('DEPENDS', d, True)or ""
+gettext_deps= '^(' +bb.data.getVar('DEPENDS_GETTEXT', d, True)+ ')$'
+ depends =oe_filter_out(gettext_deps, depends, d)
+bb.data.setVar('DEPENDS', depends, d)
python () {
gettext_after_parse(d)
}meta/classes/gettext.bbclass +0
-4- -DEPENDS_GETTEXT = "gettext gettext-native" - -DEPENDS =+ "${DEPENDS_GETTEXT}"EXTRA_OECONF += "--enable-nls"
meta/classes/gettext.bbclass line 24
Quoted 2 lines
meta/classes/gettext.bbclass +2
-0+DEPENDS_GETTEXT ?= "virtual/gettext" +DEPENDS_append = " ${DEPENDS_GETTEXT} "_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [PATCH 01/17] gettext.bbclass: Use _append instead of =+
Quoted 62 lines · Khem Raj
Quoted 15 lines · Saul Wold
Quoted 14 lines · Khem Raj
Ensure gettext and gettext-native are removed from DEPENDS when not using NLS
Use append instead of += to get gettext dependecies processed correctly in all cases
Dont remove gettext-native for native recipes as
ENABLE_NLSis only for target and not for native recipesReplace using 1 for a boolean type with True
Honor
INHIBIT_DEFAULT_DEPSQuoted 8 lines
Quoted 3 lines
Remove the added dependencies for gettext if
INHIBIT_DEFAULT_DEPSis non nullKhem,
This patch seems to be causing a circular dependency when you try to build meta-toolchain-sdk, not sure if you tested that target.
No I did not. Let me try it out.
Quoted 28 lines
% bitbake meta-toolchain-sdk -n
NOTE: Out of date cache found, rebuilding...
WARNING: No bb files matchedBBFILE_PATTERN_yocto'^/intel/poky/distro/meta-yocto/'
Parsing recipes: 100% |#########################################| Time:
00:00:15
Parsing of 796 .bb files complete (0 cached, 796 parsed). 1008 targets, 6 skipped, 0 masked, 0 errors.OE Build Configuration:
BB_VERSION= "1.11.0"METADATA_BRANCH= "stage"METADATA_REVISION= "86f12953dbf57264cfcc06feac446f3edf0c6d8f"TARGET_ARCH= "i586"TARGET_OS= "linux"
MACHINE = "qemux86"
DISTRO = "poky-lsb"DISTRO_VERSION= "1.0+snapshot-20110426"TARGET_FPU= ""NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
ERROR: Task virtual:nativesdk:/intel/poky/distro/meta/recipes-core/gettext/gettext_0.17.bb (do_package) has circular dependency on virtual:nativesdk:/intel/poky/distro/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb (do_package)Quoted 3 lines
Is there dependencies on this patch with the other patches? (ie can I take part of your other patches or just hold off)?
This patch is kind of needed for few of them for parsing sake. some of them dont depend on this e.g.
Quoted 9 lines
[PATCH 05/17] sstate.bbclass: Reduce
SSTATE_MANIFESTSassignment to be weak [PATCH 09/17] libiconv: update from 1.9.2 -> 1.11.1
[PATCH 12/17] elfutils_0.148.bb: Fix compilation issues on uclibc [PATCH 13/17] perl_5.12.2.bb: Undefine features not found in uclibc [PATCH 14/17] xorg-lib: inherit gettext class instead of adding gettext to DEPENDS directly
[PATCH 15/17] attr: Fix compilation on uclibc
[PATCH 16/17] linux-tools.inc: Dummifydo_compile_perfanddo_install_perffor uclibc
Saul
I have fixed this patch and pushed it to the pull tree. Can you pull fresh from the pull request tree and give it a shot ? Let me know how it goes
Quoted 63 lines
Quoted 62 lines
Sau!
Quoted 52 lines
Signed-off-by Khem Raj<[email protected]>---
meta/classes/gettext.bbclass | 31 +++++++++++++++++++------------1 files changed, 19 insertions(+), 12 deletions(-)meta/classes/gettext.bbclass +0
-0@@ -1,17 +1,24 @@def
gettext_after_parse(d):
- # Remove the NLS bits ifUSE_NLSis no.
- ifbb.data.getVar('USE_NLS', d, 1)== 'no':
- cfg =oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d)
- cfg += " --disable-nls"
- depends =bb.data.getVar('DEPENDS', d, 1)or ""
- bb.data.setVar('DEPENDS',oe_filter_out('^(virtual/libiconv|virtual/libintl)$', depends, d), d)
- bb.data.setVar('EXTRA_OECONF', cfg, d)
-
+ # Remove the NLS bits ifUSE_NLSis no.
+ ifbb.data.getVar('USE_NLS', d, True)== 'no':
+ cfg =oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d)
+ cfg += " --disable-nls"
+ depends =bb.data.getVar('DEPENDS', d, True)or ""
+ depends =oe_filter_out('^(virtual/libiconv|virtual/libintl|virtual/gettext|gettext)$', depends, d)
+ if notoe.utils.inherits(d, 'native', 'nativesdk', 'cross', 'crosssdk'):
+ depends =oe_filter_out('^(gettext-native)$', depends, d)
+bb.data.setVar('DEPENDS', depends, d)
+bb.data.setVar('EXTRA_OECONF', cfg, d)
+ # check ifINHIBIT_DEFAULT_DEPSis 1 then we forcibly remove dependencies
+ # added by this class throughDEPENDS_GETTEXT
+ ifbb.data.getVar('INHIBIT_DEFAULT_DEPS', d, True):
+ depends =bb.data.getVar('DEPENDS', d, True)or ""
+gettext_deps= '^(' +bb.data.getVar('DEPENDS_GETTEXT', d, True)+ ')$'
+ depends =oe_filter_out(gettext_deps, depends, d)
+bb.data.setVar('DEPENDS', depends, d)
python () {
gettext_after_parse(d)
}meta/classes/gettext.bbclass +0
-4- -DEPENDS_GETTEXT = "gettext gettext-native" - -DEPENDS =+ "${DEPENDS_GETTEXT}"EXTRA_OECONF += "--enable-nls"
meta/classes/gettext.bbclass line 24
Quoted 2 lines
meta/classes/gettext.bbclass +2
-0+DEPENDS_GETTEXT ?= "virtual/gettext" +DEPENDS_append = " ${DEPENDS_GETTEXT} "_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [PATCH 01/17] gettext.bbclass: Use _append instead of =+
Quoted 20 lines · Khem Raj
Quoted 19 lines · Khem Raj
Quoted 18 lines · Saul Wold
Quoted 17 lines · Khem Raj
Ensure gettext and gettext-native are removed from DEPENDS when not using NLS
Use append instead of += to get gettext dependecies processed correctly in all cases
Dont remove gettext-native for native recipes as
ENABLE_NLSis only for target and not for native recipesReplace using 1 for a boolean type with True
Honor
INHIBIT_DEFAULT_DEPSRemove the added dependencies for gettext if
INHIBIT_DEFAULT_DEPSis non null
Quoted 7 lines
Quoted 7 lines
Quoted 5 lines
Khem,
This patch seems to be causing a circular dependency when you try to build meta-toolchain-sdk, not sure if you tested that target.
No I did not. Let me try it out.
Khem,
There still seems to be a problem with binutil-cross-canadian and gcc-cross-canadian not finding the gettext-native, it suggests to have these recipe inherit gettext, which binutils does via it's .inc file, but gcc-cross-canadian did not seem to do. I tried to add inherit gettext to the cross-canadian.bbclass but that did not solve the issue.
Currently the meta-toolchain gmae builds show this problem.
Thanks
Sau!
Quoted 120 lines
Quoted 36 lines
Quoted 29 lines
% bitbake meta-toolchain-sdk -n
NOTE: Out of date cache found, rebuilding...
WARNING: No bb files matchedBBFILE_PATTERN_yocto'^/intel/poky/distro/meta-yocto/'
Parsing recipes: 100% |#########################################| Time:
00:00:15
Parsing of 796 .bb files complete (0 cached, 796 parsed). 1008 targets, 6 skipped, 0 masked, 0 errors.OE Build Configuration:
BB_VERSION= "1.11.0"METADATA_BRANCH= "stage"METADATA_REVISION= "86f12953dbf57264cfcc06feac446f3edf0c6d8f"TARGET_ARCH = "i586" TARGET_OS = "linux" MACHINE = "qemux86" DISTRO = "poky-lsb" DISTRO_VERSION = "1.0+snapshot-20110426" TARGET_FPU = ""NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
ERROR: Task virtual:nativesdk:/intel/poky/distro/meta/recipes-core/gettext/gettext_0.17.bb (do_package) has circular dependency on virtual:nativesdk:/intel/poky/distro/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb (do_package)Quoted 3 lines
Is there dependencies on this patch with the other patches? (ie can I take part of your other patches or just hold off)?
This patch is kind of needed for few of them for parsing sake. some of them dont depend on this e.g.
Quoted 9 lines
[PATCH 05/17] sstate.bbclass: Reduce
SSTATE_MANIFESTSassignment to be weak [PATCH 09/17] libiconv: update from 1.9.2 -> 1.11.1
[PATCH 12/17] elfutils_0.148.bb: Fix compilation issues on uclibc [PATCH 13/17] perl_5.12.2.bb: Undefine features not found in uclibc [PATCH 14/17] xorg-lib: inherit gettext class instead of adding gettext to DEPENDS directly
[PATCH 15/17] attr: Fix compilation on uclibc
[PATCH 16/17] linux-tools.inc: Dummifydo_compile_perfanddo_install_perffor uclibcSaul
I have fixed this patch and pushed it to the pull tree. Can you pull fresh from the pull request tree and give it a shot ? Let me know how it goes
Quoted 54 lines
Quoted 54 lines
Sau!
Quoted 52 lines
Signed-off-by Khem Raj<[email protected]>--- meta/classes/gettext.bbclass | 31 +++++++++++++++++++------------ 1 files changed, 19 insertions(+), 12 deletions(-)meta/classes/gettext.bbclass +7
-8@@ -1,17 +1,24 @@ def gettext_after_parse(d): - # Remove the NLS bits if USE_NLS is no. - if bb.data.getVar('USE_NLS', d, 1) == 'no': - cfg = oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d) - cfg += " --disable-nls" - depends = bb.data.getVar('DEPENDS', d, 1) or "" - bb.data.setVar('DEPENDS', oe_filter_out('^(virtual/libiconv|virtual/libintl)$', depends, d), d) - bb.data.setVar('EXTRA_OECONF', cfg, d) - + # Remove the NLS bits if USE_NLS is no. + if bb.data.getVar('USE_NLS', d, True) == 'no': + cfg = oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d) + cfg += " --disable-nls" + depends = bb.data.getVar('DEPENDS', d, True) or "" + depends = oe_filter_out('^(virtual/libiconv|virtual/libintl|virtual/gettext|gettext)$', depends, d) + if not oe.utils.inherits(d, 'native', 'nativesdk', 'cross','crosssdk'):
meta/classes/gettext.bbclass +4
-0+ depends = oe_filter_out('^(gettext-native)$', depends, d) + bb.data.setVar('DEPENDS', depends, d) + bb.data.setVar('EXTRA_OECONF', cfg, d) + # check if INHIBIT_DEFAULT_DEPS is 1 then we forcibly removedependencies
meta/classes/gettext.bbclass +4
-0+ # added by this class through DEPENDS_GETTEXT + if bb.data.getVar('INHIBIT_DEFAULT_DEPS', d, True): + depends = bb.data.getVar('DEPENDS', d, True) or "" + gettext_deps = '^(' + bb.data.getVar('DEPENDS_GETTEXT', d, True) +')$'
meta/classes/gettext.bbclass +2
-4+ depends = oe_filter_out(gettext_deps, depends, d) + bb.data.setVar('DEPENDS', depends, d) python () { gettext_after_parse(d) } - -DEPENDS_GETTEXT = "gettext gettext-native" - -DEPENDS =+ "${DEPENDS_GETTEXT}" EXTRA_OECONF += "--enable-nls"Quoted 9 lines
Quoted 8 lines
meta/classes/gettext.bbclass line 24
Quoted 2 lines
meta/classes/gettext.bbclass +2
-0+DEPENDS_GETTEXT ?= "virtual/gettext" +DEPENDS_append = " ${DEPENDS_GETTEXT} "_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [PATCH 01/17] gettext.bbclass: Use _append instead of =+
Quoted 34 lines · Saul Wold
Quoted 24 lines · Khem Raj
Quoted 22 lines · Khem Raj
Quoted 20 lines · Saul Wold
Quoted 18 lines · Khem Raj
Ensure gettext and gettext-native are removed from DEPENDS when not using NLS
Use append instead of += to get gettext dependecies processed correctly in all cases
Dont remove gettext-native for native recipes as
ENABLE_NLSis only for target and not for native recipesReplace using 1 for a boolean type with True
Honor
INHIBIT_DEFAULT_DEPSRemove the added dependencies for gettext if
INHIBIT_DEFAULT_DEPSis non
nullQuoted 8 lines
Quoted 8 lines
Quoted 6 lines
Khem,
This patch seems to be causing a circular dependency when you try to build
meta-toolchain-sdk, not sure if you tested that target.No I did not. Let me try it out.
Quoted 8 lines
Khem,
There still seems to be a problem with binutil-cross-canadian and gcc-cross-canadian not finding the gettext-native, it suggests to have these recipe inherit gettext, which binutils does via it's .inc file, but gcc-cross-canadian did not seem to do. I tried to add inherit gettext to the cross-canadian.bbclass but that did not solve the issue.
Does it break the build ?
this may be a new issue unearthed. We can fix it with subsequent patch
Quoted 2 lines
Currently the meta-toolchain gmae builds show this problem.
I will try to see whats going on here.
Quoted 137 lines
Thanks
Sau!Quoted 124 lines
Quoted 40 lines
Quoted 29 lines
% bitbake meta-toolchain-sdk -n
NOTE: Out of date cache found, rebuilding...
WARNING: No bb files matchedBBFILE_PATTERN_yocto'^/intel/poky/distro/meta-yocto/'
Parsing recipes: 100% |#########################################| Time:
00:00:15
Parsing of 796 .bb files complete (0 cached, 796 parsed). 1008 targets, 6
skipped, 0 masked, 0 errors.OE Build Configuration:
BB_VERSION= "1.11.0"METADATA_BRANCH= "stage"METADATA_REVISION= "86f12953dbf57264cfcc06feac446f3edf0c6d8f"TARGET_ARCH= "i586"TARGET_OS= "linux"
MACHINE = "qemux86"
DISTRO = "poky-lsb"DISTRO_VERSION= "1.0+snapshot-20110426"TARGET_FPU= ""NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
ERROR: Taskvirtual:nativesdk:/intel/poky/distro/meta/recipes-core/gettext/gettext_0.17.bb (
do_package) has circular dependency onQuoted 7 lines
virtual:nativesdk:/intel/poky/distro/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb (
do_package)Is there dependencies on this patch with the other patches? (ie can I take
part of your other patches or just hold off)?This patch is kind of needed for few of them for parsing sake. some of them dont depend on this e.g.
Quoted 10 lines
[PATCH 05/17] sstate.bbclass: Reduce
SSTATE_MANIFESTSassignment to be weak
[PATCH 09/17] libiconv: update from 1.9.2 -> 1.11.1
[PATCH 12/17] elfutils_0.148.bb: Fix compilation issues on uclibc [PATCH 13/17] perl_5.12.2.bb: Undefine features not found in uclibc [PATCH 14/17] xorg-lib: inherit gettext class instead of adding gettext to DEPENDS directly
[PATCH 15/17] attr: Fix compilation on uclibc
[PATCH 16/17] linux-tools.inc: Dummifydo_compile_perfanddo_install_perffor uclibcSaul
I have fixed this patch and pushed it to the pull tree. Can you pull fresh from the pull request tree and give it a shot ? Let me know how it goes
Quoted 57 lines
Quoted 57 lines
Sau!
Quoted 55 lines
Signed-off-by Khem Raj<[email protected]>---
meta/classes/gettext.bbclass | 31 +++++++++++++++++++------------1 files changed, 19 insertions(+), 12 deletions(-)meta/classes/gettext.bbclass +0
-0@@ -1,17 +1,24 @@def
gettext_after_parse(d):
- # Remove the NLS bits ifUSE_NLSis no.
- ifbb.data.getVar('USE_NLS', d, 1)== 'no':
- cfg =oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d)
- cfg += " --disable-nls"
- depends =bb.data.getVar('DEPENDS', d, 1)or ""
- bb.data.setVar('DEPENDS',oe_filter_out('^(virtual/libiconv|virtual/libintl)$', depends, d), d)
- bb.data.setVar('EXTRA_OECONF', cfg, d)
-
+ # Remove the NLS bits ifUSE_NLSis no.
+ ifbb.data.getVar('USE_NLS', d, True)== 'no':
+ cfg =oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d)
+ cfg += " --disable-nls"
+ depends =bb.data.getVar('DEPENDS', d, True)or ""
+ depends =
oe_filter_out('^(virtual/libiconv|virtual/libintl|virtual/gettext|gettext)$', depends, d)
+ if notoe.utils.inherits(d, 'native', 'nativesdk', 'cross', 'crosssdk'):
+ depends =oe_filter_out('^(gettext-native)$', depends, d)
+bb.data.setVar('DEPENDS', depends, d)
+bb.data.setVar('EXTRA_OECONF', cfg, d)
+ # check ifINHIBIT_DEFAULT_DEPSis 1 then we forcibly remove dependencies
+ # added by this class throughDEPENDS_GETTEXT
+ ifbb.data.getVar('INHIBIT_DEFAULT_DEPS', d, True):
+ depends =bb.data.getVar('DEPENDS', d, True)or ""
+gettext_deps= '^(' +bb.data.getVar('DEPENDS_GETTEXT', d, True)+
')$'
+ depends =oe_filter_out(gettext_deps, depends, d)
+bb.data.setVar('DEPENDS', depends, d)
python () {
gettext_after_parse(d)
}meta/classes/gettext.bbclass +0
-4- -DEPENDS_GETTEXT = "gettext gettext-native" - -DEPENDS =+ "${DEPENDS_GETTEXT}"EXTRA_OECONF += "--enable-nls"
Quoted 9 lines
Quoted 8 lines
meta/classes/gettext.bbclass line 24
Quoted 2 lines
meta/classes/gettext.bbclass +2
-0+DEPENDS_GETTEXT ?= "virtual/gettext" +DEPENDS_append = " ${DEPENDS_GETTEXT} "_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-coreQuoted 4 lines
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [PATCH 01/17] gettext.bbclass: Use _append instead of =+
Quoted 44 lines · Khem Raj
Quoted 34 lines · Saul Wold
Quoted 24 lines · Khem Raj
Quoted 22 lines · Khem Raj
Quoted 20 lines · Saul Wold
Quoted 18 lines · Khem Raj
Ensure gettext and gettext-native are removed from DEPENDS when not using NLS
Use append instead of += to get gettext dependecies processed correctly in all cases
Dont remove gettext-native for native recipes as
ENABLE_NLSis only for target and not for native recipesReplace using 1 for a boolean type with True
Honor
INHIBIT_DEFAULT_DEPSRemove the added dependencies for gettext if
INHIBIT_DEFAULT_DEPSis non
nullQuoted 8 lines
Quoted 8 lines
Quoted 6 lines
Khem,
This patch seems to be causing a circular dependency when you try to build
meta-toolchain-sdk, not sure if you tested that target.No I did not. Let me try it out.
Quoted 8 lines
Khem,
There still seems to be a problem with binutil-cross-canadian and gcc-cross-canadian not finding the gettext-native, it suggests to have these recipe inherit gettext, which binutils does via it's .inc file, but gcc-cross-canadian did not seem to do. I tried to add inherit gettext to the cross-canadian.bbclass but that did not solve the issue.
Quoted 3 lines
Does it break the build ?
this may be a new issue unearthed. We can fix it with subsequent patch
Not breaking the mainline build, but it is breaking the toolchain builds.
Sau!
Quoted 147 lines
Quoted 2 lines
Currently the meta-toolchain gmae builds show this problem.
I will try to see whats going on here.
Quoted 132 lines
Thanks
Sau!Quoted 124 lines
Quoted 40 lines
Quoted 29 lines
% bitbake meta-toolchain-sdk -n
NOTE: Out of date cache found, rebuilding...
WARNING: No bb files matchedBBFILE_PATTERN_yocto'^/intel/poky/distro/meta-yocto/'
Parsing recipes: 100% |#########################################| Time:
00:00:15
Parsing of 796 .bb files complete (0 cached, 796 parsed). 1008 targets, 6
skipped, 0 masked, 0 errors.OE Build Configuration:
BB_VERSION= "1.11.0"METADATA_BRANCH= "stage"METADATA_REVISION= "86f12953dbf57264cfcc06feac446f3edf0c6d8f"TARGET_ARCH = "i586" TARGET_OS = "linux" MACHINE = "qemux86" DISTRO = "poky-lsb" DISTRO_VERSION = "1.0+snapshot-20110426" TARGET_FPU = ""NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
ERROR: Taskvirtual:nativesdk:/intel/poky/distro/meta/recipes-core/gettext/gettext_0.17.bb (
do_package) has circular dependency onQuoted 7 lines
virtual:nativesdk:/intel/poky/distro/meta/recipes-devtools/gcc/gcc-runtime_4.5.1.bb (
do_package)Is there dependencies on this patch with the other patches? (ie can I take
part of your other patches or just hold off)?This patch is kind of needed for few of them for parsing sake. some of them dont depend on this e.g.
Quoted 10 lines
[PATCH 05/17] sstate.bbclass: Reduce
SSTATE_MANIFESTSassignment to be weak
[PATCH 09/17] libiconv: update from 1.9.2 -> 1.11.1
[PATCH 12/17] elfutils_0.148.bb: Fix compilation issues on uclibc [PATCH 13/17] perl_5.12.2.bb: Undefine features not found in uclibc [PATCH 14/17] xorg-lib: inherit gettext class instead of adding gettext to DEPENDS directly
[PATCH 15/17] attr: Fix compilation on uclibc
[PATCH 16/17] linux-tools.inc: Dummifydo_compile_perfanddo_install_perffor uclibcSaul
I have fixed this patch and pushed it to the pull tree. Can you pull fresh from the pull request tree and give it a shot ? Let me know how it goes
Quoted 57 lines
Quoted 57 lines
Sau!
Quoted 55 lines
Signed-off-by Khem Raj<[email protected]>--- meta/classes/gettext.bbclass | 31 +++++++++++++++++++------------ 1 files changed, 19 insertions(+), 12 deletions(-)meta/classes/gettext.bbclass +7
-8@@ -1,17 +1,24 @@ def gettext_after_parse(d): - # Remove the NLS bits if USE_NLS is no. - if bb.data.getVar('USE_NLS', d, 1) == 'no': - cfg = oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d) - cfg += " --disable-nls" - depends = bb.data.getVar('DEPENDS', d, 1) or "" - bb.data.setVar('DEPENDS', oe_filter_out('^(virtual/libiconv|virtual/libintl)$', depends, d), d) - bb.data.setVar('EXTRA_OECONF', cfg, d) - + # Remove the NLS bits if USE_NLS is no. + if bb.data.getVar('USE_NLS', d, True) == 'no': + cfg = oe_filter_out('^--(dis|en)able-nls$', bb.data.getVar('EXTRA_OECONF', d, 1) or "", d) + cfg += " --disable-nls" + depends = bb.data.getVar('DEPENDS', d, True) or "" + depends = oe_filter_out('^(virtual/libiconv|virtual/libintl|virtual/gettext|gettext)$', depends, d) + if not oe.utils.inherits(d, 'native', 'nativesdk', 'cross','crosssdk'):
meta/classes/gettext.bbclass +4
-0+ depends = oe_filter_out('^(gettext-native)$', depends, d) + bb.data.setVar('DEPENDS', depends, d) + bb.data.setVar('EXTRA_OECONF', cfg, d) + # check if INHIBIT_DEFAULT_DEPS is 1 then we forcibly removedependencies
meta/classes/gettext.bbclass +4
-0+ # added by this class through DEPENDS_GETTEXT + if bb.data.getVar('INHIBIT_DEFAULT_DEPS', d, True): + depends = bb.data.getVar('DEPENDS', d, True) or "" + gettext_deps = '^(' + bb.data.getVar('DEPENDS_GETTEXT', d,True) +
')$'meta/classes/gettext.bbclass +2
-4+ depends = oe_filter_out(gettext_deps, depends, d) + bb.data.setVar('DEPENDS', depends, d) python () { gettext_after_parse(d) } - -DEPENDS_GETTEXT = "gettext gettext-native" - -DEPENDS =+ "${DEPENDS_GETTEXT}" EXTRA_OECONF += "--enable-nls"Quoted 9 lines
Quoted 8 lines
meta/classes/gettext.bbclass line 24
Quoted 2 lines
meta/classes/gettext.bbclass +2
-0+DEPENDS_GETTEXT ?= "virtual/gettext" +DEPENDS_append = " ${DEPENDS_GETTEXT} "_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-coreQuoted 4 lines
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-coreQuoted 5 lines
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
PATCH 2/17 insane.bbclass: Move code to add function to tasks toward the end
In reply to Khem RajCosmetic change to make syntax highlighters happy
--- meta/classes/insane.bbclass | 15 ++++++++------- 1 files changed, 8 insertions(+), 7 deletions(-)
meta/classes/insane.bbclass +8 -7
@@ -554,9 +554,6 @@ python do_package_qa () { } -# The Staging Func, to check all staging -#addtask qa_staging after do_populate_sysroot before do_build -do_populate_sysroot[postfuncs] += "do_qa_staging " python do_qa_staging() { bb.note("QA checking staging")
@@ -564,10 +561,6 @@ python do_qa_staging() { bb.fatal("QA staging was broken by the package built above") } -# Check broken config.log files, for packages requiring Gettext which don't -# have it in DEPENDS and for correct LIC_FILES_CHKSUM -#addtask qa_configure after do_configure before do_compile -do_configure[postfuncs] += "do_qa_configure " python do_qa_configure() { configs = [] workdir = bb.data.getVar('WORKDIR', d, True)
@@ -603,3 +596,11 @@ Missing inherit gettext?""" % config) if not package_qa_check_license(workdir, d): bb.fatal("Licensing Error: LIC_FILES_CHKSUM does not match, please fix") } +# The Staging Func, to check all staging +#addtask qa_staging after do_populate_sysroot before do_build +do_populate_sysroot[postfuncs] += "do_qa_staging " + +# Check broken config.log files, for packages requiring Gettext which don't +# have it in DEPENDS and for correct LIC_FILES_CHKSUM +#addtask qa_configure after do_configure before do_compile +do_configure[postfuncs] += "do_qa_configure "
Signature · 1 line
1.7.4.1
PATCH 3/17 insane.bbclass: Checking for NLS too when checking gettext dependency
In reply to Khem RajChecking for gettext is not needed when --disable-nls is used
Let user know what variant of gettext is missing e.g. gettext-native, gettext-nativesdk etc, reveals a bit more for user
Check for virtual/gettext
--- meta/classes/insane.bbclass | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-)
meta/classes/insane.bbclass +5 -4
@@ -578,20 +578,21 @@ Rerun configure task after fixing this. The path was '%s'""" % root) if "configure.in" in files: configs.append(os.path.join(root, "configure.in")) - if "gettext" not in bb.data.getVar('P', d, True) and "gcc-runtime" not in bb.data.getVar('P', d, True): + cnf = bb.data.getVar('EXTRA_OECONF', d, True) or "" + if "gettext" not in bb.data.getVar('P', d, True) and "gcc-runtime" not in bb.data.getVar('P', d, True) and "--disable-nls" not in cnf: if bb.data.inherits_class('native', d) or bb.data.inherits_class('cross', d) or bb.data.inherits_class('crosssdk', d) or bb.data.inherits_class('nativesdk', d): gt = "gettext-native" elif bb.data.inherits_class('cross-canadian', d): gt = "gettext-nativesdk" else: - gt = "gettext" + gt = "virtual/gettext" deps = bb.utils.explode_deps(bb.data.getVar('DEPENDS', d, True) or "") if gt not in deps: for config in configs: gnu = "grep \"^[[:space:]]*AM_GNU_GETTEXT\" %s >/dev/null" % config if os.system(gnu) == 0: - bb.fatal("""Gettext required but not in DEPENDS for file %s. -Missing inherit gettext?""" % config) + bb.fatal("""%s required but not in DEPENDS for file %s. +Missing inherit gettext?""" % (gt, config)) if not package_qa_check_license(workdir, d): bb.fatal("Licensing Error: LIC_FILES_CHKSUM does not match, please fix")
Signature · 1 line
1.7.4.1
PATCH 4/17 autotools.bbclass: Copy gettext files only if --disable-nls is not set
In reply to Khem Raj--- meta/classes/autotools.bbclass | 19 ++++++++++--------- 1 files changed, 10 insertions(+), 9 deletions(-)
meta/classes/autotools.bbclass +10 -9
@@ -127,17 +127,18 @@ autotools_do_configure() { else CONFIGURE_AC=configure.ac fi - if grep "^[[:space:]]*AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then - if grep "sed.*POTFILES" $CONFIGURE_AC >/dev/null; then - : do nothing -- we still have an old unmodified configure.ac - else - oenote Executing glib-gettextize --force --copy - echo "no" | glib-gettextize --force --copy + if ! echo ${EXTRA_OECONF} | grep -q "\-\-disable-nls"; then + if grep "^[[:space:]]*AM_GLIB_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then + if grep "sed.*POTFILES" $CONFIGURE_AC >/dev/null; then + : do nothing -- we still have an old unmodified configure.ac + else + oenote Executing glib-gettextize --force --copy + echo "no" | glib-gettextize --force --copy + fi + else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then + cp ${STAGING_DATADIR}/gettext/config.rpath ${S}/ fi - else if grep "^[[:space:]]*AM_GNU_GETTEXT" $CONFIGURE_AC >/dev/null; then - cp ${STAGING_DATADIR}/gettext/config.rpath ${S}/ fi - fi mkdir -p m4 if grep "^[[:space:]]*[AI][CT]_PROG_INTLTOOL" $CONFIGURE_AC >/dev/null; then
Signature · 1 line
1.7.4.1
PATCH 5/17 sstate.bbclass: Reduce SSTATE_MANIFESTS assignment to be weak
In reply to Khem RajDistributions can then override this variable if needed useful e.g. when building uclibc/eglibc both using same tmpdir
--- meta/classes/sstate.bbclass | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
meta/classes/sstate.bbclass +1 -1
@@ -1,6 +1,6 @@ SSTATE_VERSION = "2" -SSTATE_MANIFESTS = "${TMPDIR}/sstate-control" +SSTATE_MANIFESTS ?= "${TMPDIR}/sstate-control" SSTATE_MANFILEBASE = "${SSTATE_MANIFESTS}/manifest-${SSTATE_MANMACH}-" SSTATE_MANFILEPREFIX = "${SSTATE_MANFILEBASE}${PN}"
Signature · 1 line
1.7.4.1
PATCH 6/17 gettext: Divide packaging into gettext-runtime and rest
In reply to Khem RajThis helps in footprint on space constrained systems e.g. uclibc based systems where packaging full gettext just for libintl can be waste of space.
--- meta/recipes-core/gettext/gettext_0.17.bb | 35 +++++++++++++++++++++++++--- 1 files changed, 31 insertions(+), 4 deletions(-)
meta/recipes-core/gettext/gettext_0.17.bb +31 -4
@@ -53,9 +53,36 @@ acpaths = '-I ${S}/autoconf-lib-link/m4/ \ # 1300 KiB /ep93xx/uclibc-dev_0.9.29-r8_ep93xx.ipk # 140 KiB /armv4t/gettext-dev_0.14.1-r6_armv4t.ipk # 4 KiB /ep93xx/libgcc-s-dev_4.2.2-r2_ep93xx.ipk +PACKAGES =+ "gettext-runtime gettext-runtime-dev gettext-runtime-doc" -PACKAGES =+ "libgettextlib libgettextsrc" -FILES_libgettextlib = "${libdir}/libgettextlib-*.so*" -FILES_libgettextsrc = "${libdir}/libgettextsrc-*.so*" - +FILES_gettext-runtime = "${bindir}/gettext \ + ${bindir}/ngettext \ + ${bindir}/envsubst \ + ${bindir}/gettext.sh \ + ${libdir}/libasprintf.so* \ + ${libdir}/GNU.Gettext.dll \ + " +FILES_gettext-runtime_append_libc-uclibc = " ${libdir}/libintl.so* \ + ${libdir}/charset.alias \ + " +FILES_gettext-runtime-dev += "${libdir}/libasprintf.a \ + ${includedir}/autosprintf.h \ + " +FILES_gettext-runtime-dev_append_libc-uclibc = " ${libdir}/libintl.a \ + ${includedir}/libintl.h \ + " +FILES_gettext-runtime-doc = "${mandir}/man1/gettext.* \ + ${mandir}/man1/ngettext.* \ + ${mandir}/man1/envsubst.* \ + ${mandir}/man1/.* \ + ${mandir}/man3/* \ + ${docdir}/gettext/gettext.* \ + ${docdir}/gettext/ngettext.* \ + ${docdir}/gettext/envsubst.* \ + ${docdir}/gettext/*.3.html \ + ${datadir}/gettext/ABOUT-NLS \ + ${docdir}/gettext/csharpdoc/* \ + ${docdir}/libasprintf/autosprintf.html \ + ${infodir}/autosprintf.info \ + " BBCLASSEXTEND = "native nativesdk"
Signature · 1 line
1.7.4.1
PATCH 7/17 gettext_0.17.bb: PROVIDE virtual/gettext and RCONFLICT with proxy-libintl
In reply to Khem Raj--- meta/recipes-core/gettext/gettext_0.17.bb | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
meta/recipes-core/gettext/gettext_0.17.bb +2 -2
@@ -8,9 +8,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" PR = "r5" DEPENDS = "gettext-native virtual/libiconv ncurses expat" DEPENDS_virtclass-native = "" -PROVIDES = "virtual/libintl" +PROVIDES = "virtual/libintl virtual/gettext" PROVIDES_virtclass-native = "" - +CONFLICTS_${PN} = "proxy-libintl" SRC_URI = "${GNU_MIRROR}/gettext/gettext-${PV}.tar.gz \ file://autotools.patch;patch=1 \ file://wchar-uclibc.patch;patch=1 \
Signature · 1 line
1.7.4.1
PATCH 8/17 poky-default.inc: Weakly assign gettext to provide virtual/gettext
In reply to Khem Raj--- meta/conf/distro/include/poky-default.inc | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
meta/conf/distro/include/poky-default.inc +1 -0
@@ -14,6 +14,7 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "gcc-runtime" PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${POKYLIBC}-initial" PREFERRED_PROVIDER_virtual/${SDK_PREFIX}libc-for-gcc-nativesdk ?= "${POKYLIBC}-nativesdk" +PREFERRED_PROVIDER_virtual/gettext ??= "gettext" GCCVERSION ?= "4.5.1" SDKGCCVERSION ?= "4.5.1"
Signature · 1 line
1.7.4.1
PATCH 9/17 libiconv: update from 1.9.2 -> 1.11.1
In reply to Khem Raj1.11.1 was the last LGPLv2 release shared_preloadable_libiconv_linux.patch is needed to make libtool 2.4 happy
Autoconf patch is similarly made to point m4 directory and update to newer autoconf
--- .../libiconv/libiconv-1.11.1/autoconf.patch | 48 ++++++++++++++++++++ .../shared_preloadable_libiconv_linux.patch | 24 ++++++++++ meta/recipes-support/libiconv/libiconv_1.11.1.bb | 30 ++++++++++++ meta/recipes-support/libiconv/libiconv_1.9.2.bb | 21 --------- 4 files changed, 102 insertions(+), 21 deletions(-) create mode 100644 meta/recipes-support/libiconv/libiconv-1.11.1/autoconf.patch create mode 100644 meta/recipes-support/libiconv/libiconv-1.11.1/shared_preloadable_libiconv_linux.patch create mode 100644 meta/recipes-support/libiconv/libiconv_1.11.1.bb delete mode 100644 meta/recipes-support/libiconv/libiconv_1.9.2.bb
meta/recipes-support/libiconv/libiconv-1.11.1/autoconf.patch new file +48 -0
@@ -0,0 +1,48 @@ +It adds the variables that are needed +for autoconf 2.65 to reconfigure libiconv and defines the m4 macros +directory. Its imported from OE. + +Signed-off-by: Khem Raj <[email protected]> + +Index: libiconv-1.11.1/configure.ac +=================================================================== +--- libiconv-1.11.1.orig/configure.ac ++++ libiconv-1.11.1/configure.ac +@@ -23,7 +23,7 @@ AC_CONFIG_AUX_DIR(build-aux) + AM_INIT_AUTOMAKE(libiconv, 1.11) + AC_CONFIG_HEADERS(config.h lib/config.h) + AC_PROG_MAKE_SET +- ++AC_CONFIG_MACRO_DIR([m4]) + dnl checks for basic programs + + AC_PROG_CC +Index: libiconv-1.11.1/libcharset/configure.ac +=================================================================== +--- libiconv-1.11.1.orig/libcharset/configure.ac ++++ libiconv-1.11.1/libcharset/configure.ac +@@ -16,17 +16,17 @@ dnl along with the GNU CHARSET Library; + dnl write to the Free Software Foundation, Inc., 51 Franklin Street, + dnl Fifth Floor, Boston, MA 02110-1301, USA. + +-AC_PREREQ(2.13) ++AC_PREREQ(2.61) ++AC_INIT([libcharset],[1.4] ) ++AC_CONFIG_SRCDIR([lib/localcharset.c]) + +-PACKAGE=libcharset +-VERSION=1.4 +- +-AC_INIT(lib/localcharset.c) + AC_CONFIG_AUX_DIR(build-aux) + AC_CONFIG_HEADER(config.h) + AC_PROG_MAKE_SET +-AC_SUBST(PACKAGE) +-AC_SUBST(VERSION) ++dnl AC_SUBST(PACKAGE) ++dnl AC_SUBST(VERSION) ++ ++AC_CONFIG_MACRO_DIR([m4]) + + dnl checks for basic programs +
meta/recipes-support/libiconv/libiconv-1.11.1/shared_preloadable_libiconv_linux.patch new file +24 -0
@@ -0,0 +1,24 @@ +With libtool generating shared and static version of libraries needs -fPIC flags +without this it will not generate the commands to create shared linked library +Its more enforced by libtool 2.4. I have not checked it with older libtool +libiconv 1.11.x is relatively old release and libtool 2.4 did not exist when it +was released these kind of problem are more likely + +Signed-off-by: Khem Raj <[email protected]> + +Index: libiconv-1.11.1/lib/Makefile.in +=================================================================== +--- libiconv-1.11.1.orig/lib/Makefile.in ++++ libiconv-1.11.1/lib/Makefile.in +@@ -70,9 +70,9 @@ preloadable_libiconv.so : preloadable_li + + preloadable_libiconv_linux.so : $(SOURCES) + if test -n "@GCC@"; then \ +- $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -fPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -shared -o preloadable_libiconv_linux.so; \ ++ $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -fPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -rpath $(libdir) -o libpreload_iconv.la && cp .libs/libpreload_iconv.so preloadable_libiconv_linux.so; \ + else \ +- $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -KPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -shared -o preloadable_libiconv_linux.so; \ ++ $(LIBTOOL_LINK) $(CC) $(LDFLAGS) $(INCLUDES) $(CFLAGS) $(CPPFLAGS) $(DEFS) -KPIC -DPIC -DLIBICONV_PLUG $(SOURCES) -rpath $(libdir) -o libpreload_iconv.la && cp .libs/libpreload_iconv.so preloadable_libiconv_linux.so; \ + fi + + preloadable_libiconv_solaris.so : $(SOURCES)
meta/recipes-support/libiconv/libiconv_1.11.1.bb new file +30 -0
@@ -0,0 +1,30 @@ +DESCRIPTION = "GNU libiconv - libiconv is for you if your application needs to support \ +multiple character encodings, but that support lacks from your system." +HOMEPAGE = "http://www.gnu.org/software/libiconv" +SECTION = "libs" +PRIORITY = "optional" +NOTES = "Needs to be stripped down to: ascii iso8859-1 eucjp iso-2022jp gb utf8" +PROVIDES = "virtual/libiconv" +PR = "r0" +LICENSE = "LGPL" +LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674 \ + file://libcharset/COPYING.LIB;md5=9f604d8a4f8e74f4f5140845a21b6674" +SRC_URI = "${GNU_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ + file://autoconf.patch \ + file://shared_preloadable_libiconv_linux.patch \ + " + +SRC_URI[md5sum] = "d42b97f6ef5dd0ba4469d520ed732fed" +SRC_URI[sha256sum] = "e78c347a1a0cb15f2648519e9799151f4b4a934b61ad9ee7424478efe2b8257f" + +S = "${WORKDIR}/libiconv-${PV}" + +inherit autotools pkgconfig gettext + +EXTRA_OECONF += "--enable-shared --enable-static --enable-relocatable" + +LEAD_SONAME = "libiconv.so" + +do_configure_prepend () { + rm -f m4/libtool.m4 libcharset/m4/libtool.m4 +}
meta/recipes-support/libiconv/libiconv_1.9.2.bb deleted +0 -21
@@ -1,21 +0,0 @@ -DESCRIPTION = "GNU libiconv - libiconv is for you if your application needs to support \ -multiple character encodings, but that support lacks from your system." -HOMEPAGE = "http://www.gnu.org/software/libiconv" -SECTION = "libs" -PRIORITY = "optional" -NOTES = "Needs to be stripped down to: ascii iso8859-1 eucjp iso-2022jp gb utf8" -PROVIDES = "virtual/libiconv" -PR = "r4" -LICENSE = "LGPL" -SRC_URI = "${GNU_MIRROR}/libiconv/libiconv-${PV}.tar.gz" - -S = "${WORKDIR}/libiconv-${PV}" - -inherit autotools pkgconfig - -EXTRA_OECONF += "--enable-shared --enable-static" - -do_configure () { - rm -f m4/libtool.m4 libcharset/m4/libtool.m4 - autotools_do_configure -}
Signature · 1 line
1.7.4.1
PATCH 10/17 glib-2.0: Inherit gettext should provide right libintl so remove from DEPENDS
In reply to Khem RajAdd no-iconv.patch to provide dummy libiconv in case of uclibc
--- meta/recipes-core/glib-2.0/glib-2.0/no-iconv.patch | 104 ++++++++++++++++++++ meta/recipes-core/glib-2.0/glib-2.0_2.26.1.bb | 4 +- meta/recipes-core/glib-2.0/glib-2.0_2.27.5.bb | 5 +- meta/recipes-core/glib-2.0/glib.inc | 2 +- 4 files changed, 112 insertions(+), 3 deletions(-) create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/no-iconv.patch
meta/recipes-core/glib-2.0/glib-2.0/no-iconv.patch new file +104 -0
@@ -0,0 +1,104 @@ +We provide dummy implementation of iconv functionality if it does not find +iconv which will be case with uclibc. We remove the check for iconv in configure + +This is needed when libintl and libiconv is not available. It wont have any +impact on case when they are available. + +Signed-off-by: Khem Raj <[email protected]> + + +Index: glib-2.26.1/glib/gconvert.c +=================================================================== +--- glib-2.26.1.orig/glib/gconvert.c ++++ glib-2.26.1/glib/gconvert.c +@@ -23,7 +23,7 @@ + #include "config.h" + #include "glibconfig.h" + +-#ifndef G_OS_WIN32 ++#if !defined G_OS_WIN32 && defined HAVE_ICONV_H + #include <iconv.h> + #endif + #include <errno.h> +@@ -65,6 +65,28 @@ + #error GNU libiconv not in use but included iconv.h is from libiconv + #endif + ++#ifndef HAVE_ICONV_H ++typedef void *iconv_t; ++ ++iconv_t iconv_open(const char *tocode, const char *fromcode) ++{ ++ return (iconv_t)(-1); ++} ++ ++int iconv_close(iconv_t cd) ++{ ++ free(cd); ++ ++ return 0; ++} ++size_t iconv (iconv_t __cd, char **__inbuf, ++ size_t *__inbytesleft, ++ char **__outbuf, ++ size_t *__outbytesleft) ++{ ++ return 0; ++} ++#endif + + /** + * SECTION:conversions +Index: glib-2.26.1/configure.ac +=================================================================== +--- glib-2.26.1.orig/configure.ac ++++ glib-2.26.1/configure.ac +@@ -373,46 +373,8 @@ dnl *** Tests for iconv *** + dnl *********************** + dnl + dnl We do this before the gettext checks, to avoid distortion +- +-dnl On Windows we use a native implementation +- +-if test x"$glib_native_win32" = xyes; then +- with_libiconv=native +-else +- AC_ARG_WITH(libiconv, +- [AC_HELP_STRING([--with-libiconv=@<:@no/gnu/native@:>@], +- [use the libiconv library])],, +- [with_libiconv=maybe]) +- +- found_iconv=no +- case $with_libiconv in +- maybe) +- # Check in the C library first +- AC_CHECK_FUNC(iconv_open, [with_libiconv=no; found_iconv=yes]) +- # Check if we have GNU libiconv +- if test $found_iconv = "no"; then +- AC_CHECK_LIB(iconv, libiconv_open, [with_libiconv=gnu; found_iconv=yes]) +- fi +- # Check if we have a iconv in -liconv, possibly from vendor +- if test $found_iconv = "no"; then +- AC_CHECK_LIB(iconv, iconv_open, [with_libiconv=native; found_iconv=yes]) +- fi +- ;; +- no) +- AC_CHECK_FUNC(iconv_open, [with_libiconv=no; found_iconv=yes]) +- ;; +- gnu|yes) +- AC_CHECK_LIB(iconv, libiconv_open, [with_libiconv=gnu; found_iconv=yes]) +- ;; +- native) +- AC_CHECK_LIB(iconv, iconv_open, [with_libiconv=native; found_iconv=yes]) +- ;; +- esac +- +- if test "x$found_iconv" = "xno" ; then +- AC_MSG_ERROR([*** No iconv() implementation found in C library or libiconv]) +- fi +-fi ++found_iconv=yes ++with_libiconv=no + + gl_GLIBC21 + AC_ARG_ENABLE(iconv-cache,
meta/recipes-core/glib-2.0/glib-2.0_2.26.1.bb +3 -1
@@ -1,13 +1,15 @@ require glib.inc PE = "1" -PR = "r0" +PR = "r1" SRC_URI = "${GNOME_MIRROR}/glib/2.26/glib-${PV}.tar.bz2 \ file://configure-libtool.patch \ file://60_wait-longer-for-threads-to-die.patch \ file://g_once_init_enter.patch \ " +# Only apply this patch for target recipe on uclibc +SRC_URI_append_libc-uclibc = " ${@['', 'file://no-iconv.patch']['${PN}' == '${BPN}']}" SRC_URI[md5sum] = "17535accceef55bcb17a74d73f9c2aef" SRC_URI[sha256sum] = "7a74ff12b6b9dee1f2d0e520b56b68b621920c4f4250bdf23468e515625c28d5"
meta/recipes-core/glib-2.0/glib-2.0_2.27.5.bb +4 -1
@@ -1,6 +1,6 @@ require glib.inc -PR = "r3" +PR = "r4" SRC_URI = "${GNOME_MIRROR}/glib/2.27/glib-${PV}.tar.bz2 \ file://configure-libtool.patch \
@@ -13,6 +13,9 @@ SRC_URI[sha256sum] = "aad3038db865b762e01b1dc455ffd601b4083c069018d290e5fdfe1a61 SRC_URI_append_virtclass-native = " file://glib-gettextize-dir.patch" +# Only apply this patch for target recipe on uclibc +SRC_URI_append_libc-uclibc = " ${@['', 'file://no-iconv.patch']['${PN}' == '${BPN}']}" + BBCLASSEXTEND = "native nativesdk" DEFAULT_PREFERENCE = "-1"
meta/recipes-core/glib-2.0/glib.inc +1 -1
@@ -15,7 +15,7 @@ SECTION = "libs" require glib-2.0.inc -DEPENDS = "glib-2.0-native gtk-doc-native virtual/libiconv virtual/libintl zip dbus" +DEPENDS = "glib-2.0-native gtk-doc-native zip dbus" DEPENDS_virtclass-native = "gtk-doc-native pkgconfig-native gettext-native dbus-native" DEPENDS_virtclass-nativesdk = "libtool-nativesdk" PACKAGES =+ "glib-2.0-utils "
Signature · 1 line
1.7.4.1
PATCH 11/17 util-linux.inc: remove virtual/libintl from DEPENDS
In reply to Khem Rajinherit gettext should do it.
--- meta/recipes-core/util-linux/util-linux.inc | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-)
meta/recipes-core/util-linux/util-linux.inc +3 -3
@@ -13,10 +13,10 @@ LIC_FILES_CHKSUM = "file://README.licensing;md5=1530e36fe1304d4535513de90a290df9 file://licenses/COPYING.UCB;md5=263860f8968d8bafa5392cab74285262 \ file://getopt/COPYING;md5=8ca43cbc842c2336e835926c2166c28b" -DEPENDS = "zlib ncurses virtual/libintl" -DEPENDS_virtclass-native = "zlib-native ncurses-native lzo-native gettext-native" - inherit autotools gettext +DEPENDS = "zlib ncurses" +DEPENDS_virtclass-native_append = " lzo-native" + SRC_URI = "${KERNELORG_MIRROR}/linux/utils/util-linux-ng/v${MAJOR_VERSION}/util-linux-ng-${PV}.tar.bz2 \ file://MCONFIG \
Signature · 1 line
1.7.4.1
PATCH 12/17 elfutils_0.148.bb: Fix compilation issues on uclibc
In reply to Khem Raj* Add -luargp and -lintl to linker flags
* __mempcpy is not there on uclibc so define it to mempcpy
--- .../elfutils/elfutils-0.148/mempcpy.patch | 23 ++++++++++++++++++++ meta/recipes-devtools/elfutils/elfutils_0.148.bb | 6 +++- 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-devtools/elfutils/elfutils-0.148/mempcpy.patch
meta/recipes-devtools/elfutils/elfutils-0.148/mempcpy.patch new file +23 -0
@@ -0,0 +1,23 @@ +uclibc does not export __mempcpy like glibc so we alias it here. +This patch may make sense for upstream but elfutils uses more +glibc specific features like obstack_printf which are missing in +uclibc they need to be fixed along to make it work all the way + +Upstream-status: Inappropriate[Elfutils uses more glibc specific features] + +Signed-off-by: Khem Raj <[email protected]> + +Index: elfutils-0.148/libelf/elf_begin.c +=================================================================== +--- elfutils-0.148.orig/libelf/elf_begin.c ++++ elfutils-0.148/libelf/elf_begin.c +@@ -68,6 +68,9 @@ + #include "libelfP.h" + #include "common.h" + ++#ifdef __UCLIBC__ ++#define __mempcpy mempcpy ++#endif + + /* Create descriptor for archive in memory. */ + static inline Elf *
meta/recipes-devtools/elfutils/elfutils_0.148.bb +4 -2
@@ -28,8 +28,8 @@ SRC_URI += "\ file://elf_additions.diff \ file://elfutils-fsize.patch \ file://remove-unused.patch \ + file://mempcpy.patch \ " - # The buildsystem wants to generate 2 .h files from source using a binary it just built, # which can not pass the cross compiling, so let's work around it by adding 2 .h files # along with the do_configure_prepend()
@@ -38,7 +38,6 @@ SRC_URI += "\ file://i386_dis.h \ file://x86_64_dis.h \ " - inherit autotools EXTRA_OECONF = "--program-prefix=eu-"
@@ -49,6 +48,9 @@ do_configure_prepend() { cp ${WORKDIR}/*dis.h ${S}/libcpu } +# Only append ldflags for target recipe +TARGET_LDFLAGS_libc-uclibc += "${@['', '-lintl -luargp']['${PN}' == '${BPN}']}" + BBCLASSEXTEND = "native nativesdk" # Package utilities separately
Signature · 1 line
1.7.4.1
PATCH 13/17 perl_5.12.2.bb: Undefine features not found in uclibc
In reply to Khem Raj--- .../perl/perl-5.12.2/native-ssp.patch | 16 ---------------- meta/recipes-devtools/perl/perl_5.12.2.bb | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 16 deletions(-) delete mode 100644 meta/recipes-devtools/perl/perl-5.12.2/native-ssp.patch
meta/recipes-devtools/perl/perl-5.12.2/native-ssp.patch deleted +0 -16
@@ -1,16 +0,0 @@ -Upstream-Status:Inappropriate [embedded specific] - -Fix for compiling with ssp enabled gcc: -See http://bugs.openembedded.net/show_bug.cgi?id=1980 - -diff -Naur perl-5.8.7.orig/cflags.SH perl-5.8.7/cflags.SH ---- perl-5.8.7.orig/cflags.SH 2002-09-30 10:59:07.000000000 +0000 -+++ perl-5.8.7/cflags.SH 2005-10-02 04:08:39.000000000 +0000 -@@ -165,6 +165,8 @@ - esac - - : Can we perhaps use $ansi2knr here -+ [[ $file == regcomp ]] && export ccflags="${ccflags} -fno-stack-protector" -+ [[ $file == regexec ]] && export ccflags="${ccflags} -fno-stack-protector" - echo "$cc -c -DPERL_CORE $ccflags $optimize $warn" - eval "$also "'"$cc -DPERL_CORE -c $ccflags $optimize $warn"'
meta/recipes-devtools/perl/perl_5.12.2.bb +16 -0
@@ -131,6 +131,12 @@ do_configure() { -e "s,\(getnetent_r_proto=\)'\w+',\1'0',g" \ -e "s,\(d_sockatmark=\)'define',\1'undef',g" \ -e "s,\(d_sockatmarkproto=\)'\w+',\1'0',g" \ + -e "s,\(d_eaccess=\)'define',\1'undef',g" \ + -e "s,\(d_stdio_ptr_lval=\)'define',\1'undef',g" \ + -e "s,\(d_stdio_ptr_lval_sets_cnt=\)'define',\1'undef',g" \ + -e "s,\(d_stdiobase=\)'define',\1'undef',g" \ + -e "s,\(d_stdstdio=\)'define',\1'undef',g" \ + -e "s,-fstack-protector,-fno-stack-protector,g" \ config.sh-${TARGET_ARCH}-${TARGET_OS} fi
@@ -145,6 +151,16 @@ do_configure() { -e 's,/perl5,/perl,g' \ config.sh-${TARGET_ARCH}-${TARGET_OS} + case "${TARGET_ARCH}" in + x86_64 | powerpc | s390) + sed -i -e "s,\(need_va_copy=\)'undef',\1'define',g" \ + config.sh-${TARGET_ARCH}-${TARGET_OS} + ;; + arm) + sed -i -e "s,\(d_u32align=\)'undef',\1'define',g" \ + config.sh-${TARGET_ARCH}-${TARGET_OS} + ;; + esac # These are strewn all over the source tree for foo in `grep -I -m1 \/usr\/include\/.*\\.h ${WORKDIR}/* -r | cut -f 1 -d ":"` ; do echo Fixing: $foo
Signature · 1 line
1.7.4.1
Re: [PATCH 13/17] perl_5.12.2.bb: Undefine features not found in uclibc
Quoted 7 lines · Khem Raj
Signed-off-by Khem Raj<[email protected]>--- .../perl/perl-5.12.2/native-ssp.patch | 16 ---------------- meta/recipes-devtools/perl/perl_5.12.2.bb | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 16 deletions(-)delete mode 100644
meta/recipes-devtools/perl/perl-5.12.2/native-ssp.patch
Khem, Nitin:
With perl being updated to 5.12.3 at this point, can you confirm this patch removal is still correct
Sau!
Quoted 56 lines
meta/recipes-devtools/perl/perl-5.12.2/native-ssp.patch deleted +0
-16@@ -1,16 +0,0 @@ -Upstream-Status:Inappropriate [embedded specific] - -Fix for compiling with ssp enabled gcc: -See http://bugs.openembedded.net/show_bug.cgi?id=1980 - -diff -Naur perl-5.8.7.orig/cflags.SH perl-5.8.7/cflags.SH ---- perl-5.8.7.orig/cflags.SH 2002-09-30 10:59:07.000000000 +0000 -+++ perl-5.8.7/cflags.SH 2005-10-02 04:08:39.000000000 +0000 -@@ -165,6 +165,8 @@ - esac - - : Can we perhaps use $ansi2knr here -+ [[ $file == regcomp ]]&& export ccflags="${ccflags} -fno-stack-protector" -+ [[ $file == regexec ]]&& export ccflags="${ccflags} -fno-stack-protector" - echo "$cc -c -DPERL_CORE $ccflags $optimize $warn" - eval "$also "'"$cc -DPERL_CORE -c $ccflags $optimize $warn"'meta/recipes-devtools/perl/perl_5.12.2.bb +16
-0@@ -131,6 +131,12 @@ do_configure() { -e "s,\(getnetent_r_proto=\)'\w+',\1'0',g" \ -e "s,\(d_sockatmark=\)'define',\1'undef',g" \ -e "s,\(d_sockatmarkproto=\)'\w+',\1'0',g" \ + -e "s,\(d_eaccess=\)'define',\1'undef',g" \ + -e "s,\(d_stdio_ptr_lval=\)'define',\1'undef',g" \ + -e "s,\(d_stdio_ptr_lval_sets_cnt=\)'define',\1'undef',g" \ + -e "s,\(d_stdiobase=\)'define',\1'undef',g" \ + -e "s,\(d_stdstdio=\)'define',\1'undef',g" \ + -e "s,-fstack-protector,-fno-stack-protector,g" \ config.sh-${TARGET_ARCH}-${TARGET_OS} fi@@ -145,6 +151,16 @@ do_configure() { -e 's,/perl5,/perl,g' \ config.sh-${TARGET_ARCH}-${TARGET_OS} + case "${TARGET_ARCH}" in + x86_64 | powerpc | s390) + sed -i -e "s,\(need_va_copy=\)'undef',\1'define',g" \ + config.sh-${TARGET_ARCH}-${TARGET_OS} + ;; + arm) + sed -i -e "s,\(d_u32align=\)'undef',\1'define',g" \ + config.sh-${TARGET_ARCH}-${TARGET_OS} + ;; + esac # These are strewn all over the source tree for foo in `grep -I -m1 \/usr\/include\/.*\\.h ${WORKDIR}/* -r | cut -f 1 -d ":"` ; do echo Fixing: $foo
Re: [PATCH 13/17] perl_5.12.2.bb: Undefine features not found in uclibc
In reply to Khem RajQuoted 7 lines · Khem Raj
Signed-off-by Khem Raj<[email protected]>--- .../perl/perl-5.12.2/native-ssp.patch | 16 ---------------- meta/recipes-devtools/perl/perl_5.12.2.bb | 16 ++++++++++++++++ 2 files changed, 16 insertions(+), 16 deletions(-)delete mode 100644
meta/recipes-devtools/perl/perl-5.12.2/native-ssp.patch
Khem,
Looking further at this patch, what affects will removing these features have on LSB for example?
What's the bigger affect of removing the stack-protector flags, in the do_configure?
Sau!
Quoted 56 lines
meta/recipes-devtools/perl/perl-5.12.2/native-ssp.patch deleted +0
-16@@ -1,16 +0,0 @@ -Upstream-Status:Inappropriate [embedded specific] - -Fix for compiling with ssp enabled gcc: -See http://bugs.openembedded.net/show_bug.cgi?id=1980 - -diff -Naur perl-5.8.7.orig/cflags.SH perl-5.8.7/cflags.SH ---- perl-5.8.7.orig/cflags.SH 2002-09-30 10:59:07.000000000 +0000 -+++ perl-5.8.7/cflags.SH 2005-10-02 04:08:39.000000000 +0000 -@@ -165,6 +165,8 @@ - esac - - : Can we perhaps use $ansi2knr here -+ [[ $file == regcomp ]]&& export ccflags="${ccflags} -fno-stack-protector" -+ [[ $file == regexec ]]&& export ccflags="${ccflags} -fno-stack-protector" - echo "$cc -c -DPERL_CORE $ccflags $optimize $warn" - eval "$also "'"$cc -DPERL_CORE -c $ccflags $optimize $warn"'meta/recipes-devtools/perl/perl_5.12.2.bb +16
-0@@ -131,6 +131,12 @@ do_configure() { -e "s,\(getnetent_r_proto=\)'\w+',\1'0',g" \ -e "s,\(d_sockatmark=\)'define',\1'undef',g" \ -e "s,\(d_sockatmarkproto=\)'\w+',\1'0',g" \ + -e "s,\(d_eaccess=\)'define',\1'undef',g" \ + -e "s,\(d_stdio_ptr_lval=\)'define',\1'undef',g" \ + -e "s,\(d_stdio_ptr_lval_sets_cnt=\)'define',\1'undef',g" \ + -e "s,\(d_stdiobase=\)'define',\1'undef',g" \ + -e "s,\(d_stdstdio=\)'define',\1'undef',g" \ + -e "s,-fstack-protector,-fno-stack-protector,g" \ config.sh-${TARGET_ARCH}-${TARGET_OS} fi@@ -145,6 +151,16 @@ do_configure() { -e 's,/perl5,/perl,g' \ config.sh-${TARGET_ARCH}-${TARGET_OS} + case "${TARGET_ARCH}" in + x86_64 | powerpc | s390) + sed -i -e "s,\(need_va_copy=\)'undef',\1'define',g" \ + config.sh-${TARGET_ARCH}-${TARGET_OS} + ;; + arm) + sed -i -e "s,\(d_u32align=\)'undef',\1'define',g" \ + config.sh-${TARGET_ARCH}-${TARGET_OS} + ;; + esac # These are strewn all over the source tree for foo in `grep -I -m1 \/usr\/include\/.*\\.h ${WORKDIR}/* -r | cut -f 1 -d ":"` ; do echo Fixing: $foo
Re: [PATCH 13/17] perl_5.12.2.bb: Undefine features not found in uclibc
Quoted 12 lines · Saul Wold
Quoted 11 lines · Khem Raj
Signed-off-by Khem Raj<[email protected]>---
.../perl/perl-5.12.2/native-ssp.patch | 16
----------------
meta/recipes-devtools/perl/perl_5.12.2.bb | 16
++++++++++++++++2 files changed, 16 insertions(+), 16 deletions(-)delete mode 100644
meta/recipes-devtools/perl/perl-5.12.2/native-ssp.patch
Quoted 8 lines
Khem,
Looking further at this patch, what affects will removing these features have on LSB for example?
What's the bigger affect of removing the stack-protector flags, in the
do_configure?
No effect. Patch was not applied. It is useless to keep unapplied patches. and the real changes are only for uclibc based targets so it has no effect for eglibc builds
Quoted 68 lines
Sau!
Quoted 64 lines
meta/recipes-devtools/perl/perl-5.12.2/native-ssp.patch deleted +0
-18@@ -1,16 +0,0 @@ -Upstream-Status:Inappropriate [embedded specific] - -Fix for compiling with ssp enabled gcc: -See http://bugs.openembedded.net/show_bug.cgi?id=1980 - -diff -Naur perl-5.8.7.orig/cflags.SH perl-5.8.7/cflags.SH ---- perl-5.8.7.orig/cflags.SH 2002-09-30 10:59:07.000000000 +0000 -+++ perl-5.8.7/cflags.SH 2005-10-02 04:08:39.000000000 +0000 -@@ -165,6 +165,8 @@ - esac - - : Can we perhaps use $ansi2knr here -+ [[ $file == regcomp ]]&& export ccflags="${ccflags} -fno-stack-protector" -+ [[ $file == regexec ]]&& export ccflags="${ccflags} -fno-stack-protector" - echo "$cc -c -DPERL_CORE $ccflags $optimize $warn" - eval "$also "'"$cc -DPERL_CORE -c $ccflags $optimize $warn"'meta/recipes-devtools/perl/perl_5.12.2.bb +6
-0@@ -131,6 +131,12 @@ do_configure() { -e "s,\(getnetent_r_proto=\)'\w+',\1'0',g" \ -e "s,\(d_sockatmark=\)'define',\1'undef',g" \ -e "s,\(d_sockatmarkproto=\)'\w+',\1'0',g" \ + -e "s,\(d_eaccess=\)'define',\1'undef',g" \ + -e "s,\(d_stdio_ptr_lval=\)'define',\1'undef',g" \ + -e "s,\(d_stdio_ptr_lval_sets_cnt=\)'define',\1'undef',g" \ + -e "s,\(d_stdiobase=\)'define',\1'undef',g" \ + -e "s,\(d_stdstdio=\)'define',\1'undef',g" \ + -e "s,-fstack-protector,-fno-stack-protector,g" \ config.sh-${TARGET_ARCH}-${TARGET_OS}fi
meta/recipes-devtools/perl/perl_5.12.2.bb +10
-0@@ -145,6 +151,16 @@ do_configure() { -e 's,/perl5,/perl,g' \ config.sh-${TARGET_ARCH}-${TARGET_OS} + case "${TARGET_ARCH}" in + x86_64 | powerpc | s390) + sed -i -e "s,\(need_va_copy=\)'undef',\1'define',g" \ + config.sh-${TARGET_ARCH}-${TARGET_OS} + ;; + arm) + sed -i -e "s,\(d_u32align=\)'undef',\1'define',g" \ + config.sh-${TARGET_ARCH}-${TARGET_OS} + ;; + esac # These are strewn all over the source treefor foo in
grep -I -m1 \/usr\/include\/.*\\.h ${WORKDIR}/* -r | cut -f 1 -d ":"; do
echo Fixing: $foo
PATCH 14/17 xorg-lib: inherit gettext class instead of adding gettext to DEPENDS directly
In reply to Khem Raj--- meta/recipes-graphics/xorg-lib/libxau_1.0.6.bb | 4 +++- meta/recipes-graphics/xorg-lib/libxdmcp_1.1.0.bb | 4 ++-- meta/recipes-graphics/xorg-lib/xtrans_1.2.6.bb | 3 ++- 3 files changed, 7 insertions(+), 4 deletions(-)
meta/recipes-graphics/xorg-lib/libxau_1.0.6.bb +3 -1
@@ -6,10 +6,12 @@ both client-side and server-side." require xorg-lib-common.inc +inherit gettext + LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=7908e342491198401321cec1956807ec" -DEPENDS += " xproto gettext" +DEPENDS += " xproto" PROVIDES = "xau" PR = "r0"
meta/recipes-graphics/xorg-lib/libxdmcp_1.1.0.bb +2 -2
@@ -8,6 +8,8 @@ autonomous display." require xorg-lib-common.inc +inherit gettext + LICENSE = "MIT-style" LIC_FILES_CHKSUM = "file://COPYING;md5=d559fb26e129626022e052a5e6e0e123"
@@ -17,8 +19,6 @@ PROVIDES = "xdmcp" PR = "r0" PE = "1" -DEPENDS += "gettext" - XORG_PN = "libXdmcp" BBCLASSEXTEND = "native nativesdk"
meta/recipes-graphics/xorg-lib/xtrans_1.2.6.bb +2 -1
@@ -16,7 +16,8 @@ PE = "1" PR = "r0" RDEPENDS_${PN}-dev = "" -DEPENDS += "gettext" + +inherit gettext BBCLASSEXTEND = "native nativesdk"
Signature · 1 line
1.7.4.1
PATCH 15/17 attr: Fix compilation on uclibc
In reply to Khem RajIt needs -lintl added to LDFLAGS for uclibc
inherit gettext class instead of adding gettext to DEPENDS directly
--- meta/recipes-support/attr/attr.inc | 4 ++++ meta/recipes-support/attr/ea-acl.inc | 4 +--- 2 files changed, 5 insertions(+), 3 deletions(-)
meta/recipes-support/attr/attr.inc +4 -0
@@ -20,3 +20,7 @@ do_install_append() { sed -i ${D}${libdir}/libattr.la -e \ s,^libdir=\'${base_libdir}\'$,libdir=\'${libdir}\', } + +# Only append ldflags for target recipe +LDFLAGS_libc-uclibc += "${@['', '-lintl']['${PN}' == '${BPN}']}" +
meta/recipes-support/attr/ea-acl.inc +1 -3
@@ -1,11 +1,9 @@ # this build system is mostly shared by attr and acl -DEPENDS =+ "gettext" - SRC_URI += "file://relative-libdir.patch;striplevel=0 \ file://no-fixed-prog-path.patch" -inherit autotools +inherit autotools gettext # the package comes with a custom config.h.in, it cannot be # overwritten by autoheader
Signature · 1 line
1.7.4.1
PATCH 16/17 linux-tools.inc: Dummify do_compile_perf and do_install_perf for uclibc
In reply to Khem RajPerf wants elfutils and elfutils on uclibc does not work due to its usage of obstack_printf functionality missing from uclibc.
--- meta/recipes-kernel/linux/linux-tools.inc | 17 +++++++++++++---- 1 files changed, 13 insertions(+), 4 deletions(-)
meta/recipes-kernel/linux/linux-tools.inc +13 -4
@@ -1,6 +1,11 @@ # included by kernel recipes if they want to build/provide # perf functionality from their tree. - +do_compile_perf_libc-uclibc () { + : +} +do_install_perf_libc-uclibc () { + : +} do_compile_perf() { oe_runmake -C ${S}/tools/perf CC="${CC}" LD="${LD}" prefix=${prefix} NO_NEWT=1 NO_DWARF=1 }
@@ -14,6 +19,10 @@ do_install_perf() { addtask compile_perf after do_compile before do_install addtask install_perf after do_install before do_package -do_compile_perf[depends] = "virtual/libc:do_populate_sysroot" -do_compile_perf[depends] =+ "elfutils:do_populate_sysroot" -RDEPENDS_perf += "python perl elfutils" + +PERFDEPENDS = "virtual/libc:do_populate_sysroot elfutils:do_populate_sysroot" +PERFDEPENDS_libc-uclibc = "" +PERFRDEPENDS = "python perl elfutils" +PERFRDEPENDS_libc-uclibc = "" +do_compile_perf[depends] = "${PERFDEPENDS}" +RDEPENDS_perf += "${PERFRDEPENDS}"
Signature · 1 line
1.7.4.1
PATCH 17/17 alsa-utils_1.0.23.bb: Fix compilation for uclibc targets
In reply to Khem RajUse libc-uclibc override to cover all uclibc cases
inherit gettext class instead of adding gettext to DEPENDS directly
--- meta/recipes-multimedia/alsa/alsa-utils_1.0.23.bb | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-)
meta/recipes-multimedia/alsa/alsa-utils_1.0.23.bb +4 -5
@@ -5,11 +5,11 @@ SECTION = "console/utils" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833 \ file://alsactl/utils.c;beginline=1;endline=20;md5=fe9526b055e246b5558809a5ae25c0b9" -DEPENDS = "alsa-lib ncurses gettext" +DEPENDS = "alsa-lib ncurses" PR = "r0" SRC_URI = "ftp://ftp.alsa-project.org/pub/utils/alsa-utils-${PV}.tar.bz2 \ - file://ncursesfix.patch;patch=1 " + file://ncursesfix.patch" SRC_URI[md5sum] = "cb0cf46029ac9549cf3a31bff6a4f4e1" SRC_URI[sha256sum] = "b7d05e915e25f8540ad151c6dd558cf0fc1e9bb0ee23052d531c983666a1f7b0"
@@ -19,10 +19,9 @@ SRC_URI[sha256sum] = "b7d05e915e25f8540ad151c6dd558cf0fc1e9bb0ee23052d531c983666 # please close bug and remove this comment when properly fixed # EXTRA_OECONF = "--disable-xmlto" -EXTRA_OECONF_linux-uclibc = "--disable-nls" -EXTRA_OECONF_linux-uclibcgnueabi = "--disable-nls" +EXTRA_OECONF_append_libc-uclibc = " --disable-nls" -inherit autotools +inherit autotools gettext # This are all packages that we need to make. Also, the now empty alsa-utils # ipk depend on them.
Signature · 1 line
1.7.4.1