Re: [OE-core] [PATCH] systemd: create wheel sysuser group offline
在 2017年11月10日 13:54, Andre McCurdy 写道: The default systemd-tmpfiles config file expects to be able to create files etc belonging to the wheel system group. Currently the wheel group is created at run time by systemd-sysusers, but that doesn't happen if systemd-sysusers is disabled (as it currently is by default when building with musl libc). For sysvinit, we follow the Debian rule which doesn't have wheel group in the system. Should we have to break this rule for systemd? Is this necessary to use this group in systemd? //Yi Signed-off-by: Andre McCurdy--- meta/recipes-core/systemd/systemd_234.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/systemd/systemd_234.bb b/meta/recipes-core/systemd/systemd_234.bb index 81a9509..7fdb65f 100644 --- a/meta/recipes-core/systemd/systemd_234.bb +++ b/meta/recipes-core/systemd/systemd_234.bb @@ -333,7 +333,7 @@ USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'networkd', '--sys USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'coredump', '--system -d / -M --shell /bin/nologin systemd-coredump;', '', d)}" USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'resolved', '--system -d / -M --shell /bin/nologin systemd-resolve;', '', d)}" USERADD_PARAM_${PN} += "${@bb.utils.contains('PACKAGECONFIG', 'polkit', '--system --no-create-home --user-group --home-dir ${sysconfdir}/polkit-1 polkitd;', '', d)}" -GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal" +GROUPADD_PARAM_${PN} = "-r lock; -r systemd-journal; -r wheel" USERADD_PARAM_${PN}-extra-utils += "--system -d / -M --shell /bin/nologin systemd-bus-proxy;" FILES_${PN}-analyze = "${bindir}/systemd-analyze" -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/2] dbus: upgrade to 1.12.2
1. os-test.patch is removed because current dbus has removed distro specific init script. 2. Add autoconf-archive to DEPENDS to fix do_configure failure as below. error: Unexpanded AX_ macro found. 3. Modify FILES variable to fix installed-vs-shipped QA issue. Signed-off-by: Chen Qi--- meta/recipes-core/dbus/dbus/os-test.patch | 35 -- .../dbus/{dbus_1.10.20.bb => dbus_1.12.2.bb} | 12 2 files changed, 7 insertions(+), 40 deletions(-) delete mode 100644 meta/recipes-core/dbus/dbus/os-test.patch rename meta/recipes-core/dbus/{dbus_1.10.20.bb => dbus_1.12.2.bb} (93%) diff --git a/meta/recipes-core/dbus/dbus/os-test.patch b/meta/recipes-core/dbus/dbus/os-test.patch deleted file mode 100644 index 54c257f..000 --- a/meta/recipes-core/dbus/dbus/os-test.patch +++ /dev/null @@ -1,35 +0,0 @@ -dbus: remove build host test in configure script - -The dbus build tests the build host to detect what initscript -environment it expects. Remove the test and set it to "redhat" -unconditionally as the oe-core initscript has a redhat-style pid file -path. - -Signed-off-by: Andy Ross -Upstream-Status: Inappropriate [embedded] - -diff -u a/configure.ac b/configure.ac a/configure.ac 2012-08-28 11:23:43.040609874 -0700 -+++ b/configure.ac 2012-08-28 11:54:25.602913945 -0700 -@@ -1348,19 +1348,8 @@ - AS_AC_EXPAND(EXPANDED_LIBEXECDIR, "$libexecdir") - AS_AC_EXPAND(EXPANDED_DATADIR, "$datadir") - -- Check our operating system --operating_system=unknown --if test -f /etc/redhat-release || test -f $EXPANDED_SYSCONFDIR/redhat-release ; then -- operating_system=redhat --fi -- --if test -f /etc/slackware-version || test -f $EXPANDED_SYSCONFDIR/slackware-version ; then -- operating_system=slackware --fi -- --if test -f /usr/bin/cygwin1.dll || test -f $EXPANDED_BINDIR/cygwin1.dll ; then -- operating_system=cygwin --fi -+ Build host test removed from upstream code, openembedded initscript is redhat-like: -+operating_system=redhat - - Sort out init scripts - diff --git a/meta/recipes-core/dbus/dbus_1.10.20.bb b/meta/recipes-core/dbus/dbus_1.12.2.bb similarity index 93% rename from meta/recipes-core/dbus/dbus_1.10.20.bb rename to meta/recipes-core/dbus/dbus_1.12.2.bb index 9ddedc1..d923d33 100644 --- a/meta/recipes-core/dbus/dbus_1.10.20.bb +++ b/meta/recipes-core/dbus/dbus_1.12.2.bb @@ -5,7 +5,7 @@ SECTION = "base" LICENSE = "AFL-2 | GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=10dded3b58148f3f1fd804b26354af3e \ file://dbus/dbus.h;beginline=6;endline=20;md5=7755c9d7abccd5dbd25a6a974538bb3c" -DEPENDS = "expat virtual/libintl" +DEPENDS = "expat virtual/libintl autoconf-archive" RDEPENDS_dbus_class-native = "" RDEPENDS_dbus_class-nativesdk = "" PACKAGES += "${@bb.utils.contains('DISTRO_FEATURES', 'ptest', '${PN}-ptest', '', d)}" @@ -15,13 +15,12 @@ RDEPENDS_dbus-ptest_class-target = "dbus-test-ptest" SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ file://tmpdir.patch \ file://dbus-1.init \ - file://os-test.patch \ file://clear-guid_from_server-if-send_negotiate_unix_f.patch \ file://0001-configure.ac-explicitely-check-stdint.h.patch \ " -SRC_URI[md5sum] = "94c991e763d4f9f13690416b2dcd9411" -SRC_URI[sha256sum] = "e574b9780b5425fde4d973bb596e7ea0f09e00fe2edd662da9016e976c460b48" +SRC_URI[md5sum] = "3361456cadb99aa6601bed5b48964254" +SRC_URI[sha256sum] = "272bb5091770b047c8188b926d5e6038fa4fe6745488b2add96b23e2d9a83d88" inherit useradd autotools pkgconfig gettext update-rc.d upstream-version-is-even @@ -69,12 +68,15 @@ FILES_${PN} = "${bindir}/dbus-daemon* \ ${datadir}/dbus-1/session.conf \ ${datadir}/dbus-1/system.d \ ${datadir}/dbus-1/system.conf \ + ${datadir}/xml/dbus-1 \ ${systemd_system_unitdir} \ ${systemd_user_unitdir} \ + ${nonarch_libdir}/sysusers.d/dbus.conf \ + ${nonarch_libdir}/tmpfiles.d/dbus.conf \ " FILES_${PN}-lib = "${libdir}/lib*.so.*" RRECOMMENDS_${PN}-lib = "${PN}" -FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-test-tool" +FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${libdir}/cmake/DBus1 ${bindir}/dbus-test-tool" PACKAGE_WRITE_DEPS += "${@bb.utils.contains('DISTRO_FEATURES','systemd sysvinit','systemd-systemctl-native','',d)}" pkg_postinst_dbus() { -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/2] dbus-test: upgrade to 1.12.2
Upgrade dbus-test to 1.12.2 as dbus has been upgraded to this version. Signed-off-by: Chen Qi--- meta/recipes-core/dbus/{dbus-test_1.10.20.bb => dbus-test_1.12.2.bb} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename meta/recipes-core/dbus/{dbus-test_1.10.20.bb => dbus-test_1.12.2.bb} (93%) diff --git a/meta/recipes-core/dbus/dbus-test_1.10.20.bb b/meta/recipes-core/dbus/dbus-test_1.12.2.bb similarity index 93% rename from meta/recipes-core/dbus/dbus-test_1.10.20.bb rename to meta/recipes-core/dbus/dbus-test_1.12.2.bb index eeadb7d..c3891a3 100644 --- a/meta/recipes-core/dbus/dbus-test_1.10.20.bb +++ b/meta/recipes-core/dbus/dbus-test_1.12.2.bb @@ -17,8 +17,8 @@ SRC_URI = "http://dbus.freedesktop.org/releases/dbus/dbus-${PV}.tar.gz \ file://clear-guid_from_server-if-send_negotiate_unix_f.patch \ " -SRC_URI[md5sum] = "94c991e763d4f9f13690416b2dcd9411" -SRC_URI[sha256sum] = "e574b9780b5425fde4d973bb596e7ea0f09e00fe2edd662da9016e976c460b48" +SRC_URI[md5sum] = "3361456cadb99aa6601bed5b48964254" +SRC_URI[sha256sum] = "272bb5091770b047c8188b926d5e6038fa4fe6745488b2add96b23e2d9a83d88" S="${WORKDIR}/dbus-${PV}" FILESEXTRAPATHS =. "${FILE_DIRNAME}/dbus:" -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 0/2] dbus/dbus-test: upgrade to 1.12.2
The following changes since commit 4469acdf1d0338220f3fe2ecb5e079eea6fda375: lib/oe/utils: remove param_bool() (2017-12-02 11:25:34 +) are available in the git repository at: git://git.pokylinux.org/poky-contrib ChenQi/dbus-1.12.2 http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=ChenQi/dbus-1.12.2 Chen Qi (2): dbus: upgrade to 1.12.2 dbus-test: upgrade to 1.12.2 .../{dbus-test_1.10.20.bb => dbus-test_1.12.2.bb} | 4 +-- meta/recipes-core/dbus/dbus/os-test.patch | 35 -- .../dbus/{dbus_1.10.20.bb => dbus_1.12.2.bb} | 12 3 files changed, 9 insertions(+), 42 deletions(-) rename meta/recipes-core/dbus/{dbus-test_1.10.20.bb => dbus-test_1.12.2.bb} (93%) delete mode 100644 meta/recipes-core/dbus/dbus/os-test.patch rename meta/recipes-core/dbus/{dbus_1.10.20.bb => dbus_1.12.2.bb} (93%) -- 1.9.1 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] package.py: Add STRIP_OPTS variable
STRIP_OPTS variable is added to put extra options for strip command during do_package. This helps to discard symbols or sections selectively. For example, it can be used like below: STRIP_OPTS_pn-somepackage = "--strip-debug --keep-file-symbols" It preserves a symbol table on a binary. This is useful especialy for an embedded system which has limited resources because a size of *-dbg package is too huge to be installed to the target. Instead of it, preserving the symbol table is lightweight and enough to track where a problem comes from. Signed-off-by: Changhee Han--- meta/classes/package.bbclass | 6 -- meta/classes/staging.bbclass | 3 ++- meta/conf/documentation.conf | 1 + meta/lib/oe/package.py | 8 +--- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 2053d46..1933e93 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1066,12 +1066,14 @@ python split_and_strip_files () { if (d.getVar('INHIBIT_PACKAGE_STRIP') != '1'): strip = d.getVar("STRIP") sfiles = [] +opts = d.getVar("STRIP_OPTS") or '' + for file in elffiles: elf_file = int(elffiles[file]) #bb.note("Strip %s" % file) -sfiles.append((file, elf_file, strip)) +sfiles.append((file, elf_file, strip, opts)) for f in kernmods: -sfiles.append((f, 16, strip)) +sfiles.append((f, 16, strip, opts)) oe.utils.multiprocess_exec(sfiles, oe.package.runstrip) diff --git a/meta/classes/staging.bbclass b/meta/classes/staging.bbclass index c479bd9..51be462 100644 --- a/meta/classes/staging.bbclass +++ b/meta/classes/staging.bbclass @@ -78,8 +78,9 @@ python sysroot_strip () { base_libdir = os.path.abspath(dstdir + os.sep + d.getVar("base_libdir")) qa_already_stripped = 'already-stripped' in (d.getVar('INSANE_SKIP_' + pn) or "").split() strip_cmd = d.getVar("STRIP") +strip_opts = d.getVar("STRIP_OPTS") or '' -oe.package.strip_execs(pn, dstdir, strip_cmd, libdir, base_libdir, +oe.package.strip_execs(pn, dstdir, strip_cmd, strip_opts, libdir, base_libdir, qa_already_stripped=qa_already_stripped) } diff --git a/meta/conf/documentation.conf b/meta/conf/documentation.conf index a55e283..802bad4 100644 --- a/meta/conf/documentation.conf +++ b/meta/conf/documentation.conf @@ -392,6 +392,7 @@ SSTATE_MIRRORS[doc] = "Configures the OpenEmbedded build system to search other STAGING_KERNEL_DIR[doc] = "The directory with kernel headers that are required to build out-of-tree modules." STAMP[doc] = "Specifies the base path used to create recipe stamp files. The path to an actual stamp file is constructed by evaluating this string and then appending additional information." STAMPS_DIR[doc] = "Specifies the base directory in which the OpenEmbedded build system places stamps." +STRIP_OPTS[doc] = "Additional options to add strip command during do_package." SUMMARY[doc] = "The short (80 characters or less) summary of the binary package for packaging systems such as opkg, rpm or dpkg. By default, SUMMARY is used to define the DESCRIPTION variable if DESCRIPTION is not set in the recipe." SVNDIR[doc] = "The directory where Subversion checkouts will be stored." SYSLINUX_DEFAULT_CONSOLE[doc] = "Specifies the kernel boot default console." diff --git a/meta/lib/oe/package.py b/meta/lib/oe/package.py index 1e5c3aa..84bd8ba 100644 --- a/meta/lib/oe/package.py +++ b/meta/lib/oe/package.py @@ -10,7 +10,7 @@ def runstrip(arg): import stat, subprocess -(file, elftype, strip) = arg +(file, elftype, strip, opts) = arg newmode = None if not os.access(file, os.W_OK) or os.access(file, os.R_OK): @@ -31,6 +31,7 @@ def runstrip(arg): elif elftype & 8 or elftype & 4: stripcmd.extend(["--remove-section=.comment", "--remove-section=.note"]) +stripcmd.extend(opts.split()) stripcmd.append(file) bb.debug(1, "runstrip: %s" % stripcmd) @@ -45,12 +46,13 @@ def runstrip(arg): return -def strip_execs(pn, dstdir, strip_cmd, libdir, base_libdir, qa_already_stripped=False): +def strip_execs(pn, dstdir, strip_cmd, strip_opts, libdir, base_libdir, qa_already_stripped=False): """ Strip executable code (like executables, shared libraries) _in_place_ - Based on sysroot_strip in staging.bbclass :param dstdir: directory in which to strip files :param strip_cmd: Strip command (usually ${STRIP}) +:param strip_opts: Strip options :param libdir: ${libdir} - strip .so files in this directory :param base_libdir: ${base_libdir} - strip .so files in this directory :param qa_already_stripped: Set to True if already-stripped' in ${INSANE_SKIP} @@ -148,7 +150,7 @@ def strip_execs(pn, dstdir, strip_cmd, libdir, base_libdir, qa_already_stripped= sfiles = []
Re: [OE-core] How to add group for multiple recipes
Hi Robert, I had tried what said before and failed to make it work. And I retried this solution after I got information from you. It works perfectly now. Thank you! Best regards Ben GUAN ST-FIR/ENG1-Zhu -Original Message- From: Robert Yang [mailto:liezhi.y...@windriver.com] Sent: Wednesday, December 06, 2017 4:27 PM To: GUAN Ben (ST-FIR/ENG1-Zhu); openembedded-core@lists.openembedded.org Cc: Jonas Mark (ST-FIR/ENG1) Subject: Re: [OE-core] How to add group for multiple recipes Hi Ben, On 12/06/2017 04:12 PM, GUAN Ben (ST-FIR/ENG1-Zhu) wrote: > Hello, > > In oe-core, there are some default groups provided by recipe "base-passwd". > Any other recipes could refer to these groups when they want to create a new > user. > > Now we have a requirement: there are several recipes which create their own > users, and they shall belongs to a common group. How could we add this group? > It seems that groups or users created in a recipe are only visible to the > same recipe. Other recipes cannot refer to them (e.g. using chown/chgrp). > > We already tried to add a recipe which only generates the group and added > this to DEPENDS of the other recipes. But it seem as if the group was not > generated in time. When the other recipes ran, the group was not there. But > the final image contained the group. What's the error, please ? Where did you check the group ? If you have added the the recipe to another's DEPENDS, then the group should be in another recipe's recipe-sysroot. // Robert > > Best regards > > Ben GUAN > ST-FIR/ENG1-Zhu > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/2] wic: plugins: rawcopy: support to add offset when writing the raw image
In some cases we need to skip some reserved sectors when writing a raw image. So add support to set an offset for writing. Signed-off-by: Kevin Hao--- scripts/lib/wic/plugins/source/rawcopy.py | 7 +++ 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/scripts/lib/wic/plugins/source/rawcopy.py b/scripts/lib/wic/plugins/source/rawcopy.py index 424ed26ed6ba..baf991fe8d5d 100644 --- a/scripts/lib/wic/plugins/source/rawcopy.py +++ b/scripts/lib/wic/plugins/source/rawcopy.py @@ -53,10 +53,9 @@ class RawCopyPlugin(SourcePlugin): src = os.path.join(kernel_dir, source_params['file']) dst = os.path.join(cr_workdir, "%s.%s" % (source_params['file'], part.lineno)) -if 'skip' in source_params: -sparse_copy(src, dst, skip=int(source_params['skip'])) -else: -sparse_copy(src, dst) +skip = 0 if 'skip' not in source_params else int(source_params['skip']) +seek = 0 if 'seek' not in source_params else int(source_params['seek']) +sparse_copy(src, dst, skip, seek) # get the size in the right units for kickstart (kB) du_cmd = "du -Lbks %s" % dst -- 2.9.3 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 2/2] wic: plugins: rawcopy: Add support to download the raw image from a http server
Some firmwares are critical for the basic functions of the board, and may be used by the bootloader. Due to the license issue, we can't integrate it. But we do need it when creating a booting image by using WIC. So add the support for the WIC to download a raw file from http server and write it to a specific part. In order to restrict the downloading behaviour, we introduce a "WKS_ALLOW_DOWNLOAD" variable and only do the downloading when this variable is set. Signed-off-by: Kevin Hao--- meta/classes/image_types_wic.bbclass | 2 +- scripts/lib/wic/plugins/source/rawcopy.py | 13 +++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/meta/classes/image_types_wic.bbclass b/meta/classes/image_types_wic.bbclass index 222ae004338d..70858ad5d7a1 100644 --- a/meta/classes/image_types_wic.bbclass +++ b/meta/classes/image_types_wic.bbclass @@ -3,7 +3,7 @@ WICVARS ?= "\ BBLAYERS IMGDEPLOYDIR DEPLOY_DIR_IMAGE FAKEROOTCMD IMAGE_BASENAME IMAGE_BOOT_FILES \ IMAGE_LINK_NAME IMAGE_ROOTFS INITRAMFS_FSTYPES INITRD INITRD_LIVE ISODIR RECIPE_SYSROOT_NATIVE \ - ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS" + ROOTFS_SIZE STAGING_DATADIR STAGING_DIR STAGING_LIBDIR TARGET_SYS WKS_ALLOW_DOWNLOAD" WKS_FILE ??= "${IMAGE_BASENAME}.${MACHINE}.wks" WKS_FILES ?= "${WKS_FILE} ${IMAGE_BASENAME}.wks" diff --git a/scripts/lib/wic/plugins/source/rawcopy.py b/scripts/lib/wic/plugins/source/rawcopy.py index baf991fe8d5d..808c279aed4c 100644 --- a/scripts/lib/wic/plugins/source/rawcopy.py +++ b/scripts/lib/wic/plugins/source/rawcopy.py @@ -50,8 +50,17 @@ class RawCopyPlugin(SourcePlugin): if 'file' not in source_params: raise WicError("No file specified") -src = os.path.join(kernel_dir, source_params['file']) -dst = os.path.join(cr_workdir, "%s.%s" % (source_params['file'], part.lineno)) +if source_params['file'].startswith('http://') or source_params['file'].startswith('https://'): +# Only download the image from remote site when explicilty requesting so +if get_bitbake_var("WKS_ALLOW_DOWNLOAD") != "1": +return +src = os.path.join(cr_workdir, "%s" % source_params['file'].rsplit('/',1)[-1]) +dst = "%s.dst" % src +download_cmd = "wget -r -O %s %s" %(src, source_params['file']) +exec_cmd(download_cmd) +else: +src = os.path.join(kernel_dir, source_params['file']) +dst = os.path.join(cr_workdir, "%s.%s" % (source_params['file'], part.lineno)) skip = 0 if 'skip' not in source_params else int(source_params['skip']) seek = 0 if 'seek' not in source_params else int(source_params['seek']) -- 2.9.3 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 8/8] linux-yocto-dev: update to v4.15+
On Thu, 2017-12-07 at 05:30 -0500, Bruce Ashfield wrote: > > > On Wed, Dec 6, 2017 at 11:28 AM, Burton, Ross> wrote: > > The amended commit has mismatching commit log and patch (target > > elfutils is in the commit log but not the patch), and doesn't > > mention installing target elfutils if they want it. > > > > > I fixed up the commit log on that patch to match the actual code. > > As it turns out, I don't see the need to install target elfutils > anymore, so I didn't > include anything about that in the log. > > We still have some lttng build issues with the -dev kernel (due to > objtool being > required and the openssl headers required for making the scripts), > and those > are being worked on separately. Having this updated linux-yocto-dev > recipe > in the tree gets the kernel building and booting and enables us to > work through > the other issues more quickly (not to meention, I've already pushed > 4.15-rc2 to > the actual kernel tree, so you get that from a build regardless). > With Regards to the objtool, I was also seeing and issue with kernel- devsrc, and objtool/.debug showing up in the devsrc packages-split. I am trying to get a solid set of steps that reproduces this. The strange thing was I did not see the .debug files in the kernel build area or even in the kernel-devsrc/image directory but it was strangely showed up in packages-split and failed a QA check. Sau! > Cheers, > > Bruc > > > > > Ross > > > > On 4 December 2017 at 17:43, Bruce Ashfield > er.com> wrote: > > > On 2017-12-04 12:39 PM, Richard Purdie wrote: > > > > On Mon, 2017-12-04 at 12:24 -0500, Bruce Ashfield wrote: > > > > > On 2017-12-04 11:38 AM, Khem Raj wrote: > > > > > > On Mon, Dec 4, 2017 at 7:39 AM, Bruce Ashfield > > > > > > wrote: > > > > > > > Outside of the normal patch refreshes and boot issues, > > > > > > > there are > > > > > > > new > > > > > > > build time tools within the kernel that required the > > > > > > > following > > > > > > > dependencies: > > > > > > > > > > > > > > For ORC_UNWINDER support in x86-64: > > > > > > > > > > > > > >DEPENDS += "${@bb.utils.contains('ARCH', 'x86', > > > > > > > 'elfutils- > > > > > > > native elfutils', '', d)}" > > > > > > > > > > > > > do we need both target and host elfutils > > > > > > > > > > > Yup. There were references to both. Some had to run for > > > > > hostcc > > > > > and others in the target arch. > > > > > > > > > > > > > Just for reference this is pretty bad for performance as it > > > > delays the > > > > kernel compile until some substantial parts of userspace build. > > > > > > > > > > > > > > On a second look, I can likely turn off the target part, if > > > someone > > > wants it, they can always install the package (or it could be a > > > rdepends). > > > > > > I'll amend the commit and leave it on that branch with just the > > > DEPENDS on the -native version. > > > > > > > Is ORC_UNWINDER useful and commonly used? > > > > > > > > > > The upstream kernel commit turned it on by default, I turned it > > > off in > > > the kernel-cache, but I wanted to make sure the dependency was > > > in place. > > > > > > The commit series from Josh Poimboeuf all lead to it being on as > > > the default choice (even with a slight overhead). > > > > > > Bruce > > > > > > > > > > Cheers, > > > > > > > > Richard > > > > > > > > > > > > > > -- > > > ___ > > > 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 > > > > > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/1] uninative.bbclass: Fix broken symlink issue
If two builds are sharing the same DL_DIR, and the uninative file is local to a layer. When the first build gets to uninative it creates the link local to itself, and subsequent users can use the same link. However if that first build then is deleted from the disk, the symlink is no longer valid (broken). We need to update the system to detect this case, and use the model implemented by the bitbke fetch2 code. Look for a broken link, remove it, then try to create the link and ignore an exception if it already exists (since we just unlinked any bad one). Signed-off-by: Mark Hatle--- meta/classes/uninative.bbclass | 12 1 file changed, 12 insertions(+) diff --git a/meta/classes/uninative.bbclass b/meta/classes/uninative.bbclass index a410647328..670efa9f05 100644 --- a/meta/classes/uninative.bbclass +++ b/meta/classes/uninative.bbclass @@ -63,7 +63,19 @@ python uninative_event_fetchloader() { fetcher.download() localpath = fetcher.localpath(srcuri) if localpath != tarballpath and os.path.exists(localpath) and not os.path.exists(tarballpath): +# Follow the symlink behavior from the bitbake fetch2. +# This will cover the case where an existing symlink is broken +# as well as if there are two processes trying to create it +# at the same time. +if os.path.islink(tarballpath): +# Broken symbolic link +os.unlink(tarballpath) + +# Deal with two processes trying to make symlink at once +try: os.symlink(localpath, tarballpath) +except FileExistsError: +pass cmd = d.expand("\ mkdir -p ${UNINATIVE_STAGING_DIR}-uninative; \ -- 2.14.2.666.gea220ee -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [master][rocko][PATCH 0/1] Fix uninative link when loaded from a file url
If the uninative link is set from a file URL, a symlink will be created. If that file is later deleted (i.e. referenced a file in another project layer). The system will fail on a backtrace during the os.symlink. The same type of problem must have existed in the bitbake fetcher, as the code there was already written to allow this case. This copies that design and does the same procedure of checking for a broken symlink, and unlinks in that case. This also adds the secondary step if there are two processes that happen to get to there at the same time (shared DL_DIR for two projects), the exitence of the link will not trigger a failure due to the try/except. Mark Hatle (1): uninative.bbclass: Fix broken symlink issue meta/classes/uninative.bbclass | 12 1 file changed, 12 insertions(+) -- 2.14.2.666.gea220ee -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [OE-Core][PATCH 1/1] package_manager.py: fix opkg custom config path
The opkg custom config feature has moved to the package_manager python module. This feature is broken since commit 19c538f57c. The python function os.path.join joins path components. If a component is an absolute path, all previous components are thrown away. The sysconfdir variable is an absolute path component. It causes the leading target rootfs component to be removed. As a result, the package-manager module tries to write in the real root filesystem instead of the temporary work directory for the rootfs image. This fixes the issue by prepending the target rootfs component using the string concatenation operator when the file is opened (without using os.path module). Cc: Ash CharlesSigned-off-by: Gaël PORTAY --- meta/lib/oe/package_manager.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py index 6cbb61fd84..ac29593f88 100644 --- a/meta/lib/oe/package_manager.py +++ b/meta/lib/oe/package_manager.py @@ -953,12 +953,11 @@ class OpkgPM(OpkgDpkgPM): """ if (self.d.getVar('FEED_DEPLOYDIR_BASE_URI') or "") != "": for arch in self.pkg_archs.split(): -cfg_file_name = os.path.join(self.target_rootfs, - self.d.getVar("sysconfdir"), +cfg_file_name = os.path.join(self.d.getVar("sysconfdir", True), "opkg", "local-%s-feed.conf" % arch) -with open(cfg_file_name, "w+") as cfg_file: +with open(self.target_rootfs + cfg_file_name, "w+") as cfg_file: cfg_file.write("src/gz local-%s %s/%s" % (arch, self.d.getVar('FEED_DEPLOYDIR_BASE_URI'), -- 2.15.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] kernel.bbclass do_sizecheck behaviour changes
On Thu, Dec 7, 2017 at 11:20 AM, Khem Rajwrote: > On Thu, Dec 7, 2017 at 8:15 AM, Mike Crowe wrote: >> I discovered today that our kernel size check has been ineffective since we >> took 7384d2831c713ac5999aca83c312154dc15cec56 from 2014 which changed the >> units for KERNEL_IMAGE_MAXSIZE from bytes to kilobytes. >> >> However whilst fixing that, I also noticed that >> 849b67b2e4820564b5e5c9bd4bb293c44351c5f3 in 2016 changed the consequences >> of exceeding the size from being fatal to merely a warning. >> >> This second change in behaviour wasn't described in the commit message, so >> I'm not sure whether it was intentional. I can believe that when generating >> multiple kernel image types it may not be essential that they all fit, but >> I don't really know what the use case for the feature is. >> >> I could fix this by adding to kernel.bbclass something like: >> >> KERNEL_IMAGE_MAXSIZE_CONSEQUENCE ?= "warn" >> >> and then using it when delivering the bad news so that recipes can override >> it if they wish. >> >> Alternatively, I could treat the error as being fatal if none of the kernel >> images fit within the required size. This would degenerate to the old >> behaviour automatically if KERNEL_IMAGETYPES contains only one entry. That sounds like a good solution. >> Does one of these solutions appeal, or is there another even better >> solution? > > I think default should be a warning with a possibility to be turned > into an error > if user wishes too. I think if you are generating multiple kernel types then > you > will use all of them somewhere, so I would say if the size of one of > them excedes > the set limit them break the build. The size limit for an uncompressed kernel vs a compressed kernel is going to be quite different, so defining one size limit and applying it to all images doesn't seem logical. -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 1/9] meson: add a recipe and class from meta-oe
On Fri, Nov 17, 2017 at 4:02 AM, Alexander Kanavinwrote: > + > +MESON_HOST_ENDIAN = "${@bb.utils.contains('SITEINFO_ENDIANNESS', 'be', > 'big', 'little', d)}" SITEINFO_ENDIANNESS returns the endianness of the target, not the host. Perhaps this is just a confusingly named variable though? (it doesn't make much sense to expect the user to tell the build system what endianness it's running on, the build system should be able to determine that on it's own). > +MESON_TARGET_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', > 'big', 'little', d)}" This won't work for all targets (e.g. PowerPC is big endian but doesn't include "bigendian" in TUNE_FEATURES). To determine the endianness of the target, use SITEINFO_ENDIANNESS instead. -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] kernel.bbclass do_sizecheck behaviour changes
On Thu, Dec 7, 2017 at 8:15 AM, Mike Crowewrote: > I discovered today that our kernel size check has been ineffective since we > took 7384d2831c713ac5999aca83c312154dc15cec56 from 2014 which changed the > units for KERNEL_IMAGE_MAXSIZE from bytes to kilobytes. > > However whilst fixing that, I also noticed that > 849b67b2e4820564b5e5c9bd4bb293c44351c5f3 in 2016 changed the consequences > of exceeding the size from being fatal to merely a warning. > > This second change in behaviour wasn't described in the commit message, so > I'm not sure whether it was intentional. I can believe that when generating > multiple kernel image types it may not be essential that they all fit, but > I don't really know what the use case for the feature is. > > I could fix this by adding to kernel.bbclass something like: > > KERNEL_IMAGE_MAXSIZE_CONSEQUENCE ?= "warn" > > and then using it when delivering the bad news so that recipes can override > it if they wish. > > Alternatively, I could treat the error as being fatal if none of the kernel > images fit within the required size. This would degenerate to the old > behaviour automatically if KERNEL_IMAGETYPES contains only one entry. > > Does one of these solutions appeal, or is there another even better > solution? > I think default should be a warning with a possibility to be turned into an error if user wishes too. I think if you are generating multiple kernel types then you will use all of them somewhere, so I would say if the size of one of them excedes the set limit them break the build. > Thanks. > > Mike. > -- > ___ > 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 1/2] init-install: fix grub-install command
Hi Armin, This is also suitable for Rocko. Please add it to your backport queue when you can. Its in master here: http://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=0b8460e2ce9f9a4ea8de8497fbb65b91cb69b8e0 Thanks, Cal On 11/21/2017 01:47 PM, California Sullivan wrote: The grub_version variable was calling 'grub-install -v' (verbose) instead of 'grub-install -V' (version) causing unexpected failures. Fixes bug [YOCTO #12111]. Signed-off-by: California Sullivan--- meta/recipes-core/initrdscripts/files/init-install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-core/initrdscripts/files/init-install.sh b/meta/recipes-core/initrdscripts/files/init-install.sh index 572613e..1cac806 100644 --- a/meta/recipes-core/initrdscripts/files/init-install.sh +++ b/meta/recipes-core/initrdscripts/files/init-install.sh @@ -132,7 +132,7 @@ fi disk_size=$(parted ${device} unit mb print | grep '^Disk .*: .*MB' | cut -d" " -f 3 | sed -e "s/MB//") -grub_version=$(grub-install -v|sed 's/.* \([0-9]\).*/\1/') +grub_version=$(grub-install -V|sed 's/.* \([0-9]\).*/\1/') if [ $grub_version -eq 0 ] ; then bios_boot_size=0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] ✗ patchtest: failure for cross-localedef-native: Include locale_t.h (rev2)
== Series Details == Series: cross-localedef-native: Include locale_t.h (rev2) Revision: 2 URL : https://patchwork.openembedded.org/series/10101/ State : failure == Summary == Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures: * Issue Series does not apply on top of target branch [test_series_merge_on_head] Suggested fixRebase your series on top of targeted branch Targeted branch morty (currently at 4e9bb9ab2e) * Issue Upstream-Status is Inappropriate, but no reason was provided [test_upstream_status_presence_format] Suggested fixInclude a brief reason why 0001-Include-locale_t.h-compatibility-header.patch is inappropriate Current Upstream-Status: Inappropriate compatibility with newer host glibc Standard format Upstream-Status: Inappropriate [reason] If you believe any of these test results are incorrect, please reply to the mailing list (openembedded-core@lists.openembedded.org) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...). --- Guidelines: https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest Test suite: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] initramfs-module-install: Remove allarch and FILESEXTRAPATHS
Ack'd. We need this in master so it can be backported to rocko along with my patches. Thanks, Cal On 12/01/2017 01:53 PM, Martin Jansa wrote: * files is already included in default FILESPATH * it cannot inherit allarch as it RDEPENDS on bunch of TUNE_PKGARCH packages * use the same COMPATIBLE_HOST restrictions as grub has to prevent ERRORs in bitbake world ERROR: Nothing RPROVIDES 'grub' (but oe-core/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb RDEPENDS on or otherwise requires it) grub was skipped: incompatible with host arm-oe-linux-gnueabi (not in COMPATIBLE_HOST) grub was skipped: incompatible with host arm-oe-linux-gnueabi (not in COMPATIBLE_HOST) NOTE: Runtime target 'grub' is unbuildable, removing... Missing or unbuildable dependency chain was: ['grub'] ERROR: Required build target 'meta-world-pkgdata' has no buildable providers. Signed-off-by: Martin Jansa--- .../initrdscripts/initramfs-module-install-efi_1.0.bb | 3 --- meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb | 8 +--- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb index 24b53a8..1e7f76f 100644 --- a/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-module-install-efi_1.0.bb @@ -5,9 +5,6 @@ RDEPENDS_${PN} = "initramfs-framework-base parted e2fsprogs-mke2fs dosfstools ut PR = "r4" -inherit allarch - -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" SRC_URI = "file://init-install-efi.sh" S = "${WORKDIR}" diff --git a/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb b/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb index ce7f165..02b69f3 100644 --- a/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb +++ b/meta/recipes-core/initrdscripts/initramfs-module-install_1.0.bb @@ -3,11 +3,13 @@ LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" RDEPENDS_${PN} = "initramfs-framework-base grub parted e2fsprogs-mke2fs util-linux-blkid" -PR = "r1" +# The same restriction as grub +COMPATIBLE_HOST = '(x86_64.*|i.86.*|arm.*|aarch64.*)-(linux.*|freebsd.*)' +COMPATIBLE_HOST_armv7a = 'null' +COMPATIBLE_HOST_armv7ve = 'null' -inherit allarch +PR = "r1" -FILESEXTRAPATHS_prepend := "${THISDIR}/files:" SRC_URI = "file://init-install.sh" S = "${WORKDIR}" -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [morty][PATCH v2] cross-localedef-native: Include locale_t.h
Newer versions of glibc (2.26) moved the struct locale definition from xlocale.h to bits/types/locale_t.h. For compatibility with build hosts using this version of glibc, include this header. See f0be25b6336db7492e47d2e8e72eb8af53b5506d in glibc Signed-off-by: Joshua Watt--- .../glibc/cross-localedef-native_2.24.bb | 1 + ...1-Include-locale_t.h-compatibility-header.patch | 28 ++ 2 files changed, 29 insertions(+) create mode 100644 meta/recipes-core/glibc/glibc/0001-Include-locale_t.h-compatibility-header.patch diff --git a/meta/recipes-core/glibc/cross-localedef-native_2.24.bb b/meta/recipes-core/glibc/cross-localedef-native_2.24.bb index d4cccedb43a..4a77eee2c9b 100644 --- a/meta/recipes-core/glibc/cross-localedef-native_2.24.bb +++ b/meta/recipes-core/glibc/cross-localedef-native_2.24.bb @@ -36,6 +36,7 @@ SRC_URI = "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \ file://0023-eglibc-Install-PIC-archives.patch \ file://0024-eglibc-Forward-port-cross-locale-generation-support.patch \ file://0025-Define-DUMMY_LOCALE_T-if-not-defined.patch \ + file://0001-Include-locale_t.h-compatibility-header.patch \ " # Makes for a rather long rev (22 characters), but... # diff --git a/meta/recipes-core/glibc/glibc/0001-Include-locale_t.h-compatibility-header.patch b/meta/recipes-core/glibc/glibc/0001-Include-locale_t.h-compatibility-header.patch new file mode 100644 index 000..af8a5d61608 --- /dev/null +++ b/meta/recipes-core/glibc/glibc/0001-Include-locale_t.h-compatibility-header.patch @@ -0,0 +1,28 @@ +From abfeb0cf4e3261a66a7a23abc9aed33c034c850d Mon Sep 17 00:00:00 2001 +From: Joshua Watt +Date: Wed, 6 Dec 2017 13:26:19 -0600 +Subject: [PATCH] Include locale_t.h compatibility header + +Newer versions of glibc (since 2.26) moved the locale typedefs from +xlocale.h to bits/types/locale_t.h. Create a compatibility header for +these newer versions of glibc + +See f0be25b6336db7492e47d2e8e72eb8af53b5506d in glibc + +Upstream-Status: Inappropriate compatibility with newer host glibc +Signed-off-by: Joshua Watt +--- + locale/bits/types/locale_t.h | 1 + + 1 file changed, 1 insertion(+) + create mode 100644 locale/bits/types/locale_t.h + +diff --git a/locale/bits/types/locale_t.h b/locale/bits/types/locale_t.h +new file mode 100644 +index 00..b519a6c5f8 +--- /dev/null b/locale/bits/types/locale_t.h +@@ -0,0 +1 @@ ++#include +-- +2.14.3 + -- 2.14.3 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v2] waf.bbclass: Add compile progress
Signed-off-by: Joshua Watt--- meta/classes/waf.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/classes/waf.bbclass b/meta/classes/waf.bbclass index c4698e910a4..e2ec542e49a 100644 --- a/meta/classes/waf.bbclass +++ b/meta/classes/waf.bbclass @@ -29,6 +29,7 @@ waf_do_configure() { ${S}/waf configure --prefix=${prefix} ${EXTRA_OECONF} } +do_compile[progress] = "outof:^\[\s*(\d+)/\s*(\d+)\]\s+" waf_do_compile() { ${S}/waf build ${@get_waf_parallel_make(d)} } -- 2.14.3 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH] waf.bbclass: Add compile progress
On Thu, 2017-12-07 at 10:51 -0600, Joshua Watt wrote: > Signed-off-by: Joshua Watt> --- > meta/classes/waf.bbclass | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/meta/classes/waf.bbclass b/meta/classes/waf.bbclass > index c4698e910a4..f7d95fa050b 100644 > --- a/meta/classes/waf.bbclass > +++ b/meta/classes/waf.bbclass > @@ -25,6 +25,7 @@ def get_waf_parallel_make(d): > > return "" > > +do_compile[progress] = "outof:^\[\s*(\d+)/\s*(\d+)\]\s+" > waf_do_configure() { Argh... should be above waf_do_compile... need to proof read better. > ${S}/waf configure --prefix=${prefix} ${EXTRA_OECONF} > } -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] waf.bbclass: Add compile progress
Signed-off-by: Joshua Watt--- meta/classes/waf.bbclass | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/classes/waf.bbclass b/meta/classes/waf.bbclass index c4698e910a4..f7d95fa050b 100644 --- a/meta/classes/waf.bbclass +++ b/meta/classes/waf.bbclass @@ -25,6 +25,7 @@ def get_waf_parallel_make(d): return "" +do_compile[progress] = "outof:^\[\s*(\d+)/\s*(\d+)\]\s+" waf_do_configure() { ${S}/waf configure --prefix=${prefix} ${EXTRA_OECONF} } -- 2.14.3 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] kernel.bbclass do_sizecheck behaviour changes
I discovered today that our kernel size check has been ineffective since we took 7384d2831c713ac5999aca83c312154dc15cec56 from 2014 which changed the units for KERNEL_IMAGE_MAXSIZE from bytes to kilobytes. However whilst fixing that, I also noticed that 849b67b2e4820564b5e5c9bd4bb293c44351c5f3 in 2016 changed the consequences of exceeding the size from being fatal to merely a warning. This second change in behaviour wasn't described in the commit message, so I'm not sure whether it was intentional. I can believe that when generating multiple kernel image types it may not be essential that they all fit, but I don't really know what the use case for the feature is. I could fix this by adding to kernel.bbclass something like: KERNEL_IMAGE_MAXSIZE_CONSEQUENCE ?= "warn" and then using it when delivering the bad news so that recipes can override it if they wish. Alternatively, I could treat the error as being fatal if none of the kernel images fit within the required size. This would degenerate to the old behaviour automatically if KERNEL_IMAGETYPES contains only one entry. Does one of these solutions appeal, or is there another even better solution? Thanks. Mike. -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] Revert "eudev: sync rules with systemd"
This is breaking input in qemu (and maybe more). This reverts commit 915b99bb8faa29ce3d35c0d6a1e96fa9bcc5c6f1. [ YOCTO #12403 ] Signed-off-by: Ross Burton--- .../eudev/0001-rules-whitelist-hd-devices.patch| 33 .../udev/eudev/0002-rules-update.patch | 196 - ...les-watch-metadata-changes-in-ide-devices.patch | 43 - meta/recipes-core/udev/eudev_3.2.2.bb | 3 - 4 files changed, 275 deletions(-) delete mode 100644 meta/recipes-core/udev/eudev/0001-rules-whitelist-hd-devices.patch delete mode 100644 meta/recipes-core/udev/eudev/0002-rules-update.patch delete mode 100644 meta/recipes-core/udev/eudev/0003-rules-watch-metadata-changes-in-ide-devices.patch diff --git a/meta/recipes-core/udev/eudev/0001-rules-whitelist-hd-devices.patch b/meta/recipes-core/udev/eudev/0001-rules-whitelist-hd-devices.patch deleted file mode 100644 index 1cc4332e850..000 --- a/meta/recipes-core/udev/eudev/0001-rules-whitelist-hd-devices.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 676864191d1855ce23a31026b74c7f64b15e5062 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Wed, 9 Nov 2016 19:41:13 -0800 -Subject: [PATCH 1/3] rules: whitelist hd* devices - -qemu by default emulates IDE and the linux-yocto kernel(s) use -CONFIG_IDE instead of the more modern libsata, so disks appear as -/dev/hd*. Patch rejected upstream because CONFIG_IDE is deprecated. - -Upstream-Status: Denied [https://github.com/systemd/systemd/pull/1276] - -Signed-off-by: Patrick Ohly -Signed-off-by: Khem Raj - rules/60-persistent-storage.rules | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/rules/60-persistent-storage.rules b/rules/60-persistent-storage.rules -index 6f60ae9..bcd573a 100644 a/rules/60-persistent-storage.rules -+++ b/rules/60-persistent-storage.rules -@@ -7,7 +7,7 @@ ACTION=="remove", GOTO="persistent_storage_end" - ENV{UDEV_DISABLE_PERSISTENT_STORAGE_RULES_FLAG}=="1", GOTO="persistent_storage_end" - - SUBSYSTEM!="block", GOTO="persistent_storage_end" --KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|scm*|pmem*|nbd*", GOTO="persistent_storage_end" -+KERNEL!="loop*|mmcblk*[0-9]|msblk*[0-9]|mspblk*[0-9]|nvme*|sd*|sr*|vd*|xvd*|bcache*|cciss*|dasd*|ubd*|scm*|pmem*|nbd*|hd*", GOTO="persistent_storage_end" - - # ignore partitions that span the entire disk - TEST=="whole_disk", GOTO="persistent_storage_end" --- -1.8.3.1 - diff --git a/meta/recipes-core/udev/eudev/0002-rules-update.patch b/meta/recipes-core/udev/eudev/0002-rules-update.patch deleted file mode 100644 index 7cc4d06d731..000 --- a/meta/recipes-core/udev/eudev/0002-rules-update.patch +++ /dev/null @@ -1,196 +0,0 @@ -From d29a20381bc6bd85e86bdc5b2adb48fa12ccd22a Mon Sep 17 00:00:00 2001 -From: "Anthony G. Basile" -Date: Sun, 3 Sep 2017 13:20:33 -0400 -Subject: [PATCH 2/3] rules: update - -Upstream-Status: Backport [https://github.com/gentoo/eudev/commit/47367bc4df6f05a49cf4b5b0209153d77a9ade83] - -Signed-off-by: Anthony G. Basile - rules/50-udev-default.rules | 3 ++- - rules/60-block.rules | 5 + - rules/60-cdrom_id.rules | 6 +- - rules/60-drm.rules| 5 + - rules/60-evdev.rules | 6 +- - rules/60-persistent-input.rules | 2 ++ - rules/60-persistent-storage.rules | 11 +++ - rules/60-sensor.rules | 8 - rules/78-sound-card.rules | 7 +++ - 9 files changed, 42 insertions(+), 11 deletions(-) - -diff --git a/rules/50-udev-default.rules b/rules/50-udev-default.rules -index e9eeb85..87438c0 100644 a/rules/50-udev-default.rules -+++ b/rules/50-udev-default.rules -@@ -11,7 +11,6 @@ SUBSYSTEM=="rtc", ATTR{hctosys}=="1", SYMLINK+="rtc" - SUBSYSTEM=="rtc", KERNEL=="rtc0", SYMLINK+="rtc", OPTIONS+="link_priority=-100" - - SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb" --SUBSYSTEM=="input", ENV{ID_INPUT}=="", IMPORT{builtin}="input_id" - ENV{MODALIAS}!="", IMPORT{builtin}="hwdb --subsystem=$env{SUBSYSTEM}" - - ACTION!="add", GOTO="default_end" -@@ -34,6 +33,8 @@ SUBSYSTEM=="video4linux", GROUP="video" - SUBSYSTEM=="graphics", GROUP="video" - SUBSYSTEM=="drm", GROUP="video" - SUBSYSTEM=="dvb", GROUP="video" -+SUBSYSTEM=="media", GROUP="video" -+SUBSYSTEM=="cec", GROUP="video" - - SUBSYSTEM=="sound", GROUP="audio", \ - OPTIONS+="static_node=snd/seq", OPTIONS+="static_node=snd/timer" -diff --git a/rules/60-block.rules b/rules/60-block.rules -index 5e38e12..343fc06 100644 a/rules/60-block.rules -+++ b/rules/60-block.rules -@@ -8,7 +8,4 @@ ACTION=="add", SUBSYSTEM=="module", KERNEL=="block", ATTR{parameters/events_dfl_ - ACTION=="change", SUBSYSTEM=="scsi", ENV{DEVTYPE}=="scsi_device", TEST=="block",
Re: [OE-core] [PATCH 1/9] meson: add a recipe and class from meta-oe
> -Original Message- > From: openembedded-core-boun...@lists.openembedded.org > [mailto:openembedded-core-boun...@lists.openembedded.org] On Behalf Of > Alexander Kanavin > Sent: den 17 november 2017 13:03 > To: openembedded-core@lists.openembedded.org > Subject: [OE-core] [PATCH 1/9] meson: add a recipe and class from meta-oe > > The original recipe has been provided and improved by: > > Ross Burton> Ricardo Ribalda Delgado > Adam C. Foltzer > Peter Kjellerstedt > Linus Svensson > > I have added patches to fix up gtk-doc and > gobject-introspection in cross-compilation environments, > and also change the order of linker arguments to replicate > autotools more closely (and fix linking errors in some corner > cases). > > Signed-off-by: Alexander Kanavin > --- > meta/classes/meson.bbclass | 107 +++ > ...s-move-cross_args-in-front-of-output_args.patch | 30 ++ > ...ix-issues-that-arise-when-cross-compiling.patch | 113 > + > ...rospection-determine-g-ir-scanner-and-g-i.patch | 41 > meta/recipes-devtools/meson/meson_0.43.0.bb| 20 > 5 files changed, 311 insertions(+) > create mode 100644 meta/classes/meson.bbclass > create mode 100644 > meta/recipes-devtools/meson/meson/0001-Linker-rules-move-cross_args-in-front-of-output_args.patch > create mode 100644 > meta/recipes-devtools/meson/meson/0001-gtkdoc-fix-issues-that-arise-when-cross-compiling.patch > create mode 100644 > meta/recipes-devtools/meson/meson/0002-gobject-introspection-determine-g-ir-scanner-and-g-i.patch > create mode 100644 meta/recipes-devtools/meson/meson_0.43.0.bb > > diff --git a/meta/classes/meson.bbclass b/meta/classes/meson.bbclass > new file mode 100644 > index 000..64553cd8f3d > --- /dev/null > +++ b/meta/classes/meson.bbclass > @@ -0,0 +1,107 @@ > +inherit python3native > + > +DEPENDS_append = " meson-native ninja-native" > + > +# As Meson enforces out-of-tree builds we can just use cleandirs > +B = "${WORKDIR}/build" > +do_configure[cleandirs] = "${B}" > + > +# Where the meson.build build configuration is > +MESON_SOURCEPATH = "${S}" > + > +# These variables in the environment override meson's *native* tools > settings. > +# We have to unset them, so that meson doesn't pick up the cross tools and > +# use them for native builds. > +unset CC > +unset CXX > +unset AR > + > +def noprefix(var, d): > +return d.getVar(var, True).replace(d.getVar('prefix', True) + '/', '', 1) Remove the True argument to d.getVar(). > + > +MESONOPTS = " --prefix ${prefix} \ > + --bindir ${@noprefix('bindir', d)} \ > + --sbindir ${@noprefix('sbindir', d)} \ > + --datadir ${@noprefix('datadir', d)} \ > + --libdir ${@noprefix('libdir', d)} \ > + --libexecdir ${@noprefix('libexecdir', d)} \ > + --includedir ${@noprefix('includedir', d)} \ > + --mandir ${@noprefix('mandir', d)} \ > + --infodir ${@noprefix('infodir', d)} \ > + --sysconfdir ${sysconfdir} \ > + --localstatedir ${localstatedir} \ > + --sharedstatedir ${sharedstatedir}" > + > +MESON_C_ARGS = "${TARGET_CC_ARCH}${TOOLCHAIN_OPTIONS}" > +MESON_LINK_ARGS = "${MESON_C_ARGS} ${LDFLAGS}" > + > +MESON_HOST_ENDIAN = "${@bb.utils.contains('SITEINFO_ENDIANNESS', 'be','big', > 'little', d)}" > +MESON_TARGET_ENDIAN = "${@bb.utils.contains('TUNE_FEATURES', 'bigendian', > 'big', 'little', d)}" > + > +EXTRA_OEMESON += "${PACKAGECONFIG_CONFARGS}" > + > +MESON_CROSS_FILE = "" > +MESON_CROSS_FILE_class-target = "--cross-file ${WORKDIR}/meson.cross" > + > +def meson_array(var, d): > +return "', '".join(d.getVar(var, True).split()).join(("'", "'")) Remove True here as well. //Peter -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [rocko] Re: [PATCH 0/1] features_backfill: fix for multilib
Armin, assuming there are no concerns raised in review and this is integrated into master, we'd like to get this backported to Rocko as well. (I believe the patch can be applied as-is.) Thanks! --Mark On 12/6/17 8:33 PM, jackie.hu...@windriver.com wrote: > From: Jackie Huang> > Tested with: > > 1) local.conf: > MACHINE = "qemumips64" > MULTILIB_GLOBAL_VARIANTS_append = " libn32" > MULTILIBS = "multilib:libn32" > DEFAULTTUNE_virtclass-multilib-libn32 ?= "mips64-n32" > require conf/multilib.conf > > 2) run bitbake -e to check the features: > > $ bitbake -e libn32-gobject-introspection | grep '^MACHINE_FEATURES' > > (before the fix) > MACHINE_FEATURES="alsa bluetooth usbgadget screen rtc qemu-usermode" > MACHINE_FEATURES_BACKFILL="rtc qemu-usermode" > MACHINE_FEATURES_BACKFILL_CONSIDERED=" qemu-usermode" > > (after the fix) > MACHINE_FEATURES="alsa bluetooth usbgadget screen rtc" > MACHINE_FEATURES_BACKFILL="rtc qemu-usermode" > MACHINE_FEATURES_BACKFILL_CONSIDERED=" qemu-usermode" > MACHINE_FEATURES_ORIGINAL="alsa bluetooth usbgadget screen" > > 3) world build: > > $ bitbake world > > builds without error. > > > -- > The following changes since commit 4469acdf1d0338220f3fe2ecb5e079eea6fda375: > > lib/oe/utils: remove param_bool() (2017-12-02 11:25:34 +) > > are available in the git repository at: > > git://git.pokylinux.org/poky-contrib.git > jhuang0/d_backfill_multilib_171207_0 > > http://git.pokylinux.org/cgit.cgi//log/?h=jhuang0/d_backfill_multilib_171207_0 > > Jackie Huang (1): > features_backfill: fix for multilib > > meta/classes/multilib.bbclass | 4 > meta/lib/oe/utils.py | 9 +++-- > 2 files changed, 11 insertions(+), 2 deletions(-) > -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] sstate.bbclass: Add progress bars when removing from the sysroots
If there are many recipes that should be cleaned out from the sysroots, it can actually take some time. This adds a progress bar to give a visual clue that the clean up is actually progressing. Signed-off-by: Peter Kjellerstedt--- meta/classes/sstate.bbclass | 36 ++-- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index e30fbe1280..6e41b56861 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass @@ -845,7 +845,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False): missed.append(task) bb.debug(2, "SState: Unsuccessful fetch test for %s" % srcuri) pass -bb.event.fire(bb.event.ProcessProgress("Checking sstate mirror object availability", len(tasklist) - thread_worker.tasks.qsize()), d) +bb.event.fire(bb.event.ProcessProgress(msg, len(tasklist) - thread_worker.tasks.qsize()), d) tasklist = [] for task in range(len(sq_fn)): @@ -856,7 +856,8 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False): tasklist.append((task, sstatefile)) if tasklist: -bb.event.fire(bb.event.ProcessStarted("Checking sstate mirror object availability", len(tasklist)), d) +msg = "Checking sstate mirror object availability" +bb.event.fire(bb.event.ProcessStarted(msg, len(tasklist)), d) import multiprocessing nproc = min(multiprocessing.cpu_count(), len(tasklist)) @@ -870,7 +871,7 @@ def sstate_checkhashes(sq_fn, sq_task, sq_hash, sq_hashfn, d, siginfo=False): pool.wait_completion() bb.event.disable_threadlock() -bb.event.fire(bb.event.ProcessFinished("Checking sstate mirror object availability"), d) +bb.event.fire(bb.event.ProcessFinished(msg), d) inheritlist = d.getVar("INHERIT") if "toaster" in inheritlist: @@ -1038,18 +1039,25 @@ python sstate_eventhandler2() { seen.append(stamp) if toremove: -bb.note("There are %d recipes to be removed from sysroot %s, removing..." % (len(toremove), a)) +msg = "Removing %d recipes from the %s sysroot" % (len(toremove), a) +bb.event.fire(bb.event.ProcessStarted(msg, len(toremove)), d) + +removed = 0 +for r in toremove: +(stamp, manifest, workdir) = r.split() +for m in glob.glob(manifest + ".*"): +if m.endswith(".postrm"): +continue +sstate_clean_manifest(m, d) +bb.utils.remove(stamp + "*") +if removeworkdir: +bb.utils.remove(workdir, recurse = True) +lines.remove(r) +removed = removed + 1 +bb.event.fire(bb.event.ProcessProgress(msg, removed), d) + +bb.event.fire(bb.event.ProcessFinished(msg), d) -for r in toremove: -(stamp, manifest, workdir) = r.split() -for m in glob.glob(manifest + ".*"): -if m.endswith(".postrm"): -continue -sstate_clean_manifest(m, d) -bb.utils.remove(stamp + "*") -if removeworkdir: -bb.utils.remove(workdir, recurse = True) -lines.remove(r) with open(i, "w") as f: for l in lines: f.write(l) -- 2.12.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH] i2c-tools: upgrade to 4.0
Update the SRC_URI to point to kernel.org location where i2c-tools is hosted these days. Remove Modules.mk since it was used for deprecated binaries (eepromer, eeprom) Signed-off-by: Maxin B. John--- meta/recipes-devtools/i2c-tools/files/Module.mk| 72 -- .../{i2c-tools_3.1.2.bb => i2c-tools_4.0.bb} | 14 ++--- 2 files changed, 5 insertions(+), 81 deletions(-) delete mode 100644 meta/recipes-devtools/i2c-tools/files/Module.mk rename meta/recipes-devtools/i2c-tools/{i2c-tools_3.1.2.bb => i2c-tools_4.0.bb} (64%) diff --git a/meta/recipes-devtools/i2c-tools/files/Module.mk b/meta/recipes-devtools/i2c-tools/files/Module.mk deleted file mode 100644 index fcaf72f..000 --- a/meta/recipes-devtools/i2c-tools/files/Module.mk +++ /dev/null @@ -1,72 +0,0 @@ -# EEPROMER -# -# Licensed under the GNU General Public License. - -EEPROMER_DIR := eepromer - -EEPROMER_CFLAGS:= -Wstrict-prototypes -Wshadow -Wpointer-arith -Wcast-qual \ - -Wcast-align -Wwrite-strings -Wnested-externs -Winline \ - -W -Wundef -Wmissing-prototypes -Iinclude - -EEPROMER_TARGETS := eepromer eeprom eeprog - -# -# Programs -# - -$(EEPROMER_DIR)/eepromer: $(EEPROMER_DIR)/eepromer.o - $(CC) $(LDFLAGS) -o $@ $^ - -$(EEPROMER_DIR)/eeprom: $(EEPROMER_DIR)/eeprom.o - $(CC) $(LDFLAGS) -o $@ $^ - -$(EEPROMER_DIR)/eeprog: $(EEPROMER_DIR)/eeprog.o $(EEPROMER_DIR)/24cXX.o - $(CC) $(LDFLAGS) -o $@ $^ - -# -# Objects -# - -$(EEPROMER_DIR)/eepromer.o: $(EEPROMER_DIR)/eepromer.c - $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@ - -$(EEPROMER_DIR)/eeprom.o: $(EEPROMER_DIR)/eeprom.c - $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@ - -$(EEPROMER_DIR)/eeprog.o: $(EEPROMER_DIR)/eeprog.c - $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@ - -$(EEPROMER_DIR)/24cXX.o: $(EEPROMER_DIR)/24cXX.c - $(CC) $(CFLAGS) $(EEPROMER_CFLAGS) -c $< -o $@ - -# -# Commands -# - -all-eepromer: $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS)) - -strip-eepromer: $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS)) - strip $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS)) - -clean-eepromer: - $(RM) $(addprefix $(EEPROMER_DIR)/,*.o $(EEPROMER_TARGETS)) - -install-eepromer: $(addprefix $(EEPROMER_DIR)/,$(EEPROMER_TARGETS)) - $(INSTALL_DIR) $(DESTDIR)$(sbindir) $(DESTDIR)$(man8dir) - for program in $(EEPROMER_TARGETS) ; do \ - $(INSTALL_PROGRAM) $(EEPROMER_DIR)/$$program $(DESTDIR)$(sbindir) ; done - -uninstall-eepromer: - for program in $(EEPROMER_TARGETS) ; do \ - $(RM) $(DESTDIR)$(sbindir)/$$program ; \ - $(RM) $(DESTDIR)$(man8dir)/$$program.8 ; done - -all: all-eepromer - -strip: strip-eepromer - -clean: clean-eepromer - -install: install-eepromer - -uninstall: uninstall-eepromer diff --git a/meta/recipes-devtools/i2c-tools/i2c-tools_3.1.2.bb b/meta/recipes-devtools/i2c-tools/i2c-tools_4.0.bb similarity index 64% rename from meta/recipes-devtools/i2c-tools/i2c-tools_3.1.2.bb rename to meta/recipes-devtools/i2c-tools/i2c-tools_4.0.bb index 45d3d6d..12d718b 100644 --- a/meta/recipes-devtools/i2c-tools/i2c-tools_3.1.2.bb +++ b/meta/recipes-devtools/i2c-tools/i2c-tools_4.0.bb @@ -4,20 +4,16 @@ SECTION = "base" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" -SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/${BP}.tar.bz2 \ - file://Module.mk \ -" -UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/i/i2c-tools/" -UPSTREAM_CHECK_REGEX = "i2c-tools_(?P.+)\.orig" -SRC_URI[md5sum] = "7104a1043d11a5e2c7b131614eb1b962" -SRC_URI[sha256sum] = "db5e69f2e2a6e3aa2ecdfe6a5f490b149c504468770f58921c8c5b8a7860a441" +SRC_URI = "${KERNELORG_MIRROR}/software/utils/i2c-tools/${BP}.tar.gz" + +SRC_URI[md5sum] = "d92a288d70f306d3895e3a7e9c14c9aa" +SRC_URI[sha256sum] = "5b60daf6f011de0acb61de57dba62f2054bb39f19961d67e0c91610f071ca403" inherit autotools-brokensep do_compile_prepend() { -cp ${WORKDIR}/Module.mk ${S}/eepromer/ sed -i 's#/usr/local#/usr#' ${S}/Makefile -echo "include eepromer/Module.mk" >> ${S}/Makefile +echo "include eeprog/Module.mk" >> ${S}/Makefile } do_install_append() { -- 2.4.0 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [rocko] Go fixups
On Wed, 2017-12-06 at 09:28 -0200, Otavio Salvador wrote: > Hello Armin, > > There was one patch which was mistakenly forgotten on rocko-next, and > ended being merged. It ended being reworked in master and I did the > needed backports/revert in our repo[1]. > > 1. https://github.com/OSSystems/oe-core/compare/rocko...rocko-next > > Please consider applying those soon as rocko is currently with a > broken Go toolchain. Thanks for this Otavio, it was much appreciated and I've merged it. Cheers, Richard -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Re: [OE-core] [PATCH 8/8] linux-yocto-dev: update to v4.15+
On Wed, Dec 6, 2017 at 11:28 AM, Burton, Rosswrote: > The amended commit has mismatching commit log and patch (target elfutils > is in the commit log but not the patch), and doesn't mention installing > target elfutils if they want it. > I fixed up the commit log on that patch to match the actual code. As it turns out, I don't see the need to install target elfutils anymore, so I didn't include anything about that in the log. We still have some lttng build issues with the -dev kernel (due to objtool being required and the openssl headers required for making the scripts), and those are being worked on separately. Having this updated linux-yocto-dev recipe in the tree gets the kernel building and booting and enables us to work through the other issues more quickly (not to meention, I've already pushed 4.15-rc2 to the actual kernel tree, so you get that from a build regardless). Cheers, Bruc > > Ross > > On 4 December 2017 at 17:43, Bruce Ashfield > wrote: > >> On 2017-12-04 12:39 PM, Richard Purdie wrote: >> >>> On Mon, 2017-12-04 at 12:24 -0500, Bruce Ashfield wrote: >>> On 2017-12-04 11:38 AM, Khem Raj wrote: > > On Mon, Dec 4, 2017 at 7:39 AM, Bruce Ashfield > wrote: > >> >> Outside of the normal patch refreshes and boot issues, there are >> new >> build time tools within the kernel that required the following >> dependencies: >> >> For ORC_UNWINDER support in x86-64: >> >>DEPENDS += "${@bb.utils.contains('ARCH', 'x86', 'elfutils- >> native elfutils', '', d)}" >> > do we need both target and host elfutils > Yup. There were references to both. Some had to run for hostcc and others in the target arch. >>> >>> Just for reference this is pretty bad for performance as it delays the >>> kernel compile until some substantial parts of userspace build. >>> >>> >> On a second look, I can likely turn off the target part, if someone >> wants it, they can always install the package (or it could be a >> rdepends). >> >> I'll amend the commit and leave it on that branch with just the >> DEPENDS on the -native version. >> >> Is ORC_UNWINDER useful and commonly used? >>> >> >> The upstream kernel commit turned it on by default, I turned it off in >> the kernel-cache, but I wanted to make sure the dependency was >> in place. >> >> The commit series from Josh Poimboeuf all lead to it being on as >> the default choice (even with a slight overhead). >> >> Bruce >> >> >> >>> Cheers, >>> >>> Richard >>> >>> >> -- >> ___ >> 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 > > -- "Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end" -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v2 0/1] oe-selftest: devtool: fix test for changes in lzo recipe
A fix for one of the devtool oe-selftest tests to handle Ross's lzo acinclude.m4 fix. Changes since v1: * Some uncommitted changes to the test recipe got wiped out by the bit at the end of the test that resets the test changes, hence the checksums were missing from the recipe - add the missing stuff back n. * Add a check to ensure there's no uncommitted changes before proceeding with the test (as per other tests that have this resetting) The following changes since commit a7cd9d1183be603777fc9c8c448281fe01224f7b: lib/oe/utils: remove param_bool() (2017-12-02 11:24:38 +) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib paule/devtool-selftest-fix http://cgit.openembedded.org/openembedded-core-contrib/log/?h=paule/devtool-selftest-fix Paul Eggleton (1): oe-selftest: devtool: fix test for changes in lzo recipe .../recipes-test/devtool/devtool-test-local/file1| 1 + .../recipes-test/devtool/devtool-test-local/file2| 1 + .../recipes-test/devtool/devtool-test-local_6.03.bb | 15 +++ meta/lib/oeqa/selftest/cases/devtool.py | 16 ++-- 4 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 meta-selftest/recipes-test/devtool/devtool-test-local/file1 create mode 100644 meta-selftest/recipes-test/devtool/devtool-test-local/file2 create mode 100644 meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb -- 2.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH v2 1/1] oe-selftest: devtool: fix test for changes in lzo recipe
acinclude.m4 is about to be removed from the lzo recipe which breaks test_devtool_update_recipe_local_files_2. Create a synthetic recipe in meta-selftest with some local files and use that instead. Signed-off-by: Paul Eggleton--- .../recipes-test/devtool/devtool-test-local/file1| 1 + .../recipes-test/devtool/devtool-test-local/file2| 1 + .../recipes-test/devtool/devtool-test-local_6.03.bb | 15 +++ meta/lib/oeqa/selftest/cases/devtool.py | 16 ++-- 4 files changed, 27 insertions(+), 6 deletions(-) create mode 100644 meta-selftest/recipes-test/devtool/devtool-test-local/file1 create mode 100644 meta-selftest/recipes-test/devtool/devtool-test-local/file2 create mode 100644 meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb diff --git a/meta-selftest/recipes-test/devtool/devtool-test-local/file1 b/meta-selftest/recipes-test/devtool/devtool-test-local/file1 new file mode 100644 index 000..f4bdcfc --- /dev/null +++ b/meta-selftest/recipes-test/devtool/devtool-test-local/file1 @@ -0,0 +1 @@ +The first file diff --git a/meta-selftest/recipes-test/devtool/devtool-test-local/file2 b/meta-selftest/recipes-test/devtool/devtool-test-local/file2 new file mode 100644 index 000..a7e2414 --- /dev/null +++ b/meta-selftest/recipes-test/devtool/devtool-test-local/file2 @@ -0,0 +1 @@ +The second file diff --git a/meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb b/meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb new file mode 100644 index 000..6bfc557 --- /dev/null +++ b/meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb @@ -0,0 +1,15 @@ +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" + +INHIBIT_DEFAULT_DEPS = "1" + +SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/syslinux-${PV}.tar.xz \ + file://file1 \ + file://file2" + +SRC_URI[md5sum] = "92a253df9211e9c20172796ecf388f13" +SRC_URI[sha256sum] = "26d3986d2bea109d5dc0e4f8c4822a459276cf021125e8c9f23c3cca5d8c850e" + +S = "${WORKDIR}/syslinux-${PV}" + +EXCLUDE_FROM_WORLD = "1" diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index 43280cd..8a1e685 100644 --- a/meta/lib/oeqa/selftest/cases/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py @@ -987,8 +987,12 @@ class DevtoolTests(DevtoolBase): @OETestID(1371) def test_devtool_update_recipe_local_files_2(self): """Check local source files support when oe-local-files is in Git""" -testrecipe = 'lzo' +testrecipe = 'devtool-test-local' recipefile = get_bb_var('FILE', testrecipe) +recipedir = os.path.dirname(recipefile) +result = runCmd('git status --porcelain .', cwd=recipedir) +if result.output.strip(): +self.fail('Recipe directory for %s contains uncommitted changes' % testrecipe) # Setup srctree for modifying the recipe tempdir = tempfile.mkdtemp(prefix='devtoolqa') self.track_for_cleanup(tempdir) @@ -1002,9 +1006,9 @@ class DevtoolTests(DevtoolBase): runCmd('git add oe-local-files', cwd=tempdir) runCmd('git commit -m "Add local sources"', cwd=tempdir) # Edit / commit local sources -runCmd('echo "# Foobar" >> oe-local-files/acinclude.m4', cwd=tempdir) +runCmd('echo "# Foobar" >> oe-local-files/file1', cwd=tempdir) runCmd('git commit -am "Edit existing file"', cwd=tempdir) -runCmd('git rm oe-local-files/run-ptest', cwd=tempdir) +runCmd('git rm oe-local-files/file2', cwd=tempdir) runCmd('git commit -m"Remove file"', cwd=tempdir) runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) runCmd('git add oe-local-files/new-local', cwd=tempdir) @@ -1016,11 +1020,11 @@ class DevtoolTests(DevtoolBase): os.path.dirname(recipefile)) # Checkout unmodified file to working copy -> devtool should still pick # the modified version from HEAD -runCmd('git checkout HEAD^ -- oe-local-files/acinclude.m4', cwd=tempdir) +runCmd('git checkout HEAD^ -- oe-local-files/file1', cwd=tempdir) runCmd('devtool update-recipe %s' % testrecipe) expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), - (' M', '.*/acinclude.m4$'), - (' D', '.*/run-ptest$'), + (' M', '.*/file1$'), + (' D', '.*/file2$'), ('??', '.*/new-local$'), ('??', '.*/0001-Add-new-file.patch$')] self._check_repo_status(os.path.dirname(recipefile), expected_status) -- 2.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org
[OE-core] [PATCH] conf/machine/include/microblaze: Add MicroBlaze architecture includes
Add architecture and tune includes for MicroBlaze. This covers architecture configuration as well as tune configuration and features. The Xilinx MicroBlaze architecture is a soft-core CPU architecture designed for implementation on Xilinx FPGAs. Because the CPU is a soft-core it can be configured differently depending on resource and performance constraints which affect the ABI and supported instructions. The architecture is also used in other Xilinx products where the core is implemented as part of fixed silicon (e.g. Xilinx ZynqMP). The default tune include 'tune-microblaze.inc' provides the baseline (no features enabled) tune configuration for a target machine. This is similar to other architectures such that the machine.conf includes a tune-*.inc. However due to the customizability configuration is specifically handled on a per machine basis. A machine should configure the available tune features by setting the available features directly by appending to the 'TUNE_FEATURES_tune-microblaze' variable. This tune configuration approach is preferred to avoid the definition of an otherwise large set of possible tune configurations for the available features (14 CPU versions and 11 feature configurations), which would otherwise require >1024 predefined tune configurations. Signed-off-by: Nathan Rossi--- .../machine/include/microblaze/arch-microblaze.inc | 53 + .../include/microblaze/feature-microblaze-math.inc | 33 +++ .../microblaze/feature-microblaze-versions.inc | 67 ++ meta/conf/machine/include/tune-microblaze.inc | 8 +++ 4 files changed, 161 insertions(+) create mode 100644 meta/conf/machine/include/microblaze/arch-microblaze.inc create mode 100644 meta/conf/machine/include/microblaze/feature-microblaze-math.inc create mode 100644 meta/conf/machine/include/microblaze/feature-microblaze-versions.inc create mode 100644 meta/conf/machine/include/tune-microblaze.inc diff --git a/meta/conf/machine/include/microblaze/arch-microblaze.inc b/meta/conf/machine/include/microblaze/arch-microblaze.inc new file mode 100644 index 00..eab7171cb2 --- /dev/null +++ b/meta/conf/machine/include/microblaze/arch-microblaze.inc @@ -0,0 +1,53 @@ +# MicroBlaze architecture tune feature configuration + +# Architecture feature and override +TUNEVALID[microblaze] = "MicroBlaze" +MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "microblaze", "microblaze:", "", d)}" + +# Endian +TUNEVALID[bigendian] = "Use Microblaze Big Endian" +TUNECONFLICTS[bigendian] += "v10.0" + +MBPKGARCH_ENDIAN = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "eb", "el", d)}" + +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "-mbig-endian", "-mlittle-endian", d)}" + +# General features +TUNEVALID[barrel-shift] = "Enable Hardware Barrel Shifter" +TUNEVALID[pattern-compare] = "Enable Pattern Compare Instructions" +TUNEVALID[reorder] = "Enable Reorder Instructions" +TUNECONFLICTS[reorder] += "v8.00 v8.10 v8.20" + +# Core configuration tune optimizations +TUNEVALID[frequency-optimized] = "Enabling tuning for frequency optimized core (AREA_OPTIMIZED_2)" +TUNECONFLICTS[frequency-optimized] += "v8.00 v8.10 v8.20 v8.30 v8.40 v8.50 v9.0 v9.1 v9.2 v9.3 v9.4 v9.5 v9.6" + +# Feature compiler args +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "barrel-shift", "-mxl-barrel-shift", "-mno-xl-barrel-shift", d)}" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "pattern-compare", "-mxl-pattern-compare", "-mno-xl-pattern-compare", d)}" +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "frequency-optimized", "-mxl-frequency", "", d)}" + +# Disable reorder for v8.30 if pattern-compare is not enabled +TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "reorder", \ +bb.utils.contains("TUNE_FEATURES", "v8.30", \ +bb.utils.contains("TUNE_FEATURES", "pattern-compare", \ +"-mxl-reorder", "-mno-xl-reorder", d), \ +"-mxl-reorder", d), "-mno-xl-reorder", d)}" + +# Feature package architecture formatting +MBPKGARCH_TUNE = "" +MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "barrel-shift", "-bs", "", d)}" +MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "pattern-compare", "-cmp", "", d)}" +MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "reorder", "-re", "", d)}" +MBPKGARCH_TUNE .= "${@bb.utils.contains("TUNE_FEATURES", "frequency-optimized", "-fo", "", d)}" + +# Additional features +require conf/machine/include/microblaze/feature-microblaze-versions.inc +require conf/machine/include/microblaze/feature-microblaze-math.inc + +# Architecture name, either 'microblazeeb' or 'microblazeel' depending on endianess +TUNE_ARCH = "microblaze${@bb.utils.contains("TUNE_FEATURES", "bigendian", "eb", "el", d)}" + +# Package Architecture formatting +TUNE_PKGARCH = "microblaze${MBPKGARCH_ENDIAN}${MBPKGARCH_VERSION}${MBPKGARCH_TUNE}${MBPKGARCH_MATH}" + diff
[OE-core] [PATCH 0/1] oe-selftest: devtool: fix test for changes in lzo recipe
A fix for one of the devtool oe-selftest tests to handle Ross's lzo acinclude.m4 fix. The following changes since commit a7cd9d1183be603777fc9c8c448281fe01224f7b: lib/oe/utils: remove param_bool() (2017-12-02 11:24:38 +) are available in the git repository at: git://git.openembedded.org/openembedded-core-contrib paule/devtool-selftest-fix http://cgit.openembedded.org/openembedded-core-contrib/log/?h=paule/devtool-selftest-fix Paul Eggleton (1): oe-selftest: devtool: fix test for changes in lzo recipe meta-selftest/recipes-test/devtool/devtool-test-local/file1 | 1 + meta-selftest/recipes-test/devtool/devtool-test-local/file2 | 1 + .../recipes-test/devtool/devtool-test-local_6.03.bb | 10 ++ meta/lib/oeqa/selftest/cases/devtool.py | 12 ++-- 4 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 meta-selftest/recipes-test/devtool/devtool-test-local/file1 create mode 100644 meta-selftest/recipes-test/devtool/devtool-test-local/file2 create mode 100644 meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb -- 2.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
[OE-core] [PATCH 1/1] oe-selftest: devtool: fix test for changes in lzo recipe
acinclude.m4 is about to be removed from the lzo recipe which breaks test_devtool_update_recipe_local_files_2. Create a synthetic recipe in meta-selftest with some local files and use that instead. Signed-off-by: Paul Eggleton--- meta-selftest/recipes-test/devtool/devtool-test-local/file1 | 1 + meta-selftest/recipes-test/devtool/devtool-test-local/file2 | 1 + .../recipes-test/devtool/devtool-test-local_6.03.bb | 10 ++ meta/lib/oeqa/selftest/cases/devtool.py | 12 ++-- 4 files changed, 18 insertions(+), 6 deletions(-) create mode 100644 meta-selftest/recipes-test/devtool/devtool-test-local/file1 create mode 100644 meta-selftest/recipes-test/devtool/devtool-test-local/file2 create mode 100644 meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb diff --git a/meta-selftest/recipes-test/devtool/devtool-test-local/file1 b/meta-selftest/recipes-test/devtool/devtool-test-local/file1 new file mode 100644 index 000..f4bdcfc --- /dev/null +++ b/meta-selftest/recipes-test/devtool/devtool-test-local/file1 @@ -0,0 +1 @@ +The first file diff --git a/meta-selftest/recipes-test/devtool/devtool-test-local/file2 b/meta-selftest/recipes-test/devtool/devtool-test-local/file2 new file mode 100644 index 000..a7e2414 --- /dev/null +++ b/meta-selftest/recipes-test/devtool/devtool-test-local/file2 @@ -0,0 +1 @@ +The second file diff --git a/meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb b/meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb new file mode 100644 index 000..bd731f7 --- /dev/null +++ b/meta-selftest/recipes-test/devtool/devtool-test-local_6.03.bb @@ -0,0 +1,10 @@ +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3" + +INHIBIT_DEFAULT_DEPS = "1" + +SRC_URI = "http://downloads.yoctoproject.org/mirror/sources/syslinux-6.03.tar.xz \ + file://file1 \ + file://file2" + +EXCLUDE_FROM_WORLD = "1" diff --git a/meta/lib/oeqa/selftest/cases/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index 43280cd..9710fd3 100644 --- a/meta/lib/oeqa/selftest/cases/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py @@ -987,7 +987,7 @@ class DevtoolTests(DevtoolBase): @OETestID(1371) def test_devtool_update_recipe_local_files_2(self): """Check local source files support when oe-local-files is in Git""" -testrecipe = 'lzo' +testrecipe = 'devtool-test-local' recipefile = get_bb_var('FILE', testrecipe) # Setup srctree for modifying the recipe tempdir = tempfile.mkdtemp(prefix='devtoolqa') @@ -1002,9 +1002,9 @@ class DevtoolTests(DevtoolBase): runCmd('git add oe-local-files', cwd=tempdir) runCmd('git commit -m "Add local sources"', cwd=tempdir) # Edit / commit local sources -runCmd('echo "# Foobar" >> oe-local-files/acinclude.m4', cwd=tempdir) +runCmd('echo "# Foobar" >> oe-local-files/file1', cwd=tempdir) runCmd('git commit -am "Edit existing file"', cwd=tempdir) -runCmd('git rm oe-local-files/run-ptest', cwd=tempdir) +runCmd('git rm oe-local-files/file2', cwd=tempdir) runCmd('git commit -m"Remove file"', cwd=tempdir) runCmd('echo "Foo" > oe-local-files/new-local', cwd=tempdir) runCmd('git add oe-local-files/new-local', cwd=tempdir) @@ -1016,11 +1016,11 @@ class DevtoolTests(DevtoolBase): os.path.dirname(recipefile)) # Checkout unmodified file to working copy -> devtool should still pick # the modified version from HEAD -runCmd('git checkout HEAD^ -- oe-local-files/acinclude.m4', cwd=tempdir) +runCmd('git checkout HEAD^ -- oe-local-files/file1', cwd=tempdir) runCmd('devtool update-recipe %s' % testrecipe) expected_status = [(' M', '.*/%s$' % os.path.basename(recipefile)), - (' M', '.*/acinclude.m4$'), - (' D', '.*/run-ptest$'), + (' M', '.*/file1$'), + (' D', '.*/file2$'), ('??', '.*/new-local$'), ('??', '.*/0001-Add-new-file.patch$')] self._check_repo_status(os.path.dirname(recipefile), expected_status) -- 2.9.5 -- ___ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core