Re: [OE-core] Language settings GTK (glibc?) problem
On Wed, Feb 3, 2016 at 5:01 PM, Andreas Müllerwrote: > On Wed, Feb 3, 2016 at 3:50 PM, Richard Purdie > wrote: >> On Wed, 2016-02-03 at 12:49 +0100, Andreas Müller wrote: >>> Hi, >>> >>> while testing libreoffice language packets I found that language >>> settings for GTK based apps are broken. Interestingly QT based >>> applications (tested with qtcreator and lxqt) and libreoffice are >>> working fine. >>> >>> I did some research and hope for some expert with helping hints. >>> Details are: >>> >>> * I am testing with jethro environment >> >> I did wonder about http://git.yoctoproject.org/cgit.cgi/poky/commit/?id >> =3b5288f0a28205289063424afc474675cbaa05b8 >> >> or possibly: >> >> https://github.com/rehsack/poky/commit/46ac36953e2e76ba716c7ba42ddfe41c >> 9a19a11d >> >> but I haven't looked into this much and don't have experience in this >> area. > Thanks and yes - I have seen these too but they are not in jethro - if > I am not mistaken. > FWIW: I found an image where the language selection worked. This was based on commit 4e0fb630d3bb0250ece6e2071ae49b2601ae3e57 Author: Armin Kuster AuthorDate: Tue Aug 11 11:11:04 2015 +0530 Commit: Richard Purdie CommitDate: Fri Aug 14 08:30:21 2015 +0100 tzdata: update to 2015f Changes affecting future time stamps North Korea switches to +0830 on 2015-08-15. (Thanks to Steffen Thorsen.) The abbreviation remains "KST". (Thanks to Robert Elz.) Uruguay no longer observes DST. (Thanks to Steffen Thorsen and Pablo Camargo.) Changes affecting past and future time stamps Moldova starts and ends DST at 00:00 UTC, not at 01:00 UTC. (Thanks to Roman Tudos.) Signed-off-by: Armin Kuster Signed-off-by: Ross Burton Signed-off-by: Richard Purdie which was before glibc update 2.21 -> 2.22 Andreas -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v4 2/2] apr-util: add ldap crypto and sqlite3 to PACKAGECONFIG
Enable apr-util's cryptographic routines so that the apache2 package can encrypt session data. Also add sqlite3 and ldap modules, disabled by default. Signed-off-by: Ioan-Adrian Ratiu--- meta/recipes-support/apr/apr-util_1.5.4.bb | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meta/recipes-support/apr/apr-util_1.5.4.bb b/meta/recipes-support/apr/apr-util_1.5.4.bb index 381daad..28962bd 100644 --- a/meta/recipes-support/apr/apr-util_1.5.4.bb +++ b/meta/recipes-support/apr/apr-util_1.5.4.bb @@ -24,7 +24,6 @@ EXTRA_OECONF = "--with-apr=${STAGING_BINDIR_CROSS}/apr-1-config \ --with-dbm=gdbm \ --with-gdbm=${STAGING_DIR_HOST}${prefix} \ --without-sqlite2 \ - --without-sqlite3 \ --with-expat=${STAGING_DIR_HOST}${prefix}" @@ -66,6 +65,11 @@ do_install_append_class-target() { -e 's,APU_BUILD_DIR=.*,APR_BUILD_DIR=,g' ${D}${bindir}/apu-1-config } +PACKAGECONFIG ??= "crypto" +PACKAGECONFIG[ldap] = "--with-ldap,--without-ldap,openldap" +PACKAGECONFIG[crypto] = "--with-openssl=${STAGING_DIR_HOST}${prefix} --with-crypto,--without-crypto,openssl" +PACKAGECONFIG[sqlite3] = "--with-sqlite3=${STAGING_DIR_HOST}${prefix},--without-sqlite3,sqlite3" + #files ${libdir}/apr-util-1/*.so are not symlinks but loadable modules thus they are packaged in ${PN} FILES_${PN} += "${libdir}/apr-util-1/apr*${SOLIBS} ${libdir}/apr-util-1/apr*${SOLIBSDEV}" FILES_${PN}-dev += "${libdir}/aprutil.exp ${libdir}/apr-util-1/*.la" -- 2.7.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] Default value for FULL_OPTIMIZATION
On 03-02-16 21:59, Khem Raj wrote: On Wed, Feb 3, 2016 at 12:57 PM, Phil Blundellwrote: On Wed, 2016-02-03 at 12:51 -0800, Khem Raj wrote: On Wed, Feb 3, 2016 at 12:48 PM, Phil Blundell wrote: On Tue, 2016-02-02 at 22:17 -0800, Khem Raj wrote: -pipe does speed up build time so its an optimization. How much does it really speed it up by? I seem to recall the effect was fairly negligible, but maybe I am remembering that wrong. it does not create files for intermediate objects so if you have slow media it can be significant but if you have SSDs then it might be diminished. The files go in /tmp though, right? Even if that isn't a tmpfs, which I think it is on almost all systems nowadays, they will almost certainly just sit in the buffer cache and never actually get written to the disk. in systems of this age it should be yet. In the lab, yes. In the real world, the system may be under load. On desktop computers, /tmp/ is usually NOT on tmpfs. At some point, in order to "write" to your filesystem, it will need to read it first (e.g. to get a free allocation spot). In that cause, the read request will have to get in line behind the other IO requests in the queue, and it suddenly might take seconds to perform that simple request. Even on SSD, this will happen and give a noticable drop in performance. You might want to run that test while reading your disk (dd if=/dev/sda of=/dev/null) and see what happens. Kind regards, Mike Looijmans System Expert TOPIC Embedded Products Eindhovenseweg 32-C, NL-5683 KH Best Postbus 440, NL-5680 AK Best Telefoon: +31 (0) 499 33 69 79 E-mail: mike.looijm...@topicproducts.com Website: www.topicproducts.com Please consider the environment before printing this e-mail Visit us at: Embedded World 2016 Germany, Hall 1, stand number 220. Click here to schedule an appointment with us at Embedded World, free ticket included http://topicembeddedproducts.com/schedule-an-appointment/ -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] util-linux: Change ALTERNATIVE_PRIORITY above busybox
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=8de5315bd519c21a114bc88b88c6caff32831c03 changed util-linux priority to match busybox (50) which means sometimes one and sometimes the other wins in image installs (depending on the installation order which is package manager specific). We want util-linux to win compared to busybox. The old level (100) does conflict with other utils so pick 80 as a good intermediate value. Signed-off-by: Richard Purdiediff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc index f57284b..08ca040 100644 --- a/meta/recipes-core/util-linux/util-linux.inc +++ b/meta/recipes-core/util-linux/util-linux.inc @@ -184,7 +184,7 @@ do_install_append_class-native () { rm -f ${D}${base_sbindir}/nologin } -ALTERNATIVE_PRIORITY = "50" +ALTERNATIVE_PRIORITY = "80" ALTERNATIVE_${PN} = "dmesg kill more mkswap blockdev pivot_root switch_root" ALTERNATIVE_${PN} += "mkfs.minix hexdump last lastb logger mesg renice wall" -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] oeqa/parselogs: Updated whitelist
Moved an error to common, and whitelisted the BAR errors and ati module. Also the uvesafb related errors will be ignored in LSB images which do not have graphic interface. Fix for [YOCTO #8387] Fix for [YOCTO #8590] Fix for [YOCTO #6820] Fix for [YOCTO #7897] Signed-off-by: Lucian Musat Signed-off-by: Cristina Agurida--- meta/lib/oeqa/runtime/parselogs.py | 18 ++ 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/meta/lib/oeqa/runtime/parselogs.py b/meta/lib/oeqa/runtime/parselogs.py index 5a2d50f..44834ce 100644 --- a/meta/lib/oeqa/runtime/parselogs.py +++ b/meta/lib/oeqa/runtime/parselogs.py @@ -38,8 +38,17 @@ common_errors = [ 'Online check failed for', 'netlink init failed', 'Fast TSC calibration', +"BAR 0-9", +"Failed to load module \"ati\"", +"controller can't do DEVSLP, turning off", +"stmmac_dvr_probe: warning: cannot get CSR clock", +"error: couldn\'t mount because of unsupported optional features", ] +video_related = [ +"uvesafb", +] + x86_common = [ '[drm:psb_do_init] *ERROR* Debug is', 'wrong ELF class', @@ -99,11 +108,7 @@ ignore_errors = { '(EE) Failed to load module psbdrv', '(EE) open /dev/fb0: No such file or directory', '(EE) AIGLX: reverting to software rendering', -"controller can't do DEVSLP, turning off", ] + x86_common, -'intel-corei7-64' : [ -"controller can't do DEVSLP, turning off", -] + common_errors, 'crownbay' : x86_common, 'genericx86' : x86_common, 'genericx86-64' : x86_common, @@ -126,6 +131,10 @@ class ParseLogsTest(oeRuntimeTest): self.ignore_errors = ignore_errors self.log_locations = log_locations self.msg = "" +(is_lsb, location) = oeRuntimeTest.tc.target.run("which LSB_Test.sh") +if is_lsb == 0: +for machine in self.ignore_errors: +self.ignore_errors[machine] = self.ignore_errors[machine] + video_related def getMachine(self): return oeRuntimeTest.tc.d.getVar("MACHINE", True) @@ -200,6 +209,7 @@ class ParseLogsTest(oeRuntimeTest): ignore_error = ignore_error.replace("[", "\[") ignore_error = ignore_error.replace("]", "\]") ignore_error = ignore_error.replace("*", "\*") +ignore_error = ignore_error.replace("0-9", "[0-9]") grepcmd += ignore_error+"|" grepcmd = grepcmd[:-1] grepcmd += "\'" -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] toaster: update the openembedded-core toaster configuration file
From: Belen Barros PenaIt looks like the master branch will no longer build with the Fido release, so remove all references to fido and make sure that the file sets up local, master and jethro releases. Signed-off-by: Belen Barros Pena --- meta/conf/toasterconf.json | 35 ++- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/meta/conf/toasterconf.json b/meta/conf/toasterconf.json index 1987793..2f451f3 100644 --- a/meta/conf/toasterconf.json +++ b/meta/conf/toasterconf.json @@ -11,7 +11,7 @@ "name": "Local OpenEmbedded", "sourcetype": "local", "apiurl": "../../", -"branches": ["HEAD", "master", "fido", "dizzy"], +"branches": ["HEAD", "master", "jethro"], "layers": [ { "name": "openembedded-core", @@ -25,13 +25,13 @@ "name": "OpenEmbedded", "sourcetype": "layerindex", "apiurl": "http://layers.openembedded.org/layerindex/api/;, -"branches": ["master", "fido", "dizzy"] +"branches": ["master", "jethro"] }, { "name": "Imported layers", "sourcetype": "imported", "apiurl": "", -"branches": ["master", "fido", "dizzy", "HEAD"] +"branches": ["master", "jethro", "HEAD"] } ], @@ -43,15 +43,9 @@ "dirpath": "" }, { -"name": "fido", +"name": "jethro", "giturl": "git://git.openembedded.org/bitbake", -"branch": "1.26", -"dirpath": "" -}, -{ -"name": "dizzy", -"giturl": "git://git.openembedded.org/bitbake", -"branch": "1.24", +"branch": "1.28", "dirpath": "" }, { @@ -75,22 +69,13 @@ "helptext": "Toaster will run your builds using the tip of the http://cgit.openembedded.org/openembedded-core/log/\;>OpenEmbedded master branch, where active development takes place. This is not a stable branch, so your builds might not work as expected." }, { -"name": "fido", -"description": "OpenEmbedded Fido", -"bitbake": "fido", -"branch": "fido", -"defaultlayers": [ "openembedded-core" ], -"layersourcepriority": { "Imported layers": 99, "Local OpenEmbedded" : 10, "OpenEmbedded" : 0 }, -"helptext": "Toaster will run your builds with the tip of the http://cgit.openembedded.org/openembedded-core/log/?h=fido\;>OpenEmbedded \"Fido\" branch" -}, -{ -"name": "dizzy", -"description": "OpenEmbedded Dizzy", -"bitbake": "dizzy", -"branch": "dizzy", +"name": "jethro", +"description": "OpenEmbedded Jethro", +"bitbake": "jethro", +"branch": "jethro", "defaultlayers": [ "openembedded-core" ], "layersourcepriority": { "Imported layers": 99, "Local OpenEmbedded" : 10, "OpenEmbedded" : 0 }, -"helptext": "Toaster will run your builds with the tip of the http://cgit.openembedded.org/openembedded-core/log/?h=dizzy\;>OpenEmbedded \"Dizzy\" branch" +"helptext": "Toaster will run your builds with the tip of the http://cgit.openembedded.org/openembedded-core/log/?h=jethro\;>OpenEmbedded \"Jethro\" branch" }, { "name": "local", -- 1.9.3 - Intel Corporation (UK) Limited Registered No. 1134945 (England) Registered Office: Pipers Way, Swindon SN3 1RJ VAT No: 860 2173 47 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v4 1/2] apr-util: fix loadable module packaging
A new QA check was introduced by 47d38d4d86ec6a which catches recipes which install loadable modules (*.so) inside -dev packages instead of symlinks. Install apr-util's modules into ${PN} and also skip the QA check [dev-so] because it is the reverse of the check introduced by 47d38d4d86ec6a (thus if a recipe passes one it fails the other). Signed-off-by: Ioan-Adrian Ratiu--- meta/recipes-support/apr/apr-util_1.5.4.bb | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/meta/recipes-support/apr/apr-util_1.5.4.bb b/meta/recipes-support/apr/apr-util_1.5.4.bb index 6856db9..381daad 100644 --- a/meta/recipes-support/apr/apr-util_1.5.4.bb +++ b/meta/recipes-support/apr/apr-util_1.5.4.bb @@ -66,9 +66,12 @@ do_install_append_class-target() { -e 's,APU_BUILD_DIR=.*,APR_BUILD_DIR=,g' ${D}${bindir}/apu-1-config } -FILES_${PN} += "${libdir}/apr-util-1/apr_dbm_gdbm-1.so" -FILES_${PN}-dev += "${libdir}/aprutil.exp ${libdir}/apr-util-1/apr_dbm_gdbm.so* ${libdir}/apr-util-1/apr_dbm_gdbm.la" -FILES_${PN}-staticdev += "${libdir}/apr-util-1/apr_dbm_gdbm.a" +#files ${libdir}/apr-util-1/*.so are not symlinks but loadable modules thus they are packaged in ${PN} +FILES_${PN} += "${libdir}/apr-util-1/apr*${SOLIBS} ${libdir}/apr-util-1/apr*${SOLIBSDEV}" +FILES_${PN}-dev += "${libdir}/aprutil.exp ${libdir}/apr-util-1/*.la" +FILES_${PN}-staticdev += "${libdir}/apr-util-1/*.a" + +INSANE_SKIP_${PN} += "dev-so" inherit ptest -- 2.7.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] toaster: update the openembedded-core toaster configuration file
On Thu, 2016-02-04 at 10:47 +, Elliot Smith wrote: > From: Belen Barros Pena> > It looks like the master branch will no longer build with the Fido > release, so remove all references to fido and make sure that the file > sets up local, master and jethro releases. Did you mean to remove dizzy too? I suspect the answer is yes but the commit message doesn't mention that. Cheers, Richard -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] iptables: Add systemd support
Also, please don't hardcode /usr/libexec/iptables or /etc/default/iptables in the service files. p. On Thu, 2016-02-04 at 22:14 +0100, Pau Espin Pedrol wrote: > Please use ${systemd_system_unitdir} instead of > ${systemd_unitdir}/system > > Pau Espin Pedrol > mail/jabber: pespin.s...@gmail.com > http://blog.espeweb.net > > > 2016-02-02 5:19 GMT+01:00 Li Xin: > Add iptables.service & ip6tables.service to support systemd > systems. > > Signed-off-by: Li Xin > --- > .../iptables/iptables/ip6tables.service | 17 > + > .../recipes-extended/iptables/iptables/iptables.service | 17 > + > meta/recipes-extended/iptables/iptables_1.4.21.bb | 16 > +++- > 3 files changed, 49 insertions(+), 1 deletion(-) > create mode 100644 > meta/recipes-extended/iptables/iptables/ip6tables.service > create mode 100644 > meta/recipes-extended/iptables/iptables/iptables.service > > diff --git > a/meta/recipes-extended/iptables/iptables/ip6tables.service > b/meta/recipes-extended/iptables/iptables/ip6tables.service > new file mode 100644 > index 000..148a1b9 > --- /dev/null > +++ > b/meta/recipes-extended/iptables/iptables/ip6tables.service > @@ -0,0 +1,17 @@ > +[Unit] > +Description=IPv6 firewall with ip6tables > +After=syslog.target > +ConditionPathExists=/etc/default/iptables > + > +[Service] > +Type=oneshot > +RemainAfterExit=yes > +ExecStart=/usr/libexec/iptables/ip6tables.init start > +ExecStop=/usr/libexec/iptables/ip6tables.init stop > +Environment=BOOTUP=serial > +Environment=CONSOLETYPE=serial > +StandardOutput=syslog > +StandardError=syslog > + > +[Install] > +WantedBy=basic.target > diff --git > a/meta/recipes-extended/iptables/iptables/iptables.service > b/meta/recipes-extended/iptables/iptables/iptables.service > new file mode 100644 > index 000..9745c71 > --- /dev/null > +++ b/meta/recipes-extended/iptables/iptables/iptables.service > @@ -0,0 +1,17 @@ > +[Unit] > +Description=IPv4 firewall with iptables > +After=syslog.target > +ConditionPathExists=/etc/default/iptables > + > +[Service] > +Type=oneshot > +RemainAfterExit=yes > +ExecStart=/usr/libexec/iptables/iptables.init start > +ExecStop=/usr/libexec/iptables/iptables.init stop > +Environment=BOOTUP=serial > +Environment=CONSOLETYPE=serial > +StandardOutput=syslog > +StandardError=syslog > + > +[Install] > +WantedBy=basic.target > diff --git a/meta/recipes-extended/iptables/iptables_1.4.21.bb > b/meta/recipes-extended/iptables/iptables_1.4.21.bb > index deea5e5..84c95ea 100644 > --- a/meta/recipes-extended/iptables/iptables_1.4.21.bb > +++ b/meta/recipes-extended/iptables/iptables_1.4.21.bb > @@ -24,12 +24,14 @@ SRC_URI = > "http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \ > > file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch > \ > file://0001-fix-build-with-musl.patch \ > > > file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch > \ > + file://iptables.service \ > + file://ip6tables.service \ >" > > SRC_URI[md5sum] = "536d048c8e8eeebcd9757d0863ebb0c0" > SRC_URI[sha256sum] = > "52004c68021da9a599feed27f65defcfb22128f7da2c0531c0f75de0f479d3e0" > > -inherit autotools pkgconfig > +inherit autotools pkgconfig systemd > > EXTRA_OECONF = "--with-kernel=${STAGING_INCDIR} \ > " > @@ -46,3 +48,15 @@ do_configure_prepend() { > # Keep ax_check_linker_flags.m4 which belongs to > autoconf-archive. > rm -f libtool.m4 lt~obsolete.m4 ltoptions.m4 > ltsugar.m4 ltversion.m4 > } > + > +do_install_append() { > +install -d ${D}${systemd_unitdir}/system > +install -m 0644 ${WORKDIR}/ip6tables.service > ${D}${systemd_unitdir}/system/ > +install -m 0644 ${WORKDIR}/iptables.service > ${D}${systemd_unitdir}/system/ > +sed -i -e "s,/usr/libexec/iptables,${libexecdir},g" \ > + ${D}${systemd_unitdir}/system/iptables.service > +sed -i -e "s,/usr/libexec/iptables,${libexecdir},g" \ > + >
Re: [OE-core] [PATCH v2] udev: add runtime dependencies for udev-cache
On Thu, 2016-02-04 at 13:01 -0800, Khem Raj wrote: > > On Feb 4, 2016, at 12:12 PM, Ricardo Neri > >wrote: > > inherit autotools pkgconfig update-rc.d ptest > > RDEPENDS_${PN}-ptest += "make perl python" > > +RDEPENDS_${PN}-cache += "gzip findutils” > > are they individually packaged ipks even with busybox ? > if not then this fix is insufficient They don't have to be individually packaged, it would suffice for busybox to RPROVIDE them. (But it doesn't, so I think you are correct that the patch as it stands will break builds with busybox.) p. -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 00/22] Add Extensible SDK test suite
Summary of changes, - Add new class called testsdk that now have the tests for SDK and eSDK. - TestContext -> {Image, SDK, SDKExt}: Remove all duplicate code inside testimage and testsdk class move into oeqa/oetest and create class per type of Test. - Extensible SDK fixes usage with proxies, when eSDK is configuring it executes setscene tasks that needs network acces if was build with sstate mirrors. Testing was made building/running SDK and eSDK for core-image-minimal and core-image-sato, also testimage was run in core-image-minimal and core-image-sato with QemuRemote and SimpleRemote to ensure that nothing was break. This patchset DEPENDS on bitbake change to export proxies and NEEDS to be MERGED before, see: bb/fetch2: Move export_proxies function from wget to utils. These v3 is the same of v2 on code only fixes issues of squashing and one for don't make reverts in the patch series. The following changes since commit b33e440cc6fbd703e8045d94b806790343e72eb6: libical: Work around hardcoded paths in pkgconfig file (2016-02-04 13:09:56 +) are available in the git repository at: git://git.yoctoproject.org/poky-contrib alimon/esdk_testsuite_v3 http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=alimon/esdk_testsuite_v3 Aníbal Limón (22): testimage: Modularize helper functions for get test lists. classes/testsdk: Add new class testsdk. classes/testimage: Add defeault inherit for testsdk. populate_sdk_ext: Set TOOLCHAINEXT_OUTPUTNAME. get_test_suites: Add sdkext type for load test suites. classes/testsdk: Add testsdkext task only install. bb/fetch2: Move export_proxies function from wget to utils. classes/testsdk: Add call to export_proxies on testsdkext. toolchain-shar-extract.sh: Add proxy variable to new env. testimage/testsdk: Modularize TestContext. testimage/testsdk: Move get test suites routine inside TestContext. oetest.py/TestContext: Move loadTests and runTests inside it. classes/testsdk: Add function run_test_context oeqa/oetest: oeSDKTest when run a command redirect env output to null classes/testsdk: Add compatibility SDK testsuite to eSDK testsdkext: Add skeleton for support Extensible SDK tests. classes/populate_sdk_ext: Add SDK_EXT_TARGET_MANIFEST and SDK_EXT_HOST_MANIFEST oeqa/oetest: Fix compatibility SDK tests using eSDK. oeqa/sdkext: Add devtool basic tests for eSDK. oeqa/sdkext/devtool.py: Add location test to ensure that devtool is the eSDK one. classes/testsdk: Add help information on how to run tests. classes/testimage: Fix exportTests function. bitbake/lib/bb/fetch2/wget.py | 17 +- bitbake/lib/bb/utils.py | 19 ++ meta/classes/populate_sdk_ext.bbclass | 6 +- meta/classes/testimage.bbclass| 219 + meta/classes/testsdk.bbclass | 144 +++ meta/files/toolchain-shar-extract.sh | 4 +- meta/lib/oeqa/oetest.py | 388 ++ meta/lib/oeqa/sdkext/__init__.py | 3 + meta/lib/oeqa/sdkext/devtool.py | 32 +++ meta/lib/oeqa/sdkext/files/myapp/Makefile | 10 + meta/lib/oeqa/sdkext/files/myapp/myapp.c | 9 + 11 files changed, 518 insertions(+), 333 deletions(-) create mode 100644 meta/classes/testsdk.bbclass create mode 100644 meta/lib/oeqa/sdkext/__init__.py create mode 100644 meta/lib/oeqa/sdkext/devtool.py create mode 100644 meta/lib/oeqa/sdkext/files/myapp/Makefile create mode 100644 meta/lib/oeqa/sdkext/files/myapp/myapp.c -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 3/6] security_flags: Disable fstack-protector for gcc runtime libs
On Thu, Feb 4, 2016 at 2:55 PM, Khem Rajwrote: > it causes a catch-22 situation where we build libssp in gcc-runtime > but also pass -fstack-protector flags which require libssp, these > libraries are special as well. > > also flush out ldflags for gcc libs and glibc > > Signed-off-by: Khem Raj > --- > meta/conf/distro/include/security_flags.inc | 11 --- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/meta/conf/distro/include/security_flags.inc > b/meta/conf/distro/include/security_flags.inc > index ac4fc65..7f898ee 100644 > --- a/meta/conf/distro/include/security_flags.inc > +++ b/meta/conf/distro/include/security_flags.inc > @@ -39,8 +39,8 @@ SECURITY_CFLAGS_pn-expect = "${SECURITY_NO_PIE_CFLAGS}" > SECURITY_CFLAGS_pn-flac = "${SECURITY_NO_PIE_CFLAGS}" > SECURITY_CFLAGS_pn-flex = "${SECURITY_NO_PIE_CFLAGS}" > SECURITY_CFLAGS_pn-gcc = "${SECURITY_NO_PIE_CFLAGS}" > -SECURITY_CFLAGS_pn-gcc-runtime = "${SECURITY_NO_PIE_CFLAGS}" > -SECURITY_CFLAGS_pn-gcc-sanitizers = "${SECURITY_NO_PIE_CFLAGS}" > +SECURITY_CFLAGS_pn-gcc-runtime = "" > +SECURITY_CFLAGS_pn-gcc-sanitizers = "" > SECURITY_CFLAGS_pn-gdb = "${SECURITY_NO_PIE_CFLAGS}" > SECURITY_CFLAGS_pn-gmp = "${SECURITY_NO_PIE_CFLAGS}" > SECURITY_CFLAGS_pn-gnutls = "${SECURITY_NO_PIE_CFLAGS}" > @@ -59,7 +59,7 @@ SECURITY_CFLAGS_pn-kexec-tools = "${SECURITY_NO_PIE_CFLAGS}" > SECURITY_CFLAGS_pn-iptables = "${SECURITY_NO_PIE_CFLAGS}" > SECURITY_CFLAGS_pn-libaio = "${SECURITY_NO_PIE_CFLAGS}" > SECURITY_CFLAGS_pn-libcap = "${SECURITY_NO_PIE_CFLAGS}" > -SECURITY_CFLAGS_pn-libgcc = "${SECURITY_NO_PIE_CFLAGS}" > +SECURITY_CFLAGS_pn-libgcc = "" Should libgcc-initial be included here too? > SECURITY_CFLAGS_pn-libid3tag = "${SECURITY_NO_PIE_CFLAGS}" > SECURITY_CFLAGS_pn-libnewt = "${SECURITY_NO_PIE_CFLAGS}" > SECURITY_CFLAGS_pn-libglu = "${SECURITY_NO_PIE_CFLAGS}" > @@ -90,6 +90,11 @@ SECURITY_CFLAGS_pn-pulseaudio = "${SECURITY_NO_PIE_CFLAGS}" > TARGET_CFLAGS_append = " ${SECURITY_CFLAGS}" > TARGET_LDFLAGS_append = " ${SECURITY_LDFLAGS}" > > +SECURITY_LDFLAGS_pn-gcc-runtime = "" > +SECURITY_LDFLAGS_pn-gcc-sanitizers = "" > +SECURITY_LDFLAGS_pn-glibc = "" > +SECURITY_LDFLAGS_pn-glibc-initial = "" > +SECURITY_LDFLAGS_pn-libgcc = "" > SECURITY_LDFLAGS_pn-xf86-video-fbdev = "${SECURITY_X_LDFLAGS}" > SECURITY_LDFLAGS_pn-xf86-video-intel = "${SECURITY_X_LDFLAGS}" > SECURITY_LDFLAGS_pn-xf86-video-omapfb = "${SECURITY_X_LDFLAGS}" > -- > 2.7.0 > > -- > ___ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2] udev: add runtime dependencies for udev-cache
> On Feb 4, 2016, at 12:12 PM, Ricardo Neri >wrote: > > udev-cache uses find and xargs, which are provided by findutils. It also > uses gzip, which is provided by gzip. These utilities need to be present > when udev-cache runs. Thus, add them as RDEPENDSs. > > Otherwise, if busybox is not included in the built image, the following > errors could be observed when booting if such packages are not present: > >/etc/rcS.d/S36udev-cache: line 66: xargs: command not found >/etc/rcS.d/S36udev-cache: line 65: find: command not found >/etc/rcS.d/S36udev-cache: line 67: gzip: command not found > > Cc: Khem Raj > Cc: Ross Burton > Signed-off-by: Ricardo Neri > --- > Changes since v1: > * Narrow the dependency only to udev-cache > * Reword the commit message to mention that the issue is only > reproducible if busybox is not included in the image. > --- > meta/recipes-core/udev/udev.inc | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/meta/recipes-core/udev/udev.inc b/meta/recipes-core/udev/udev.inc > index 93d7369..4e8e758 100644 > --- a/meta/recipes-core/udev/udev.inc > +++ b/meta/recipes-core/udev/udev.inc > @@ -38,6 +38,7 @@ SRC_URI = > "${KERNELORG_MIRROR}/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \ > > inherit autotools pkgconfig update-rc.d ptest > RDEPENDS_${PN}-ptest += "make perl python" > +RDEPENDS_${PN}-cache += "gzip findutils” are they individually packaged ipks even with busybox ? if not then this fix is insufficient > > libexecdir = "${base_libdir}" > EXTRA_OECONF = "--disable-introspection \ > -- > 1.9.1 > 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
[OE-core] [PATCH v3 07/22] bb/fetch2: Move export_proxies function from wget to utils.
In order to use in other modules since is a common function when needs to get proxies working. Signed-off-by: Aníbal Limón--- bitbake/lib/bb/fetch2/wget.py | 17 + bitbake/lib/bb/utils.py | 19 +++ 2 files changed, 20 insertions(+), 16 deletions(-) diff --git a/bitbake/lib/bb/fetch2/wget.py b/bitbake/lib/bb/fetch2/wget.py index 5a31730..fd25c42 100644 --- a/bitbake/lib/bb/fetch2/wget.py +++ b/bitbake/lib/bb/fetch2/wget.py @@ -37,6 +37,7 @@ from bb.fetch2 import FetchMethod from bb.fetch2 import FetchError from bb.fetch2 import logger from bb.fetch2 import runfetchcmd +from bb.utils import export_proxies from bs4 import BeautifulSoup from bs4 import SoupStrainer @@ -219,22 +220,6 @@ class Wget(FetchMethod): return resp -def export_proxies(d): -variables = ['http_proxy', 'HTTP_PROXY', 'https_proxy', 'HTTPS_PROXY', -'ftp_proxy', 'FTP_PROXY', 'no_proxy', 'NO_PROXY'] -exported = False - -for v in variables: -if v in os.environ.keys(): -exported = True -else: -v_proxy = d.getVar(v, True) -if v_proxy is not None: -os.environ[v] = v_proxy -exported = True - -return exported - class HTTPMethodFallback(urllib2.BaseHandler): """ Fallback to GET if HEAD is not allowed (405 HTTP error) diff --git a/bitbake/lib/bb/utils.py b/bitbake/lib/bb/utils.py index ae10213..70b42f3 100644 --- a/bitbake/lib/bb/utils.py +++ b/bitbake/lib/bb/utils.py @@ -1406,3 +1406,22 @@ def set_process_name(name): libc.prctl(15, byref(buff), 0, 0, 0) except: pass + +# export common proxies variables from datastore to environment +def export_proxies(d): +import os + +variables = ['http_proxy', 'HTTP_PROXY', 'https_proxy', 'HTTPS_PROXY', +'ftp_proxy', 'FTP_PROXY', 'no_proxy', 'NO_PROXY'] +exported = False + +for v in variables: +if v in os.environ.keys(): +exported = True +else: +v_proxy = d.getVar(v, True) +if v_proxy is not None: +os.environ[v] = v_proxy +exported = True + +return exported -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 12/22] oetest.py/TestContext: Move loadTests and runTests inside it.
From: Aníbal LimónMethod's for loadTests and runTests make sense to define inside TestContext because it can be different around Image, SDK, SDKExt. Signed-off-by: Aníbal Limón --- meta/classes/testimage.bbclass | 6 +- meta/classes/testsdk.bbclass | 6 +- meta/lib/oeqa/oetest.py| 197 - 3 files changed, 103 insertions(+), 106 deletions(-) diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index 5ffa8a5..5fafda1 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -195,7 +195,7 @@ def testimage_main(d): import oeqa.runtime import time import signal -from oeqa.oetest import loadTests, runTests, ImageTestContext +from oeqa.oetest import ImageTestContext from oeqa.targetcontrol import get_target_controller from oeqa.utils.dump import get_host_dumper @@ -219,7 +219,7 @@ def testimage_main(d): # we are doing that to find compile errors in the tests themselves # before booting the image try: -loadTests(tc) +tc.loadTests() except Exception as e: import traceback bb.fatal("Loading tests failed:\n%s" % traceback.format_exc()) @@ -233,7 +233,7 @@ def testimage_main(d): try: target.start() starttime = time.time() -result = runTests(tc) +result = tc.runTests() stoptime = time.time() if result.wasSuccessful(): bb.plain("%s - Ran %d test%s in %.3fs" % (pn, result.testsRun, result.testsRun != 1 and "s" or "", stoptime - starttime)) diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass index 47bad29..ba8897e 100644 --- a/meta/classes/testsdk.bbclass +++ b/meta/classes/testsdk.bbclass @@ -13,7 +13,7 @@ def testsdk_main(d): import oeqa.sdk import time import subprocess -from oeqa.oetest import loadTests, runTests, SDKTestContext +from oeqa.oetest import SDKTestContext pn = d.getVar("PN", True) bb.utils.mkdirhier(d.getVar("TEST_LOG_DIR", True)) @@ -40,13 +40,13 @@ def testsdk_main(d): # we are doing that to find compile errors in the tests themselves # before booting the image try: -loadTests(tc, "sdk") +tc.loadTests() except Exception as e: import traceback bb.fatal("Loading tests failed:\n%s" % traceback.format_exc()) starttime = time.time() -result = runTests(tc, "sdk") +result = tc.runTests() stoptime = time.time() if result.wasSuccessful(): bb.plain("%s SDK(%s):%s - Ran %d test%s in %.3fs" % (pn, os.path.basename(tcname), os.path.basename(sdkenv),result.testsRun, result.testsRun != 1 and "s" or "", stoptime - starttime)) diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py index 7f07037..16705cc 100644 --- a/meta/lib/oeqa/oetest.py +++ b/meta/lib/oeqa/oetest.py @@ -45,106 +45,6 @@ def filterByTagExp(testsuite, tagexp): caseList.append(filterByTagExp(each, tagexp)) return testsuite.__class__(caseList) -def loadTests(tc, type="runtime"): -if type == "runtime": -# set the context object passed from the test class -setattr(oeTest, "tc", tc) -# set ps command to use -setattr(oeRuntimeTest, "pscmd", "ps -ef" if oeTest.hasPackage("procps") else "ps") -# prepare test suite, loader and runner -suite = unittest.TestSuite() -elif type == "sdk": -# set the context object passed from the test class -setattr(oeTest, "tc", tc) -testloader = unittest.TestLoader() -testloader.sortTestMethodsUsing = None -suites = [testloader.loadTestsFromName(name) for name in tc.testslist] -suites = filterByTagExp(suites, getattr(tc, "tagexp", None)) - -def getTests(test): -'''Return all individual tests executed when running the suite.''' -# Unfortunately unittest does not have an API for this, so we have -# to rely on implementation details. This only needs to work -# for TestSuite containing TestCase. -method = getattr(test, '_testMethodName', None) -if method: -# leaf case: a TestCase -yield test -else: -# Look into TestSuite. -tests = getattr(test, '_tests', []) -for t1 in tests: -for t2 in getTests(t1): -yield t2 - -# Determine dependencies between suites by looking for @skipUnlessPassed -# method annotations. Suite A depends on suite B if any method in A -# depends on a method on B. -for suite in suites: -suite.dependencies = [] -suite.depth = 0 -for test in getTests(suite): -methodname = getattr(test, '_testMethodName',
[OE-core] [PATCH v3 03/22] classes/testimage: Add defeault inherit for testsdk.
For compatibility adds default inherit of the new class testsdk for now, we need to review the code base. Signed-off-by: Aníbal Limón--- meta/classes/testimage.bbclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index ce71209..cb3314d 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -290,3 +290,5 @@ def testimage_main(d): target.stop() testimage_main[vardepsexclude] =+ "BB_ORIGENV" + +inherit testsdk -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 02/22] classes/testsdk: Add new class testsdk.
Moves all the testsdk code from testimage in order to have it's own class because new tests will be added for extensible SDK. The old paths for store logs "${WORKDIR}/testimage" and sdk "${WORKDIR}/testimage-sdk" was maintained for compatibility may be change to point testsdk after review the codebase. The dependency of QEMU was removed because isn't needed. Signed-off-by: Aníbal Limón--- meta/classes/testimage.bbclass | 98 meta/classes/testsdk.bbclass | 100 + 2 files changed, 100 insertions(+), 98 deletions(-) create mode 100644 meta/classes/testsdk.bbclass diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index a4026d3..ce71209 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -98,14 +98,6 @@ do_testimage[nostamp] = "1" do_testimage[depends] += "${TESTIMAGEDEPENDS}" do_testimage[lockfiles] += "${TESTIMAGELOCK}" -python do_testsdk() { -testsdk_main(d) -} -addtask testsdk -do_testsdk[nostamp] = "1" -do_testsdk[depends] += "${TESTIMAGEDEPENDS}" -do_testsdk[lockfiles] += "${TESTIMAGELOCK}" - def exportTests(d,tc): import json import shutil @@ -197,7 +189,6 @@ def exportTests(d,tc): bb.plain("Exported tests to: %s" % exportpath) - def testimage_main(d): import unittest import os @@ -299,92 +290,3 @@ def testimage_main(d): target.stop() testimage_main[vardepsexclude] =+ "BB_ORIGENV" - -def testsdk_main(d): -import unittest -import os -import glob -import oeqa.runtime -import oeqa.sdk -import time -import subprocess -from oeqa.oetest import loadTests, runTests, get_test_suites, get_tests_list - -pn = d.getVar("PN", True) -bb.utils.mkdirhier(d.getVar("TEST_LOG_DIR", True)) - -# tests in TEST_SUITES become required tests -# they won't be skipped even if they aren't suitable. -# testslist is what we'll actually pass to the unittest loader -testslist = get_tests_list(get_test_suites(d, "sdk"), d.getVar("BBPATH", True).split(':'), "sdk") -testsrequired = [t for t in (d.getVar("TEST_SUITES_SDK", True) or "auto").split() if t != "auto"] - -tcname = d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh") -if not os.path.exists(tcname): -bb.fatal("The toolchain is not built. Build it before running the tests: 'bitbake -c populate_sdk' .") - -class TestContext(object): -def __init__(self): -self.d = d -self.testslist = testslist -self.testsrequired = testsrequired -self.filesdir = os.path.join(os.path.dirname(os.path.abspath(oeqa.runtime.__file__)),"files") -self.sdktestdir = sdktestdir -self.sdkenv = sdkenv -self.imagefeatures = d.getVar("IMAGE_FEATURES", True).split() -self.distrofeatures = d.getVar("DISTRO_FEATURES", True).split() -manifest = d.getVar("SDK_TARGET_MANIFEST", True) -try: -with open(manifest) as f: -self.pkgmanifest = f.read() -except IOError as e: -bb.fatal("No package manifest file found. Did you build the sdk image?\n%s" % e) -hostmanifest = d.getVar("SDK_HOST_MANIFEST", True) -try: -with open(hostmanifest) as f: -self.hostpkgmanifest = f.read() -except IOError as e: -bb.fatal("No host package manifest file found. Did you build the sdk image?\n%s" % e) - -sdktestdir = d.expand("${WORKDIR}/testimage-sdk/") -bb.utils.remove(sdktestdir, True) -bb.utils.mkdirhier(sdktestdir) -try: -subprocess.check_output("cd %s; %s <
[OE-core] [PATCH v3 11/22] testimage/testsdk: Move get test suites routine inside TestContext.
From: Aníbal LimónIn order to provide better abstraction move functions to get the test suite inside the TestContext. Signed-off-by: Aníbal Limón --- meta/classes/testimage.bbclass | 11 +-- meta/classes/testsdk.bbclass | 19 +--- meta/lib/oeqa/oetest.py| 192 +++-- 3 files changed, 112 insertions(+), 110 deletions(-) diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index 2e5bf44..5ffa8a5 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -195,8 +195,7 @@ def testimage_main(d): import oeqa.runtime import time import signal -from oeqa.oetest import loadTests, runTests, \ -get_test_suites, get_tests_list, ImageTestContext +from oeqa.oetest import loadTests, runTests, ImageTestContext from oeqa.targetcontrol import get_target_controller from oeqa.utils.dump import get_host_dumper @@ -207,12 +206,6 @@ def testimage_main(d): bb.utils.remove(d.getVar("TEST_EXPORT_DIR", True), recurse=True) bb.utils.mkdirhier(d.getVar("TEST_EXPORT_DIR", True)) -# tests in TEST_SUITES become required tests -# they won't be skipped even if they aren't suitable for a image (like xorg for minimal) -# testslist is what we'll actually pass to the unittest loader -testslist = get_tests_list(get_test_suites(d), d.getVar("BBPATH", True).split(':')) -testsrequired = [t for t in d.getVar("TEST_SUITES", True).split() if t != "auto"] - # we need the host dumper in test context host_dumper = get_host_dumper(d) @@ -220,7 +213,7 @@ def testimage_main(d): target = get_target_controller(d) # test context -tc = ImageTestContext(d, testslist, testsrequired, target, host_dumper) +tc = ImageTestContext(d, target, host_dumper) # this is a dummy load of tests # we are doing that to find compile errors in the tests themselves diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass index 06e7a77..47bad29 100644 --- a/meta/classes/testsdk.bbclass +++ b/meta/classes/testsdk.bbclass @@ -13,18 +13,11 @@ def testsdk_main(d): import oeqa.sdk import time import subprocess -from oeqa.oetest import loadTests, runTests, \ -get_test_suites, get_tests_list, SDKTestContext +from oeqa.oetest import loadTests, runTests, SDKTestContext pn = d.getVar("PN", True) bb.utils.mkdirhier(d.getVar("TEST_LOG_DIR", True)) -# tests in TEST_SUITES become required tests -# they won't be skipped even if they aren't suitable. -# testslist is what we'll actually pass to the unittest loader -testslist = get_tests_list(get_test_suites(d, "sdk"), d.getVar("BBPATH", True).split(':'), "sdk") -testsrequired = [t for t in (d.getVar("TEST_SUITES_SDK", True) or "auto").split() if t != "auto"] - tcname = d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh") if not os.path.exists(tcname): bb.fatal("The toolchain is not built. Build it before running the tests: 'bitbake -c populate_sdk' .") @@ -41,7 +34,7 @@ def testsdk_main(d): targets = glob.glob(d.expand(sdktestdir + "/tc/environment-setup-*")) for sdkenv in targets: bb.plain("Testing %s" % sdkenv) -tc = SDKTestContext(d, testslist, testsrequired, sdktestdir, sdkenv) +tc = SDKTestContext(d, sdktestdir, sdkenv) # this is a dummy load of tests # we are doing that to find compile errors in the tests themselves @@ -94,14 +87,6 @@ def testsdkext_main(d): pn = d.getVar("PN", True) bb.utils.mkdirhier(d.getVar("TEST_LOG_SDKEXT_DIR", True)) -# tests in TEST_SUITES become required tests -# they won't be skipped even if they aren't suitable. -# testslist is what we'll actually pass to the unittest loader -testslist = get_tests_list(get_test_suites(d, "sdkext"), -d.getVar("BBPATH", True).split(':'), "sdkext") -testsrequired = [t for t in (d.getVar("TEST_SUITES_SDKEXT", True) or \ -"auto").split() if t != "auto"] - tcname = d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.sh") if not os.path.exists(tcname): bb.fatal("The toolchain ext is not built. Build it before running the" \ diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py index 9951a6f..7f07037 100644 --- a/meta/lib/oeqa/oetest.py +++ b/meta/lib/oeqa/oetest.py @@ -33,7 +33,6 @@ def getVar(obj): def checkTags(tc, tagexp): return eval(tagexp, None, getVar(tc)) - def filterByTagExp(testsuite, tagexp): if not tagexp: return testsuite @@ -254,96 +253,80 @@ def skipModuleUnless(cond, reason): if not cond: skipModule(reason, 3) -# get testcase list from specified file -# if path is a relative path, then relative to build/conf/ -def read_testlist(fpath, builddir): -if not
[OE-core] [PATCH v3 13/22] classes/testsdk: Add function run_test_context
From: Aníbal LimónThis helper functions will be serve as well to run extensible sdk tests so generalize it to get function context as arg. Signed-off-by: Aníbal Limón --- meta/classes/testsdk.bbclass | 62 +++- 1 file changed, 32 insertions(+), 30 deletions(-) diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass index ba8897e..88057e5 100644 --- a/meta/classes/testsdk.bbclass +++ b/meta/classes/testsdk.bbclass @@ -5,13 +5,40 @@ TEST_LOG_DIR ?= "${WORKDIR}/testimage" TESTSDKLOCK = "${TMPDIR}/testsdk.lock" +def run_test_context(CTestContext, d, testdir, tcname, pn): +import glob +import time + +targets = glob.glob(d.expand(testdir + "/tc/environment-setup-*")) +for sdkenv in targets: +bb.plain("Testing %s" % sdkenv) +tc = CTestContext(d, testdir, sdkenv) + +# this is a dummy load of tests +# we are doing that to find compile errors in the tests themselves +# before booting the image +try: +tc.loadTests() +except Exception as e: +import traceback +bb.fatal("Loading tests failed:\n%s" % traceback.format_exc()) + +starttime = time.time() +result = tc.runTests() +stoptime = time.time() +if result.wasSuccessful(): +bb.plain("%s SDK(%s):%s - Ran %d test%s in %.3fs" % (pn, os.path.basename(tcname), os.path.basename(sdkenv),result.testsRun, result.testsRun != 1 and "s" or "", stoptime - starttime)) +msg = "%s - OK - All required tests passed" % pn +skipped = len(result.skipped) +if skipped: +msg += " (skipped=%d)" % skipped +bb.plain(msg) +else: +raise bb.build.FuncFailed("%s - FAILED - check the task log and the commands log" % pn ) + def testsdk_main(d): -import unittest import os -import glob -import oeqa.runtime import oeqa.sdk -import time import subprocess from oeqa.oetest import SDKTestContext @@ -31,32 +58,7 @@ def testsdk_main(d): bb.fatal("Couldn't install the SDK:\n%s" % e.output) try: -targets = glob.glob(d.expand(sdktestdir + "/tc/environment-setup-*")) -for sdkenv in targets: -bb.plain("Testing %s" % sdkenv) -tc = SDKTestContext(d, sdktestdir, sdkenv) - -# this is a dummy load of tests -# we are doing that to find compile errors in the tests themselves -# before booting the image -try: -tc.loadTests() -except Exception as e: -import traceback -bb.fatal("Loading tests failed:\n%s" % traceback.format_exc()) - -starttime = time.time() -result = tc.runTests() -stoptime = time.time() -if result.wasSuccessful(): -bb.plain("%s SDK(%s):%s - Ran %d test%s in %.3fs" % (pn, os.path.basename(tcname), os.path.basename(sdkenv),result.testsRun, result.testsRun != 1 and "s" or "", stoptime - starttime)) -msg = "%s - OK - All required tests passed" % pn -skipped = len(result.skipped) -if skipped: -msg += " (skipped=%d)" % skipped -bb.plain(msg) -else: -raise bb.build.FuncFailed("%s - FAILED - check the task log and the commands log" % pn ) +run_test_context(SDKTestContext, d, sdktestdir, tcname, pn) finally: bb.utils.remove(sdktestdir, True) -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 04/22] populate_sdk_ext: Set TOOLCHAINEXT_OUTPUTNAME.
This variable is needed by testextsdk to known the name of extensible sdk file generated. Signed-off-by: Aníbal Limón--- meta/classes/populate_sdk_ext.bbclass | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index da7fdfb..394c70c 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -45,7 +45,8 @@ COREBASE_FILES ?= " \ SDK_DIR_task-populate-sdk-ext = "${WORKDIR}/sdk-ext" B_task-populate-sdk-ext = "${SDK_DIR}" -TOOLCHAIN_OUTPUTNAME_task-populate-sdk-ext = "${SDK_NAME}-toolchain-ext-${SDK_VERSION}" +TOOLCHAINEXT_OUTPUTNAME = "${SDK_NAME}-toolchain-ext-${SDK_VERSION}" +TOOLCHAIN_OUTPUTNAME_task-populate-sdk-ext = "${TOOLCHAINEXT_OUTPUTNAME}" SDK_TITLE_task-populate-sdk-ext = "${@d.getVar('DISTRO_NAME', True) or d.getVar('DISTRO', True)} Extensible SDK" -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 01/22] testimage: Modularize helper functions for get test lists.
Test lists functions can be used in other parts so modularize it and move to oeqa/oetest.py library. Testimage class was updated to meet the new sign of the functions. Signed-off-by: Aníbal Limón--- meta/classes/testimage.bbclass | 78 +++--- meta/lib/oeqa/oetest.py| 74 +++ 2 files changed, 78 insertions(+), 74 deletions(-) diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index 37af46f..a4026d3 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -106,74 +106,6 @@ do_testsdk[nostamp] = "1" do_testsdk[depends] += "${TESTIMAGEDEPENDS}" do_testsdk[lockfiles] += "${TESTIMAGELOCK}" -# get testcase list from specified file -# if path is a relative path, then relative to build/conf/ -def read_testlist(d, fpath): -if not os.path.isabs(fpath): -builddir = d.getVar("TOPDIR", True) -fpath = os.path.join(builddir, "conf", fpath) -if not os.path.exists(fpath): -bb.fatal("No such manifest file: ", fpath) -tcs = [] -for line in open(fpath).readlines(): -line = line.strip() -if line and not line.startswith("#"): -tcs.append(line) -return " ".join(tcs) - -def get_tests_list(d, type="runtime"): -testsuites = [] -testslist = [] -manifests = d.getVar("TEST_SUITES_MANIFEST", True) -if manifests is not None: -manifests = manifests.split() -for manifest in manifests: -testsuites.extend(read_testlist(d, manifest).split()) -else: -testsuites = d.getVar("TEST_SUITES", True).split() -if type == "sdk": -testsuites = (d.getVar("TEST_SUITES_SDK", True) or "auto").split() -bbpath = d.getVar("BBPATH", True).split(':') - -# This relies on lib/ under each directory in BBPATH being added to sys.path -# (as done by default in base.bbclass) -for testname in testsuites: -if testname != "auto": -if testname.startswith("oeqa."): -testslist.append(testname) -continue -found = False -for p in bbpath: -if os.path.exists(os.path.join(p, 'lib', 'oeqa', type, testname + '.py')): -testslist.append("oeqa." + type + "." + testname) -found = True -break -elif os.path.exists(os.path.join(p, 'lib', 'oeqa', type, testname.split(".")[0] + '.py')): -testslist.append("oeqa." + type + "." + testname) -found = True -break -if not found: -bb.fatal('Test %s specified in TEST_SUITES could not be found in lib/oeqa/runtime under BBPATH' % testname) - -if "auto" in testsuites: -def add_auto_list(path): -if not os.path.exists(os.path.join(path, '__init__.py')): -bb.fatal('Tests directory %s exists but is missing __init__.py' % path) -files = sorted([f for f in os.listdir(path) if f.endswith('.py') and not f.startswith('_')]) -for f in files: -module = 'oeqa.' + type + '.' + f[:-3] -if module not in testslist: -testslist.append(module) - -for p in bbpath: -testpath = os.path.join(p, 'lib', 'oeqa', type) -bb.debug(2, 'Searching for tests in %s' % testpath) -if os.path.exists(testpath): -add_auto_list(testpath) - -return testslist - - def exportTests(d,tc): import json import shutil @@ -272,7 +204,7 @@ def testimage_main(d): import oeqa.runtime import time import signal -from oeqa.oetest import loadTests, runTests +from oeqa.oetest import loadTests, runTests, get_test_suites, get_tests_list from oeqa.targetcontrol import get_target_controller from oeqa.utils.dump import get_host_dumper @@ -286,7 +218,7 @@ def testimage_main(d): # tests in TEST_SUITES become required tests # they won't be skipped even if they aren't suitable for a image (like xorg for minimal) # testslist is what we'll actually pass to the unittest loader -testslist = get_tests_list(d) +testslist = get_tests_list(get_test_suites(d), d.getVar("BBPATH", True).split(':')) testsrequired = [t for t in d.getVar("TEST_SUITES", True).split() if t != "auto"] tagexp = d.getVar("TEST_SUITES_TAGS", True) @@ -368,7 +300,6 @@ def testimage_main(d): testimage_main[vardepsexclude] =+ "BB_ORIGENV" - def testsdk_main(d): import unittest import os @@ -377,7 +308,7 @@ def testsdk_main(d): import oeqa.sdk import time import subprocess -from oeqa.oetest import loadTests, runTests +from oeqa.oetest import loadTests, runTests, get_test_suites, get_tests_list pn = d.getVar("PN", True) bb.utils.mkdirhier(d.getVar("TEST_LOG_DIR",
Re: [OE-core] [PATCH v3 00/22] Add Extensible SDK test suite
On Thu, 04 Feb 2016 16:29:17 Aníbal Limón wrote: > Summary of changes, > > - Add new class called testsdk that now have the tests for SDK and eSDK. > - TestContext -> {Image, SDK, SDKExt}: Remove all duplicate code inside > testimage and testsdk class move into oeqa/oetest and create class per > type of Test. > - Extensible SDK fixes usage with proxies, when eSDK is configuring it > executes setscene tasks that needs network acces if was build with sstate > mirrors. > > Testing was made building/running SDK and eSDK for core-image-minimal and > core-image-sato, also testimage was run in core-image-minimal and > core-image-sato with QemuRemote and SimpleRemote to ensure that nothing was > break. > > This patchset DEPENDS on bitbake change to export proxies and NEEDS to be > MERGED before, see: bb/fetch2: Move export_proxies function from wget to > utils. > > These v3 is the same of v2 on code only fixes issues of squashing and one > for don't make reverts in the patch series. > > The following changes since commit b33e440cc6fbd703e8045d94b806790343e72eb6: > > libical: Work around hardcoded paths in pkgconfig file (2016-02-04 > 13:09:56 +) > > are available in the git repository at: > > git://git.yoctoproject.org/poky-contrib alimon/esdk_testsuite_v3 > > http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=alimon/esdk_testsu > ite_v3 > > Aníbal Limón (22): > testimage: Modularize helper functions for get test lists. > classes/testsdk: Add new class testsdk. > classes/testimage: Add defeault inherit for testsdk. > populate_sdk_ext: Set TOOLCHAINEXT_OUTPUTNAME. > get_test_suites: Add sdkext type for load test suites. > classes/testsdk: Add testsdkext task only install. > bb/fetch2: Move export_proxies function from wget to utils. > classes/testsdk: Add call to export_proxies on testsdkext. > toolchain-shar-extract.sh: Add proxy variable to new env. > testimage/testsdk: Modularize TestContext. > testimage/testsdk: Move get test suites routine inside TestContext. > oetest.py/TestContext: Move loadTests and runTests inside it. > classes/testsdk: Add function run_test_context > oeqa/oetest: oeSDKTest when run a command redirect env output to null > classes/testsdk: Add compatibility SDK testsuite to eSDK > testsdkext: Add skeleton for support Extensible SDK tests. > classes/populate_sdk_ext: Add SDK_EXT_TARGET_MANIFEST and > SDK_EXT_HOST_MANIFEST > oeqa/oetest: Fix compatibility SDK tests using eSDK. > oeqa/sdkext: Add devtool basic tests for eSDK. > oeqa/sdkext/devtool.py: Add location test to ensure that devtool is > the eSDK one. > classes/testsdk: Add help information on how to run tests. > classes/testimage: Fix exportTests function. Acked-by: Paul EggletonCheers, Paul -- Paul Eggleton Intel Open Source Technology Centre -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 05/22] get_test_suites: Add sdkext type for load test suites.
Signed-off-by: Aníbal Limón--- meta/lib/oeqa/oetest.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py index 18b2209..6470129 100644 --- a/meta/lib/oeqa/oetest.py +++ b/meta/lib/oeqa/oetest.py @@ -271,6 +271,8 @@ def get_test_suites(d, type='runtime'): if type == "sdk": testsuites = (d.getVar("TEST_SUITES_SDK", True) or "auto").split() +elif type == "sdkext": +testsuites = (d.getVar("TEST_SUITES_SDKEXT", True) or "auto").split() else: manifests = (d.getVar("TEST_SUITES_MANIFEST", True) or '').split() if manifests: -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 06/22] classes/testsdk: Add testsdkext task only install.
Add task for test extensible sdk for now only install the SDK. Signed-off-by: Aníbal Limón--- meta/classes/testsdk.bbclass | 45 1 file changed, 45 insertions(+) diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass index 42c4913..8fe6d0f 100644 --- a/meta/classes/testsdk.bbclass +++ b/meta/classes/testsdk.bbclass @@ -98,3 +98,48 @@ python do_testsdk() { addtask testsdk do_testsdk[nostamp] = "1" do_testsdk[lockfiles] += "${TESTSDKLOCK}" + +TEST_LOG_SDKEXT_DIR ?= "${WORKDIR}/testsdkext" +TESTSDKEXTLOCK = "${TMPDIR}/testsdkext.lock" + +def testsdkext_main(d): +import unittest +import os +import glob +import oeqa.sdkext +import time +import subprocess +from oeqa.oetest import loadTests, runTests, get_test_suites, get_tests_list + +pn = d.getVar("PN", True) +bb.utils.mkdirhier(d.getVar("TEST_LOG_SDKEXT_DIR", True)) + +# tests in TEST_SUITES become required tests +# they won't be skipped even if they aren't suitable. +# testslist is what we'll actually pass to the unittest loader +testslist = get_tests_list(get_test_suites(d, "sdkext"), +d.getVar("BBPATH", True).split(':'), "sdkext") +testsrequired = [t for t in (d.getVar("TEST_SUITES_SDKEXT", True) or \ +"auto").split() if t != "auto"] + +tcname = d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.sh") +if not os.path.exists(tcname): +bb.fatal("The toolchain ext is not built. Build it before running the" \ + " tests: 'bitbake -c populate_sdk_ext' .") + +testdir = d.expand("${WORKDIR}/testsdkext/") +bb.utils.remove(testdir, True) +bb.utils.mkdirhier(testdir) +try: +subprocess.check_output("%s -y -d %s" % (tcname, testdir), shell=True) +except subprocess.CalledProcessError as e: +bb.fatal("Couldn't install the SDK EXT:\n%s" % e.output) + +testsdkext_main[vardepsexclude] =+ "BB_ORIGENV" + +python do_testsdkext() { +testsdkext_main(d) +} +addtask testsdkext +do_testsdkext[nostamp] = "1" +do_testsdkext[lockfiles] += "${TESTSDKEXTLOCK}" -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 10/22] testimage/testsdk: Modularize TestContext.
From: Aníbal LimónMove anonymous duplicated class TestContext from testimage/testsdk to oeqa/oetest now we have two new classes ImageTestContext and SDKTestContext with common code in TestContext class. Signed-off-by: Aníbal Limón --- meta/classes/testimage.bbclass | 40 ++- meta/classes/testsdk.bbclass | 29 ++- meta/lib/oeqa/oetest.py| 63 ++ 3 files changed, 69 insertions(+), 63 deletions(-) diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index cb3314d..2e5bf44 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -195,7 +195,8 @@ def testimage_main(d): import oeqa.runtime import time import signal -from oeqa.oetest import loadTests, runTests, get_test_suites, get_tests_list +from oeqa.oetest import loadTests, runTests, \ +get_test_suites, get_tests_list, ImageTestContext from oeqa.targetcontrol import get_target_controller from oeqa.utils.dump import get_host_dumper @@ -212,48 +213,14 @@ def testimage_main(d): testslist = get_tests_list(get_test_suites(d), d.getVar("BBPATH", True).split(':')) testsrequired = [t for t in d.getVar("TEST_SUITES", True).split() if t != "auto"] -tagexp = d.getVar("TEST_SUITES_TAGS", True) - # we need the host dumper in test context host_dumper = get_host_dumper(d) # the robot dance target = get_target_controller(d) -class TestContext(object): -def __init__(self): -self.d = d -self.testslist = testslist -self.tagexp = tagexp -self.testsrequired = testsrequired -self.filesdir = os.path.join(os.path.dirname(os.path.abspath(oeqa.runtime.__file__)),"files") -self.target = target -self.host_dumper = host_dumper -self.imagefeatures = d.getVar("IMAGE_FEATURES", True).split() -self.distrofeatures = d.getVar("DISTRO_FEATURES", True).split() -manifest = os.path.join(d.getVar("DEPLOY_DIR_IMAGE", True), d.getVar("IMAGE_LINK_NAME", True) + ".manifest") -nomanifest = d.getVar("IMAGE_NO_MANIFEST", True) - -self.sigterm = False -self.origsigtermhandler = signal.getsignal(signal.SIGTERM) -signal.signal(signal.SIGTERM, self.sigterm_exception) - -if nomanifest is None or nomanifest != "1": -try: -with open(manifest) as f: -self.pkgmanifest = f.read() -except IOError as e: -bb.fatal("No package manifest file found. Did you build the image?\n%s" % e) -else: -self.pkgmanifest = "" - -def sigterm_exception(self, signum, stackframe): -bb.warn("TestImage received SIGTERM, shutting down...") -self.sigterm = True -self.target.stop() - # test context -tc = TestContext() +tc = ImageTestContext(d, testslist, testsrequired, target, host_dumper) # this is a dummy load of tests # we are doing that to find compile errors in the tests themselves @@ -264,7 +231,6 @@ def testimage_main(d): import traceback bb.fatal("Loading tests failed:\n%s" % traceback.format_exc()) - if export: signal.signal(signal.SIGTERM, tc.origsigtermhandler) tc.origsigtermhandler = None diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass index 104c7a1..06e7a77 100644 --- a/meta/classes/testsdk.bbclass +++ b/meta/classes/testsdk.bbclass @@ -13,7 +13,8 @@ def testsdk_main(d): import oeqa.sdk import time import subprocess -from oeqa.oetest import loadTests, runTests, get_test_suites, get_tests_list +from oeqa.oetest import loadTests, runTests, \ +get_test_suites, get_tests_list, SDKTestContext pn = d.getVar("PN", True) bb.utils.mkdirhier(d.getVar("TEST_LOG_DIR", True)) @@ -28,29 +29,6 @@ def testsdk_main(d): if not os.path.exists(tcname): bb.fatal("The toolchain is not built. Build it before running the tests: 'bitbake -c populate_sdk' .") -class TestContext(object): -def __init__(self): -self.d = d -self.testslist = testslist -self.testsrequired = testsrequired -self.filesdir = os.path.join(os.path.dirname(os.path.abspath(oeqa.runtime.__file__)),"files") -self.sdktestdir = sdktestdir -self.sdkenv = sdkenv -self.imagefeatures = d.getVar("IMAGE_FEATURES", True).split() -self.distrofeatures = d.getVar("DISTRO_FEATURES", True).split() -manifest = d.getVar("SDK_TARGET_MANIFEST", True) -try: -with open(manifest) as f: -self.pkgmanifest = f.read() -except IOError as e: -
[OE-core] [PATCH v3 08/22] classes/testsdk: Add call to export_proxies on testsdkext.
Extensible SDK needs to use network and some networks requires proxies then export it. Signed-off-by: Aníbal Limón--- meta/classes/testsdk.bbclass | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass index 8fe6d0f..104c7a1 100644 --- a/meta/classes/testsdk.bbclass +++ b/meta/classes/testsdk.bbclass @@ -110,6 +110,9 @@ def testsdkext_main(d): import time import subprocess from oeqa.oetest import loadTests, runTests, get_test_suites, get_tests_list +from bb.utils import export_proxies + +export_proxies(d) pn = d.getVar("PN", True) bb.utils.mkdirhier(d.getVar("TEST_LOG_SDKEXT_DIR", True)) -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 16/22] testsdkext: Add skeleton for support Extensible SDK tests.
From: Aníbal Limónoeqa/sdkext: Add module and __init__.py will contain eSDK tests. classes/testsdk: Add support for run eSDK tests. oeqa/oetest: Create oeSDKExtTest for now only inherit oeSDKTest, modified SDKExtTestContext now inherit SDKTestContext and set sdkext filesdir for store data fixtures. Signed-off-by: Aníbal Limón --- meta/classes/testsdk.bbclass | 10 +- meta/lib/oeqa/oetest.py | 12 +++- meta/lib/oeqa/sdkext/__init__.py | 3 +++ 3 files changed, 23 insertions(+), 2 deletions(-) create mode 100644 meta/lib/oeqa/sdkext/__init__.py diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass index a0c50fe..417510c 100644 --- a/meta/classes/testsdk.bbclass +++ b/meta/classes/testsdk.bbclass @@ -114,7 +114,15 @@ def testsdkext_main(d): bb.plain("Running SDK Compatibility tests ...") run_test_context(SDKTestContext, d, testdir, tcname, pn) finally: -bb.utils.remove(testdir, True) +pass + +try: +bb.plain("Running Extensible SDK tests ...") +run_test_context(SDKExtTestContext, d, testdir, tcname, pn) +finally: +pass + +bb.utils.remove(testdir, True) testsdkext_main[vardepsexclude] =+ "BB_ORIGENV" diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py index 47ea3b2..620617c 100644 --- a/meta/lib/oeqa/oetest.py +++ b/meta/lib/oeqa/oetest.py @@ -19,6 +19,7 @@ except ImportError: import logging import oeqa.runtime +import oeqa.sdkext from oeqa.utils.decorators import LogResults, gettag, getResults logger = logging.getLogger("BitBake") @@ -126,6 +127,9 @@ class oeSDKTest(oeTest): def _run(self, cmd): return subprocess.check_output(". %s > /dev/null; %s;" % (self.tc.sdkenv, cmd), shell=True) +class oeSDKExtTest(oeSDKTest): +pass + def getmodule(pos=2): # stack returns a list of tuples containg frame information # First element of the list the is current frame, caller is 1 @@ -400,7 +404,13 @@ class SDKTestContext(TestContext): return [t for t in (self.d.getVar("TEST_SUITES_SDK", True) or \ "auto").split() if t != "auto"] -class SDKExtTestContext(TestContext): +class SDKExtTestContext(SDKTestContext): +def __init__(self, d, sdktestdir, sdkenv): +super(SDKExtTestContext, self).__init__(d, sdktestdir, sdkenv) + +self.sdkextfilesdir = os.path.join(os.path.dirname(os.path.abspath( +oeqa.sdkext.__file__)), "files") + def _get_test_namespace(self): return "sdkext" diff --git a/meta/lib/oeqa/sdkext/__init__.py b/meta/lib/oeqa/sdkext/__init__.py new file mode 100644 index 000..4cf3fa7 --- /dev/null +++ b/meta/lib/oeqa/sdkext/__init__.py @@ -0,0 +1,3 @@ +# Enable other layers to have tests in the same named directory +from pkgutil import extend_path +__path__ = extend_path(__path__, __name__) -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 09/22] toolchain-shar-extract.sh: Add proxy variable to new env.
Extensible SDK needs to do network operations so add proxies to environment. Signed-off-by: Aníbal Limón--- meta/files/toolchain-shar-extract.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/meta/files/toolchain-shar-extract.sh b/meta/files/toolchain-shar-extract.sh index d844771..12d39c3 100644 --- a/meta/files/toolchain-shar-extract.sh +++ b/meta/files/toolchain-shar-extract.sh @@ -1,6 +1,8 @@ #!/bin/sh -[ -z "$ENVCLEANED" ] && exec /usr/bin/env -i ENVCLEANED=1 HOME="$HOME" "$0" "$@" +[ -z "$ENVCLEANED" ] && exec /usr/bin/env -i ENVCLEANED=1 HOME="$HOME" \ + http_proxy="$http_proxy" https_proxy="$https_proxy" ftp_proxy="$ftp_proxy" \ + no_proxy="$no_proxy" GIT_PROXY_COMMAND="$GIT_PROXY_COMMAND" "$0" "$@" [ -f /etc/environment ] && . /etc/environment export PATH=`echo "$PATH" | sed -e 's/:\.//' -e 's/::/:/'` -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 18/22] oeqa/oetest: Fix compatibility SDK tests using eSDK.
When run SDK tests over eSDK we need to use SDKExtTestContext instead of SDKTestContext because if we use SDKTestContext search for SDK manifest and depends on the SDK manifest generation so populate_sdk needs to be executed. Adds a compatibility mode flag to SDKExtTestContext for search tests over sdk module instead of sdkext module and change testsdk calls to comply with this new param. Signed-off-by: Aníbal Limón--- meta/classes/testsdk.bbclass | 6 +++--- meta/lib/oeqa/oetest.py | 13 ++--- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass index 417510c..453ce40 100644 --- a/meta/classes/testsdk.bbclass +++ b/meta/classes/testsdk.bbclass @@ -5,14 +5,14 @@ TEST_LOG_DIR ?= "${WORKDIR}/testimage" TESTSDKLOCK = "${TMPDIR}/testsdk.lock" -def run_test_context(CTestContext, d, testdir, tcname, pn): +def run_test_context(CTestContext, d, testdir, tcname, pn, *args): import glob import time targets = glob.glob(d.expand(testdir + "/tc/environment-setup-*")) for sdkenv in targets: bb.plain("Testing %s" % sdkenv) -tc = CTestContext(d, testdir, sdkenv) +tc = CTestContext(d, testdir, sdkenv, args) # this is a dummy load of tests # we are doing that to find compile errors in the tests themselves @@ -112,7 +112,7 @@ def testsdkext_main(d): try: bb.plain("Running SDK Compatibility tests ...") -run_test_context(SDKTestContext, d, testdir, tcname, pn) +run_test_context(SDKExtTestContext, d, testdir, tcname, pn, True) finally: pass diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py index 80b40b6..3e2ea0f 100644 --- a/meta/lib/oeqa/oetest.py +++ b/meta/lib/oeqa/oetest.py @@ -376,7 +376,7 @@ class ImageTestContext(TestContext): setattr(oeRuntimeTest, "pscmd", "ps -ef" if oeTest.hasPackage("procps") else "ps") class SDKTestContext(TestContext): -def __init__(self, d, sdktestdir, sdkenv): +def __init__(self, d, sdktestdir, sdkenv, *args): super(SDKTestContext, self).__init__(d) self.sdktestdir = sdktestdir @@ -409,9 +409,13 @@ class SDKTestContext(TestContext): "auto").split() if t != "auto"] class SDKExtTestContext(SDKTestContext): -def __init__(self, d, sdktestdir, sdkenv): +def __init__(self, d, sdktestdir, sdkenv, *args): self.target_manifest = d.getVar("SDK_EXT_TARGET_MANIFEST", True) self.host_manifest = d.getVar("SDK_EXT_HOST_MANIFEST", True) +if args: +self.cm = args[0] # Compatibility mode for run SDK tests +else: +self.cm = False super(SDKExtTestContext, self).__init__(d, sdktestdir, sdkenv) @@ -419,7 +423,10 @@ class SDKExtTestContext(SDKTestContext): oeqa.sdkext.__file__)), "files") def _get_test_namespace(self): -return "sdkext" +if self.cm: +return "sdk" +else: +return "sdkext" def _get_test_suites(self): return (self.d.getVar("TEST_SUITES_SDK_EXT", True) or "auto").split() -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 17/22] classes/populate_sdk_ext: Add SDK_EXT_TARGET_MANIFEST and SDK_EXT_HOST_MANIFEST
From: Aníbal LimónExtensible SDK needs to point to the correct manifest so add SDK_EXT_TARGET_MANIFEST and SDK_EXT_HOST_MANIFEST variables. oeqa/oetest.py: Fix SDKExtTestContext for load the correct manifests. Signed-off-by: Aníbal Limón --- meta/classes/populate_sdk_ext.bbclass | 3 +++ meta/lib/oeqa/oetest.py | 11 +-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index 394c70c..c47dd0b 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -48,6 +48,9 @@ B_task-populate-sdk-ext = "${SDK_DIR}" TOOLCHAINEXT_OUTPUTNAME = "${SDK_NAME}-toolchain-ext-${SDK_VERSION}" TOOLCHAIN_OUTPUTNAME_task-populate-sdk-ext = "${TOOLCHAINEXT_OUTPUTNAME}" +SDK_EXT_TARGET_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.target.manifest" +SDK_EXT_HOST_MANIFEST = "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.host.manifest" + SDK_TITLE_task-populate-sdk-ext = "${@d.getVar('DISTRO_NAME', True) or d.getVar('DISTRO', True)} Extensible SDK" python copy_buildsystem () { diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py index 620617c..80b40b6 100644 --- a/meta/lib/oeqa/oetest.py +++ b/meta/lib/oeqa/oetest.py @@ -382,14 +382,18 @@ class SDKTestContext(TestContext): self.sdktestdir = sdktestdir self.sdkenv = sdkenv +if not hasattr(self, 'target_manifest'): +self.target_manifest = d.getVar("SDK_TARGET_MANIFEST", True) try: -with open(d.getVar("SDK_TARGET_MANIFEST", True)) as f: +with open(self.target_manifest) as f: self.pkgmanifest = f.read() except IOError as e: bb.fatal("No package manifest file found. Did you build the sdk image?\n%s" % e) +if not hasattr(self, 'host_manifest'): +self.host_manifest = d.getVar("SDK_HOST_MANIFEST", True) try: -with open(d.getVar("SDK_HOST_MANIFEST", True)) as f: +with open(self.host_manifest) as f: self.hostpkgmanifest = f.read() except IOError as e: bb.fatal("No host package manifest file found. Did you build the sdk image?\n%s" % e) @@ -406,6 +410,9 @@ class SDKTestContext(TestContext): class SDKExtTestContext(SDKTestContext): def __init__(self, d, sdktestdir, sdkenv): +self.target_manifest = d.getVar("SDK_EXT_TARGET_MANIFEST", True) +self.host_manifest = d.getVar("SDK_EXT_HOST_MANIFEST", True) + super(SDKExtTestContext, self).__init__(d, sdktestdir, sdkenv) self.sdkextfilesdir = os.path.join(os.path.dirname(os.path.abspath( -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 22/22] classes/testimage: Fix exportTests function.
With new structure of TestContext now holds suite and variable that contains unittest instances, it can't be exported using JSON causing and exception. Adds the suite variable for avoid export it. Signed-off-by: Aníbal Limón--- meta/classes/testimage.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index 5fafda1..7fff29f 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass @@ -112,7 +112,7 @@ def exportTests(d,tc): savedata["host_dumper"] = {} for key in tc.__dict__: # special cases -if key != "d" and key != "target" and key != "host_dumper": +if key not in ['d', 'target', 'host_dumper', 'suite']: savedata[key] = getattr(tc, key) savedata["target"]["ip"] = tc.target.ip or d.getVar("TEST_TARGET_IP", True) savedata["target"]["server_ip"] = tc.target.server_ip or d.getVar("TEST_SERVER_IP", True) -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 20/22] oeqa/sdkext/devtool.py: Add location test to ensure that devtool is the eSDK one.
Signed-off-by: Aníbal Limón--- meta/lib/oeqa/sdkext/devtool.py | 7 +++ 1 file changed, 7 insertions(+) diff --git a/meta/lib/oeqa/sdkext/devtool.py b/meta/lib/oeqa/sdkext/devtool.py index 0262ed3..c5bb310 100644 --- a/meta/lib/oeqa/sdkext/devtool.py +++ b/meta/lib/oeqa/sdkext/devtool.py @@ -11,10 +11,17 @@ class DevtoolTest(oeSDKExtTest): self.myapp_dst = os.path.join(self.tc.sdktestdir, "myapp") shutil.copytree(self.myapp_src, self.myapp_dst) +def test_devtool_location(self): +output = self._run('which devtool') +self.assertEqual(output.startswith(self.tc.sdktestdir), True, \ +msg="Seems that devtool isn't the eSDK one: %s" % output) + +@skipUnlessPassed('test_devtool_location') def test_devtool_add_reset(self): self._run('devtool add myapp %s' % self.myapp_dst) self._run('devtool reset myapp') +@skipUnlessPassed('test_devtool_location') def test_devtool_build(self): self._run('devtool add myapp %s' % self.myapp_dst) self._run('devtool build myapp') -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 19/22] oeqa/sdkext: Add devtool basic tests for eSDK.
From: Aníbal LimónAdd simple myapp application is a C app that prints hello world and exit. Add devtool test for that this app to the workspace, build and reset it. Signed-off-by: Aníbal Limón --- meta/lib/oeqa/sdkext/devtool.py | 25 + meta/lib/oeqa/sdkext/files/myapp/Makefile | 10 ++ meta/lib/oeqa/sdkext/files/myapp/myapp.c | 9 + 3 files changed, 44 insertions(+) create mode 100644 meta/lib/oeqa/sdkext/devtool.py create mode 100644 meta/lib/oeqa/sdkext/files/myapp/Makefile create mode 100644 meta/lib/oeqa/sdkext/files/myapp/myapp.c diff --git a/meta/lib/oeqa/sdkext/devtool.py b/meta/lib/oeqa/sdkext/devtool.py new file mode 100644 index 000..0262ed3 --- /dev/null +++ b/meta/lib/oeqa/sdkext/devtool.py @@ -0,0 +1,25 @@ +import shutil + +from oeqa.oetest import oeSDKExtTest +from oeqa.utils.decorators import * + +class DevtoolTest(oeSDKExtTest): + +@classmethod +def setUpClass(self): +self.myapp_src = os.path.join(self.tc.sdkextfilesdir, "myapp") +self.myapp_dst = os.path.join(self.tc.sdktestdir, "myapp") +shutil.copytree(self.myapp_src, self.myapp_dst) + +def test_devtool_add_reset(self): +self._run('devtool add myapp %s' % self.myapp_dst) +self._run('devtool reset myapp') + +def test_devtool_build(self): +self._run('devtool add myapp %s' % self.myapp_dst) +self._run('devtool build myapp') +self._run('devtool reset myapp') + +@classmethod +def tearDownClass(self): +shutil.rmtree(self.myapp_dst) diff --git a/meta/lib/oeqa/sdkext/files/myapp/Makefile b/meta/lib/oeqa/sdkext/files/myapp/Makefile new file mode 100644 index 000..abd91be --- /dev/null +++ b/meta/lib/oeqa/sdkext/files/myapp/Makefile @@ -0,0 +1,10 @@ +all: myapp + +myapp: myapp.o + $(CC) $(LDFLAGS) $< -o $@ + +myapp.o: myapp.c + $(CC) $(CFLAGS) -c $< -o $@ + +clean: + rm -rf myapp.o myapp diff --git a/meta/lib/oeqa/sdkext/files/myapp/myapp.c b/meta/lib/oeqa/sdkext/files/myapp/myapp.c new file mode 100644 index 000..f0b63f0 --- /dev/null +++ b/meta/lib/oeqa/sdkext/files/myapp/myapp.c @@ -0,0 +1,9 @@ +#include + +int +main(int argc, char *argv[]) +{ + printf("Hello world\n"); + + return 0; +} -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 21/22] classes/testsdk: Add help information on how to run tests.
From: Aníbal LimónSigned-off-by: Aníbal Limón --- meta/classes/testsdk.bbclass | 10 ++ 1 file changed, 10 insertions(+) diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass index 453ce40..487f40c 100644 --- a/meta/classes/testsdk.bbclass +++ b/meta/classes/testsdk.bbclass @@ -2,6 +2,16 @@ # # Released under the MIT license (see COPYING.MIT) +# testsdk.bbclass enables testing for SDK and Extensible SDK +# +# For run SDK tests you need to do, +# - bitbake core-image-sato -c populate_sdk +# - bitbake core-image-sato -c testsdk +# +# For run eSDK tests you need to do, +# - bitbake core-image-sato -c populate_sdk_ext +# - bitbake core-image-sato -c testsdkext + TEST_LOG_DIR ?= "${WORKDIR}/testimage" TESTSDKLOCK = "${TMPDIR}/testsdk.lock" -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 14/22] oeqa/oetest: oeSDKTest when run a command redirect env output to null
Some tests are failing because the eSDK env load script shows a help message on the output so redirect this to /dev/null. There was a discussion with Paul Eggleton [1], he don't want to have env variables to change the behaviour of what the env script needs to print so redirect the output in oeSDK.run() method. I didn't agree because it can hides another messages like error ones and with the variable you can control what prints or not. [1] http://lists.openembedded.org/pipermail/openembedded-core/2016-February/116744.html Signed-off-by: Aníbal Limón--- meta/lib/oeqa/oetest.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py index 16705cc..47ea3b2 100644 --- a/meta/lib/oeqa/oetest.py +++ b/meta/lib/oeqa/oetest.py @@ -124,7 +124,7 @@ class oeSDKTest(oeTest): return False def _run(self, cmd): -return subprocess.check_output(". %s; " % self.tc.sdkenv + cmd, shell=True) +return subprocess.check_output(". %s > /dev/null; %s;" % (self.tc.sdkenv, cmd), shell=True) def getmodule(pos=2): # stack returns a list of tuples containg frame information -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v3 15/22] classes/testsdk: Add compatibility SDK testsuite to eSDK
From: Aníbal LimónExtensible SDK is compatible with SDK test suite so it need to execute the same tests over it. Signed-off-by: Aníbal Limón --- meta/classes/testsdk.bbclass | 24 +++- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass index 88057e5..a0c50fe 100644 --- a/meta/classes/testsdk.bbclass +++ b/meta/classes/testsdk.bbclass @@ -75,17 +75,25 @@ TEST_LOG_SDKEXT_DIR ?= "${WORKDIR}/testsdkext" TESTSDKEXTLOCK = "${TMPDIR}/testsdkext.lock" def testsdkext_main(d): -import unittest import os -import glob import oeqa.sdkext -import time import subprocess -from oeqa.oetest import loadTests, runTests, get_test_suites, get_tests_list +from oeqa.oetest import SDKTestContext, SDKExtTestContext from bb.utils import export_proxies +# extensible sdk use network export_proxies(d) +# extensible sdk shows a warning if found bitbake in the path +# because can cause problems so clean it +new_path = '' +for p in os.environ['PATH'].split(':'): + if 'bitbake/bin' in p or 'poky/scripts' in p: + continue + new_path = new_path + p + ':' +new_path = new_path[:-1] +os.environ['PATH'] = new_path + pn = d.getVar("PN", True) bb.utils.mkdirhier(d.getVar("TEST_LOG_SDKEXT_DIR", True)) @@ -98,10 +106,16 @@ def testsdkext_main(d): bb.utils.remove(testdir, True) bb.utils.mkdirhier(testdir) try: -subprocess.check_output("%s -y -d %s" % (tcname, testdir), shell=True) +subprocess.check_output("%s -y -d %s/tc" % (tcname, testdir), shell=True) except subprocess.CalledProcessError as e: bb.fatal("Couldn't install the SDK EXT:\n%s" % e.output) +try: +bb.plain("Running SDK Compatibility tests ...") +run_test_context(SDKTestContext, d, testdir, tcname, pn) +finally: +bb.utils.remove(testdir, True) + testsdkext_main[vardepsexclude] =+ "BB_ORIGENV" python do_testsdkext() { -- 2.1.4 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 4/5] gstreamer1.0-plugins-base_git: update to git master 1.7.1-79-g6414289
Includes an important fix for: https://bugzilla.gnome.org/show_bug.cgi?id=760938 The fix is not a simple backport to 1.7.1, so just update to latest version from the current git master branch. Signed-off-by: Andre McCurdy--- meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb index 8ac3a7b..956b24a 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb @@ -14,12 +14,16 @@ SRC_URI = " \ PV = "1.7.1+git${SRCPV}" -SRCREV_base = "5f98203bd753c32666c8fa7a2fde6d186c2a4247" +SRCREV_base = "641428966e09d16b0a46540040f2faf3791eb7c9" SRCREV_common = "86e46630ed8af8d94796859db550a9c3d89c9f65" SRCREV_FORMAT = "base" S = "${WORKDIR}/git" do_configure_prepend() { + + # Temp solution for git snapshot: relax version checks so we can build against GStreamer 1.7.1 + sed 's/^GST_REQ=1\.7\.1\.1/GST_REQ=1.7.1/' -i ${S}/configure.ac + ${S}/autogen.sh --noconfigure } -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/5] gstreamer1.0-plugins-good_git: avoid including directly
musl libc generates warnings if is included directly. Signed-off-by: Andre McCurdy--- .../avoid-including-sys-poll.h-directly.patch | 44 ++ .../gstreamer/gstreamer1.0-plugins-good_git.bb | 1 + 2 files changed, 45 insertions(+) create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch new file mode 100644 index 000..c7f3630 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch @@ -0,0 +1,44 @@ +From 4bfe2c8570a4a7080ec662504882969054d8a072 Mon Sep 17 00:00:00 2001 +From: Andre McCurdy +Date: Wed, 3 Feb 2016 18:12:38 -0800 +Subject: [PATCH] avoid including directly + +musl libc generates warnings if is included directly. + +Upstream-Status: Pending + +Signed-off-by: Andre McCurdy +--- + ext/raw1394/gstdv1394src.c | 2 +- + ext/raw1394/gsthdv1394src.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/ext/raw1394/gstdv1394src.c b/ext/raw1394/gstdv1394src.c +index dbc7607..3c42b41 100644 +--- a/ext/raw1394/gstdv1394src.c b/ext/raw1394/gstdv1394src.c +@@ -37,7 +37,7 @@ + #include "config.h" + #endif + #include +-#include ++#include + #include + #include + #include +diff --git a/ext/raw1394/gsthdv1394src.c b/ext/raw1394/gsthdv1394src.c +index 0b07a37..9785a15 100644 +--- a/ext/raw1394/gsthdv1394src.c b/ext/raw1394/gsthdv1394src.c +@@ -36,7 +36,7 @@ + #include "config.h" + #endif + #include +-#include ++#include + #include + #include + #include +-- +1.9.1 + diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_git.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_git.bb index 5f36f49..915be73 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_git.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_git.bb @@ -10,6 +10,7 @@ SRC_URI = " \ git://anongit.freedesktop.org/gstreamer/gst-plugins-good;name=base \ git://anongit.freedesktop.org/gstreamer/common;destsuffix=git/common;name=common \ file://fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch \ +file://avoid-including-sys-poll.h-directly.patch \ " PV = "1.7.1+git${SRCPV}" -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/5] gstreamer1.0_git: avoid including directly
musl libc generates warnings if is included directly. Signed-off-by: Andre McCurdy--- meta/recipes-multimedia/gstreamer/gstreamer1.0_git.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_git.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_git.bb index 4fff533..77653af 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_git.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_git.bb @@ -18,6 +18,9 @@ SRCREV_FORMAT = "base" S = "${WORKDIR}/git" +# musl libc generates warnings if is included directly +CACHED_CONFIGUREVARS += "ac_cv_header_sys_poll_h=no" + do_configure_prepend() { ${S}/autogen.sh --noconfigure } -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 5/5] gstreamer1.0-plugins-base_git: drop obsolete dependency on freetype
The dependency on freetype was dropped shortly after the 1.7.1 release http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=183610c035dd6955c9b3540b940aec50474af031 Signed-off-by: Andre McCurdy--- meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb | 5 + 1 file changed, 5 insertions(+) diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb index 956b24a..06afb04 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_git.bb @@ -20,6 +20,11 @@ SRCREV_FORMAT = "base" S = "${WORKDIR}/git" +# The dependency on freetype was dropped shortly after the 1.7.1 release +# http://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=183610c035dd6955c9b3540b940aec50474af031 +DEPENDS_remove = "freetype" +EXTRA_OECONF_remove = "--disable-freetypetest" + do_configure_prepend() { # Temp solution for git snapshot: relax version checks so we can build against GStreamer 1.7.1 -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 3/5] gstreamer1.0-plugins-bad_git: avoid including directly
musl libc generates warnings if is included directly. Signed-off-by: Andre McCurdy--- .../avoid-including-sys-poll.h-directly.patch | 30 ++ .../gstreamer/gstreamer1.0-plugins-bad_git.bb | 1 + 2 files changed, 31 insertions(+) create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch new file mode 100644 index 000..357fd78 --- /dev/null +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch @@ -0,0 +1,30 @@ +From 72561a0fca562d03567ace7b4cfc94992cd6525c Mon Sep 17 00:00:00 2001 +From: Andre McCurdy +Date: Wed, 3 Feb 2016 18:05:41 -0800 +Subject: [PATCH] avoid including directly + +musl libc generates warnings if is included directly. + +Upstream-Status: Pending + +Signed-off-by: Andre McCurdy +--- + sys/dvb/gstdvbsrc.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c +index b93255f..49f145a 100644 +--- a/sys/dvb/gstdvbsrc.c b/sys/dvb/gstdvbsrc.c +@@ -93,7 +93,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include +-- +1.9.1 + diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb index 99690a3..0ebf622 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_git.bb @@ -12,6 +12,7 @@ SRC_URI = " \ git://anongit.freedesktop.org/gstreamer/common;destsuffix=git/common;name=common \ file://configure-allow-to-disable-libssh2.patch \ file://fix-maybe-uninitialized-warnings-when-compiling-with-Os.patch \ +file://avoid-including-sys-poll.h-directly.patch \ " PV = "1.7.1+git${SRCPV}" -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] mdadm: Add systemd support
Please use ${systemd_system_unitdir} instead of ${systemd_unitdir}/system Pau Espin Pedrol mail/jabber: pespin.s...@gmail.com http://blog.espeweb.net 2016-02-02 3:22 GMT+01:00 Li Xin: > Add mdadm.service to support systemd systems and add configuration > file. > > Signed-off-by: Li Xin > --- > meta/recipes-extended/mdadm/files/mdadm.service | 13 + > meta/recipes-extended/mdadm/mdadm_3.3.4.bb | 12 +++- > 2 files changed, 24 insertions(+), 1 deletion(-) > create mode 100644 meta/recipes-extended/mdadm/files/mdadm.service > > diff --git a/meta/recipes-extended/mdadm/files/mdadm.service > b/meta/recipes-extended/mdadm/files/mdadm.service > new file mode 100644 > index 000..3664ceb > --- /dev/null > +++ b/meta/recipes-extended/mdadm/files/mdadm.service > @@ -0,0 +1,13 @@ > +[Unit] > +Description=Software RAID monitoring and management > +After=syslog.target > +ConditionPathExists=@sysconfdir@/mdadm.conf > + > +[Service] > +Type=forking > +PIDFile=@localstatedir@/run/mdadm/mdadm.pid > +EnvironmentFile=-@sysconfdir@/sysconfig/mdmonitor > +ExecStart=@basesbindir@/mdadm --monitor --scan -f > --pid-file=@localstatedir@/run/mdadm/mdadm.pid > + > +[Install] > +WantedBy=multi-user.target > diff --git a/meta/recipes-extended/mdadm/mdadm_3.3.4.bb > b/meta/recipes-extended/mdadm/mdadm_3.3.4.bb > index 1198167..e27f384 100644 > --- a/meta/recipes-extended/mdadm/mdadm_3.3.4.bb > +++ b/meta/recipes-extended/mdadm/mdadm_3.3.4.bb > @@ -14,13 +14,14 @@ SRC_URI = > "${KERNELORG_MIRROR}/linux/utils/raid/mdadm/${BPN}-${PV}.tar.xz \ > file://mdadm-3.3.2_x32_abi_time_t.patch \ > file://0001-Fix-typo-in-comparision.patch \ > file://run-ptest \ > + file://mdadm.service \ > " > SRC_URI[md5sum] = "7ca8b114710f98f53f20c5787b674a09" > SRC_URI[sha256sum] = > "8ae5f45306b873190e91f410709b00e51997b633c072b33f8efd9f7df022ca68" > > CFLAGS += "-fno-strict-aliasing" > > -inherit autotools-brokensep > +inherit autotools-brokensep systemd > > EXTRA_OEMAKE = "CHECK_RUN_DIR=0" > # PPC64 and MIPS64 uses long long for u64 in the kernel, but powerpc's > asm/types.h > @@ -38,8 +39,17 @@ do_compile() { > do_install() { > export STRIP="" > autotools_do_install > +install -d ${D}/${sysconfdir}/ > +install -m 644 ${S}/mdadm.conf-example ${D}${sysconfdir}/ > +install -d ${D}${systemd_unitdir}/system > +install -m 644 ${WORKDIR}/mdadm.service > ${D}${systemd_unitdir}/system/ > +sed -i -e 's,@basesbindir@,${base_sbindir},g' \ > + -e 's,@localstatedir@,${localstatedir},g' \ > + -e 's,@sysconfdir@,${sysconfdir},g' \ > + ${D}${systemd_unitdir}/system/mdadm.service > } > > +SYSTEMD_SERVICE_${PN} = "mdadm.service" > FILES_${PN} += "${base_libdir}/udev/rules.d/*.rules" > > inherit ptest > -- > 1.8.4.2 > > > > -- > ___ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] iptables: Add systemd support
Please use ${systemd_system_unitdir} instead of ${systemd_unitdir}/system Pau Espin Pedrol mail/jabber: pespin.s...@gmail.com http://blog.espeweb.net 2016-02-02 5:19 GMT+01:00 Li Xin: > Add iptables.service & ip6tables.service to support systemd systems. > > Signed-off-by: Li Xin > --- > .../iptables/iptables/ip6tables.service | 17 > + > .../recipes-extended/iptables/iptables/iptables.service | 17 > + > meta/recipes-extended/iptables/iptables_1.4.21.bb | 16 > +++- > 3 files changed, 49 insertions(+), 1 deletion(-) > create mode 100644 > meta/recipes-extended/iptables/iptables/ip6tables.service > create mode 100644 > meta/recipes-extended/iptables/iptables/iptables.service > > diff --git a/meta/recipes-extended/iptables/iptables/ip6tables.service > b/meta/recipes-extended/iptables/iptables/ip6tables.service > new file mode 100644 > index 000..148a1b9 > --- /dev/null > +++ b/meta/recipes-extended/iptables/iptables/ip6tables.service > @@ -0,0 +1,17 @@ > +[Unit] > +Description=IPv6 firewall with ip6tables > +After=syslog.target > +ConditionPathExists=/etc/default/iptables > + > +[Service] > +Type=oneshot > +RemainAfterExit=yes > +ExecStart=/usr/libexec/iptables/ip6tables.init start > +ExecStop=/usr/libexec/iptables/ip6tables.init stop > +Environment=BOOTUP=serial > +Environment=CONSOLETYPE=serial > +StandardOutput=syslog > +StandardError=syslog > + > +[Install] > +WantedBy=basic.target > diff --git a/meta/recipes-extended/iptables/iptables/iptables.service > b/meta/recipes-extended/iptables/iptables/iptables.service > new file mode 100644 > index 000..9745c71 > --- /dev/null > +++ b/meta/recipes-extended/iptables/iptables/iptables.service > @@ -0,0 +1,17 @@ > +[Unit] > +Description=IPv4 firewall with iptables > +After=syslog.target > +ConditionPathExists=/etc/default/iptables > + > +[Service] > +Type=oneshot > +RemainAfterExit=yes > +ExecStart=/usr/libexec/iptables/iptables.init start > +ExecStop=/usr/libexec/iptables/iptables.init stop > +Environment=BOOTUP=serial > +Environment=CONSOLETYPE=serial > +StandardOutput=syslog > +StandardError=syslog > + > +[Install] > +WantedBy=basic.target > diff --git a/meta/recipes-extended/iptables/iptables_1.4.21.bb > b/meta/recipes-extended/iptables/iptables_1.4.21.bb > index deea5e5..84c95ea 100644 > --- a/meta/recipes-extended/iptables/iptables_1.4.21.bb > +++ b/meta/recipes-extended/iptables/iptables_1.4.21.bb > @@ -24,12 +24,14 @@ SRC_URI = " > http://netfilter.org/projects/iptables/files/iptables-${PV}.tar.bz2 \ > > file://0001-configure-Add-option-to-enable-disable-libnfnetlink.patch \ > file://0001-fix-build-with-musl.patch \ > > file://0002-configure.ac-only-check-conntrack-when-libnfnetlink-enabled.patch > \ > + file://iptables.service \ > + file://ip6tables.service \ >" > > SRC_URI[md5sum] = "536d048c8e8eeebcd9757d0863ebb0c0" > SRC_URI[sha256sum] = > "52004c68021da9a599feed27f65defcfb22128f7da2c0531c0f75de0f479d3e0" > > -inherit autotools pkgconfig > +inherit autotools pkgconfig systemd > > EXTRA_OECONF = "--with-kernel=${STAGING_INCDIR} \ > " > @@ -46,3 +48,15 @@ do_configure_prepend() { > # Keep ax_check_linker_flags.m4 which belongs to autoconf-archive. > rm -f libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 > ltversion.m4 > } > + > +do_install_append() { > +install -d ${D}${systemd_unitdir}/system > +install -m 0644 ${WORKDIR}/ip6tables.service > ${D}${systemd_unitdir}/system/ > +install -m 0644 ${WORKDIR}/iptables.service > ${D}${systemd_unitdir}/system/ > +sed -i -e "s,/usr/libexec/iptables,${libexecdir},g" \ > + ${D}${systemd_unitdir}/system/iptables.service > +sed -i -e "s,/usr/libexec/iptables,${libexecdir},g" \ > + ${D}${systemd_unitdir}/system/ip6tables.service > +} > + > +SYSTEMD_SERVICE_${PN} = "iptables.service ip6tables.service" > -- > 1.8.4.2 > > > > -- > ___ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2] udev: add runtime dependencies for udev-cache
> On Feb 4, 2016, at 1:10 PM, Phil Blundellwrote: > > On Thu, 2016-02-04 at 13:01 -0800, Khem Raj wrote: >>> On Feb 4, 2016, at 12:12 PM, Ricardo Neri >>> wrote: >>> inherit autotools pkgconfig update-rc.d ptest >>> RDEPENDS_${PN}-ptest += "make perl python" >>> +RDEPENDS_${PN}-cache += "gzip findutils” >> >> are they individually packaged ipks even with busybox ? >> if not then this fix is insufficient > > They don't have to be individually packaged, it would suffice for > busybox to RPROVIDE them. yes thats what I was expecting to be ensured. > (But it doesn't, so I think you are correct > that the patch as it stands will break builds with busybox.) I never said it will break for that matter original patch is fine too its just redundantly bringing in packages when a system primarily using busybox for core utilities may be able to use busybox for, what I said was that it is insufficient. 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
[OE-core] [PATCH V2 0/6] Fix issues when using security_flags on musl
security_flags enabled builds revealed several issues when building on musl especially compiling gcc runtime libs we should not use fstack-protector another change is to replace with -fstack-protector-all with -fstack-protector-strong which is available since 4.9 and has best of both worlds (stack size usage and security) gcc on musl/ppc was missing patches as a result images werent booting on qemuppc that is fixed too. It also revealed some more issues in compiling gcc for musl systems was not getting all configs right. Addressed the review comments on nss-myhostname Changes since v1: Ignore security flags for non target packages The following changes since commit 1b2e1eb6f08b6f95cf555d7f6bc6e4de2113aaed: libical: Work around hardcoded paths in pkgconfig file (2016-02-04 13:09:51 +) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib kraj/pu http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=kraj/pu Khem Raj (6): nss-myhostname: Fix build on musl gcc: Fix build on musl with -fstack-protector security_flags: Disable fstack-protector for gcc runtime libs security_flags: Replace -fstack-protector-all with -fstack-protector-strong gcc: Assume libssp and dl_iterate_phdr on musl gcc: musl related fixes for unwinding,ppc/secure-plt and gthr meta/conf/distro/include/security_flags.inc| 23 --- meta/recipes-devtools/gcc/gcc-5.3.inc | 7 +- .../gcc/gcc-5.3/0047-Fix-nios2-musl-build.patch| 11 --- .../0047-nios2-Define-MUSL_DYNAMIC_LINKER.patch| 28 .../gcc/gcc-5.3/0048-ssp_nonshared.patch | 29 ...-weak-reference-logic-in-gthr.h-for-os-ge.patch | 78 ++ ...050-powerpc-pass-secure-plt-to-the-linker.patch | 66 ++ .../gcc-5.3/0051-support-unwinding-on-musl.patch | 34 ++ ...tname-Check-for-nss.h-presense-before-use.patch | 53 +++ .../nss-myhostname/nss-myhostname_0.3.bb | 4 +- 10 files changed, 311 insertions(+), 22 deletions(-) delete mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0047-Fix-nios2-musl-build.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0047-nios2-Define-MUSL_DYNAMIC_LINKER.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0048-ssp_nonshared.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0049-Disable-the-weak-reference-logic-in-gthr.h-for-os-ge.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0050-powerpc-pass-secure-plt-to-the-linker.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0051-support-unwinding-on-musl.patch create mode 100644 meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch -- 2.7.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 0/5] gstreamer1.0: musl fixes + updates for git recipes
Andre McCurdy (5): gstreamer1.0_git: avoid including directly gstreamer1.0-plugins-good_git: avoid including directly gstreamer1.0-plugins-bad_git: avoid including directly gstreamer1.0-plugins-base_git: update to git master 1.7.1-79-g6414289 gstreamer1.0-plugins-base_git: drop obsolete dependency on freetype .../avoid-including-sys-poll.h-directly.patch | 30 +++ .../gstreamer/gstreamer1.0-plugins-bad_git.bb | 1 + .../gstreamer/gstreamer1.0-plugins-base_git.bb | 11 +- .../avoid-including-sys-poll.h-directly.patch | 44 ++ .../gstreamer/gstreamer1.0-plugins-good_git.bb | 1 + .../gstreamer/gstreamer1.0_git.bb | 3 ++ 6 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/avoid-including-sys-poll.h-directly.patch create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good/avoid-including-sys-poll.h-directly.patch -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 6/6] gcc: musl related fixes for unwinding, ppc/secure-plt and gthr
These issues are fixing building gcc for target, ppc issue helps in fixing discrepency between gcc cmdline and linker cmdline Signed-off-by: Khem Raj--- meta/recipes-devtools/gcc/gcc-5.3.inc | 3 + ...-weak-reference-logic-in-gthr.h-for-os-ge.patch | 78 ++ ...050-powerpc-pass-secure-plt-to-the-linker.patch | 66 ++ .../gcc-5.3/0051-support-unwinding-on-musl.patch | 34 ++ 4 files changed, 181 insertions(+) create mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0049-Disable-the-weak-reference-logic-in-gthr.h-for-os-ge.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0050-powerpc-pass-secure-plt-to-the-linker.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0051-support-unwinding-on-musl.patch diff --git a/meta/recipes-devtools/gcc/gcc-5.3.inc b/meta/recipes-devtools/gcc/gcc-5.3.inc index 83e061f..372b844 100644 --- a/meta/recipes-devtools/gcc/gcc-5.3.inc +++ b/meta/recipes-devtools/gcc/gcc-5.3.inc @@ -78,6 +78,9 @@ SRC_URI = "\ file://0046-Get-rid-of-ever-broken-fixincludes-on-musl.patch \ file://0047-nios2-Define-MUSL_DYNAMIC_LINKER.patch \ file://0048-ssp_nonshared.patch \ + file://0049-Disable-the-weak-reference-logic-in-gthr.h-for-os-ge.patch \ + file://0050-powerpc-pass-secure-plt-to-the-linker.patch \ + file://0051-support-unwinding-on-musl.patch \ " BACKPORTS = "" diff --git a/meta/recipes-devtools/gcc/gcc-5.3/0049-Disable-the-weak-reference-logic-in-gthr.h-for-os-ge.patch b/meta/recipes-devtools/gcc/gcc-5.3/0049-Disable-the-weak-reference-logic-in-gthr.h-for-os-ge.patch new file mode 100644 index 000..0ea5143 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-5.3/0049-Disable-the-weak-reference-logic-in-gthr.h-for-os-ge.patch @@ -0,0 +1,78 @@ +From 553d8e3b9073ff3e0a9d2fac9b1823fb17ad247c Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 2 Feb 2016 21:00:18 -0800 +Subject: [PATCH 49/51] Disable the weak reference logic in gthr.h for + os/generic + +It does not work unless work arounds are there in gthr-posix.h + +origin of patch +http://port70.net/~nsz/musl/gcc-5.3.0/0004-gthr.patch + +Signed-off-by: Khem Raj +--- +Upstream-Status: Pending + + libgfortran/acinclude.m4| 2 +- + libgfortran/configure | 2 +- + libstdc++-v3/config/os/generic/os_defines.h | 5 + + libstdc++-v3/configure.host | 3 +++ + 4 files changed, 10 insertions(+), 2 deletions(-) + +diff --git a/libgfortran/acinclude.m4 b/libgfortran/acinclude.m4 +index ba890f9..30b8b1a6 100644 +--- a/libgfortran/acinclude.m4 b/libgfortran/acinclude.m4 +@@ -100,7 +100,7 @@ void foo (void); + [Define to 1 if the target supports #pragma weak]) + fi + case "$host" in +-*-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw* ) ++*-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw* | *-*-musl* ) + AC_DEFINE(GTHREAD_USE_WEAK, 0, + [Define to 0 if the target shouldn't use #pragma weak]) + ;; +diff --git a/libgfortran/configure b/libgfortran/configure +index 5d47e65..cdf9695 100755 +--- a/libgfortran/configure b/libgfortran/configure +@@ -26456,7 +26456,7 @@ $as_echo "#define SUPPORTS_WEAK 1" >>confdefs.h + + fi + case "$host" in +-*-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw* ) ++*-*-darwin* | *-*-hpux* | *-*-cygwin* | *-*-mingw* | *-*-musl* ) + + $as_echo "#define GTHREAD_USE_WEAK 0" >>confdefs.h + +diff --git a/libstdc++-v3/config/os/generic/os_defines.h b/libstdc++-v3/config/os/generic/os_defines.h +index 45bf52a..103ec0e 100644 +--- a/libstdc++-v3/config/os/generic/os_defines.h b/libstdc++-v3/config/os/generic/os_defines.h +@@ -33,4 +33,9 @@ + // System-specific #define, typedefs, corrections, etc, go here. This + // file will come before all others. + ++// Disable the weak reference logic in gthr.h for os/generic because it ++// is broken on every platform unless there is implementation specific ++// workaround in gthr-posix.h and at link-time for static linking. ++#define _GLIBCXX_GTHREAD_USE_WEAK 0 ++ + #endif +diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host +index 1756444..2a87bb8 100644 +--- a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host +@@ -273,6 +273,9 @@ case "${host_os}" in + freebsd*) + os_include_dir="os/bsd/freebsd" + ;; ++ linux-musl*) ++os_include_dir="os/generic" ++;; + gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu) + # check for musl by target + case "${host_os}" in +-- +2.7.0 + diff --git a/meta/recipes-devtools/gcc/gcc-5.3/0050-powerpc-pass-secure-plt-to-the-linker.patch b/meta/recipes-devtools/gcc/gcc-5.3/0050-powerpc-pass-secure-plt-to-the-linker.patch new file mode 100644 index 000..b2f2bbd --- /dev/null +++
[OE-core] [PATCH 1/6] nss-myhostname: Fix build on musl
provide needed data types if nss.h is not available Signed-off-by: Khem Raj--- ...tname-Check-for-nss.h-presense-before-use.patch | 53 ++ .../nss-myhostname/nss-myhostname_0.3.bb | 4 +- 2 files changed, 56 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch diff --git a/meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch b/meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch new file mode 100644 index 000..82f2574 --- /dev/null +++ b/meta/recipes-support/nss-myhostname/nss-myhostname/0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch @@ -0,0 +1,53 @@ +From d1345871b992f9a055c968963967e728da1a7ffb Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sat, 30 Jan 2016 20:29:06 + +Subject: [PATCH] nss-myhostname: Check for nss.h presense before use + +We do not have nss.h on musl e.g. and configury is already checking for +nss.h presence, use this to define needed data structures if nss.h is +missing on a given libc implementation on a platform + +include stdint.h for uint32_h definition + +Signed-off-by: Khem Raj +--- +Upstream-Status: Pending + + nss-myhostname.c | 20 + 1 file changed, 20 insertions(+) + +diff --git a/nss-myhostname.c b/nss-myhostname.c +index 293166c..6f287f5 100644 +--- a/nss-myhostname.c b/nss-myhostname.c +@@ -21,7 +21,27 @@ + ***/ + + #include ++#include ++#ifdef HAVE_NSS_H + #include ++#else ++enum nss_status { ++NSS_STATUS_TRYAGAIN = -2, ++NSS_STATUS_UNAVAIL, ++NSS_STATUS_NOTFOUND, ++NSS_STATUS_SUCCESS, ++NSS_STATUS_RETURN ++}; ++/* Data structure used for the 'gethostbyname4_r' function. */ ++struct gaih_addrtuple ++ { ++struct gaih_addrtuple *next; ++char *name; ++int family; ++uint32_t addr[4]; ++uint32_t scopeid; ++ }; ++#endif + #include + #include + #include +-- +2.7.0 + diff --git a/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb b/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb index bbce9e9..de5b7cf 100644 --- a/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb +++ b/meta/recipes-support/nss-myhostname/nss-myhostname_0.3.bb @@ -6,7 +6,9 @@ HOMEPAGE = "http://0pointer.de/lennart/projects/nss-myhostname/; LICENSE = "LGPLv2.1" LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1" -SRC_URI = "http://0pointer.de/lennart/projects/nss-myhostname/nss-myhostname-${PV}.tar.gz; +SRC_URI = "http://0pointer.de/lennart/projects/nss-myhostname/nss-myhostname-${PV}.tar.gz \ + file://0001-nss-myhostname-Check-for-nss.h-presense-before-use.patch \ + " SRC_URI[md5sum] = "d4ab9ac36c053ab8fb836db1cbd4a48f" SRC_URI[sha256sum] = "2ba744ea8d578d1c57c85884e94a3042ee17843a5294434d3a7f6c4d67e7caf2" -- 2.7.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/6] gcc: Fix build on musl with -fstack-protector
When enabling the secutity flags on musl based targets the builds fail due to libssp(gcc-runtime) build asking to link with libssp and libssp_nonshared.a when configuring libssp itself. This does not work with musl since it does provide ssp implementation but not like glibc where these libraries are separate to libc Fix the nios2 patch with upstream status while at it and generate the patch after applying to my tree Signed-off-by: Khem Raj--- meta/recipes-devtools/gcc/gcc-5.3.inc | 3 ++- .../gcc/gcc-5.3/0047-Fix-nios2-musl-build.patch| 11 .../0047-nios2-Define-MUSL_DYNAMIC_LINKER.patch| 28 + .../gcc/gcc-5.3/0048-ssp_nonshared.patch | 29 ++ 4 files changed, 59 insertions(+), 12 deletions(-) delete mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0047-Fix-nios2-musl-build.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0047-nios2-Define-MUSL_DYNAMIC_LINKER.patch create mode 100644 meta/recipes-devtools/gcc/gcc-5.3/0048-ssp_nonshared.patch diff --git a/meta/recipes-devtools/gcc/gcc-5.3.inc b/meta/recipes-devtools/gcc/gcc-5.3.inc index 80999c1..e12bfad 100644 --- a/meta/recipes-devtools/gcc/gcc-5.3.inc +++ b/meta/recipes-devtools/gcc/gcc-5.3.inc @@ -76,7 +76,8 @@ SRC_URI = "\ file://0044-Adding-mmusl-as-a-musl-libc-specifier-and-the-necess.patch \ file://0045-Support-for-arm-linux-musl.patch \ file://0046-Get-rid-of-ever-broken-fixincludes-on-musl.patch \ - file://0047-Fix-nios2-musl-build.patch \ + file://0047-nios2-Define-MUSL_DYNAMIC_LINKER.patch \ + file://0048-ssp_nonshared.patch \ " BACKPORTS = "" diff --git a/meta/recipes-devtools/gcc/gcc-5.3/0047-Fix-nios2-musl-build.patch b/meta/recipes-devtools/gcc/gcc-5.3/0047-Fix-nios2-musl-build.patch deleted file mode 100644 index 44cea84..000 --- a/meta/recipes-devtools/gcc/gcc-5.3/0047-Fix-nios2-musl-build.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Naru gcc-5.3.0.orig/gcc/config/nios2/linux.h gcc-5.3.0/gcc/config/nios2/linux.h gcc-5.3.0.orig/gcc/config/nios2/linux.h2015-05-28 16:08:37.0 +0200 -+++ gcc-5.3.0/gcc/config/nios2/linux.h 2016-01-04 02:42:46.878844806 +0100 -@@ -30,6 +30,7 @@ - #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" - - #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1" -+#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-nios2.so.1" - - #undef LINK_SPEC - #define LINK_SPEC LINK_SPEC_ENDIAN \ diff --git a/meta/recipes-devtools/gcc/gcc-5.3/0047-nios2-Define-MUSL_DYNAMIC_LINKER.patch b/meta/recipes-devtools/gcc/gcc-5.3/0047-nios2-Define-MUSL_DYNAMIC_LINKER.patch new file mode 100644 index 000..a1cfb9c --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-5.3/0047-nios2-Define-MUSL_DYNAMIC_LINKER.patch @@ -0,0 +1,28 @@ +From f5ca07132b9292d2045ca7204e9cbfde2e59d0bf Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 2 Feb 2016 10:26:10 -0800 +Subject: [PATCH 47/48] nios2: Define MUSL_DYNAMIC_LINKER + +Signed-off-by: Marek Vasut +Signed-off-by: Khem Raj +--- +Upstream-Status: Pending + + gcc/config/nios2/linux.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h +index f43f655..5587ab3 100644 +--- a/gcc/config/nios2/linux.h b/gcc/config/nios2/linux.h +@@ -30,6 +30,7 @@ + #define CPP_SPEC "%{posix:-D_POSIX_SOURCE} %{pthread:-D_REENTRANT}" + + #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux-nios2.so.1" ++#define MUSL_DYNAMIC_LINKER "/lib/ld-musl-nios2.so.1" + + #undef LINK_SPEC + #define LINK_SPEC LINK_SPEC_ENDIAN \ +-- +2.7.0 + diff --git a/meta/recipes-devtools/gcc/gcc-5.3/0048-ssp_nonshared.patch b/meta/recipes-devtools/gcc/gcc-5.3/0048-ssp_nonshared.patch new file mode 100644 index 000..5ddd40a --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-5.3/0048-ssp_nonshared.patch @@ -0,0 +1,29 @@ +From 3cb6013cf287ed9b1247ea37541e64b9810a121d Mon Sep 17 00:00:00 2001 +From: Szabolcs Nagy +Date: Sat, 7 Nov 2015 14:58:40 + +Subject: [PATCH 48/48] ssp_nonshared + +--- +Signed-off-by: Khem Raj +Upstream-Status: Pending + + gcc/gcc.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/gcc/gcc.c b/gcc/gcc.c +index 8f53aea..3ddc658 100644 +--- a/gcc/gcc.c b/gcc/gcc.c +@@ -732,7 +732,8 @@ proper position among the other output files. */ + #ifndef LINK_SSP_SPEC + #ifdef TARGET_LIBC_PROVIDES_SSP + #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ +- "|fstack-protector-strong|fstack-protector-explicit:}" ++ "|fstack-protector-strong|fstack-protector-explicit" \ ++ ":-lssp_nonshared}" + #else + #define LINK_SSP_SPEC "%{fstack-protector|fstack-protector-all" \ + "|fstack-protector-strong|fstack-protector-explicit" \ +-- +2.7.0 +
[OE-core] [PATCH 4/6] security_flags: Replace -fstack-protector-all with -fstack-protector-strong
since gcc 4.9 this is new option added to gcc which is a better version of fstack-protector-all with reduced stack usage and better performance yet giving same amount of coverage. pass fstack-protector-strong to linker flags as well so ld is passed flags to link with ssp libraries https://outflux.net/blog/archives/2014/01/27/fstack-protector-strong/ describes it in usablility terms. Do not use ssp when compiling glibc and gcc libs ensure that security flags are only used for target packages Signed-off-by: Khem Raj--- meta/conf/distro/include/security_flags.inc | 22 +++--- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/meta/conf/distro/include/security_flags.inc b/meta/conf/distro/include/security_flags.inc index 7f898ee..ff5d940 100644 --- a/meta/conf/distro/include/security_flags.inc +++ b/meta/conf/distro/include/security_flags.inc @@ -9,11 +9,11 @@ # -O0 which then results in a compiler warning. lcl_maybe_fortify = "${@base_conditional('DEBUG_BUILD','1','','-D_FORTIFY_SOURCE=2',d)}" -SECURITY_CFLAGS ?= "-fstack-protector-all -pie -fpie ${lcl_maybe_fortify}" -SECURITY_NO_PIE_CFLAGS ?= "-fstack-protector-all ${lcl_maybe_fortify}" +SECURITY_CFLAGS ?= "-fstack-protector-strong -pie -fpie ${lcl_maybe_fortify}" +SECURITY_NO_PIE_CFLAGS ?= "-fstack-protector-strong ${lcl_maybe_fortify}" -SECURITY_LDFLAGS ?= "-Wl,-z,relro,-z,now" -SECURITY_X_LDFLAGS ?= "-Wl,-z,relro" +SECURITY_LDFLAGS ?= "-fstack-protector-strong -Wl,-z,relro,-z,now" +SECURITY_X_LDFLAGS ?= "-fstack-protector-strong -Wl,-z,relro" # powerpc does not get on with pie for reasons not looked into as yet SECURITY_CFLAGS_powerpc = "-fstack-protector-all ${lcl_maybe_fortify}" @@ -87,14 +87,14 @@ SECURITY_CFLAGS_pn-zlib = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-ltp = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-pulseaudio = "${SECURITY_NO_PIE_CFLAGS}" -TARGET_CFLAGS_append = " ${SECURITY_CFLAGS}" -TARGET_LDFLAGS_append = " ${SECURITY_LDFLAGS}" +TARGET_CFLAGS_append_class-target = " ${SECURITY_CFLAGS}" +TARGET_LDFLAGS_append_class-target = " ${SECURITY_LDFLAGS}" -SECURITY_LDFLAGS_pn-gcc-runtime = "" -SECURITY_LDFLAGS_pn-gcc-sanitizers = "" -SECURITY_LDFLAGS_pn-glibc = "" -SECURITY_LDFLAGS_pn-glibc-initial = "" -SECURITY_LDFLAGS_pn-libgcc = "" +SECURITY_LDFLAGS_remove_pn-gcc-runtime = "-fstack-protector-strong" +SECURITY_LDFLAGS_remove_pn-gcc-sanitizers = "-fstack-protector-strong" +SECURITY_LDFLAGS_remove_pn-glibc = "-fstack-protector-strong" +SECURITY_LDFLAGS_remove_pn-glibc-initial = "-fstack-protector-strong" +SECURITY_LDFLAGS_remove_pn-libgcc = "-fstack-protector-strong" SECURITY_LDFLAGS_pn-xf86-video-fbdev = "${SECURITY_X_LDFLAGS}" SECURITY_LDFLAGS_pn-xf86-video-intel = "${SECURITY_X_LDFLAGS}" SECURITY_LDFLAGS_pn-xf86-video-omapfb = "${SECURITY_X_LDFLAGS}" -- 2.7.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 5/6] gcc: Assume libssp and dl_iterate_phdr on musl
gcc configure fails to set these settings correctly on musl based builds Signed-off-by: Khem Raj--- meta/recipes-devtools/gcc/gcc-5.3.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-devtools/gcc/gcc-5.3.inc b/meta/recipes-devtools/gcc/gcc-5.3.inc index e12bfad..83e061f 100644 --- a/meta/recipes-devtools/gcc/gcc-5.3.inc +++ b/meta/recipes-devtools/gcc/gcc-5.3.inc @@ -123,6 +123,7 @@ EXTRA_OECONF_INITIAL = "\ " EXTRA_OECONF_append_libc-uclibc = " --disable-decimal-float " +EXTRA_OECONF_append_libc-musl = " gcc_cv_libc_provides_ssp=yes gcc_cv_target_dl_iterate_phdr=yes " EXTRA_OECONF_PATHS = "\ --with-gxx-include-dir=/not/exist{target_includedir}/c++/${BINV} \ -- 2.7.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 3/6] security_flags: Disable fstack-protector for gcc runtime libs
it causes a catch-22 situation where we build libssp in gcc-runtime but also pass -fstack-protector flags which require libssp, these libraries are special as well. also flush out ldflags for gcc libs and glibc Signed-off-by: Khem Raj--- meta/conf/distro/include/security_flags.inc | 11 --- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/meta/conf/distro/include/security_flags.inc b/meta/conf/distro/include/security_flags.inc index ac4fc65..7f898ee 100644 --- a/meta/conf/distro/include/security_flags.inc +++ b/meta/conf/distro/include/security_flags.inc @@ -39,8 +39,8 @@ SECURITY_CFLAGS_pn-expect = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-flac = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-flex = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-gcc = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-gcc-runtime = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-gcc-sanitizers = "${SECURITY_NO_PIE_CFLAGS}" +SECURITY_CFLAGS_pn-gcc-runtime = "" +SECURITY_CFLAGS_pn-gcc-sanitizers = "" SECURITY_CFLAGS_pn-gdb = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-gmp = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-gnutls = "${SECURITY_NO_PIE_CFLAGS}" @@ -59,7 +59,7 @@ SECURITY_CFLAGS_pn-kexec-tools = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-iptables = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-libaio = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-libcap = "${SECURITY_NO_PIE_CFLAGS}" -SECURITY_CFLAGS_pn-libgcc = "${SECURITY_NO_PIE_CFLAGS}" +SECURITY_CFLAGS_pn-libgcc = "" SECURITY_CFLAGS_pn-libid3tag = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-libnewt = "${SECURITY_NO_PIE_CFLAGS}" SECURITY_CFLAGS_pn-libglu = "${SECURITY_NO_PIE_CFLAGS}" @@ -90,6 +90,11 @@ SECURITY_CFLAGS_pn-pulseaudio = "${SECURITY_NO_PIE_CFLAGS}" TARGET_CFLAGS_append = " ${SECURITY_CFLAGS}" TARGET_LDFLAGS_append = " ${SECURITY_LDFLAGS}" +SECURITY_LDFLAGS_pn-gcc-runtime = "" +SECURITY_LDFLAGS_pn-gcc-sanitizers = "" +SECURITY_LDFLAGS_pn-glibc = "" +SECURITY_LDFLAGS_pn-glibc-initial = "" +SECURITY_LDFLAGS_pn-libgcc = "" SECURITY_LDFLAGS_pn-xf86-video-fbdev = "${SECURITY_X_LDFLAGS}" SECURITY_LDFLAGS_pn-xf86-video-intel = "${SECURITY_X_LDFLAGS}" SECURITY_LDFLAGS_pn-xf86-video-omapfb = "${SECURITY_X_LDFLAGS}" -- 2.7.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] ncurses: use closing curly brackets
This patch fixes the usage of curly brackets inside python expression in ncurses recipe. This patch should be applied together with http://lists.openembedded.org/pipermail/bitbake-devel/2016-February/007007.html which changes python expression parsing in bitbake. No similar construct was found in any other recipe in git.openembedded.org repositories or the layer repositories in git.yoctoproject.org (master branches). Markus Lehtonen (1): ncurses: use closing curly brackets in FILES_${PN}-tools variable meta/recipes-core/ncurses/ncurses.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.6.2 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] lttng-tools: Fix ptest installed la files
The ptest .la files are just getting copied into new directories, we need to relocate them and update the paths within. Signed-off-by: Richard Purdiediff --git a/meta/recipes-kernel/lttng/lttng-tools_git.bb b/meta/recipes-kernel/lttng/lttng-tools_git.bb index e68e7f3..2631203 100644 --- a/meta/recipes-kernel/lttng/lttng-tools_git.bb +++ b/meta/recipes-kernel/lttng/lttng-tools_git.bb @@ -69,6 +69,11 @@ do_install_ptest () { -i $i done + # Update libdir references in copied .la files + for i in `find ${D}${PTEST_PATH} -type f -name *.la`; do + sed -i -e 's#${S}/tests/#${STAGING_DIR}${PTEST_PATH}#g' $i + done + sed -e "s:src/bin:bin:g" -e "s:lt-::g" \ -i ${D}${PTEST_PATH}/tests/utils/utils.sh sed -e "s:ini_config:\.libs\/ini_config:" \ -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] libical: Work around hardcoded paths in pkgconfig file
For now, work around the hardcoded path in the pkgconfig file. Issue filed upstream as: https://github.com/libical/libical/issues/227 This raises questions about whether some sanity tests are running. Those issues will be addressed in a separate patch. Signed-off-by: Richard Purdiediff --git a/meta/recipes-support/libical/libical_2.0.0.bb b/meta/recipes-support/libical/libical_2.0.0.bb index fdbe026..0e5ada9 100644 --- a/meta/recipes-support/libical/libical_2.0.0.bb +++ b/meta/recipes-support/libical/libical_2.0.0.bb @@ -18,3 +18,10 @@ UPSTREAM_CHECK_URI = "https://github.com/libical/libical/releases; inherit cmake FILES_${PN}-dev += "${libdir}/cmake/*" + +# +# Turn specific library paths in the pkgconfig file into standard library entries +# +do_install_append () { + sed -i -e "s#${STAGING_LIBDIR}/lib\([a-z0-9]*\)\.so#-l\1#g" ${D}${libdir}/pkgconfig/libical.pc +} -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] insane: Fix populate_sysroot sanity test path
This was correct for native/cross paths but not for target ones which meant the tests weren't running in some cases. Fix the path to be correct in both cases. Signed-off-by: Richard Purdiediff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index c70e887..47b441a 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -1130,7 +1130,7 @@ addtask do_package_qa_setscene python do_qa_staging() { bb.note("QA checking staging") -if not package_qa_check_staged(d.expand('${SYSROOT_DESTDIR}${STAGING_LIBDIR}'), d): +if not package_qa_check_staged(d.expand('${SYSROOT_DESTDIR}${libdir}'), d): bb.fatal("QA staging was broken by the package built above") } -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] ncurses: use closing curly brackets in FILES_${PN}-tools variable
This patch removes a workaround (needed for bitbake python parser) where closing curly brackets were replaced by ascii code '\x7d'. This commit requires a bitbake version with the "data_smart: simple bracket matching inside python expressions" patch applied. Signed-off-by: Markus Lehtonen--- meta/recipes-core/ncurses/ncurses.inc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/recipes-core/ncurses/ncurses.inc b/meta/recipes-core/ncurses/ncurses.inc index fbe74d5..35b8b94 100644 --- a/meta/recipes-core/ncurses/ncurses.inc +++ b/meta/recipes-core/ncurses/ncurses.inc @@ -284,8 +284,8 @@ FILES_${PN}-tools = "\ ${bindir}/infotocap \ ${bindir}/captoinfo \ ${bindir}/infocmp \ - ${bindir}/clear${@['', '.${BPN\x7d']['${CLASSOVERRIDE}' == 'class-target']} \ - ${bindir}/reset${@['', '.${BPN\x7d']['${CLASSOVERRIDE}' == 'class-target']} \ + ${bindir}/clear${@['', '.${BPN}']['${CLASSOVERRIDE}' == 'class-target']} \ + ${bindir}/reset${@['', '.${BPN}']['${CLASSOVERRIDE}' == 'class-target']} \ ${bindir}/tack \ ${bindir}/tabs \ " -- 2.6.2 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/4] syslinux: remove LDFLAGS manipulation
syslinux appears to be using gcc to link instead of LD directly now, so we can remove the manipulation of LDFLAGS. Signed-off-by: Ross Burton--- meta/recipes-devtools/syslinux/syslinux_6.03.bb | 2 -- 1 file changed, 2 deletions(-) diff --git a/meta/recipes-devtools/syslinux/syslinux_6.03.bb b/meta/recipes-devtools/syslinux/syslinux_6.03.bb index 51d5474..ab8a51a 100644 --- a/meta/recipes-devtools/syslinux/syslinux_6.03.bb +++ b/meta/recipes-devtools/syslinux/syslinux_6.03.bb @@ -37,8 +37,6 @@ EXTRA_OEMAKE = " \ BINDIR=${bindir} SBINDIR=${sbindir} LIBDIR=${libdir} \ DATADIR=${datadir} MANDIR=${mandir} INCDIR=${includedir} \ " -# syslinux uses $LD for linking, strip `-Wl,' so it can work -export LDFLAGS = "`echo $LDFLAGS | sed 's/-Wl,//g'`" do_configure() { # drop win32 targets or build fails -- 2.7.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] pango: unset LDFLAGS when building gen_all_unicode
When building the native gen_all_unicode binary we need to also unset LDFLAGS as otherwise the *target* LDFLAGS will be used. At best the options are harmless but if there are options that the host compiler doesn't support then the compile will fail. For example, if the host gcc is version 4.8 but LDFLAGS contains -fstack-protector-strong which in 4.9 onwards. Signed-off-by: Ross Burton--- meta/recipes-graphics/pango/pango_1.38.1.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-graphics/pango/pango_1.38.1.bb b/meta/recipes-graphics/pango/pango_1.38.1.bb index d408ef0..3e57dc2 100644 --- a/meta/recipes-graphics/pango/pango_1.38.1.bb +++ b/meta/recipes-graphics/pango/pango_1.38.1.bb @@ -35,7 +35,7 @@ LIBV = "1.8.0" # This binary needs to be compiled for the host architecture. This isn't pretty! do_compile_prepend_class-target () { if ${@base_contains('DISTRO_FEATURES', 'ptest', 'true', 'false', d)}; then - make CC="${BUILD_CC}" CFLAGS="" AM_CPPFLAGS="$(pkg-config-native --cflags glib-2.0)" gen_all_unicode_LDADD="$(pkg-config-native --libs glib-2.0)" -C ${B}/tests gen-all-unicode + make CC="${BUILD_CC}" CFLAGS="" LDFLAGS="" AM_CPPFLAGS="$(pkg-config-native --cflags glib-2.0)" gen_all_unicode_LDADD="$(pkg-config-native --libs glib-2.0)" -C ${B}/tests gen-all-unicode fi } -- 2.7.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/4] libffi: ensure sysroot paths are not in libffi.pc
Remove a previous patch and solve the problem in a different way, as the same root cause was causing the absolute sysroot path to appear in libffi.pc. Signed-off-by: Ross Burton--- .../libffi/libffi/fix-libffi.la-location.patch | 18 -- meta/recipes-gnome/libffi/libffi/not-win32.patch | 22 ++ meta/recipes-gnome/libffi/libffi_3.2.1.bb | 2 +- 3 files changed, 23 insertions(+), 19 deletions(-) delete mode 100644 meta/recipes-gnome/libffi/libffi/fix-libffi.la-location.patch create mode 100644 meta/recipes-gnome/libffi/libffi/not-win32.patch diff --git a/meta/recipes-gnome/libffi/libffi/fix-libffi.la-location.patch b/meta/recipes-gnome/libffi/libffi/fix-libffi.la-location.patch deleted file mode 100644 index 775bffc..000 --- a/meta/recipes-gnome/libffi/libffi/fix-libffi.la-location.patch +++ /dev/null @@ -1,18 +0,0 @@ - -Upstream-Status: Inappropriate - -Signed-off-by: Saul Wold - -Index: libffi-3.0.13/Makefile.am -=== libffi-3.0.13.orig/Makefile.am -+++ libffi-3.0.13/Makefile.am -@@ -98,7 +98,7 @@ FLAGS_TO_PASS = $(AM_MAKEFLAGS) - - MAKEOVERRIDES= - --toolexeclib_LTLIBRARIES = libffi.la -+lib_LTLIBRARIES = libffi.la - noinst_LTLIBRARIES = libffi_convenience.la - - libffi_la_SOURCES = src/prep_cif.c src/types.c \ diff --git a/meta/recipes-gnome/libffi/libffi/not-win32.patch b/meta/recipes-gnome/libffi/libffi/not-win32.patch new file mode 100644 index 000..1e90125 --- /dev/null +++ b/meta/recipes-gnome/libffi/libffi/not-win32.patch @@ -0,0 +1,22 @@ +libffi's configure assumes that cross-compiled builds are complicated and +introduces convoluted path manipulation involving gcc search paths to the +install paths, resulting in paths like -L/usr/lib/../lib/ appearing in +libffi.pc. When pkg-config is then used to obtain the linker flags for libffi +it can't tell that this path is on the default search path and returns +$SYSROOT/usr/lib/../lib which then gets written all over the target sysroot. +This then means the sstate can't be shared and triggers QA errors. + +As this block is generally pointless, disable it. + +Upstream-Status: Inappropriate +Signed-off-by: Ross Burton + +--- a/configure.ac~2014-11-12 11:56:51.0 + b/configure.ac 2016-02-04 14:02:53.765710532 + +@@ -593,5 +593,5 @@ + # These variables are only ever used when we cross-build to X86_WIN32. + # And we only support this with GCC, so... +-if test "x$GCC" = "xyes"; then ++if false; then + if test -n "$with_cross_host" && + test x"$with_cross_host" != x"no"; then \ No newline at end of file diff --git a/meta/recipes-gnome/libffi/libffi_3.2.1.bb b/meta/recipes-gnome/libffi/libffi_3.2.1.bb index fd916ca..72e25fb 100644 --- a/meta/recipes-gnome/libffi/libffi_3.2.1.bb +++ b/meta/recipes-gnome/libffi/libffi_3.2.1.bb @@ -10,7 +10,7 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://LICENSE;md5=3610bb17683a0089ed64055416b2ae1b" SRC_URI = "ftp://sourceware.org/pub/libffi/${BP}.tar.gz \ - file://fix-libffi.la-location.patch \ + file://not-win32.patch \ file://0001-mips-Use-compiler-internal-define-for-linux.patch \ " -- 2.7.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 4/4] socat: upgrade to 1.7.3.1
This fixes Socat Security Advisory 7 (MSVR-1499) and 8. [ YOCTO #9024 ] Signed-off-by: Ross Burton--- .../recipes-connectivity/socat/{socat_1.7.3.0.bb => socat_1.7.3.1.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename meta/recipes-connectivity/socat/{socat_1.7.3.0.bb => socat_1.7.3.1.bb} (88%) diff --git a/meta/recipes-connectivity/socat/socat_1.7.3.0.bb b/meta/recipes-connectivity/socat/socat_1.7.3.1.bb similarity index 88% rename from meta/recipes-connectivity/socat/socat_1.7.3.0.bb rename to meta/recipes-connectivity/socat/socat_1.7.3.1.bb index b58e0a7..c215e04 100644 --- a/meta/recipes-connectivity/socat/socat_1.7.3.0.bb +++ b/meta/recipes-connectivity/socat/socat_1.7.3.1.bb @@ -16,8 +16,8 @@ SRC_URI = "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2 \ file://Makefile.in-fix-for-parallel-build.patch \ " -SRC_URI[md5sum] = "b607edb65bc6c57f4a43f06247504274" -SRC_URI[sha256sum] = "0767e850c0329b9fdf711c6cd468565cbbb28786ba1a8a1cbd5531d4016b3e04" +SRC_URI[md5sum] = "334e46924f2b386299c9db2ac22bcd36" +SRC_URI[sha256sum] = "d2da659540c38139f388e9437bfaae16bb458d174d056cb3228432a8f489fbaa" inherit autotools -- 2.7.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 3/4] libffi: move from recipes-gnome to recipes-support
Signed-off-by: Ross Burton--- .../libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch | 0 meta/{recipes-gnome => recipes-support}/libffi/libffi/not-win32.patch | 0 meta/{recipes-gnome => recipes-support}/libffi/libffi_3.2.1.bb| 0 3 files changed, 0 insertions(+), 0 deletions(-) rename meta/{recipes-gnome => recipes-support}/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch (100%) rename meta/{recipes-gnome => recipes-support}/libffi/libffi/not-win32.patch (100%) rename meta/{recipes-gnome => recipes-support}/libffi/libffi_3.2.1.bb (100%) diff --git a/meta/recipes-gnome/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch b/meta/recipes-support/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch similarity index 100% rename from meta/recipes-gnome/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch rename to meta/recipes-support/libffi/libffi/0001-mips-Use-compiler-internal-define-for-linux.patch diff --git a/meta/recipes-gnome/libffi/libffi/not-win32.patch b/meta/recipes-support/libffi/libffi/not-win32.patch similarity index 100% rename from meta/recipes-gnome/libffi/libffi/not-win32.patch rename to meta/recipes-support/libffi/libffi/not-win32.patch diff --git a/meta/recipes-gnome/libffi/libffi_3.2.1.bb b/meta/recipes-support/libffi/libffi_3.2.1.bb similarity index 100% rename from meta/recipes-gnome/libffi/libffi_3.2.1.bb rename to meta/recipes-support/libffi/libffi_3.2.1.bb -- 2.7.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2 25/28] oeqa/oetest.py: SDK{Ext, } improve host and target manifest load.
On Tue, 02 Feb 2016 18:30:37 Aníbal Limón wrote: > Don't pass variable name instead of it expands the host and target > manifest at init of the classes. > > Signed-off-by: Aníbal Limón> --- > meta/lib/oeqa/oetest.py | 16 > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py > index 6a95c28..80b40b6 100644 > --- a/meta/lib/oeqa/oetest.py > +++ b/meta/lib/oeqa/oetest.py > @@ -382,18 +382,18 @@ class SDKTestContext(TestContext): > self.sdktestdir = sdktestdir > self.sdkenv = sdkenv > > -if not hasattr(self, 'target_manifest_name'): > -self.target_manifest_name = "SDK_TARGET_MANIFEST" > +if not hasattr(self, 'target_manifest'): > +self.target_manifest = d.getVar("SDK_TARGET_MANIFEST", True) > try: > -with open(d.getVar(self.target_manifest_name, True)) as f: > +with open(self.target_manifest) as f: > self.pkgmanifest = f.read() > except IOError as e: > bb.fatal("No package manifest file found. Did you build the sdk > image?\n%s" % e) > > -if not hasattr(self, 'host_manifest_name'): > -self.host_manifest_name = "SDK_HOST_MANIFEST" > +if not hasattr(self, 'host_manifest'): > +self.host_manifest = d.getVar("SDK_HOST_MANIFEST", True) > try: > -with open(d.getVar(self.host_manifest_name, True)) as f: > +with open(self.host_manifest) as f: > self.hostpkgmanifest = f.read() > except IOError as e: > bb.fatal("No host package manifest file found. Did you build > the sdk image?\n%s" % e) @@ -410,8 +410,8 @@ class > SDKTestContext(TestContext): > > class SDKExtTestContext(SDKTestContext): > def __init__(self, d, sdktestdir, sdkenv): > -self.target_manifest_name = "SDK_EXT_TARGET_MANIFEST" > -self.host_manifest_name = "SDK_EXT_HOST_MANIFEST" > +self.target_manifest = d.getVar("SDK_EXT_TARGET_MANIFEST", True) > +self.host_manifest = d.getVar("SDK_EXT_HOST_MANIFEST", True) > > super(SDKExtTestContext, self).__init__(d, sdktestdir, sdkenv) Please squash this into the earlier commit where the original logic was added. Thanks, Paul -- Paul Eggleton Intel Open Source Technology Centre -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2 28/28] classes/test{image, sdk}: Update Copyrights to match the true dates.
On Tue, 02 Feb 2016 18:30:40 Aníbal Limón wrote: > Signed-off-by: Aníbal Limón> --- > meta/classes/testimage.bbclass | 2 +- > meta/classes/testsdk.bbclass | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass > index 7fff29f..6992a18 100644 > --- a/meta/classes/testimage.bbclass > +++ b/meta/classes/testimage.bbclass > @@ -1,4 +1,4 @@ > -# Copyright (C) 2013 Intel Corporation > +# Copyright (C) 2013 - 2016 Intel Corporation > # > # Released under the MIT license (see COPYING.MIT) > > diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass > index edc29ca..487f40c 100644 > --- a/meta/classes/testsdk.bbclass > +++ b/meta/classes/testsdk.bbclass > @@ -1,4 +1,4 @@ > -# Copyright (C) 2016 Intel Corporation > +# Copyright (C) 2013 - 2016 Intel Corporation > # > # Released under the MIT license (see COPYING.MIT) Can you squash this into the commit where you create testsdk.bbclass? Thanks, Paul -- Paul Eggleton Intel Open Source Technology Centre -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2 23/28] Revert "classes/populate_sdk_ext: Add OE_SDK_EXT_SILENT env variable"
On Tue, 02 Feb 2016 18:30:35 Aníbal Limón wrote: > This reverts commit 303985d3f402013c7c4a3355f19d48b1cef1c12f. > > As discussion with Paul Eggleton, he don't want to have env variables > to change the behaviour of what the env script needs to print, > i'll redirect the output in oeSDK.run() method. > > I didn't agree because it can hides another messages like error ones > and with the variable you can control what prints or not. > > Signed-off-by: Aníbal LimónWe don't want to add this and revert it in the same series. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2 27/28] classes/testimage: exportTests simple improvment to use list instead of test expresions.
On Tue, 02 Feb 2016 18:30:39 Aníbal Limón wrote: > It's better to use a list instead if variable isn't match some value. > > Signed-off-by: Aníbal Limón> --- > meta/classes/testimage.bbclass | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass > index 57858e6..7fff29f 100644 > --- a/meta/classes/testimage.bbclass > +++ b/meta/classes/testimage.bbclass > @@ -112,7 +112,7 @@ def exportTests(d,tc): > savedata["host_dumper"] = {} > for key in tc.__dict__: > # special cases > -if key != "d" and key != "target" and key != "host_dumper" and key > != "suite": +if key not in ['d', 'target', 'host_dumper', 'suite']: > savedata[key] = getattr(tc, key) > savedata["target"]["ip"] = tc.target.ip or d.getVar("TEST_TARGET_IP", > True) savedata["target"]["server_ip"] = tc.target.server_ip or > d.getVar("TEST_SERVER_IP", True) Please squash this into the commit where you're adding the "suite" item. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2 23/28] Revert "classes/populate_sdk_ext: Add OE_SDK_EXT_SILENT env variable"
On 02/04/2016 12:34 PM, Paul Eggleton wrote: > On Tue, 02 Feb 2016 18:30:35 Aníbal Limón wrote: >> This reverts commit 303985d3f402013c7c4a3355f19d48b1cef1c12f. >> >> As discussion with Paul Eggleton, he don't want to have env variables >> to change the behaviour of what the env script needs to print, >> i'll redirect the output in oeSDK.run() method. >> >> I didn't agree because it can hides another messages like error ones >> and with the variable you can control what prints or not. >> >> Signed-off-by: Aníbal Limón> > We don't want to add this and revert it in the same series. Ok, then i'll send another series without this commit and this revert in another commit. That's ok? alimon > > Cheers, > Paul > signature.asc Description: OpenPGP digital signature -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2 25/28] oeqa/oetest.py: SDK{Ext, } improve host and target manifest load.
Ok agreed. On 02/04/2016 12:35 PM, Paul Eggleton wrote: > On Tue, 02 Feb 2016 18:30:37 Aníbal Limón wrote: >> Don't pass variable name instead of it expands the host and target >> manifest at init of the classes. >> >> Signed-off-by: Aníbal Limón>> --- >> meta/lib/oeqa/oetest.py | 16 >> 1 file changed, 8 insertions(+), 8 deletions(-) >> >> diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py >> index 6a95c28..80b40b6 100644 >> --- a/meta/lib/oeqa/oetest.py >> +++ b/meta/lib/oeqa/oetest.py >> @@ -382,18 +382,18 @@ class SDKTestContext(TestContext): >> self.sdktestdir = sdktestdir >> self.sdkenv = sdkenv >> >> -if not hasattr(self, 'target_manifest_name'): >> -self.target_manifest_name = "SDK_TARGET_MANIFEST" >> +if not hasattr(self, 'target_manifest'): >> +self.target_manifest = d.getVar("SDK_TARGET_MANIFEST", True) >> try: >> -with open(d.getVar(self.target_manifest_name, True)) as f: >> +with open(self.target_manifest) as f: >> self.pkgmanifest = f.read() >> except IOError as e: >> bb.fatal("No package manifest file found. Did you build the sdk >> image?\n%s" % e) >> >> -if not hasattr(self, 'host_manifest_name'): >> -self.host_manifest_name = "SDK_HOST_MANIFEST" >> +if not hasattr(self, 'host_manifest'): >> +self.host_manifest = d.getVar("SDK_HOST_MANIFEST", True) >> try: >> -with open(d.getVar(self.host_manifest_name, True)) as f: >> +with open(self.host_manifest) as f: >> self.hostpkgmanifest = f.read() >> except IOError as e: >> bb.fatal("No host package manifest file found. Did you build >> the sdk image?\n%s" % e) @@ -410,8 +410,8 @@ class >> SDKTestContext(TestContext): >> >> class SDKExtTestContext(SDKTestContext): >> def __init__(self, d, sdktestdir, sdkenv): >> -self.target_manifest_name = "SDK_EXT_TARGET_MANIFEST" >> -self.host_manifest_name = "SDK_EXT_HOST_MANIFEST" >> +self.target_manifest = d.getVar("SDK_EXT_TARGET_MANIFEST", True) >> +self.host_manifest = d.getVar("SDK_EXT_HOST_MANIFEST", True) >> >> super(SDKExtTestContext, self).__init__(d, sdktestdir, sdkenv) > > Please squash this into the earlier commit where the original logic was added. > > Thanks, > Paul > signature.asc Description: OpenPGP digital signature -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2 27/28] classes/testimage: exportTests simple improvment to use list instead of test expresions.
Ok agreed. On 02/04/2016 12:34 PM, Paul Eggleton wrote: > On Tue, 02 Feb 2016 18:30:39 Aníbal Limón wrote: >> It's better to use a list instead if variable isn't match some value. >> >> Signed-off-by: Aníbal Limón>> --- >> meta/classes/testimage.bbclass | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass >> index 57858e6..7fff29f 100644 >> --- a/meta/classes/testimage.bbclass >> +++ b/meta/classes/testimage.bbclass >> @@ -112,7 +112,7 @@ def exportTests(d,tc): >> savedata["host_dumper"] = {} >> for key in tc.__dict__: >> # special cases >> -if key != "d" and key != "target" and key != "host_dumper" and key >> != "suite": +if key not in ['d', 'target', 'host_dumper', 'suite']: >> savedata[key] = getattr(tc, key) >> savedata["target"]["ip"] = tc.target.ip or d.getVar("TEST_TARGET_IP", >> True) savedata["target"]["server_ip"] = tc.target.server_ip or >> d.getVar("TEST_SERVER_IP", True) > > Please squash this into the commit where you're adding the "suite" item. > > Cheers, > Paul > signature.asc Description: OpenPGP digital signature -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2 28/28] classes/test{image, sdk}: Update Copyrights to match the true dates.
Ok agreed. On 02/04/2016 12:34 PM, Paul Eggleton wrote: > On Tue, 02 Feb 2016 18:30:40 Aníbal Limón wrote: >> Signed-off-by: Aníbal Limón>> --- >> meta/classes/testimage.bbclass | 2 +- >> meta/classes/testsdk.bbclass | 2 +- >> 2 files changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass >> index 7fff29f..6992a18 100644 >> --- a/meta/classes/testimage.bbclass >> +++ b/meta/classes/testimage.bbclass >> @@ -1,4 +1,4 @@ >> -# Copyright (C) 2013 Intel Corporation >> +# Copyright (C) 2013 - 2016 Intel Corporation >> # >> # Released under the MIT license (see COPYING.MIT) >> >> diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass >> index edc29ca..487f40c 100644 >> --- a/meta/classes/testsdk.bbclass >> +++ b/meta/classes/testsdk.bbclass >> @@ -1,4 +1,4 @@ >> -# Copyright (C) 2016 Intel Corporation >> +# Copyright (C) 2013 - 2016 Intel Corporation >> # >> # Released under the MIT license (see COPYING.MIT) > > Can you squash this into the commit where you create testsdk.bbclass? > > Thanks, > Paul > signature.asc Description: OpenPGP digital signature -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v2] udev: add runtime dependencies for udev-cache
udev-cache uses find and xargs, which are provided by findutils. It also uses gzip, which is provided by gzip. These utilities need to be present when udev-cache runs. Thus, add them as RDEPENDSs. Otherwise, if busybox is not included in the built image, the following errors could be observed when booting if such packages are not present: /etc/rcS.d/S36udev-cache: line 66: xargs: command not found /etc/rcS.d/S36udev-cache: line 65: find: command not found /etc/rcS.d/S36udev-cache: line 67: gzip: command not found Cc: Khem RajCc: Ross Burton Signed-off-by: Ricardo Neri --- Changes since v1: * Narrow the dependency only to udev-cache * Reword the commit message to mention that the issue is only reproducible if busybox is not included in the image. --- meta/recipes-core/udev/udev.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-core/udev/udev.inc b/meta/recipes-core/udev/udev.inc index 93d7369..4e8e758 100644 --- a/meta/recipes-core/udev/udev.inc +++ b/meta/recipes-core/udev/udev.inc @@ -38,6 +38,7 @@ SRC_URI = "${KERNELORG_MIRROR}/linux/utils/kernel/hotplug/udev-${PV}.tar.gz \ inherit autotools pkgconfig update-rc.d ptest RDEPENDS_${PN}-ptest += "make perl python" +RDEPENDS_${PN}-cache += "gzip findutils" libexecdir = "${base_libdir}" EXTRA_OECONF = "--disable-introspection \ -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2 23/28] Revert "classes/populate_sdk_ext: Add OE_SDK_EXT_SILENT env variable"
On Thu, 04 Feb 2016 14:12:40 Aníbal Limón wrote: > On 02/04/2016 12:34 PM, Paul Eggleton wrote: > > On Tue, 02 Feb 2016 18:30:35 Aníbal Limón wrote: > >> This reverts commit 303985d3f402013c7c4a3355f19d48b1cef1c12f. > >> > >> As discussion with Paul Eggleton, he don't want to have env variables > >> to change the behaviour of what the env script needs to print, > >> i'll redirect the output in oeSDK.run() method. > >> > >> I didn't agree because it can hides another messages like error ones > >> and with the variable you can control what prints or not. > >> > >> Signed-off-by: Aníbal Limón> > > > We don't want to add this and revert it in the same series. > > Ok, then i'll send another series without this commit and this revert in > another commit. If you mean without both the commit and the revert, then yes. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] udev: add runtime dependencies for udev-cache
On Wed, 2016-02-03 at 20:56 +, Burton, Ross wrote: > I was wondering if busbox provides these applets then why pull > them in > explicitly like this > > > Presumably Ricardo is building images without busybox? Indeed, my build does not have busybox. -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] udev: add runtime dependencies for udev-cache
On Wed, 2016-02-03 at 20:37 +, Burton, Ross wrote: > +RDEPENDS_${PN} += "gzip findutils" > > > > The dependencies should be on the udev-cache package, surely. Right. I will submit a new version applying the dependencies to udev-cache only. Thanks and BR, Ricardo -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/5] toolchain-scripts.bbclass: Use PYTHONPATH instead of PYTHONHOME
In the extensible sdk it was originally intended that the native sstate would always be setscened as part of the sdk installation. However, the soon to come "minimal" sdk won't do that. A side effect of that is that pointing PYTHONHOME at the native sysroot within the "bitbake workspace" won't work. For now only set PYTHONPATH instead and continue using the python that comes from buildtools. Signed-off-by: Randy Witt--- meta/classes/toolchain-scripts.bbclass | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/classes/toolchain-scripts.bbclass b/meta/classes/toolchain-scripts.bbclass index ab4feb0..13e7390 100644 --- a/meta/classes/toolchain-scripts.bbclass +++ b/meta/classes/toolchain-scripts.bbclass @@ -31,7 +31,7 @@ toolchain_create_sdk_env_script () { echo "export OECORE_NATIVE_SYSROOT=\"$sdkpathnative\"" >> $script echo 'export OECORE_TARGET_SYSROOT="$SDKTARGETSYSROOT"' >> $script echo "export OECORE_ACLOCAL_OPTS=\"-I $sdkpathnative/usr/share/aclocal\"" >> $script - echo "export PYTHONHOME=$sdkpathnative$prefix" >> $script + echo "export PYTHONPATH=$sdkpathnative$prefix" >> $script echo 'unset command_not_found_handle' >> $script toolchain_shared_env_script -- 2.5.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/5] copy_buildsystem.py: Pass the nativelsb argument to gen-lockedsig-cache
If the nativelsb argument is not used, then create_locked_sstate_cache() can get collisions when moving the files from the input_sstate_cache to the output_sstate_cache. The specific case where this was encountered was when a "universal" nativelsb directory already existed in the input_sstate_cache. Signed-off-by: Randy Witt--- meta/lib/oe/copy_buildsystem.py | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/meta/lib/oe/copy_buildsystem.py b/meta/lib/oe/copy_buildsystem.py index fb51b51..0627461 100644 --- a/meta/lib/oe/copy_buildsystem.py +++ b/meta/lib/oe/copy_buildsystem.py @@ -154,4 +154,11 @@ def create_locked_sstate_cache(lockedsigs, input_sstate_cache, output_sstate_cac if fixedlsbstring: nativedir = output_sstate_cache + '/' + nativelsbstring if os.path.isdir(nativedir): -os.rename(nativedir, output_sstate_cache + '/' + fixedlsbstring) +destdir = os.path.join(output_sstate_cache, fixedlsbstring) +bb.utils.mkdirhier(destdir) + +dirlist = os.listdir(nativedir) +for i in dirlist: +src = os.path.join(nativedir, i) +dest = os.path.join(destdir, i) +os.rename(src, dest) -- 2.5.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 0/5] extsdk bug fixes and minimal type addition
The following changes since commit b33e440cc6fbd703e8045d94b806790343e72eb6: libical: Work around hardcoded paths in pkgconfig file (2016-02-04 13:09:56 +) are available in the git repository at: git://git.yoctoproject.org/poky-contrib fcef7183f0ac9ab38715bb0c0a80109696d79b2d http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=fcef7183f0ac9ab38715bb0c0a80109696d79b2d Randy Witt (5): copy_buildsystem.py: Pass the nativelsb argument to gen-lockedsig-cache toolchain-scripts.bbclass: Use PYTHONPATH instead of PYTHONHOME populate_sdk_ext: Don't set sdk_update_targets in the config populate_sdk_ext: Add support for a "minimal" type populate_sdk_ext: Make populate_sdk_ext depend on sdk_extra_conf meta/classes/populate_sdk_ext.bbclass | 21 +++-- meta/classes/toolchain-scripts.bbclass | 2 +- meta/lib/oe/copy_buildsystem.py| 9 - 3 files changed, 20 insertions(+), 12 deletions(-) -- 2.5.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 3/5] populate_sdk_ext: Don't set sdk_update_targets in the config
sdk_update_targets isn't used by any code, so there is no reason to set it. Signed-off-by: Randy Witt--- meta/classes/populate_sdk_ext.bbclass | 1 - 1 file changed, 1 deletion(-) diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index da7fdfb..ba30023 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -99,7 +99,6 @@ python copy_buildsystem () { config.set('General', 'core_meta_subdir', core_meta_subdir) config.add_section('SDK') config.set('SDK', 'sdk_targets', d.getVar('SDK_TARGETS', True)) -config.set('SDK', 'sdk_update_targets', d.getVar('SDK_INSTALL_TARGETS', True)) updateurl = d.getVar('SDK_UPDATE_URL', True) if updateurl: config.set('SDK', 'updateserver', updateurl) -- 2.5.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 5/5] populate_sdk_ext: Make populate_sdk_ext depend on sdk_extra_conf
If a user changes sdk_extra_conf, it should cause populate_sdk_ext to run. Signed-off-by: Randy Witt--- meta/classes/populate_sdk_ext.bbclass | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index caf8b6e..704c003 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -361,8 +361,9 @@ do_populate_sdk_ext[depends] = "${@d.getVarFlag('do_populate_sdk', 'depends', Fa do_populate_sdk_ext[rdepends] += "${@' '.join([x + ':do_build' for x in d.getVar('SDK_TARGETS', True).split()])}" -# Make sure codes change in copy_buildsystem can result in rebuilt -do_populate_sdk_ext[vardeps] += "copy_buildsystem" +# Make sure code changes can result in rebuild +do_populate_sdk_ext[vardeps] += "copy_buildsystem \ + sdk_ext_postinst" do_populate_sdk_ext[file-checksums] += "${COREBASE}/meta/files/toolchain-shar-relocate.sh:True \ ${COREBASE}/meta/files/toolchain-shar-extract.sh:True \ -- 2.5.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 4/5] populate_sdk_ext: Add support for a "minimal" type
If the user sets the SDK_EXT_TYPE variable to "minimal" then the sdk won't contain any sstate. The sstate can come from an sstate mirror and be installed on demand as usual. Signed-off-by: Randy Witt--- meta/classes/populate_sdk_ext.bbclass | 15 --- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/meta/classes/populate_sdk_ext.bbclass b/meta/classes/populate_sdk_ext.bbclass index ba30023..caf8b6e 100644 --- a/meta/classes/populate_sdk_ext.bbclass +++ b/meta/classes/populate_sdk_ext.bbclass @@ -18,6 +18,9 @@ SDK_RELOCATE_AFTER_INSTALL_task-populate-sdk-ext = "0" SDK_EXT = "" SDK_EXT_task-populate-sdk-ext = "-ext" +# Options are full or minimal +SDK_EXT_TYPE ?= "full" + SDK_LOCAL_CONF_WHITELIST ?= "" SDK_LOCAL_CONF_BLACKLIST ?= "CONF_VERSION \ BB_NUMBER_THREADS \ @@ -29,7 +32,7 @@ SDK_INHERIT_BLACKLIST ?= "buildhistory icecc" SDK_UPDATE_URL ?= "" SDK_TARGETS ?= "${PN}" -SDK_INSTALL_TARGETS = "${SDK_TARGETS} ${@'meta-world-pkgdata:do_allpackagedata' if d.getVar('SDK_INCLUDE_PKGDATA', True) == '1' else ''}" +SDK_INSTALL_TARGETS = "${@SDK_TARGETS if d.getVar('SDK_EXT_TYPE', True) != 'minimal' else ''} ${@'meta-world-pkgdata:do_allpackagedata' if d.getVar('SDK_INCLUDE_PKGDATA', True) == '1' else ''}" OE_INIT_ENV_SCRIPT ?= "oe-init-build-env" # The files from COREBASE that you want preserved in the COREBASE copied @@ -203,10 +206,6 @@ python copy_buildsystem () { bb.utils.remove(sstate_out, True) # uninative.bbclass sets NATIVELSBSTRING to 'universal' fixedlsbstring = 'universal' -oe.copy_buildsystem.create_locked_sstate_cache(lockedsigs_pruned, - d.getVar('SSTATE_DIR', True), - sstate_out, d, - fixedlsbstring) # Add packagedata if enabled if d.getVar('SDK_INCLUDE_PKGDATA', True) == '1': @@ -218,7 +217,9 @@ python copy_buildsystem () { d.getVar('STAGING_DIR_HOST', True) + '/world-pkgdata/locked-sigs-pkgdata.inc', lockedsigs_pruned, lockedsigs_copy) -oe.copy_buildsystem.create_locked_sstate_cache(lockedsigs_copy, + +if d.getVar('SDK_EXT_TYPE', True) != 'minimal': +oe.copy_buildsystem.create_locked_sstate_cache(lockedsigs_pruned, d.getVar('SSTATE_DIR', True), sstate_out, d, fixedlsbstring) @@ -302,7 +303,7 @@ sdk_ext_postinst() { # For now this is where uninative.bbclass expects the tarball mv *-nativesdk-libc.tar.* $target_sdk_dir/`dirname ${oe_init_build_env_path}` - if [ "$prepare_buildsystem" != "no" ]; then + if [ "$prepare_buildsystem" != "no" -a -n "${@SDK_INSTALL_TARGETS.strip()}" ]; then printf "Preparing build system...\n" # dash which is /bin/sh on Ubuntu will not preserve the # current working directory when first ran, nor will it set $1 when -- 2.5.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2 23/28] Revert "classes/populate_sdk_ext: Add OE_SDK_EXT_SILENT env variable"
Comments below, On 02/04/2016 02:19 PM, Paul Eggleton wrote: > On Thu, 04 Feb 2016 14:12:40 Aníbal Limón wrote: >> On 02/04/2016 12:34 PM, Paul Eggleton wrote: >>> On Tue, 02 Feb 2016 18:30:35 Aníbal Limón wrote: This reverts commit 303985d3f402013c7c4a3355f19d48b1cef1c12f. As discussion with Paul Eggleton, he don't want to have env variables to change the behaviour of what the env script needs to print, i'll redirect the output in oeSDK.run() method. I didn't agree because it can hides another messages like error ones and with the variable you can control what prints or not. Signed-off-by: Aníbal Limón>>> >>> We don't want to add this and revert it in the same series. >> >> Ok, then i'll send another series without this commit and this revert in >> another commit. > > If you mean without both the commit and the revert, then yes. > No i don't mean that way because i don't agree with this change and i consider this as *CENSURE* because if i someone don't agree a change the why? information need to be placed in the git repository for future references. I'll make the changes that you requested to drop the two commits (i'm still disagree) for don't stop the process of integrate the eSDK tests that we need for a some time ago. Cheers, alimon > Cheers, > Paul > signature.asc Description: OpenPGP digital signature -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] inetutils: fix up recent build fails due to phantom empty directory
[Re: [PATCH] inetutils: fix up recent build fails due to phantom empty directory] On 04/02/2016 (Thu 13:14) Joe MacDonald wrote: > [[PATCH] inetutils: fix up recent build fails due to phantom empty directory] > On 16.01.31 (Sun 14:42) Paul Gortmaker wrote: > > > Recently I started getting this error: > > > > | rmdir: failed to remove > > 'build/tmp/work/core2-64-overc-linux/inetutils/1.9.4-r0/image/usr/lib64': > > No such file or directory > > | WARNING: exit code 1 from a shell command. > > | ERROR: Function failed: do_install (log file is located at > > build/tmp/work/core2-64-overc-linux/inetutils/1.9.4-r0/temp/log.do_install.23373) > > ERROR: Task 2 > > (meta-openembedded/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb, > > do_install) failed with exit code '1' > > NOTE: Tasks Summary: Attempted 818 tasks of which 723 didn't need to be > > rerun and 1 failed. > > > > Looking at the surrounding code, it seems the empty status of this dir was > > always considered optional. It is unclear to me why it would have just > > started to vanish however. > > > > Since it was optional, make the return code from its removal also of > > no relevance using a crime I've seen committed in other recipes. > > I meant to respond to this as soon as I saw it, sorry about that. Do > you know if this change is functionally any different than adding > --ignore-fail-on-non-empty to the rmdir command instead of the "|| true" > thing? If --ignore-fail corrects the problem for you, I'd rather use > that. Turns out that won't work, since it isn't that it is present and non-empty, but it simply has ceased to exist. (Again, NFI why...) So, we'd need a "--ignore-fail-on-non-exist" GNUism for this. P. -- > > -J. > > > Others are free to dig deeper into the true root cause if their time > > permits them to do so. > > > > Cc: Joe MacDonald> > Signed-off-by: Paul Gortmaker > > --- > > meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git > > a/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb > > b/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb > > index 50aedd30d461..68487eab7d58 100644 > > --- a/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb > > +++ b/meta-networking/recipes-connectivity/inetutils/inetutils_1.9.4.bb > > @@ -79,7 +79,7 @@ do_install_append () { > > > > rm -rf ${D}${libexecdir}/ > > # remove usr/lib if empty > > -rmdir ${D}${libdir} > > +rmdir ${D}${libdir} || true > > } > > > > PACKAGES =+ "${PN}-ping ${PN}-ping6 ${PN}-hostname ${PN}-ifconfig \ > -- > -Joe MacDonald. > :wq -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2 23/28] Revert "classes/populate_sdk_ext: Add OE_SDK_EXT_SILENT env variable"
On Thu, 04 Feb 2016 14:38:56 Aníbal Limón wrote: > Comments below, > > On 02/04/2016 02:19 PM, Paul Eggleton wrote: > > On Thu, 04 Feb 2016 14:12:40 Aníbal Limón wrote: > >> On 02/04/2016 12:34 PM, Paul Eggleton wrote: > >>> On Tue, 02 Feb 2016 18:30:35 Aníbal Limón wrote: > This reverts commit 303985d3f402013c7c4a3355f19d48b1cef1c12f. > > As discussion with Paul Eggleton, he don't want to have env variables > to change the behaviour of what the env script needs to print, > i'll redirect the output in oeSDK.run() method. > > I didn't agree because it can hides another messages like error ones > and with the variable you can control what prints or not. > > Signed-off-by: Aníbal Limón> >>> > >>> We don't want to add this and revert it in the same series. > >> > >> Ok, then i'll send another series without this commit and this revert in > >> another commit. > > > > If you mean without both the commit and the revert, then yes. > > No i don't mean that way because i don't agree with this change and i > consider this as *CENSURE* because if i someone don't agree a change the > why? information need to be placed in the git repository for future > references. We don't put the entire history of decisions on a change in the git history (certainly not in the form of commit and revert, anyway) or it would be really hard to follow when looking back in future. If you want to record that we discussed this alternative solution, the place to do it would be in the commit message where you make the redirection change, which was the alternative to this. Cheers, Paul -- Paul Eggleton Intel Open Source Technology Centre -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2 23/28] Revert "classes/populate_sdk_ext: Add OE_SDK_EXT_SILENT env variable"
On Fri, 2016-02-05 at 09:40 +1300, Paul Eggleton wrote: > On Thu, 04 Feb 2016 14:38:56 Aníbal Limón wrote: > > No i don't mean that way because i don't agree with this change and > > i > > consider this as *CENSURE* because if i someone don't agree a > > change the > > why? information need to be placed in the git repository for future > > references. > > We don't put the entire history of decisions on a change in the git > history > (certainly not in the form of commit and revert, anyway) or it would > be really > hard to follow when looking back in future. If you want to record > that we > discussed this alternative solution, the place to do it would be in > the commit > message where you make the redirection change, which was the > alternative to > this. I'd also add that this is clearly being discussed on the mailing list, so there *is* a very clear public record of it. There are patches I've disagreed with which I have merged and there are patches I've written, then dropped as after discussion they weren't right (sstate using xz is a recent obvious one). Censorship would be not even allowing those discussions to happen, we don't do that, very much the opposite. As Paul says, we don't put it all into git history though. Cheers, Richard -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH v2 23/28] Revert "classes/populate_sdk_ext: Add OE_SDK_EXT_SILENT env variable"
On 02/04/2016 02:47 PM, Richard Purdie wrote: > On Fri, 2016-02-05 at 09:40 +1300, Paul Eggleton wrote: >> On Thu, 04 Feb 2016 14:38:56 Aníbal Limón wrote: >>> No i don't mean that way because i don't agree with this change and >>> i >>> consider this as *CENSURE* because if i someone don't agree a >>> change the >>> why? information need to be placed in the git repository for future >>> references. >> >> We don't put the entire history of decisions on a change in the git >> history >> (certainly not in the form of commit and revert, anyway) or it would >> be really >> hard to follow when looking back in future. If you want to record >> that we >> discussed this alternative solution, the place to do it would be in >> the commit >> message where you make the redirection change, which was the >> alternative to >> this. > > I'd also add that this is clearly being discussed on the mailing list, > so there *is* a very clear public record of it. > > There are patches I've disagreed with which I have merged and there are > patches I've written, then dropped as after discussion they weren't > right (sstate using xz is a recent obvious one). Censorship would be > not even allowing those discussions to happen, we don't do that, very > much the opposite. > > As Paul says, we don't put it all into git history though. Ok, i'll add the comments and the link to the ML in the original commit and drop the another two. There is a place/wiki/etc where this kind of issues are explained? alimon > > Cheers, > > Richard > > signature.asc Description: OpenPGP digital signature -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] uninative: Improve error handling
We need to improve the error handling here, things were breaking and yet the user wasn't seeing the issues. We need to skip libraries as we process the files. Signed-off-by: Richard Purdiediff --git a/meta/classes/uninative.bbclass b/meta/classes/uninative.bbclass index 38c05df..580917b 100644 --- a/meta/classes/uninative.bbclass +++ b/meta/classes/uninative.bbclass @@ -69,6 +69,8 @@ python uninative_changeinterp () { sstateinst = d.getVar('SSTATE_INSTDIR', True) for walkroot, dirs, files in os.walk(sstateinst): for file in files: +if file.endswith(".so") or ".so." in file: +continue f = os.path.join(walkroot, file) if os.path.islink(f): continue @@ -82,5 +84,5 @@ python uninative_changeinterp () { continue #bb.warn("patchelf-uninative --set-interpreter %s %s" % (d.getVar("UNINATIVE_LOADER", True), f)) -subprocess.call("patchelf-uninative --set-interpreter %s %s" % (d.getVar("UNINATIVE_LOADER", True), f), shell=True) +subprocess.check_call("patchelf-uninative --set-interpreter %s %s" % (d.getVar("UNINATIVE_LOADER", True), f), shell=True) } -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] patchelf: Add patch to handle large files
There were "maximum size exceeded" errors from patchelf when processing qemu-native. There is an issue open for this upstream, add a patch proposed there for this issue. "32" was increased to "64" to handle our qemu-ppc binary. Signed-off-by: Richard Purdiediff --git a/meta/recipes-devtools/patchelf/patchelf/maxsize.patch b/meta/recipes-devtools/patchelf/patchelf/maxsize.patch new file mode 100644 index 000..cc04a89 --- /dev/null +++ b/meta/recipes-devtools/patchelf/patchelf/maxsize.patch @@ -0,0 +1,30 @@ +From f6886c2c33a1cf8771163919f3d20f6340c0ce38 Mon Sep 17 00:00:00 2001 +From: Eelco Dolstra +Date: Fri, 10 Jul 2015 18:12:37 +0200 +Subject: [PATCH] Quick fix for #47 + +https://github.com/NixOS/patchelf/issues/47 + +Avoid issues with holes in binaries such as qemu-pcc from qemu-native. + +Upstream-Status: Submitted +RP +2016/2/3 + +--- + src/patchelf.cc | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/patchelf.cc b/src/patchelf.cc +index 8566ed9..df75593 100644 +--- a/src/patchelf.cc b/src/patchelf.cc +@@ -248,7 +248,7 @@ static void readFile(string fileName, mode_t * fileMode) + if (stat(fileName.c_str(), ) != 0) error("stat"); + fileSize = st.st_size; + *fileMode = st.st_mode; +-maxSize = fileSize + 8 * 1024 * 1024; ++maxSize = fileSize + 64 * 1024 * 1024; + + contents = (unsigned char *) malloc(fileSize + maxSize); + if (!contents) abort(); \ No newline at end of file diff --git a/meta/recipes-devtools/patchelf/patchelf_0.8.bb b/meta/recipes-devtools/patchelf/patchelf_0.8.bb index c1b87f5..8484a7e 100644 --- a/meta/recipes-devtools/patchelf/patchelf_0.8.bb +++ b/meta/recipes-devtools/patchelf/patchelf_0.8.bb @@ -1,4 +1,5 @@ -SRC_URI = "http://nixos.org/releases/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.bz2; +SRC_URI = "http://nixos.org/releases/${BPN}/${BPN}-${PV}/${BPN}-${PV}.tar.bz2 \ + file://maxsize.patch" LICENSE = "GPLv3" SUMMARY = "Tool to allow editing of RPATH and interpreter fields in ELF binaries" -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core