[OE-core] Dropping bash and update-alternatives-opkg dependency
Hi, I am using meta-erlang (https://github.com/joaohf/meta-erlang) to build a so called erlang-embedded image. The file tmp/deploy/images/wandboard-dual/erlang-embedded-image-minimal-wandboard-dual.manifest tells: base-files wandboard_dual 3.0.14 bash cortexa9hf-vfp-neon 4.3 erlang cortexa9hf-vfp-neon 17.5 erlang-erts cortexa9hf-vfp-neon 17.5 erlang-kernel cortexa9hf-vfp-neon 17.5 erlang-sasl cortexa9hf-vfp-neon 17.5 erlang-stdlib cortexa9hf-vfp-neon 17.5 erlang-tools cortexa9hf-vfp-neon 17.5 erlinit cortexa9hf-vfp-neon 0.6.0+git0+0a3b5c4c5b libc6 cortexa9hf-vfp-neon 2.21 libtinfo5 cortexa9hf-vfp-neon 5.9 libz1 cortexa9hf-vfp-neon 1.2.8 ncurses-terminfo-base cortexa9hf-vfp-neon 5.9yy. packagegroup-erlang-embedded all 1.0 packagegroup-erlang-embedded-erlang all 1.0 packagegroup-erlang-embedded-initscripts all 1.0 update-alternatives-opkg cortexa9hf-vfp-neon 0.1.8+git0+53274f0875 I've tried using poky and poky-tiny but I unable to figure out how to drop bash and update-alternatives-opkg. This image provides erlinit that calls erlang VM and this is all that I need to run my application. I think that postinstall scripts are responsible by depend of bash package. But I don't know how to remove this dependency. Any suggestion? Thanks. -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 0/4] linux-yocto: build fixes and BSP support
Richard, Here's the second revision of this series. I've included the braswell and qemumips fixes again, since they are still outstanding from an older pull request. On top of those, I have two fixes for KBUILD_DEFCONFIG processing and in-tree configs (reported on the mailing list), and a fix for the race condition that was likely breaking Martin's builds. Ross managed to reproduce the error locally, and that got me on the right track to find the race condition. I never did see the error locally, but the ordering fix should be correct, and it is worth getting into the mix IMHO. I've also built this for qemux86, and there are no configuration warnings, so that issue should be solved as well. Bruce The following changes since commit 4a711028c709d4bb1421e1637ae3fb0ac404fb45: oe-selftest: devtool: add a proper test to see if tap devices exist (2015-05-07 14:59:43 +0100) are available in the git repository at: git://git.pokylinux.org/poky-contrib zedd/kernel http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=zedd/kernel Bruce Ashfield (4): linux-yocto/3.19: Braswell support and bug fixes linux-yocto/3.14: fix qemumips build error linux-yocto: fix race between checkout and meta data generation kernel-yocto: propagate in tree defconfigs to WORKDIR meta/classes/kernel-yocto.bbclass | 13 +++-- meta/recipes-kernel/linux/linux-yocto-rt_3.14.bb | 4 ++-- meta/recipes-kernel/linux/linux-yocto-tiny_3.14.bb | 2 +- meta/recipes-kernel/linux/linux-yocto-tiny_3.19.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_3.14.bb | 16 meta/recipes-kernel/linux/linux-yocto_3.19.bb | 16 6 files changed, 27 insertions(+), 26 deletions(-) -- 2.1.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/4] linux-yocto/3.19: Braswell support and bug fixes
Updating to include the following commits: a4d0c407cced dmaengine: dw: don't handle interrupt when dmaengine is not used e92b2ce791b2 dmaengine: dw: define DW_DMA_MAX_NR_MASTERS 931304a6567e dmaengine: dw: provide DMA capabilities 468bad4f7a6f dmaengine: dw: Split device_control b4afd7710db7 i2c: i801: Use managed pcim_* PCI device initialization and reservation d81a8a11ecba i2c: i801: Remove pci_enable_device() call from i801_resume() 40e18604e70c i2c: i801: Use managed devm_* memory and irq allocation b54f65dbe57b i2c: i801: Remove i801_driver forward declaration e95740d4d079 i2c: i801: Don't break user-visible strings 423e98721e04 ACPI: Introduce has_acpi_companion() 291f620dc052 i2c: designware: Suppress error message if platform_get_irq() < 0 cf5ff51a8e3f i2c: designware-pci: no need to provide clk_khz 4f583ce420d3 i2c: designware-pci: remove Moorestown support e000c549c9d8 i2c: designware: Add Intel Baytrail PMIC I2C bus support 7ffbd9ca19a7 i2c: designware: fixup return handling of wait_for_completion_timeout 5758d5a1df32 i2c: designware: Do not calculate SCL timing parameters needlessly 2f58fcae92db i2c: designware: Add i2c bus locking support 84a73e51e900 i2c: designware: use {readl|writel}_relaxed instead of readl/writel f672bb8424e6 serial: 8250_dw: Fix get_mctrl behaviour 91bd64585489 serial: 8250: add support for ACPI-probed serial port for X-Gene platform 1190cba71f09 serial:8250:8250_pci: delete unneeded quirk entries 6405a4b71451 serial:8250:8250_pci: fix redundant entry report for WCH_CH352_2S 0a1a31bbbc19 serial: 8250_pci: remove one useless explicit type conversion 4edc52a55f82 intel_idle: Add support for the Airmont Core in the Cherrytrail and Braswell SOCs 934f85e8bfdb x86/irq, ACPI: Implement ACPI driver to support IOAPIC hotplug c6a3440252a8 ACPI / LPSS: check the result of ioremap() 6aacc0c931b7 pinctrl: update direction_output function of cherryview driver cb4a43a2177d pinctrl: cherryview: Configure HiZ pins to be input when requested as GPIOs 0df22c007ce1 pinctrl: intel: drop owner assignment from platform_drivers 07b16f04700b pinctrl: cherryview: Save and restore pin configs over system sleep e8e5cfffa231 pinctrl: baytrail: Save pin context over system sleep 04cb3cc0ff21 pinctrl: baytrail: Rework interrupt handling 4cac25d2574d pinctrl: baytrail: Clear interrupt triggering from pins that are in GPIO mode eacab9ab234a pinctrl: baytrail: Relax GPIO request rules Signed-off-by: Bruce Ashfield --- meta/recipes-kernel/linux/linux-yocto-tiny_3.19.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_3.19.bb | 16 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.19.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.19.bb index 1f91471dd622..50a426d665bf 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_3.19.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_3.19.bb @@ -9,7 +9,7 @@ LINUX_VERSION ?= "3.19.5" KMETA = "meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "d5d30ba4d20e65c15df624ffce7a5cd38150348b" +SRCREV_machine ?= "0a0d499541e2bb13ecc1001d0947bed6106c26a6" SRCREV_meta ?= "7215fe431391a322c7e39f410e7b8f2a2b507892" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_3.19.bb b/meta/recipes-kernel/linux/linux-yocto_3.19.bb index 6ddbe8c59336..429c019ece79 100644 --- a/meta/recipes-kernel/linux/linux-yocto_3.19.bb +++ b/meta/recipes-kernel/linux/linux-yocto_3.19.bb @@ -11,14 +11,14 @@ KBRANCH_qemux86 ?= "standard/common-pc" KBRANCH_qemux86-64 ?= "standard/common-pc-64/base" KBRANCH_qemumips64 ?= "standard/mti-malta64" -SRCREV_machine_qemuarm ?= "4f9b327ff33521c08ed279891e2a2099b5504d0e" -SRCREV_machine_qemuarm64 ?= "d5d30ba4d20e65c15df624ffce7a5cd38150348b" -SRCREV_machine_qemumips ?= "03b975caa49e6e1693d6fe5fec8f316e0481ead5" -SRCREV_machine_qemuppc ?= "9a3edc9c341e6f57423f2b4b218b83a84fc2726d" -SRCREV_machine_qemux86 ?= "d5d30ba4d20e65c15df624ffce7a5cd38150348b" -SRCREV_machine_qemux86-64 ?= "d5d30ba4d20e65c15df624ffce7a5cd38150348b" -SRCREV_machine_qemumips64 ?= "f631de1c3df29a85a4b882acf19682fe05eec0f3" -SRCREV_machine ?= "d5d30ba4d20e65c15df624ffce7a5cd38150348b" +SRCREV_machine_qemuarm ?= "060c6306d0be2726638ab18bd68977de4c7a38e5" +SRCREV_machine_qemuarm64 ?= "0a0d499541e2bb13ecc1001d0947bed6106c26a6" +SRCREV_machine_qemumips ?= "4b206f611f6d4c35a27a44e24ba0cedfc71301ec" +SRCREV_machine_qemuppc ?= "18e00694ed76d18bf020e3288a6fdce63412887d" +SRCREV_machine_qemux86 ?= "0a0d499541e2bb13ecc1001d0947bed6106c26a6" +SRCREV_machine_qemux86-64 ?= "0a0d499541e2bb13ecc1001d0947bed6106c26a6" +SRCREV_machine_qemumips64 ?= "0e31a9b3e54a2c87645f34bcbbe704ac62c04602" +SRCREV_machine ?= "0a0d499541e2bb13ecc1001d0947bed6106c26a6" SRCREV_meta ?= "7215fe431391a322c7e39f410e7b8f2a2b507892" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.19
[OE-core] [PATCH 4/4] kernel-yocto: propagate in tree defconfigs to WORKDIR
As reported by Steffen Pankratz , the previous logic of KBUILD_DEFCONFIG processing would not propagate an in tree defcofig to WORKDIR if one was not already present. We fix the propagation by copying the in tee config if a defconfig is not already in WORKDIR. Additionally we only warn (versus copying) if an in tree configuration is specified, is different than the WORKDIR version and isn't copied. Signed-off-by: Bruce Ashfield --- meta/classes/kernel-yocto.bbclass | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index 0dd5b4851361..88588d7cacc9 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -97,14 +97,15 @@ do_kernel_metadata() { if [ -n "${KBUILD_DEFCONFIG}" ]; then if [ -f "${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG}" ]; then if [ -f "${WORKDIR}/defconfig" ]; then - # If the two defconfigs are the same, leave the existing one in place + # If the two defconfig's are different, warn that we didn't overwrite the + # one already placed in WORKDIR by the fetcher. cmp "${WORKDIR}/defconfig" "${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG}" if [ $? -ne 0 ]; then - bbnote "defconfig detected in WORKDIR. ${KBUILD_DEFCONFIG} skipped" - else - cp -f ${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} ${WORKDIR}/defconfig - sccs="${WORKDIR}/defconfig" + bbwarn "defconfig detected in WORKDIR. ${KBUILD_DEFCONFIG} skipped" fi + else + cp -f ${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} ${WORKDIR}/defconfig + sccs="${WORKDIR}/defconfig" fi else bbfatal "A KBUILD_DECONFIG '${KBUILD_DEFCONFIG}' was specified, but not present in the source tree" -- 2.1.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 3/4] linux-yocto: fix race between checkout and meta data generation
There are two tasks that must run before a linux-yocto kernel is built. - Kernel checkout and relocation to work-shared (kernel_checkout) - Meta data gathering and configuration prep (kernel_metadata) The current task definitions for both are simply "before do_patch", which is correct, but kernel_checkout must run before and not race with kernel_metadata. So we set the definition of kernel_checkout to be more specific and enforce the proper ordering. [YOCTO: #7731] Signed-off-by: Bruce Ashfield --- meta/classes/kernel-yocto.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/kernel-yocto.bbclass b/meta/classes/kernel-yocto.bbclass index 650ae5a4736b..0dd5b4851361 100644 --- a/meta/classes/kernel-yocto.bbclass +++ b/meta/classes/kernel-yocto.bbclass @@ -259,7 +259,7 @@ do_kernel_checkout() { } do_kernel_checkout[dirs] = "${S}" -addtask kernel_checkout before do_patch after do_unpack +addtask kernel_checkout before do_kernel_metadata after do_unpack addtask kernel_metadata after do_validate_branches before do_patch do_kernel_metadata[depends] = "kern-tools-native:do_populate_sysroot" -- 2.1.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/4] linux-yocto/3.14: fix qemumips build error
Updating the SRCREVs to import the following fix: mips: define cpu_has_saa in common features include To avoid build failures such as the following on non-cavium platforms: | arch/mips/include/asm/atomic.h: In function 'atomic_add': | arch/mips/include/asm/atomic.h:52:6: error: 'cpu_has_saa' | undeclared (first use in this function) | if (cpu_has_saa) { | ^ We define a disabled cpu_has_saa unless the machine specific feature overrides define a value. Signed-off-by: Bruce Ashfield --- meta/recipes-kernel/linux/linux-yocto-rt_3.14.bb | 4 ++-- meta/recipes-kernel/linux/linux-yocto-tiny_3.14.bb | 2 +- meta/recipes-kernel/linux/linux-yocto_3.14.bb | 16 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/meta/recipes-kernel/linux/linux-yocto-rt_3.14.bb b/meta/recipes-kernel/linux/linux-yocto-rt_3.14.bb index 23e1688daeda..86b31738b609 100644 --- a/meta/recipes-kernel/linux/linux-yocto-rt_3.14.bb +++ b/meta/recipes-kernel/linux/linux-yocto-rt_3.14.bb @@ -3,8 +3,8 @@ KBRANCH_qemuppc ?= "standard/preempt-rt/qemuppc" require recipes-kernel/linux/linux-yocto.inc -SRCREV_machine ?= "91dc6afcecd47c08e7e13e674d8d7e9dcede5aca" -SRCREV_machine_qemuppc ?= "2655b44cfe839f6f9ba15b061e1b4d386d5821f6" +SRCREV_machine ?= "0c641a6c0e38137364535b99e43657a0cbc07cd4" +SRCREV_machine_qemuppc ?= "cfc4e296efcaa84358c9ab1cdeee6ce7c378436f" SRCREV_meta ?= "46df2668fa657162d11f96a6f1af138c562a03aa" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.14.git;bareclone=1;branch=${KBRANCH},meta;name=machine,meta" diff --git a/meta/recipes-kernel/linux/linux-yocto-tiny_3.14.bb b/meta/recipes-kernel/linux/linux-yocto-tiny_3.14.bb index 1d999650611c..d0b71c4859b1 100644 --- a/meta/recipes-kernel/linux/linux-yocto-tiny_3.14.bb +++ b/meta/recipes-kernel/linux/linux-yocto-tiny_3.14.bb @@ -9,7 +9,7 @@ LINUX_VERSION ?= "3.14.36" KMETA = "meta" KCONF_BSP_AUDIT_LEVEL = "2" -SRCREV_machine ?= "2a2be8720802fae73fbdf1da37f61d7843332ba3" +SRCREV_machine ?= "b991a586470900e3de824f5ea75653aa2150594d" SRCREV_meta ?= "46df2668fa657162d11f96a6f1af138c562a03aa" PV = "${LINUX_VERSION}+git${SRCPV}" diff --git a/meta/recipes-kernel/linux/linux-yocto_3.14.bb b/meta/recipes-kernel/linux/linux-yocto_3.14.bb index fa433b61c821..d4ea55a2398e 100644 --- a/meta/recipes-kernel/linux/linux-yocto_3.14.bb +++ b/meta/recipes-kernel/linux/linux-yocto_3.14.bb @@ -11,14 +11,14 @@ KBRANCH_qemux86 ?= "standard/common-pc/base" KBRANCH_qemux86-64 ?= "standard/common-pc-64/base" KBRANCH_qemumips64 ?= "standard/mti-malta64" -SRCREV_machine_qemuarm ?= "90f1033d72d422b4e4a8125f68cd1623d6788870" -SRCREV_machine_qemuarm64 ?= "2a2be8720802fae73fbdf1da37f61d7843332ba3" -SRCREV_machine_qemumips ?= "bc927927f774c9d12f6c4689dbfba9f5578d0b62" -SRCREV_machine_qemuppc ?= "e4dfdbf1a059e0edb1be677973f8e2c73e012c8a" -SRCREV_machine_qemux86 ?= "594bfbce3133d75d9aa569883bdeaed15eeadc8f" -SRCREV_machine_qemux86-64 ?= "2a2be8720802fae73fbdf1da37f61d7843332ba3" -SRCREV_machine_qemumips64 ?= "ea8b5406c6ec027d0475146ac84f24eb34196b78" -SRCREV_machine ?= "2a2be8720802fae73fbdf1da37f61d7843332ba3" +SRCREV_machine_qemuarm ?= "e4f91293908648d495b4f9735768633569e39b9f" +SRCREV_machine_qemuarm64 ?= "b991a586470900e3de824f5ea75653aa2150594d" +SRCREV_machine_qemumips ?= "6623389731309b0ac591736d5b438de833f195c7" +SRCREV_machine_qemuppc ?= "3217fbcd002914fba4914d2e61dabb378081fd25" +SRCREV_machine_qemux86 ?= "8794bd6a473199b2baa7a405d44cdbfa5351b60b" +SRCREV_machine_qemux86-64 ?= "b991a586470900e3de824f5ea75653aa2150594d" +SRCREV_machine_qemumips64 ?= "6649ef219b3bf6da1678547b9da376367520e80a" +SRCREV_machine ?= "b991a586470900e3de824f5ea75653aa2150594d" SRCREV_meta ?= "46df2668fa657162d11f96a6f1af138c562a03aa" SRC_URI = "git://git.yoctoproject.org/linux-yocto-3.14.git;bareclone=1;branch=${KBRANCH},${KMETA};name=machine,meta" -- 2.1.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] grep_2.5.1a: fix grep for LSB compliance.
The LSB test requires the grep egrep and fgrep can perform pattern matching in searches without regard to case if -i option is specified. Signed-off-by: Li Xin --- .../grep/grep-2.5.1a/grep-fix-LSB-NG-Cases.patch | 1414 meta/recipes-extended/grep/grep_2.5.1a.bb |4 +- 2 files changed, 1417 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-extended/grep/grep-2.5.1a/grep-fix-LSB-NG-Cases.patch diff --git a/meta/recipes-extended/grep/grep-2.5.1a/grep-fix-LSB-NG-Cases.patch b/meta/recipes-extended/grep/grep-2.5.1a/grep-fix-LSB-NG-Cases.patch new file mode 100644 index 000..6ed6968 --- /dev/null +++ b/meta/recipes-extended/grep/grep-2.5.1a/grep-fix-LSB-NG-Cases.patch @@ -0,0 +1,1414 @@ +From baf14fa6a796753d3b74d74fa69fff0d38fea540 Mon Sep 17 00:00:00 2001 +From: Li xin +Date: Thu, 7 May 2015 18:28:46 +0900 +Subject: [PATCH] grep: fix LSB NG Cases. + +NG Cases: +/tset/LI18NUX2K.L1/utils/egrep-tp/T.egrep-tp 5 +/tset/LI18NUX2K.L1/utils/fgrep/T.fgrep 5 +/tset/LI18NUX2K.L1/utils/grep-tp/T.grep-tp 5 + +this patch is from Debian. + +Upstream-Status: pending + +Signed-off-by: Li Xin +--- + doc/grep.1| 5 +- + doc/grep.texi | 2 +- + lib/posix/regex.h | 4 + + src/dfa.c | 22 +- + src/grep.c| 96 --- + src/search.c | 833 +- + tests/Makefile.am | 3 +- + tests/Makefile.in | 3 +- + 8 files changed, 776 insertions(+), 192 deletions(-) + +diff --git a/doc/grep.1 b/doc/grep.1 +index 314669a..02288ff 100644 +--- a/doc/grep.1 b/doc/grep.1 +@@ -191,6 +191,7 @@ Interpret + .I PATTERN + as a list of fixed strings, separated by newlines, + any of which is to be matched. ++.TP + .BR \-P ", " \-\^\-perl-regexp + Interpret + .I PATTERN +@@ -300,9 +301,9 @@ Show only the part of a matching line that matches + Displays input actually coming from standard input as input coming from file + .I LABEL. + This is especially useful for tools like zgrep, e.g. +-.B "gzip -cd foo.gz |grep --label=foo something" ++.B "gzip -cd foo.gz |grep -H --label=foo something" + .TP +-.BR \-\^\-line-buffering ++.BR \-\^\-line-buffered + Use line buffering, it can be a performance penality. + .TP + .BR \-q ", " \-\^\-quiet ", " \-\^\-silent +diff --git a/doc/grep.texi b/doc/grep.texi +index 0aa2f4a..d84ed8a 100644 +--- a/doc/grep.texi b/doc/grep.texi +@@ -364,7 +364,7 @@ Set the line buffering policy, this can be a performance penality. + @cindex changing name of standard input + Displays input actually coming from standard input as input coming from file + @var{LABEL}. This is especially useful for tools like zgrep, e.g. +-@command{gzip -cd foo.gz |grep --label=foo something} ++@command{gzip -cd foo.gz |grep -H --label=foo something} + + @item -L + @itemx --files-without-match +diff --git a/lib/posix/regex.h b/lib/posix/regex.h +index 63c2fef..7bb2b0e 100644 +--- a/lib/posix/regex.h b/lib/posix/regex.h +@@ -109,6 +109,10 @@ typedef unsigned long int reg_syntax_t; +If not set, \{, \}, {, and } are literals. */ + #define RE_INTERVALS (RE_HAT_LISTS_NOT_NEWLINE << 1) + ++/* If this bit is set, then ignore case when matching. ++ If not set, then case is significant. */ ++#define RE_ICASE (RE_INVALID_INTERVAL_ORD << 1) ++ + /* If this bit is set, +, ? and | aren't recognized as operators. +If not set, they are. */ + #define RE_LIMITED_OPS (RE_INTERVALS << 1) +diff --git a/src/dfa.c b/src/dfa.c +index 590bfa7..27c876a 100644 +--- a/src/dfa.c b/src/dfa.c +@@ -414,7 +414,7 @@ update_mb_len_index (unsigned char const *p, int len) + + /* This function fetch a wide character, and update cur_mb_len, +used only if the current locale is a multibyte environment. */ +-static wchar_t ++static wint_t + fetch_wc (char const *eoferr) + { + wchar_t wc; +@@ -423,7 +423,7 @@ fetch_wc (char const *eoferr) + if (eoferr != 0) + dfaerror (eoferr); + else +- return -1; ++ return WEOF; + } + + cur_mb_len = mbrtowc(&wc, lexptr, lexleft, &mbs); +@@ -459,7 +459,7 @@ fetch_wc (char const *eoferr) + static void + parse_bracket_exp_mb () + { +- wchar_t wc, wc1, wc2; ++ wint_t wc, wc1, wc2; + + /* Work area to build a mb_char_classes. */ + struct mb_char_classes *work_mbc; +@@ -496,7 +496,7 @@ parse_bracket_exp_mb () + work_mbc->invert = 0; + do + { +- wc1 = -1; /* mark wc1 is not initialized". */ ++ wc1 = WEOF; /* mark wc1 is not initialized". */ + + /* Note that if we're looking at some other [:...:] construct, +we just treat it as a bunch of ordinary characters. We can do +@@ -586,7 +586,7 @@ parse_bracket_exp_mb () + work_mbc->coll_elems[work_mbc->ncoll_elems++] = elem; + } + } +-wc = -1; ++wc1 = wc = WEOF; + } + else + /* We treat '[' as a normal character here. */ +@@ -600,7 +600,7 @@ parse_bracket_exp_mb ()
Re: [OE-core] [PATCH V2 0/2] populate_sdk_ext: two fixes
ping On 05/04/2015 03:59 PM, Chen Qi wrote: The following changes since commit 4dd4b96b6d60246338bb30ede9f3ab1b2e757be9: libxfont: Security Advisory - libxfont - CVE-2015-1804 (2015-04-28 07:56:01 +0100) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib ChenQi/populate_sdk_ext_2_fixes http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=ChenQi/populate_sdk_ext_2_fixes Chen Qi (2): populate_sdk_ext: install the latest buildtools-tarball populate_sdk_ext: consider custom configuration in local.conf meta/classes/populate_sdk_ext.bbclass | 24 +++- 1 file changed, 23 insertions(+), 1 deletion(-) -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [2/2] image.bbclass/rootfs.py: PREFERRED_PROVIDER for rdepends
Add item (package name) to list that is searched for possible PREFERRED_PROVIDER's. The WARNING from bitbake suggested specifying a PREFERRED_PROVIDER for the package name, but setting it did nothing because the filterRunTimeProviders searched only for the recipe names. For the example case in bug #6149, bitbake looks for PREFERRED_PROVIDER_openssh and PREFERRED_provider_dropbear. This change allows PREFERRED_PROVIDER_sshd="dropbear". Signed-off-by: Jate Sujjavanich The following changes since commit efe5b0940a6abc7348d8c60c456d93f5de8dda89: providers.py: Add package name to PREFERRED_PROVIDER search (2015-05-07 19:07:18 -0400) are available in the git repository at: git://github.com/jatedev/poky.git oe-core-image-rdepend-alt for you to fetch changes up to 60e7c872713ec2bef97a8bd5090d72e5e713ef31: image.bbclass/rootfs.py: PREFERRED_PROVIDER for rdepends (2015-05-07 19:07:45 -0400) Jate Sujjavanich (1): image.bbclass/rootfs.py: PREFERRED_PROVIDER for rdepends meta/classes/image.bbclass | 14 ++ meta/lib/oe/rootfs.py |2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/meta/classes/image.bbclass b/meta/classes/image.bbclass index 01f8b3f..9bcc369 100644 --- a/meta/classes/image.bbclass +++ b/meta/classes/image.bbclass @@ -283,6 +283,20 @@ python rootfs_process_ignore() { } do_rootfs[prefuncs] += "rootfs_process_ignore" +python rootfs_process_preferred_providers() { +inst_pkgs = d.getVar("PACKAGE_INSTALL", True).split() +pref_pkgs = list() +for pkg in inst_pkgs: +prefervar = d.getVar("PREFERRED_PROVIDER_%s" % pkg, True) +if prefervar: +inst_pkgs.remove(pkg) +pref_pkgs.append(prefervar) +bb.note("Selecting %s to provide %s due to PREFERRED_PROVIDER" % (prefervar, pkg)) +inst_pkgs.extend(pref_pkgs) +d.setVar("PACKAGE_INSTALL", ' '.join(inst_pkgs)) +} +do_rootfs[prefuncs] += "rootfs_process_preferred_providers" + # We have to delay the runtime_mapping_rename until just before rootfs runs # otherwise, the multilib renaming could step in and squash any fixups that # may have occurred. diff --git a/meta/lib/oe/rootfs.py b/meta/lib/oe/rootfs.py index 6fb749f..64fa153 100644 --- a/meta/lib/oe/rootfs.py +++ b/meta/lib/oe/rootfs.py @@ -393,7 +393,7 @@ class RpmRootfs(Rootfs): pass def _log_check_error(self): -r = re.compile('(unpacking of archive failed|Cannot find package|exit 1|ERR|Fail)') +r = re.compile('(unpacking of archive failed|Cannot find package|exit 1|ERR(?!ED_PROVIDER)|Fail)') log_path = self.d.expand("${T}/log.do_rootfs") with open(log_path, 'r') as log: found_error = 0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [1/2] providers.py: Add package name to PREFERRED_PROVIDER search
Add rootfs_process_preferred_providers to image.bbclass. In PACKAGE_INSTALL, this substitutes the requested package with the provider. Change regex in RpmRootfs._log_check_error to allow log message about PREFERRED_PROVIDER. Signed-off-by: Jate Sujjavanich The following changes since commit 7a8f37daa7b42905233c31366915b897886a957a: dev-manual: Updates to add Luna support for Eclipse (2015-05-03 11:49:35 +0100) are available in the git repository at: git://github.com/jatedev/poky.git preferred-provider-runtime for you to fetch changes up to efe5b0940a6abc7348d8c60c456d93f5de8dda89: providers.py: Add package name to PREFERRED_PROVIDER search (2015-05-07 19:07:18 -0400) Jate Sujjavanich (1): providers.py: Add package name to PREFERRED_PROVIDER search bitbake/lib/bb/providers.py |1 + 1 file changed, 1 insertion(+) diff --git a/bitbake/lib/bb/providers.py b/bitbake/lib/bb/providers.py index 637e1fa..b6c294e 100644 --- a/bitbake/lib/bb/providers.py +++ b/bitbake/lib/bb/providers.py @@ -323,6 +323,7 @@ def filterProvidersRunTime(providers, item, cfgData, dataCache): for p in eligible: pn = dataCache.pkg_fn[p] provides = dataCache.pn_provides[pn] +provides.append(item) for provide in provides: prefervar = cfgData.getVar('PREFERRED_PROVIDER_%s' % provide, True) #logger.debug(1, "checking PREFERRED_PROVIDER_%s (value %s) against %s", provide, prefervar, pns.keys()) -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [0/2] Yocto Bug #6149, #5044
I came across these bugs in poky 1.6.3 (daisy) with multiple package providers. I fixed bug 6149 with just bitbake patch. I came across another bug with this when I tried the bitbake fix on master. With the test case IMAGE_INSTALL_append = " sshd" PREFERRED_PROVIDER_sshd="dropbear" meta/lib/oe/package_manager.py reported a package not found in the base feeds. The file image.bbclass starts copies IMAGE_INSTALL to PACKAGE_INSTALL and performs fix ups for multilib, etc. I added another function (rootfs_process_preferred_providers) to replace sshd in PACKAGE_INSTALL with dropbear. This eliminated the error. The mega-manual is vague when it describes what can be specified in PREFERRED_PROVIDER: an item. And the code partially supports run-time packages as a valid item on the left. My implementation assumes a package name on the right. Yocto bug 5044 suggests traversing from the package name to the virtual/* provider, but I have not thought through how this might work. IMAGE_INSTALL_append = " libasound-module-bluez" PREFERRED_PROVIDER_libasound-module-bluez="bluez4" I got this working on poky 1.6.3, but some changes to the bluez recipes on master seemed to mitigate the original problem. - Jate S. -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH V3 3/3] systemd: split modules into packages
On Qui, 2015-05-07 at 20:58 +0200, Andreas Oberritter wrote: > On 07.05.2015 18:40, Bruno Bottazzini wrote: > > if one wants to launch a simple deamon, most modules are not > > required. > > He will be able to save space and exclude unwanted packages > > from the final image. > > > > Signed-off-by: Bruno Bottazzini > > --- > > meta/recipes-core/systemd/systemd_219.bb | 1063 > > ++ > > 1 file changed, 938 insertions(+), 125 deletions(-) > > > > diff --git a/meta/recipes-core/systemd/systemd_219.bb > > b/meta/recipes-core/systemd/systemd_219.bb > > index b4bff18..629c7fc 100644 > > --- a/meta/recipes-core/systemd/systemd_219.bb > > +++ b/meta/recipes-core/systemd/systemd_219.bb > > @@ -60,9 +60,55 @@ LDFLAGS_append_libc-uclibc = " -lrt" > > GTKDOC_DOCDIR = "${S}/docs/" > > > > PACKAGECONFIG ??= "xz ldconfig \ > > + getty \ > > + sysvcompat \ > > + nspawn \ > > + machined \ > > + bootchart \ > > + zsh \ > > + rpm-macros \ > > + kernel-install \ > > + initramfs \ > > + bash \ > > + tools \ > > + udev \ > > + tmpfiles \ > > + sysusers \ > > + sysctl \ > > + sleep \ > > + randomseed \ > > + modules-load \ > > + journal \ > > + fsck \ > > + preset \ > > + filesystems \ > > + vconsole \ > > + update \ > > + timesyncd \ > > + rfkill \ > > + quota \ > > + fuse \ > > + firstboot \ > > + dbus \ > > + binfmt \ > > + backlight \ > > + ask-password \ > > I think it may be better to sort this quite long list alphabetically. > > Are these options already enabled today? Yes, it is enabled. This is the default packages enabled in the current recipe. > Because of the new > packageconfig entries, I would have expected changes to EXTRA_OECONF and > DEPENDS, which I don't see in your patch. Some packages does not have EXTRA_OECONF. You can see what this recipe DEPENDS by looking at ${PN}-services-base. Regards, > > Regards, > Andreas > > > ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', > > '', d)} \ > > ${@bb.utils.contains('DISTRO_FEATURES', 'x11', > > 'xkbcommon', '', d)}" > > > > +PACKAGECONFIG[glib] = "--enable-gudev,--disable-gudev,glib-2.0" > > +PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl" > > +PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux" > > +PACKAGECONFIG[efi] = "--enable-efi,--disable-efi" > > +PACKAGECONFIG[kmod] = "--enable-kmod,--disable-kmod,kmod" > > +PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit" > > +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" > > +PACKAGECONFIG[smack] = "--enable-smack,--disable-smack" > > +PACKAGECONFIG[ima] = "--enable-ima,--disable-ima" > > +PACKAGECONFIG[apparmor] = > > "--enable-apparmor,--disable-apparmor,libapparmor" > > +PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp" > > +PACKAGECONFIG[qrencode] = > > "--enable-qrencode,--disable-qrencode,libqrencode" > > +PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4" > > PACKAGECONFIG[journal-upload] = "--enable-libcurl,--disable-libcurl,curl" > > # Sign the journal for anti-tampering > > PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt" > > @@ -206,158 +252,742 @@ do_install_ptest () { > > > > python populate_packages_prepend (){ > > systemdlibdir = d.getVar("rootlibdir", True) > > -do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', > > 'Systemd %s library', extra_depends='', allow_links=True) > > +do_split_packages(d, systemdlibdir, > > '^lib(udev|gudev|systemd|nss)\.so\.*', 'lib%s', 'Systemd %s library', > > extra_depends='', allow_links=True) > > } > > -PACKAGES_DYNAMIC += "^lib(udev|systemd).*" > > +PACKAGES_DYNAMIC += "^lib(udev|gudev|systemd|nss).*" > > + > > + > > +# Base Packages > > + > > + > > +PACKAGES =+ "${PN}-generators-filesystems" > > +SUMMARY_${PN}-generators-filesystems = "Unit generator for /etc/fstab" > > +RDEPENDS_${PN}-generators-filesystems = "${PN}-services-fsck" > > +FILES_${PN}-generators-filesystems = "\ > > + > > ${rootlibexecdir}/systemd/system-generators/systemd-fstab-generator \ > > + > > ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \ > > +${rootlibexecdir}/systemd/systemd-remount-
Re: [OE-core] [PATCH V3 2/3] systemd: Verify if journal-flush.service exists.
On Qui, 2015-05-07 at 20:49 +0200, Andreas Oberritter wrote: > Hello Bruno, > > On 07.05.2015 18:40, Bruno Bottazzini wrote: > > If the users wants to enable networkd this file will not be generate and the > > installation will fail. > > > > Signed-off-by: Bruno Bottazzini > > --- > > meta/recipes-core/systemd/systemd_219.bb | 7 +-- > > 1 file changed, 5 insertions(+), 2 deletions(-) > > > > diff --git a/meta/recipes-core/systemd/systemd_219.bb > > b/meta/recipes-core/systemd/systemd_219.bb > > index c196017..b4bff18 100644 > > --- a/meta/recipes-core/systemd/systemd_219.bb > > +++ b/meta/recipes-core/systemd/systemd_219.bb > > @@ -177,8 +177,11 @@ do_install() { > > sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' > > ${D}${sysconfdir}/systemd/journald.conf > > # its needed in 216 upstream has fixed it with > > 919699ec301ea507edce4a619141ed22e789ac0d > > # don't order journal flushing afte remote-fs.target > > - sed -i -e 's/ remote-fs.target$//' > > ${D}${systemd_unitdir}/system/systemd-journal-flush.service > > - # this file is needed to exist if networkd is disabled but timesyncd is > > still in use since timesyncd checks it > > + if [ -s ${D}${systemd_unitdir}/system/systemd-journal-flush.service ]; > > then > > +# this file is needed to exist if networkd is disabled but > > timesyncd is still in use since timesyncd checks it > > +sed -i -e 's/ remote-fs.target$//' > > ${D}${systemd_unitdir}/system/systemd-journal-flush.service > > +fi > > + > > According to the comment above, this is a workaround specific to 216. > Commit 919699ec301ea507edce4a619141ed22e789ac0d made it into 218. So > maybe these lines should just get removed. Andreas, You are right. I have checked and tested. It is upstreamed and It is not needed. I will remove it and send another patch. Best Regards, > Regards, > Andreas -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCHv2 1/4] license_class: Reimplemented manifest creation in python
Reimplemented license_manifest_create from shell to python for INCOMPATIBLE_LICENSE handle using oe.license module. Optimizations are made to avoid license copy now uses a hardlink and symbolic link this helps to save space during build. Signed-off-by: Aníbal Limón --- meta/classes/license.bbclass | 163 ++- 1 file changed, 82 insertions(+), 81 deletions(-) diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index d9409a9..975867d 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass @@ -25,87 +25,88 @@ python write_package_manifest() { 'w+').write(image_list_installed_packages(d)) } -license_create_manifest() { -# Test if BUILD_IMAGES_FROM_FEEDS is defined in env -if [ -n "${BUILD_IMAGES_FROM_FEEDS}" ]; then - exit 0 -fi - - INSTALLED_PKGS=`cat ${LICENSE_DIRECTORY}/${IMAGE_NAME}/package.manifest` - LICENSE_MANIFEST="${LICENSE_DIRECTORY}/${IMAGE_NAME}/license.manifest" - # remove existing license.manifest file - if [ -f ${LICENSE_MANIFEST} ]; then - rm ${LICENSE_MANIFEST} - fi - touch ${LICENSE_MANIFEST} - for pkg in ${INSTALLED_PKGS}; do - filename=`ls ${PKGDATA_DIR}/runtime-reverse/${pkg}| head -1` - pkged_pn="$(sed -n 's/^PN: //p' ${filename})" - - # check to see if the package name exists in the manifest. if so, bail. - if grep -q "^PACKAGE NAME: ${pkg}" ${LICENSE_MANIFEST}; then - continue - fi - - pkged_pv="$(sed -n 's/^PV: //p' ${filename})" - pkged_name="$(basename $(readlink ${filename}))" - pkged_lic="$(sed -n "/^LICENSE_${pkged_name}: /{ s/^LICENSE_${pkged_name}: //; p }" ${filename})" - pkged_size="$(sed -n "/^PKGSIZE_${pkged_name}: /{ s/^PKGSIZE_${pkged_name}: //; p }" ${filename})" - if [ -z "${pkged_lic}" ]; then - # fallback checking value of LICENSE - pkged_lic="$(sed -n "/^LICENSE: /{ s/^LICENSE: //; p }" ${filename})" - fi - - echo "PACKAGE NAME:" ${pkg} >> ${LICENSE_MANIFEST} - echo "PACKAGE VERSION:" ${pkged_pv} >> ${LICENSE_MANIFEST} - echo "RECIPE NAME:" ${pkged_pn} >> ${LICENSE_MANIFEST} - echo "LICENSE:" ${pkged_lic} >> ${LICENSE_MANIFEST} - echo "" >> ${LICENSE_MANIFEST} - - # If the package doesn't contain any file, that is, its size is 0, the license - # isn't relevant as far as the final image is concerned. So doing license check - # doesn't make much sense, skip it. - if [ "$pkged_size" = "0" ]; then - continue - fi - - lics="$(echo ${pkged_lic} | sed "s/[|&()*]/ /g" | sed "s/ */ /g" )" - for lic in ${lics}; do - # to reference a license file trim trailing + symbol - if ! [ -e "${LICENSE_DIRECTORY}/${pkged_pn}/generic_${lic%+}" ]; then - bbwarn "The license listed ${lic} was not in the licenses collected for ${pkged_pn}" - fi - done - done - - # Two options here: - # - Just copy the manifest - # - Copy the manifest and the license directories - # With both options set we see a .5 M increase in core-image-minimal - if [ "${COPY_LIC_MANIFEST}" = "1" ]; then - mkdir -p ${IMAGE_ROOTFS}/usr/share/common-licenses/ - cp ${LICENSE_MANIFEST} ${IMAGE_ROOTFS}/usr/share/common-licenses/license.manifest - if [ "${COPY_LIC_DIRS}" = "1" ]; then - for pkg in ${INSTALLED_PKGS}; do - mkdir -p ${IMAGE_ROOTFS}/usr/share/common-licenses/${pkg} - pkged_pn="$(oe-pkgdata-util -p ${PKGDATA_DIR} lookup-recipe ${pkg})" - for lic in `ls ${LICENSE_DIRECTORY}/${pkged_pn}`; do - # Really don't need to copy the generics as they're - # represented in the manifest and in the actual pkg licenses - # Doing so would make your image quite a bit larger - if [ "${lic#generic_}" = "${lic}" ]; then - cp ${LICENSE_DIRECTORY}/${pkged_pn}/${lic} ${IMAGE_ROOTFS}/usr/share/common-licenses/${pkg}/${lic} - else - if [ ! -f ${IMAGE_ROOTFS}/usr/share/common-licenses/${lic} ]; then - cp ${LICENSE_DIRECTORY}/${pkged_pn}/${lic} ${IMAGE_ROOTFS}/usr/share/common-licenses/ -
[OE-core] [PATCHv2 3/4] license: Split visit_string in LicenseVisitor
Create get_elements and visit_elements in LicenseVisitor based on visit_string this allow to do modifications on elements before parsing with AST. Signed-off-by: Aníbal Limón --- meta/lib/oe/license.py | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/meta/lib/oe/license.py b/meta/lib/oe/license.py index bc146a28..254279d 100644 --- a/meta/lib/oe/license.py +++ b/meta/lib/oe/license.py @@ -44,8 +44,8 @@ license_operator = re.compile('([' + license_operator_chars + '])') license_pattern = re.compile('[a-zA-Z0-9.+_\-]+$') class LicenseVisitor(ast.NodeVisitor): -"""Syntax tree visitor which can accept OpenEmbedded license strings""" -def visit_string(self, licensestr): +"""Get elements based on OpenEmbedded license strings""" +def get_elements(self, licensestr): new_elements = [] elements = filter(lambda x: x.strip(), license_operator.split(licensestr)) for pos, element in enumerate(elements): @@ -57,7 +57,16 @@ class LicenseVisitor(ast.NodeVisitor): raise InvalidLicense(element) new_elements.append(element) -self.visit(ast.parse(' '.join(new_elements))) +return new_elements + +"""Syntax tree visitor which can accept elements previously generated with +OpenEmbedded license string""" +def visit_elements(self, elements): +self.visit(ast.parse(' '.join(elements))) + +"""Syntax tree visitor which can accept OpenEmbedded license strings""" +def visit_string(self, licensestr): +self.visit_elements(self.get_elements(licensestr)) class FlattenVisitor(LicenseVisitor): """Flatten a license tree (parsed from a string) by selecting one of each -- 1.8.4.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCHv2 4/4] license: Add support for handle INCOMPATIBLE_LICENSE in manifest creation
When INCOMPATIBLE_LICENSE's is specified it need to be removed from license.manifest and also avoid copy to target image. Add ManifestVisitor that walk the license string searching for INCOMPATIBLE_LICENSE's if found remove it. [YOCTO #6765] Signed-off-by: Aníbal Limón --- meta/classes/license.bbclass | 29 +++-- meta/lib/oe/license.py | 77 2 files changed, 103 insertions(+), 3 deletions(-) diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index 780b9d5..54ab123 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass @@ -29,6 +29,10 @@ python license_create_manifest() { import re import oe.packagedata +bad_licenses = (d.getVar("INCOMPATIBLE_LICENSE", True) or "").split() +bad_licenses = map(lambda l: canonical_license(d, l), bad_licenses) +bad_licenses = expand_wildcard_licenses(d, bad_licenses) + build_images_from_feeds = d.getVar('BUILD_IMAGES_FROM_FEEDS', True) if build_images_from_feeds == "1": return 0 @@ -52,6 +56,18 @@ python license_create_manifest() { d.getVar('IMAGE_NAME', True), 'license.manifest') with open(license_manifest, "w") as license_file: for pkg in sorted(pkg_dic): +if bad_licenses: +try: +(pkg_dic[pkg]["LICENSE"], pkg_dic[pkg]["LICENSES"]) = \ +oe.license.manifest_licenses(pkg_dic[pkg]["LICENSE"], +bad_licenses, canonical_license, d) +except oe.license.LicenseError as exc: +bb.fatal('%s: %s' % (d.getVar('P', True), exc)) +else: +pkg_dic[pkg]["LICENSES"] = re.sub('[|&()*]', '', pkg_dic[pkg]["LICENSE"]) +pkg_dic[pkg]["LICENSES"] = re.sub(' *', ' ', pkg_dic[pkg]["LICENSES"]) +pkg_dic[pkg]["LICENSES"] = pkg_dic[pkg]["LICENSES"].split() + license_file.write("PACKAGE NAME: %s\n" % pkg) license_file.write("PACKAGE VERSION: %s\n" % pkg_dic[pkg]["PV"]) license_file.write("RECIPE NAME: %s\n" % pkg_dic[pkg]["PN"]) @@ -63,9 +79,7 @@ python license_create_manifest() { if pkg_dic[pkg]["PKGSIZE_%s" % pkg] == "0": continue -licenses = re.sub('[|&()*]', '', pkg_dic[pkg]["LICENSE"]) -licenses = re.sub(' *', ' ', licenses) -for lic in licenses.split(): +for lic in pkg_dic[pkg]["LICENSES"]: lic_file = os.path.join(d.getVar('LICENSE_DIRECTORY', True), pkg_dic[pkg]["PN"], "generic_%s" % re.sub('\+', '', lic)) @@ -101,11 +115,20 @@ python license_create_manifest() { pkg_rootfs_license = os.path.join(pkg_rootfs_license_dir, lic) if re.match("^generic_.*$", lic): +generic_lic = re.search("^generic_(.*)$", lic).group(1) +if oe.license.license_ok(canonical_license(d, +generic_lic), bad_licenses) == False: +continue + if not os.path.exists(rootfs_license): os.link(pkg_license, rootfs_license) os.symlink(os.path.join('..', lic), pkg_rootfs_license) else: +if oe.license.license_ok(canonical_license(d, +lic), bad_licenses) == False: +continue + os.link(pkg_license, pkg_rootfs_license) } diff --git a/meta/lib/oe/license.py b/meta/lib/oe/license.py index 254279d..f0f661c 100644 --- a/meta/lib/oe/license.py +++ b/meta/lib/oe/license.py @@ -138,3 +138,80 @@ def is_included(licensestr, whitelist=None, blacklist=None): return False, excluded else: return True, included + +class ManifestVisitor(LicenseVisitor): +"""Walk license tree (parsed from a string) removing the incompatible +licenses specified""" +def __init__(self, dont_want_licenses, canonical_license, d): +self._dont_want_licenses = dont_want_licenses +self._canonical_license = canonical_license +self._d = d +self._operators = [] + +self.licenses = [] +self.licensestr = '' + +LicenseVisitor.__init__(self) + +def visit(self, node): +if isinstance(node, ast.Str): +lic = node.s + +if license_ok(self._canonical_license(self._d, lic), +self._dont_want_licenses) == True: +if self._operators: +ops = [] +for op in self._operators: +if op == '[': +ops.append(op) +elif op == ']': +ops.append(op) +
[OE-core] [PATCHv2 2/4] license_class: Generalize license_ok function
Add dont_want_licenses as parameter to license_ok function and move it to oe.license module in order to use in other modules. Signed-off-by: Aníbal Limón --- meta/classes/license.bbclass | 21 - meta/lib/oe/license.py | 14 ++ 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/meta/classes/license.bbclass b/meta/classes/license.bbclass index 975867d..780b9d5 100644 --- a/meta/classes/license.bbclass +++ b/meta/classes/license.bbclass @@ -341,36 +341,23 @@ def incompatible_license(d, dont_want_licenses, package=None): take into consideration 'or' operand. dont_want_licenses should be passed as canonical (SPDX) names. """ -import re import oe.license -from fnmatch import fnmatchcase as fnmatch license = d.getVar("LICENSE_%s" % package, True) if package else None if not license: license = d.getVar('LICENSE', True) -def license_ok(license): -for dwl in dont_want_licenses: -# If you want to exclude license named generically 'X', we -# surely want to exclude 'X+' as well. In consequence, we -# will exclude a trailing '+' character from LICENSE in -# case INCOMPATIBLE_LICENSE is not a 'X+' license. -lic = license -if not re.search('\+$', dwl): -lic = re.sub('\+', '', license) -if fnmatch(lic, dwl): -return False -return True - # Handles an "or" or two license sets provided by # flattened_licenses(), pick one that works if possible. def choose_lic_set(a, b): -return a if all(license_ok(lic) for lic in a) else b +return a if all(oe.license.license_ok(lic, dont_want_licenses) \ +for lic in a) else b try: licenses = oe.license.flattened_licenses(license, choose_lic_set) except oe.license.LicenseError as exc: bb.fatal('%s: %s' % (d.getVar('P', True), exc)) -return any(not license_ok(canonical_license(d, l)) for l in licenses) +return any(not oe.license.license_ok(canonical_license(d, l), \ + dont_want_licenses) for l in licenses) def check_license_flags(d): """ diff --git a/meta/lib/oe/license.py b/meta/lib/oe/license.py index 31ca15b..bc146a28 100644 --- a/meta/lib/oe/license.py +++ b/meta/lib/oe/license.py @@ -5,6 +5,20 @@ import ast import re from fnmatch import fnmatchcase as fnmatch +def license_ok(license, dont_want_licenses): +""" Return False if License exist in dont_want_licenses else True """ +for dwl in dont_want_licenses: +# If you want to exclude license named generically 'X', we +# surely want to exclude 'X+' as well. In consequence, we +# will exclude a trailing '+' character from LICENSE in +# case INCOMPATIBLE_LICENSE is not a 'X+' license. +lic = license +if not re.search('\+$', dwl): +lic = re.sub('\+', '', license) +if fnmatch(lic, dwl): +return False +return True + class LicenseError(Exception): pass -- 1.8.4.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCHv2 0/4] Add support to handle INCOMPATIBLE_LICENSE
The next changes are to add support for handle INCOMPATIBLE_LICENSE in manifest creation, in order to do it the license_create_manifest was reimplemented in python and also added some tweaks for save disk space during build. This patchset v2 fixes an issue when try to handle () into ManifestVisitor for more info see next patches, license: Split visit_string in LicenseVisitor license: Add support for handle INCOMPATIBLE_LICENSE in manifest creation The following changes since commit 4a711028c709d4bb1421e1637ae3fb0ac404fb45: oe-selftest: devtool: add a proper test to see if tap devices exist (2015-05-07 14:59:43 +0100) are available in the git repository at: git://git.yoctoproject.org/poky-contrib alimon/license-v2 http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=alimon/license-v2 Aníbal Limón (4): license_class: Reimplemented manifest creation in python license_class: Generalize license_ok function license: Split visit_string in LicenseVisitor license: Add support for handle INCOMPATIBLE_LICENSE in manifest creation meta/classes/license.bbclass | 205 +++ meta/lib/oe/license.py | 106 +- 2 files changed, 211 insertions(+), 100 deletions(-) -- 1.8.4.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 2/2] cscope: add
On Wed, May 6, 2015 at 6:38 PM, Igor Santos wrote: > Cscope is an interactive, screen-oriented tool that allows the user to > browse through C source files for specified elements of code. > > Signed-off-by: Igor Santos meta-oe please. Igor, generally speaking, you shouldn't add new recipes to OE-Core except if there is a very good reason to do so. -- Otavio Salvador O.S. Systems http://www.ossystems.com.brhttp://code.ossystems.com.br Mobile: +55 (53) 9981-7854Mobile: +1 (347) 903-9750 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [oe-core][PATCH 1/1] distro_features_check: add any of test
Add a test for distro features including one or more items in a list. This is useful when, for example, we need either x11 or directfb as a feature. Signed-off-by: Joe Slater --- meta/classes/distro_features_check.bbclass | 13 +++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/meta/classes/distro_features_check.bbclass b/meta/classes/distro_features_check.bbclass index 1f1d6fb..7e91dbc 100644 --- a/meta/classes/distro_features_check.bbclass +++ b/meta/classes/distro_features_check.bbclass @@ -1,5 +1,7 @@ # Allow checking of required and conflicting DISTRO_FEATURES # +# ANY_OF_DISTRO_FEATURES: ensure at least one item on this list is included +# in DISTRO_FEATURES. # REQUIRED_DISTRO_FEATURES: ensure every item on this list is included # in DISTRO_FEATURES. # CONFLICT_DISTRO_FEATURES: ensure no item in this list is included in @@ -8,10 +10,18 @@ # Copyright 2013 (C) O.S. Systems Software LTDA. python () { +# Assume at least one var is set. +distro_features = (d.getVar('DISTRO_FEATURES', True) or "").split() + +any_of_distro_features = d.getVar('ANY_OF_DISTRO_FEATURES', True) +if any_of_distro_features: +any_of_distro_features = any_of_distro_features.split() +if set.isdisjoint(set(any_of_distro_features),set(distro_features)): +raise bb.parse.SkipPackage("one of '%s' needs to be in DISTRO_FEATURES" % any_of_distro_features) + required_distro_features = d.getVar('REQUIRED_DISTRO_FEATURES', True) if required_distro_features: required_distro_features = required_distro_features.split() -distro_features = (d.getVar('DISTRO_FEATURES', True) or "").split() for f in required_distro_features: if f in distro_features: continue @@ -21,7 +31,6 @@ python () { conflict_distro_features = d.getVar('CONFLICT_DISTRO_FEATURES', True) if conflict_distro_features: conflict_distro_features = conflict_distro_features.split() -distro_features = (d.getVar('DISTRO_FEATURES', True) or "").split() for f in conflict_distro_features: if f in distro_features: raise bb.parse.SkipPackage("conflicting distro feature '%s' (in DISTRO_FEATURES)" % f) -- 1.7.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] KBUILD_DEFCONFIG issue
On Thu, May 7, 2015 at 3:27 AM, wrote: >> -Original Message- >> From: Bruce Ashfield [mailto:bruce.ashfi...@gmail.com] >> Sent: Wednesday, May 06, 2015 4:00 PM >> To: Pankratz, Steffen >> Cc: Patches and discussions about the oe-core layer >> Subject: Re: [OE-core] KBUILD_DEFCONFIG issue > >> >> >> > I am in the process of creating a board support package (1) for >> >> >> > NVIDIAs >> >> >> Jetson TK1 board (2). > > [...] > > >> >> >> > Another, probably unrelated problem I face right now is, that >> >> >> > basically >> >> >> most of the options of the tegra_defconfig get removed by >> kconf_check. >> >> >> > The kernel gets build, there are no warnings that things got >> >> >> > removed but >> >> >> in the files in .meta/cfg/standard/jetson-tk1 I see for example: >> >> >> > >> >> >> > Value requested for CONFIG_ARCH_TEGRA_124_SOC not in final >> >> >> > .config >> >> >> Requested value: CONFIG_ARCH_TEGRA_124_SOC=y Actual value: >> >> >> > >> >> >> > Any ideas? >> >> >> >> >> >> The checking of the defconfig is inhibited on purpose. I only >> >> >> added the functionality as an assist/crutch for folks that haven't >> >> >> migrated to a base config + fragments. >> >> >> >> >> >> A defconfig does not specify whether or not options are important >> >> >> for the board or not, whether or not it is a full defconfig or a >> >> >> minimal config, >> >> etc. >> >> >> Without that >> >> >> extra information generating screens full of warnings isn't >> >> >> useful, so it isn't generated at all. >> >> > >> >> > I am not quite sure what the correct way would be to continue and >> >> > get a >> >> kernel with everything I need and want. >> >> > The config specified in KBUILD_DEFCONFIG gets stripped of many >> >> necessary options need for the board. >> >> > So this is obviously not the right approach. >> >> >> >> It would be the kernel configuration subsystem that is stripping the >> >> changes when it processes the .config (i.e. nothing in the Yocto >> >> processing of those same fragments). >> >> >> >> If you manually copy the defconfig into place and do a make >> >> oldconfig, are you seeing lots of delta and questions being asked ? >> > >> > I did not see any questions or deltas: >> > >> > bitbake virtual/kernel -c devshell >> > >> > Then: >> > >> > cp arch/arm/configs/tegra_defconfig .config make oldconfig >> >> odd. Is this something I can reproduce locally ? If you email me the details, >> I'll poke at it and offer some suggestions. > > Thank you very much in advance Bruce. > > I think the easiest thing would be to get poky (dizzy branch), > meta-openembedded (dizzy branch) and meta-jetson-tk1 (1). > Apply the patch I send (to patch kernel-yocto.bbclass) and build an image for > MACHINE jetson-tk1. > I was building the core-image-weston, but I think the type of image used, > doesn't matter in regards to my kernel issue. > I've sorted this out, using the kernel tree you are using, and a hacked up qemuarm configuration (simpler .. less rebuilds). Turns out that the in-tree defconfig doesn't like the default mode we have for deconfig processing (allnoconfig), since it is of the minimal variety (not a problem). With the patch to copy the deconfig into place (I'll post that soon for merging), and the following addition to the linux-yocto-custom recipe: KCONFIG_MODE="--alldefconfig" I'm now seeing the TEGRA options make it into the config. Give that a try, and let me know how it goes. I am running some other local changes here, but they won't impact this part of the process. Cheers, Bruce > (1) https://bitbucket.org/kratz00/meta-jetson-tk1 > > > -- > Regards > -Steffen > > > > Please note: This e-mail may contain confidential information > intended solely for the addressee. If you have received this > e-mail in error, please do not disclose it to anyone, notify > the sender promptly, and delete the message from your system. > Thank you. > -- "Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end" -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH V3 3/3] systemd: split modules into packages
On 07.05.2015 18:40, Bruno Bottazzini wrote: > if one wants to launch a simple deamon, most modules are not > required. > He will be able to save space and exclude unwanted packages > from the final image. > > Signed-off-by: Bruno Bottazzini > --- > meta/recipes-core/systemd/systemd_219.bb | 1063 > ++ > 1 file changed, 938 insertions(+), 125 deletions(-) > > diff --git a/meta/recipes-core/systemd/systemd_219.bb > b/meta/recipes-core/systemd/systemd_219.bb > index b4bff18..629c7fc 100644 > --- a/meta/recipes-core/systemd/systemd_219.bb > +++ b/meta/recipes-core/systemd/systemd_219.bb > @@ -60,9 +60,55 @@ LDFLAGS_append_libc-uclibc = " -lrt" > GTKDOC_DOCDIR = "${S}/docs/" > > PACKAGECONFIG ??= "xz ldconfig \ > + getty \ > + sysvcompat \ > + nspawn \ > + machined \ > + bootchart \ > + zsh \ > + rpm-macros \ > + kernel-install \ > + initramfs \ > + bash \ > + tools \ > + udev \ > + tmpfiles \ > + sysusers \ > + sysctl \ > + sleep \ > + randomseed \ > + modules-load \ > + journal \ > + fsck \ > + preset \ > + filesystems \ > + vconsole \ > + update \ > + timesyncd \ > + rfkill \ > + quota \ > + fuse \ > + firstboot \ > + dbus \ > + binfmt \ > + backlight \ > + ask-password \ I think it may be better to sort this quite long list alphabetically. Are these options already enabled today? Because of the new packageconfig entries, I would have expected changes to EXTRA_OECONF and DEPENDS, which I don't see in your patch. Regards, Andreas > ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', > d)} \ > ${@bb.utils.contains('DISTRO_FEATURES', 'x11', > 'xkbcommon', '', d)}" > > +PACKAGECONFIG[glib] = "--enable-gudev,--disable-gudev,glib-2.0" > +PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl" > +PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux" > +PACKAGECONFIG[efi] = "--enable-efi,--disable-efi" > +PACKAGECONFIG[kmod] = "--enable-kmod,--disable-kmod,kmod" > +PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit" > +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" > +PACKAGECONFIG[smack] = "--enable-smack,--disable-smack" > +PACKAGECONFIG[ima] = "--enable-ima,--disable-ima" > +PACKAGECONFIG[apparmor] = "--enable-apparmor,--disable-apparmor,libapparmor" > +PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp" > +PACKAGECONFIG[qrencode] = "--enable-qrencode,--disable-qrencode,libqrencode" > +PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4" > PACKAGECONFIG[journal-upload] = "--enable-libcurl,--disable-libcurl,curl" > # Sign the journal for anti-tampering > PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt" > @@ -206,158 +252,742 @@ do_install_ptest () { > > python populate_packages_prepend (){ > systemdlibdir = d.getVar("rootlibdir", True) > -do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd > %s library', extra_depends='', allow_links=True) > +do_split_packages(d, systemdlibdir, > '^lib(udev|gudev|systemd|nss)\.so\.*', 'lib%s', 'Systemd %s library', > extra_depends='', allow_links=True) > } > -PACKAGES_DYNAMIC += "^lib(udev|systemd).*" > +PACKAGES_DYNAMIC += "^lib(udev|gudev|systemd|nss).*" > + > + > +# Base Packages > + > + > +PACKAGES =+ "${PN}-generators-filesystems" > +SUMMARY_${PN}-generators-filesystems = "Unit generator for /etc/fstab" > +RDEPENDS_${PN}-generators-filesystems = "${PN}-services-fsck" > +FILES_${PN}-generators-filesystems = "\ > +${rootlibexecdir}/systemd/system-generators/systemd-fstab-generator \ > + > ${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \ > +${rootlibexecdir}/systemd/systemd-remount-fs \ > + > ${systemd_unitdir}/system/local-fs.target.wants/systemd-remount-fs.service \ > +${systemd_unitdir}/system/systemd-remount-fs.service \ > +" > > -PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze > ${PN}-kernel-install \ > - ${PN}-rpm-macros ${PN}-binfmt ${PN}-pam ${PN}-zsh libgudev" > +PACKAGES =+ "${PN}-generators-getty" > +SUMMARY_${PN}-generators-getty = "Generator for enabling getty instances on > the console" > +RDEPENDS_${PN}-generat
Re: [OE-core] [PATCH V3 2/3] systemd: Verify if journal-flush.service exists.
Hello Bruno, On 07.05.2015 18:40, Bruno Bottazzini wrote: > If the users wants to enable networkd this file will not be generate and the > installation will fail. > > Signed-off-by: Bruno Bottazzini > --- > meta/recipes-core/systemd/systemd_219.bb | 7 +-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/meta/recipes-core/systemd/systemd_219.bb > b/meta/recipes-core/systemd/systemd_219.bb > index c196017..b4bff18 100644 > --- a/meta/recipes-core/systemd/systemd_219.bb > +++ b/meta/recipes-core/systemd/systemd_219.bb > @@ -177,8 +177,11 @@ do_install() { > sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' > ${D}${sysconfdir}/systemd/journald.conf > # its needed in 216 upstream has fixed it with > 919699ec301ea507edce4a619141ed22e789ac0d > # don't order journal flushing afte remote-fs.target > - sed -i -e 's/ remote-fs.target$//' > ${D}${systemd_unitdir}/system/systemd-journal-flush.service > - # this file is needed to exist if networkd is disabled but timesyncd is > still in use since timesyncd checks it > + if [ -s ${D}${systemd_unitdir}/system/systemd-journal-flush.service ]; > then > +# this file is needed to exist if networkd is disabled but > timesyncd is still in use since timesyncd checks it > +sed -i -e 's/ remote-fs.target$//' > ${D}${systemd_unitdir}/system/systemd-journal-flush.service > +fi > + According to the comment above, this is a workaround specific to 216. Commit 919699ec301ea507edce4a619141ed22e789ac0d made it into 218. So maybe these lines should just get removed. Regards, Andreas -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 1/2] ctags: add
On 07-05-2015 03:28, Khem Raj wrote: On May 6, 2015, at 2:38 PM, Igor Santos wrote: +do_install() { +install -d ${D}${bindir} +install -m 755 ${B}/ctags ${D}${bindir}/ +install -d ${D}${mandir}/man1/ +install -m 644 ${B}/ctags.1 ${D}${mandir}/man1/ +} you could just bundle whole function into two lines install -Dm 0755 ${B}/ctags ${D}${bindir}/ctags install -Dm 0644 ${B}/ctags.1 ${D}${mandir}/man1/ctags.1 Para maiores informações, entre em contato com seu administrador de rede Pontuação de spam: 0.0% Para classificar esta mensagem como spam clique no link a seguir:http://asmg.aker.com.br/webgui/train.php?id=&type=spam Para classificar esta mensagem como não spam clique no link a seguir:http://asmg.aker.com.br/webgui/train.php?id=&type=ham Gerado por Aker Secure Mail Gateway -http://www.aker.com.br Thank you for the tip! -- -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V3 0/3] systemd: split modules into packages
Differences from V2: - Installing default features with "PACKAGECONFIG" instead of using "DISTRO_FEATURES" as Anders, Leandro and Otavio suggested. - Rebase with master Differences from V1: - Making sure that we don't change default configuration as Anders and Otavio suggested. - Changing EXTRA_OECONF flags to use it with PAKAGECONFIG as Anders pointed in the review. - New patch that verifies if journal-flush.service exists. It may not exists depending on package configuration that the users want to be installed or removed. Bruno Bottazzini (2): systemd: Verify if journal-flush.service exists. systemd: split modules into packages Gustavo Sverzut Barbieri (1): dbus: split tools package. meta/recipes-core/dbus/dbus.inc |9 +- meta/recipes-core/systemd/systemd_219.bb | 1070 ++ 2 files changed, 951 insertions(+), 128 deletions(-) -- 2.4.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V3 2/3] systemd: Verify if journal-flush.service exists.
If the users wants to enable networkd this file will not be generate and the installation will fail. Signed-off-by: Bruno Bottazzini --- meta/recipes-core/systemd/systemd_219.bb | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/systemd/systemd_219.bb b/meta/recipes-core/systemd/systemd_219.bb index c196017..b4bff18 100644 --- a/meta/recipes-core/systemd/systemd_219.bb +++ b/meta/recipes-core/systemd/systemd_219.bb @@ -177,8 +177,11 @@ do_install() { sed -i -e 's/.*ForwardToSyslog.*/ForwardToSyslog=yes/' ${D}${sysconfdir}/systemd/journald.conf # its needed in 216 upstream has fixed it with 919699ec301ea507edce4a619141ed22e789ac0d # don't order journal flushing afte remote-fs.target - sed -i -e 's/ remote-fs.target$//' ${D}${systemd_unitdir}/system/systemd-journal-flush.service - # this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it + if [ -s ${D}${systemd_unitdir}/system/systemd-journal-flush.service ]; then +# this file is needed to exist if networkd is disabled but timesyncd is still in use since timesyncd checks it +sed -i -e 's/ remote-fs.target$//' ${D}${systemd_unitdir}/system/systemd-journal-flush.service +fi + # for existence else it fails if [ -s ${D}${libdir}/tmpfiles.d/systemd.conf ]; then ${@bb.utils.contains('PACKAGECONFIG', 'networkd', ':', 'sed -i -e "\$ad /run/systemd/netif/links 0755 root root -" ${D}${libdir}/tmpfiles.d/systemd.conf', d)} -- 2.4.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH V3 3/3] systemd: split modules into packages
if one wants to launch a simple deamon, most modules are not required. He will be able to save space and exclude unwanted packages from the final image. Signed-off-by: Bruno Bottazzini --- meta/recipes-core/systemd/systemd_219.bb | 1063 ++ 1 file changed, 938 insertions(+), 125 deletions(-) diff --git a/meta/recipes-core/systemd/systemd_219.bb b/meta/recipes-core/systemd/systemd_219.bb index b4bff18..629c7fc 100644 --- a/meta/recipes-core/systemd/systemd_219.bb +++ b/meta/recipes-core/systemd/systemd_219.bb @@ -60,9 +60,55 @@ LDFLAGS_append_libc-uclibc = " -lrt" GTKDOC_DOCDIR = "${S}/docs/" PACKAGECONFIG ??= "xz ldconfig \ + getty \ + sysvcompat \ + nspawn \ + machined \ + bootchart \ + zsh \ + rpm-macros \ + kernel-install \ + initramfs \ + bash \ + tools \ + udev \ + tmpfiles \ + sysusers \ + sysctl \ + sleep \ + randomseed \ + modules-load \ + journal \ + fsck \ + preset \ + filesystems \ + vconsole \ + update \ + timesyncd \ + rfkill \ + quota \ + fuse \ + firstboot \ + dbus \ + binfmt \ + backlight \ + ask-password \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xkbcommon', '', d)}" +PACKAGECONFIG[glib] = "--enable-gudev,--disable-gudev,glib-2.0" +PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl" +PACKAGECONFIG[blkid] = "--enable-blkid,--disable-blkid,util-linux" +PACKAGECONFIG[efi] = "--enable-efi,--disable-efi" +PACKAGECONFIG[kmod] = "--enable-kmod,--disable-kmod,kmod" +PACKAGECONFIG[polkit] = "--enable-polkit,--disable-polkit,polkit" +PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux" +PACKAGECONFIG[smack] = "--enable-smack,--disable-smack" +PACKAGECONFIG[ima] = "--enable-ima,--disable-ima" +PACKAGECONFIG[apparmor] = "--enable-apparmor,--disable-apparmor,libapparmor" +PACKAGECONFIG[seccomp] = "--enable-seccomp,--disable-seccomp,libseccomp" +PACKAGECONFIG[qrencode] = "--enable-qrencode,--disable-qrencode,libqrencode" +PACKAGECONFIG[lz4] = "--enable-lz4,--disable-lz4,lz4" PACKAGECONFIG[journal-upload] = "--enable-libcurl,--disable-libcurl,curl" # Sign the journal for anti-tampering PACKAGECONFIG[gcrypt] = "--enable-gcrypt,--disable-gcrypt,libgcrypt" @@ -206,158 +252,742 @@ do_install_ptest () { python populate_packages_prepend (){ systemdlibdir = d.getVar("rootlibdir", True) -do_split_packages(d, systemdlibdir, '^lib(.*)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True) +do_split_packages(d, systemdlibdir, '^lib(udev|gudev|systemd|nss)\.so\.*', 'lib%s', 'Systemd %s library', extra_depends='', allow_links=True) } -PACKAGES_DYNAMIC += "^lib(udev|systemd).*" +PACKAGES_DYNAMIC += "^lib(udev|gudev|systemd|nss).*" + + +# Base Packages + + +PACKAGES =+ "${PN}-generators-filesystems" +SUMMARY_${PN}-generators-filesystems = "Unit generator for /etc/fstab" +RDEPENDS_${PN}-generators-filesystems = "${PN}-services-fsck" +FILES_${PN}-generators-filesystems = "\ +${rootlibexecdir}/systemd/system-generators/systemd-fstab-generator \ +${rootlibexecdir}/systemd/system-generators/systemd-gpt-auto-generator \ +${rootlibexecdir}/systemd/systemd-remount-fs \ + ${systemd_unitdir}/system/local-fs.target.wants/systemd-remount-fs.service \ +${systemd_unitdir}/system/systemd-remount-fs.service \ +" -PACKAGES =+ "${PN}-gui ${PN}-vconsole-setup ${PN}-initramfs ${PN}-analyze ${PN}-kernel-install \ - ${PN}-rpm-macros ${PN}-binfmt ${PN}-pam ${PN}-zsh libgudev" +PACKAGES =+ "${PN}-generators-getty" +SUMMARY_${PN}-generators-getty = "Generator for enabling getty instances on the console" +RDEPENDS_${PN}-generators-getty = "${PN}-services-getty" +FILES_${PN}-generators-getty = "\ +${rootlibexecdir}/systemd/system-generators/systemd-getty-generator \ +" -SYSTEMD_PACKAGES = "${PN}-binfmt" -SYSTEMD_SERVICE_${PN}-binfmt = "systemd-binfmt.service" +PACKAGES =+ "${PN}-tools" +SUMMARY_${PN}-tools = "systemd command line tools (cgls, delta, run, analyze...)" +RRECOMMENDS_${PN}-tools = "${PN}-services-base" +FILES_${PN}-tools = "\ +${base_bindir}/systemd-machine-id-setup \ +${bindir}/busctl \ +${bindir}/coredum
[OE-core] [PATCH V3 1/3] dbus: split tools package.
From: Gustavo Sverzut Barbieri Most tools are not required if one is launching a simple daemon. The user will be able to exclude dbus-tool and save some space in his build Signed-off-by: Bruno Bottazzini --- meta/recipes-core/dbus/dbus.inc | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/meta/recipes-core/dbus/dbus.inc b/meta/recipes-core/dbus/dbus.inc index fb5d017..58dd728 100644 --- a/meta/recipes-core/dbus/dbus.inc +++ b/meta/recipes-core/dbus/dbus.inc @@ -39,7 +39,7 @@ CONFFILES_${PN} = "${sysconfdir}/dbus-1/system.conf ${sysconfdir}/dbus-1/session DEBIANNAME_${PN} = "dbus-1" -PACKAGES =+ "${PN}-lib" +PACKAGES =+ "${PN}-lib ${PN}-tools" OLDPKGNAME = "dbus-x11" OLDPKGNAME_class-nativesdk = "" @@ -47,6 +47,7 @@ OLDPKGNAME_class-nativesdk = "" # for compatibility RPROVIDES_${PN} = "${OLDPKGNAME}" RREPLACES_${PN} += "${OLDPKGNAME}" +RRECOMMENDS_${PN}_class-native = "" FILES_${PN} = "${bindir}/dbus-daemon* \ ${bindir}/dbus-uuidgen \ @@ -64,6 +65,12 @@ FILES_${PN} = "${bindir}/dbus-daemon* \ FILES_${PN}-lib = "${libdir}/lib*.so.*" RRECOMMENDS_${PN}-lib = "${PN}" FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool" +FILES_${PN}-tools += "${bindir}/dbus-uuidgen \ + ${bindir}/dbus-cleanup-sockets \ + ${bindir}/dbus-monitor \ + ${bindir}/dbus-launch \ + ${bindir}/dbus-run-session" +RRECOMMENDS_${PN} = "${PN}-tools" pkg_postinst_dbus() { # If both systemd and sysvinit are enabled, mask the dbus-1 init script -- 2.4.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 0/2] Add ctags and cscope
On 07-05-2015 13:30, Otavio Salvador wrote: On Thu, May 7, 2015 at 12:12 PM, Burton, Ross wrote: On 6 May 2015 at 22:38, Igor Santos wrote: Hi, these series add ctags and cscope to the devtools. It's interesting to add these tools to the stable branches. Why should these be in oe-core instead of another layer such as meta-oe? meta-oe seems to be the right place for it. Ok, I will send the patches to the meta-oe, thank you. -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 0/2] Add ctags and cscope
On Thu, May 7, 2015 at 12:12 PM, Burton, Ross wrote: > > On 6 May 2015 at 22:38, Igor Santos wrote: >> >> Hi, these series add ctags and cscope to the devtools. >> It's interesting to add these tools to the stable branches. > > > Why should these be in oe-core instead of another layer such as meta-oe? meta-oe seems to be the right place for it. -- Otavio Salvador O.S. Systems http://www.ossystems.com.brhttp://code.ossystems.com.br Mobile: +55 (53) 9981-7854Mobile: +1 (347) 903-9750 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 0/5] linux-yocto: consolidated pull request
On 2015-05-06 06:49 PM, Martin Jansa wrote: I use tmpfs in most of my builds, so in most cases when I see the error from the build, tmpfs is already gone (purged by next build executed on the same sever). ross just found something like this in one of his local builds .. I'm pretty sure I see the race. Fix coming shortly, and then the bigger changes I was mentioning before as well. Cheers, Bruce On Wed, May 6, 2015 at 11:32 PM, Richard Purdie mailto:richard.pur...@linuxfoundation.org>> wrote: On Wed, 2015-05-06 at 13:46 -0400, Bruce Ashfield wrote: > On 2015-05-06 12:07 PM, Martin Jansa wrote: > > I've used master-next week or two ago (mostly to test bluez4 and python3 > > changes) and soon after that dropped all linux-yocto related changes > > from it assuming that it's indeed cause for the issues I'm seeing, but > > it's not and it's still failing with master as well (and my > > jenkins/world builds are just small portion of my builds executed > > elsewhere where I see similar issues). > > Richard: How can we sort out the differences between the build > environment that Martin uses versus what the autobuilder is showing? > > There's nothing particularly complex happening during that build, > it's a checkout and generation of a config. > > I'm unable to reproduce any of the failures, and neither is the > autobuilder. This is a tough one and I'm struggling a little. We could try looking at the tmp/stamps/qemux86-poky-linux/linux-yocto/* files (sigdata in particular) as well as tmp/work/qemux86-poky-linux/linux-yocto/*/temp/log.task_order Martin, would you be able to share the above somewhere? I'm hoping this would give us a clue as to what the difference is between the builds and allow us to reproduce the problem. Cheers, Richard -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 0/2] Add ctags and cscope
On 6 May 2015 at 22:38, Igor Santos wrote: > Hi, these series add ctags and cscope to the devtools. > It's interesting to add these tools to the stable branches. > Why should these be in oe-core instead of another layer such as meta-oe? Ross -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/2] bind: disable the HTTP statistics service by default
Rename the "libxml2" PACKAGECONFIG to "httpstats" so that is is meaningful, and disable it by default as a web frontend to the server statistics shouldn't be enabled by default. Signed-off-by: Ross Burton --- meta/recipes-connectivity/bind/bind_9.10.2.bb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-connectivity/bind/bind_9.10.2.bb b/meta/recipes-connectivity/bind/bind_9.10.2.bb index c5bc242..539f63e 100644 --- a/meta/recipes-connectivity/bind/bind_9.10.2.bb +++ b/meta/recipes-connectivity/bind/bind_9.10.2.bb @@ -33,8 +33,8 @@ EXTRA_OECONF = " ${ENABLE_IPV6} --with-randomdev=/dev/random --disable-threads \ " inherit autotools-brokensep update-rc.d systemd useradd pkgconfig -PACKAGECONFIG ?= "libxml2" -PACKAGECONFIG[libxml2] = "--with-libxml2,--without-libxml2,libxml2" +PACKAGECONFIG ?= "" +PACKAGECONFIG[httpstats] = "--with-libxml2,--without-libxml2,libxml2" USERADD_PACKAGES = "${PN}" USERADD_PARAM_${PN} = "--system --home /var/cache/bind --no-create-home \ -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/2] bind: update libxml2 detection patch
Refresh the libxml2 detection patch to directly call pkg-config instead of attempting to use xml2-config, which will always return an error in OE. Signed-off-by: Ross Burton --- ...0001-build-use-pkg-config-to-find-libxml2.patch | 42 ++ ...d-crosscripts-search-path-for-xml2-config.patch | 35 -- meta/recipes-connectivity/bind/bind_9.10.2.bb | 7 ++-- 3 files changed, 45 insertions(+), 39 deletions(-) create mode 100644 meta/recipes-connectivity/bind/bind/0001-build-use-pkg-config-to-find-libxml2.patch delete mode 100644 meta/recipes-connectivity/bind/bind/bind-add-crosscripts-search-path-for-xml2-config.patch diff --git a/meta/recipes-connectivity/bind/bind/0001-build-use-pkg-config-to-find-libxml2.patch b/meta/recipes-connectivity/bind/bind/0001-build-use-pkg-config-to-find-libxml2.patch new file mode 100644 index 000..cb5251d --- /dev/null +++ b/meta/recipes-connectivity/bind/bind/0001-build-use-pkg-config-to-find-libxml2.patch @@ -0,0 +1,42 @@ +xml2-config is disabled, so change the configure script to use pkgconfig to find +libxml2. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton + +--- + configure.in | 18 +++--- + 1 file changed, 3 insertions(+), 15 deletions(-) + +diff --git a/configure.in b/configure.in +index d566e1c..c9ef3a6 100644 +--- a/configure.in b/configure.in +@@ -2102,21 +2102,9 @@ case "$use_libxml2" in + DST_LIBXML2_INC="" + ;; + auto|yes) +- case X`(xml2-config --version) 2>/dev/null` in +- X2.[[6789]].*) +- libxml2_libs=`xml2-config --libs` +- libxml2_cflags=`xml2-config --cflags` +- ;; +- *) +- libxml2_libs= +- libxml2_cflags= +- ;; +- esac +- ;; +- *) +- if test -f "$use_libxml2/bin/xml2-config" ; then +- libxml2_libs=`$use_libxml2/bin/xml2-config --libs` +- libxml2_cflags=`$use_libxml2/bin/xml2-config --cflags` ++ if pkg-config --exists libxml-2.0 ; then ++ libxml2_libs=`pkg-config libxml-2.0 --libs` ++ libxml2_cflags=`pkg-config libxml-2.0 --cflags` + fi + ;; + esac +-- +2.1.4 + diff --git a/meta/recipes-connectivity/bind/bind/bind-add-crosscripts-search-path-for-xml2-config.patch b/meta/recipes-connectivity/bind/bind/bind-add-crosscripts-search-path-for-xml2-config.patch deleted file mode 100644 index d24276c..000 --- a/meta/recipes-connectivity/bind/bind/bind-add-crosscripts-search-path-for-xml2-config.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 8fa549fe5390875d56f75e20d364394cd5ccf388 Mon Sep 17 00:00:00 2001 -From: Joe MacDonald -Date: Mon, 3 Nov 2014 21:52:02 -0500 -Subject: [PATCH] bind: add crosscripts search path for xml2-config - -The configure script was testing xml2-config from bin but in openembedded -bin folder is not copied to sysroot so the test was failing. Added another -condition to test libxml-2.0.pc which is present in lib folder. Used pkg-config -to get libs and cflags information. - -Upstream-Status: Inappropriate [ openembedded specific ] - -Signed-off-by: Joe MacDonald -Signed-off-by: Noor Ahsan - configure.in | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/configure.in b/configure.in -index 3d04f4c..6032f67 100644 a/configure.in -+++ b/configure.in -@@ -1433,6 +1433,9 @@ case "$use_libxml2" in - if test -f "$use_libxml2/bin/xml2-config" ; then - libxml2_libs=`$use_libxml2/bin/xml2-config --libs` - libxml2_cflags=`$use_libxml2/bin/xml2-config --cflags` -+ elif test -f "$use_libxml2/$base_libdir/pkgconfig/libxml-2.0.pc" ; then -+ libxml2_libs=`pkg-config libxml-2.0 --libs` -+ libxml2_cflags=`pkg-config libxml-2.0 --cflags` - fi - ;; - esac --- -1.9.1 - diff --git a/meta/recipes-connectivity/bind/bind_9.10.2.bb b/meta/recipes-connectivity/bind/bind_9.10.2.bb index 21be397..c5bc242 100644 --- a/meta/recipes-connectivity/bind/bind_9.10.2.bb +++ b/meta/recipes-connectivity/bind/bind_9.10.2.bb @@ -16,9 +16,9 @@ SRC_URI = "ftp://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.gz \ file://named.service \ file://bind9 \ file://init.d-add-support-for-read-only-rootfs.patch \ - file://bind-add-crosscripts-search-path-for-xml2-config.patch \ file://bind-confgen-build-unix.o-once.patch \ - " + file://0001-build-use-pkg-config-to-find-libxml2.patch \ + " SRC_URI[md5sum] = "dca7a9967947bffa98547fca6130fc04" SRC_URI[sha256sum] = "6f9bb7908aa45c1edfa391e356fc0afc1ded175386cdefb6cf9e1289f7457a98" @@ -34,8 +34,7 @@ EXTRA_OECONF = " ${ENABLE_IPV6} --with-randomdev=/
[OE-core] [PATCH 2/3] devtool: fix for rename of gcc-source
After OE-Core commit 67db7182faf6742b0d971d61d8c5ba34f69d2e12, PV is appended to the end of the gcc-source PN, thus we need to handle that in devtool and the corresponding test. Part of the fix for [YOCTO #7729]. Signed-off-by: Paul Eggleton --- meta/lib/oeqa/selftest/devtool.py | 10 +- scripts/lib/devtool/standard.py | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/meta/lib/oeqa/selftest/devtool.py b/meta/lib/oeqa/selftest/devtool.py index 2af6114..2344fac 100644 --- a/meta/lib/oeqa/selftest/devtool.py +++ b/meta/lib/oeqa/selftest/devtool.py @@ -325,7 +325,15 @@ class DevtoolTests(oeSelfTest): self.track_for_cleanup(workspacedir) self.add_command_to_tearDown('bitbake-layers remove-layer */workspace') -testrecipes = 'perf gcc-source kernel-devsrc package-index core-image-minimal meta-toolchain packagegroup-core-sdk meta-ide-support'.split() +testrecipes = 'perf kernel-devsrc package-index core-image-minimal meta-toolchain packagegroup-core-sdk meta-ide-support'.split() +# Find actual name of gcc-source since it now includes the version - crude, but good enough for this purpose +result = runCmd('bitbake-layers show-recipes gcc-source*') +reading = False +for line in result.output.splitlines(): +if line.startswith('=='): +reading = True +elif reading and not line.startswith(' '): +testrecipes.append(line.split(':')[0]) for testrecipe in testrecipes: # Check it's a valid recipe bitbake('%s -e' % testrecipe) diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py index cb4b57b..81a44d4 100644 --- a/scripts/lib/devtool/standard.py +++ b/scripts/lib/devtool/standard.py @@ -124,7 +124,7 @@ def _check_compatible_recipe(pn, d): logger.error("The perf recipe does not actually check out source and thus cannot be supported by this tool") return False -if pn in ['gcc-source', 'kernel-devsrc', 'package-index']: +if pn in ['kernel-devsrc', 'package-index'] or pn.startswith('gcc-source'): logger.error("The %s recipe is not supported by this tool" % pn) return False -- 2.1.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 0/3] oe-selftest fixes for devtool
Fix a couple of regressions in the oe-selftest tests for devtool (one caused by me, the other caused by the recent PN change in gcc-source), plus one more improvement to how we deal with tap devices in the test for "devtool deploy-target". The following changes since commit 52d5ab7fcea7028ff1d10b3e2416c0179128ba71: bluez: update to 5.30 (2015-05-07 13:14:39 +0100) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib paule/devtool-selftests http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/devtool-selftests Paul Eggleton (3): oe-selftest: devtool: fix broken URL in test_devtool_add_fetch devtool: fix for rename of gcc-source oe-selftest: devtool: add a proper test to see if tap devices exist meta/lib/oeqa/selftest/devtool.py | 22 -- scripts/lib/devtool/standard.py | 2 +- 2 files changed, 21 insertions(+), 3 deletions(-) -- 2.1.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 3/3] oe-selftest: devtool: add a proper test to see if tap devices exist
Check up front in test_devtool_deploy_target whether the tap devices exist and skip if not. If we don't do this we get a significantly less comprehensible error via pexpect. Signed-off-by: Paul Eggleton --- meta/lib/oeqa/selftest/devtool.py | 10 ++ 1 file changed, 10 insertions(+) diff --git a/meta/lib/oeqa/selftest/devtool.py b/meta/lib/oeqa/selftest/devtool.py index 2344fac..1d16113 100644 --- a/meta/lib/oeqa/selftest/devtool.py +++ b/meta/lib/oeqa/selftest/devtool.py @@ -587,6 +587,16 @@ class DevtoolTests(oeSelfTest): self.skipTest('This test only works with qemu machines') if not os.path.exists('/etc/runqemu-nosudo'): self.skipTest('You must set up tap devices with scripts/runqemu-gen-tapdevs before running this test') +result = runCmd('PATH="$PATH:/sbin:/usr/sbin" ip tuntap show', ignore_status=True) +if result.status != 0: +result = runCmd('PATH="$PATH:/sbin:/usr/sbin" ifconfig -a', ignore_status=True) +if result.status != 0: +self.skipTest('Failed to determine if tap devices exist with ifconfig or ip: %s' % result.output) +for line in result.output.splitlines(): +if line.startswith('tap'): +break +else: +self.skipTest('No tap devices found - you must set up tap devices with scripts/runqemu-gen-tapdevs before running this test') workspacedir = os.path.join(self.builddir, 'workspace') self.assertTrue(not os.path.exists(workspacedir), 'This test cannot be run with a workspace directory under the build directory') import pexpect -- 2.1.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/3] oe-selftest: devtool: fix broken URL in test_devtool_add_fetch
I already had the file fetched from some previous work and thus it didn't attempt to download the invalid URL when I tested it earlier. Part of the fix for [YOCTO #7729]. Signed-off-by: Paul Eggleton --- meta/lib/oeqa/selftest/devtool.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oeqa/selftest/devtool.py b/meta/lib/oeqa/selftest/devtool.py index 1a506d9..2af6114 100644 --- a/meta/lib/oeqa/selftest/devtool.py +++ b/meta/lib/oeqa/selftest/devtool.py @@ -175,7 +175,7 @@ class DevtoolTests(oeSelfTest): tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) testver = '0.23' -url = 'https://pypi.python.org/packages/source/J/MarkupSafe/MarkupSafe-%s.tar.gz' % testver +url = 'https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-%s.tar.gz' % testver testrecipe = 'python-markupsafe' srcdir = os.path.join(tempdir, testrecipe) # Test devtool add -- 2.1.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 5/6] gcc-cross: Pass EXTRA_OECONF_GCC_FLOAT to configure
On Thu, May 07, 2015 at 11:24:46AM +0100, Richard Purdie wrote: > On Thu, 2015-05-07 at 00:17 -0700, Khem Raj wrote: > > > On May 6, 2015, at 11:53 PM, Richard Purdie > > > wrote: > > > We do ship > > > an environment file and in that file we have the options gcc needs to > > > work, the sysroot, the other cflags and the float abi. Unless we go back > > > to a setup of hardcoding the cflags into gcc and have a gcc per set of > > > cflags, this isn't going to work since it solves part of the problem but > > > not all of it. > > > > > > > its also how the target libraries are compiled should match the ABI flags > > for target gcc > > Agreed, the other option is we have gcc pull the right config from the > sysroot in question. FWIW: when we were upgrading from Dylan to Dizzy one MACHINE with hf, we noticed that few recipes weren't respecting CC variable and ended with mixing soft and hard fp which was luckily detected in build time by linker, so easy to fix. Having at least QA check which will warn user that some compiled binary has different float ABI then enabled in bitbake environment could be useful. But I agree that it's recipe fault if it doesn't respect CC or *FLAGS variables and we should fix it there instead of building gcc-cross twice (if you have 2 arm MACHINEs with different float ABI). Another option would be mfloat-abi poisoning if possible like we do with default sysroot parameter, so that the usage of default value is detected as soon as possible. Regards, > > > > Our other alternative is to wrap gcc with a script (preferred in PATH) > > > which ensures the right cflags are present. I'd obviously prefer not to > > > do that but it is an option if we believe people can't cope with the > > > environment script. > > > > > > > Would solve the cross compile scenario but on-device scenario I am not sure > > On device is a completely different story. That gcc is target specific > and *should* have the right flags set. That isn't what the patch in this > thread is about though. On target gcc has always been target specific > and will remain so. > > Cheers, > > Richard > > -- > ___ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- Martin 'JaMa' Jansa jabber: martin.ja...@gmail.com -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 5/6] gcc-cross: Pass EXTRA_OECONF_GCC_FLOAT to configure
On Thu, 2015-05-07 at 00:17 -0700, Khem Raj wrote: > > On May 6, 2015, at 11:53 PM, Richard Purdie > > wrote: > > We do ship > > an environment file and in that file we have the options gcc needs to > > work, the sysroot, the other cflags and the float abi. Unless we go back > > to a setup of hardcoding the cflags into gcc and have a gcc per set of > > cflags, this isn't going to work since it solves part of the problem but > > not all of it. > > > > its also how the target libraries are compiled should match the ABI flags for > target gcc Agreed, the other option is we have gcc pull the right config from the sysroot in question. > > Our other alternative is to wrap gcc with a script (preferred in PATH) > > which ensures the right cflags are present. I'd obviously prefer not to > > do that but it is an option if we believe people can't cope with the > > environment script. > > > > Would solve the cross compile scenario but on-device scenario I am not sure On device is a completely different story. That gcc is target specific and *should* have the right flags set. That isn't what the patch in this thread is about though. On target gcc has always been target specific and will remain so. Cheers, Richard -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] KBUILD_DEFCONFIG issue
> -Original Message- > From: Bruce Ashfield [mailto:bruce.ashfi...@gmail.com] > Sent: Wednesday, May 06, 2015 4:00 PM > To: Pankratz, Steffen > Cc: Patches and discussions about the oe-core layer > Subject: Re: [OE-core] KBUILD_DEFCONFIG issue > >> >> > I am in the process of creating a board support package (1) for > >> >> > NVIDIAs > >> >> Jetson TK1 board (2). [...] > >> >> > Another, probably unrelated problem I face right now is, that > >> >> > basically > >> >> most of the options of the tegra_defconfig get removed by > kconf_check. > >> >> > The kernel gets build, there are no warnings that things got > >> >> > removed but > >> >> in the files in .meta/cfg/standard/jetson-tk1 I see for example: > >> >> > > >> >> > Value requested for CONFIG_ARCH_TEGRA_124_SOC not in final > >> >> > .config > >> >> Requested value: CONFIG_ARCH_TEGRA_124_SOC=y Actual value: > >> >> > > >> >> > Any ideas? > >> >> > >> >> The checking of the defconfig is inhibited on purpose. I only > >> >> added the functionality as an assist/crutch for folks that haven't > >> >> migrated to a base config + fragments. > >> >> > >> >> A defconfig does not specify whether or not options are important > >> >> for the board or not, whether or not it is a full defconfig or a > >> >> minimal config, > >> etc. > >> >> Without that > >> >> extra information generating screens full of warnings isn't > >> >> useful, so it isn't generated at all. > >> > > >> > I am not quite sure what the correct way would be to continue and > >> > get a > >> kernel with everything I need and want. > >> > The config specified in KBUILD_DEFCONFIG gets stripped of many > >> necessary options need for the board. > >> > So this is obviously not the right approach. > >> > >> It would be the kernel configuration subsystem that is stripping the > >> changes when it processes the .config (i.e. nothing in the Yocto > >> processing of those same fragments). > >> > >> If you manually copy the defconfig into place and do a make > >> oldconfig, are you seeing lots of delta and questions being asked ? > > > > I did not see any questions or deltas: > > > > bitbake virtual/kernel -c devshell > > > > Then: > > > > cp arch/arm/configs/tegra_defconfig .config make oldconfig > > odd. Is this something I can reproduce locally ? If you email me the details, > I'll poke at it and offer some suggestions. Thank you very much in advance Bruce. I think the easiest thing would be to get poky (dizzy branch), meta-openembedded (dizzy branch) and meta-jetson-tk1 (1). Apply the patch I send (to patch kernel-yocto.bbclass) and build an image for MACHINE jetson-tk1. I was building the core-image-weston, but I think the type of image used, doesn't matter in regards to my kernel issue. (1) https://bitbucket.org/kratz00/meta-jetson-tk1 -- Regards -Steffen Please note: This e-mail may contain confidential information intended solely for the addressee. If you have received this e-mail in error, please do not disclose it to anyone, notify the sender promptly, and delete the message from your system. Thank you. -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 5/6] gcc-cross: Pass EXTRA_OECONF_GCC_FLOAT to configure
> On May 6, 2015, at 11:53 PM, Richard Purdie > wrote: > > On Wed, 2015-05-06 at 23:47 -0700, Khem Raj wrote: >>> On May 6, 2015, at 1:11 AM, Richard Purdie >>> wrote: >>> >>> But we build gcc-cross-arm once. This will cause it to rebuild depending >>> on which machine you target? Worse, it likely will now do this for all >>> architectures, not just arm. >> >> only when float ABI changes which may be common across a subset of >> architectures. >> >> although, I think its going to become a severe usability issue. Look >> at the archives there are so many issues reported in various forums which >> end up exactly to this problem, since users expect >> that once they installed the SDK it works out of box for the default >> architecture which is not >> the case. It just seems wrong build optimization to make it common per arch >> it if we can’t have user expectations met. > > To be honest I haven't seen that many reports of the problem. search for "gnu/stubs-soft.h not found” and most of the items you will see are OE related. some issues are quite complex which happen in applications e.g. wrong atomics use > We do ship > an environment file and in that file we have the options gcc needs to > work, the sysroot, the other cflags and the float abi. Unless we go back > to a setup of hardcoding the cflags into gcc and have a gcc per set of > cflags, this isn't going to work since it solves part of the problem but > not all of it. > its also how the target libraries are compiled should match the ABI flags for target gcc > Our other alternative is to wrap gcc with a script (preferred in PATH) > which ensures the right cflags are present. I'd obviously prefer not to > do that but it is an option if we believe people can't cope with the > environment script. > Would solve the cross compile scenario but on-device scenario I am not sure signature.asc Description: Message signed with OpenPGP using GPGMail -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core