From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) by mx.groups.io with SMTP id smtpd.web10.4927.1614438912428429116 for ; Sat, 27 Feb 2021 07:15:12 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: bootlin.com, ip: 217.70.183.197, mailfrom: alexandre.belloni@bootlin.com) X-Originating-IP: 90.65.108.55 Received: from localhost (lfbn-lyo-1-1676-55.w90-65.abo.wanadoo.fr [90.65.108.55]) (Authenticated sender: alexandre.belloni@bootlin.com) by relay5-d.mail.gandi.net (Postfix) with ESMTPSA id 62CAE1C0009; Sat, 27 Feb 2021 15:15:09 +0000 (UTC) Date: Sat, 27 Feb 2021 16:15:08 +0100 From: "Alexandre Belloni" To: Luca Bocassi Cc: openembedded-core@lists.openembedded.org, richard.purdie@linuxfoundation.org, bluelightning@bluelightning.org Subject: Re: [OE-core] [PATCH v5] util-linux: split uuid in separate recipe to allow bootstrapping Message-ID: References: <20201210184632.3448265-1-luca.boccassi@gmail.com> <20210225153035.1239276-1-luca.boccassi@gmail.com> MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On 27/02/2021 16:08:02+0100, Alexandre Belloni wrote: > On 27/02/2021 15:52:25+0100, Alexandre Belloni wrote: > > Hello, > > > > On 25/02/2021 15:30:35+0000, Luca Bocassi wrote: > > > From: Luca Boccassi > > > > > > Recently util-linux gained an (optional) build dependency on libcryptsetup. > > > But libcryptsetup build-depends on util-linux for blkid (optional, can be disabled) > > > and uuid (mandatory). > > > Split out util-linux-uuid in a different recipe to break the cycle. > > > > > > https://github.com/karelzak/util-linux/pull/898 > > > > > > Signed-off-by: Luca Boccassi > > > --- > > > v1: util-linux 2.35 is not out yet, but I'd like to get the preparatory work > > > underway as I'm not sure if this is the best approach or if there are > > > alternatives. Suggestions and comments very welcome. Thanks! > > > v2: changed packages names to reflect old ones (eg: libuuid1 -> util-linux-libuuid) > > > and leave uuid build enable in main recipe to allow for uuidgen build to happen, > > > as it does not have its own autoconf switch. Delete the library manualy from > > > the main recipe after build instead, and add dependency. > > > Might help to break loop python3 -> util-linux -> libselinux -> python3, as it's > > > only libuuid that is needed, see https://lists.yoctoproject.org/g/yocto/message/47570 > > > v3: rebased and refactored to have a common util-linux.inc file > > > v4: added RDEPENDS on util-linux-libuuid on various packages to fix QA warnings > > > v5: remove RDEPENDS and instead have util-linux RDEPEND on util-linux-uuid. > > > Removed PACKAGES_remove and instead filter out libuuid via the package generation > > > regex. > > > Rebased on util-linux 2.36.2. > > > > > > .../util-linux/util-linux-uuid_2.36.2.bb | 22 ++++++++ > > > meta/recipes-core/util-linux/util-linux.inc | 41 ++++++++++++++ > > > .../util-linux/util-linux_2.36.2.bb | 53 +++++-------------- > > > 3 files changed, 75 insertions(+), 41 deletions(-) > > > create mode 100644 meta/recipes-core/util-linux/util-linux-uuid_2.36.2.bb > > > create mode 100644 meta/recipes-core/util-linux/util-linux.inc > > > > > > > With this patch, there is a very weird failure on the autobuilders, two > > a-full builds failed with this: > > > > ERROR: musl-1.2.2+gitAUTOINC+e5d2823631-r0 do_package: Error executing a python function in exec_python_func() autogenerated: > > The stack trace of python calls that resulted in this exception/failure was: > > File: 'exec_python_func() autogenerated', lineno: 2, function: > > 0001: > > *** 0002:extend_recipe_sysroot(d) > > 0003: > > File: '/home/pokybuild/yocto-worker/poky-tiny/build/meta/classes/staging.bbclass', lineno: 582, function: extend_recipe_sysroot > > 0578: if "/bin/" in l or "/sbin/" in l: > > 0579: # defer /*bin/* files until last in case they need libs > > 0580: binfiles[l] = (targetdir, dest) > > 0581: else: > > *** 0582: staging_copyfile(l, targetdir, dest, postinsts, seendirs) > > 0583: > > 0584: # Handle deferred binfiles > > 0585: for l in binfiles: > > 0586: (targetdir, dest) = binfiles[l] > > File: '/home/pokybuild/yocto-worker/poky-tiny/build/meta/classes/staging.bbclass', lineno: 157, function: staging_copyfile > > 0153: os.symlink(linkto, dest) > > 0154: #bb.warn(c) > > 0155: else: > > 0156: try: > > *** 0157: os.link(c, dest) > > 0158: except OSError as err: > > 0159: if err.errno == errno.EXDEV: > > 0160: bb.utils.copyfile(c, dest) > > 0161: else: > > Exception: FileExistsError: [Errno 17] File exists: '/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/sysroots-components/core2-32/libgcc/usr/lib/i686-poky-linux-musl/10.2.0/libgcc_eh.a' -> '/home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/core2-32-poky-linux-musl/musl/1.2.2+gitAUTOINC+e5d2823631-r0/recipe-sysroot/usr/lib/i686-poky-linux-musl/10.2.0/libgcc_eh.a' > > ERROR: Logfile of failure stored in: /home/pokybuild/yocto-worker/poky-tiny/build/build/tmp/work/core2-32-poky-linux-musl/musl/1.2.2+gitAUTOINC+e5d2823631-r0/temp/log.do_package.4051328 > > NOTE: recipe musl-1.2.2+gitAUTOINC+e5d2823631-r0: task do_package: Failed > > ERROR: Task (/home/pokybuild/yocto-worker/poky-tiny/build/meta/recipes-core/musl/musl_git.bb:do_package) failed with exit code '1' > > > > This also happens with glibc-2.33-r0: > > > > > > ERROR: glibc-2.33-r0 do_package: Error executing a python function in exec_python_func() autogenerated: > > [...] > > Exception: FileExistsError: [Errno 17] File exists: '/home/pokybuild/yocto-worker/edgerouter/build/build/tmp/sysroots-components/mips64/libgcc/usr/lib/mips64-poky-linux/10.2.0/libgcc.a' -> '/home/pokybuild/yocto-worker/edgerouter/build/build/tmp/work/mips64-poky-linux/glibc/2.33-r0/recipe-sysroot/usr/lib/mips64-poky-linux/10.2.0/libgcc.a' > > ERROR: Logfile of failure stored in: /home/pokybuild/yocto-worker/edgerouter/build/build/tmp/work/mips64-poky-linux/glibc/2.33-r0/temp/log.do_package.29993 > > NOTE: recipe glibc-2.33-r0: task do_package: Failed > > ERROR: Task (/home/pokybuild/yocto-worker/edgerouter/build/meta/recipes-core/glibc/glibc_2.33.bb:do_package) failed with exit code '1' > > > > Not sure this helps but we also get: > > WARNING: nativesdk-util-linux-2.36.2-r0 do_package_qa: QA Issue: nativesdk-util-linux rdepends on nativesdk-util-linux-uuid, but it isn't a build dependency? [build-deps] > > and I'm adding https://autobuilder.yoctoproject.org/typhoon/#/builders/47/builds/3137/steps/12/logs/stdio : ERROR: util-linux-uuid-2.36.2-r0 do_package: QA Issue: util-linux-uuid: Files/directories were installed but not shipped in any package: /usr/lib/libuuid.a Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. -- Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com