Message ID | 20241219092319.3800319-1-Qi.Chen@windriver.com |
---|---|
State | New |
Headers | show |
Series | oe-pkgdata-util: avoid glibc-locale being mapped out by glibc packages | expand |
On 19 Dec 2024, at 09:23, Chen Qi via lists.openembedded.org <Qi.Chen=windriver.com@lists.openembedded.org> wrote: > > From: Chen Qi <Qi.Chen@windriver.com> > > oe-pkgdata-util's glob command will output different results depending > on whether glibc-locale is built or not. This in turn results in do_rootfs > error when multilib is enabled. The glob command is generically useful and not an implementation detail of the rootfs generation, so it shouldn’t be filtering the list of packages. I’d absolutely expect the output to change depending on what packages were built, and if this is breaking rootfs generation then the rootfs generation logic needs to handle this case. Ross
Hi Ross, The problem is that unlike other packages, glibc-locale and glibc are two recipes, and glibc-locale is specially handled via IMAGE_LINGUAS. Regarding this glibc-locale issue, the rootfs generation logic is correct. Use the case I mentioned in commit message as an example, lib32-glibc-locale should not be installed. The rootfs logic ensures that and is correct. So maybe the glob command's logic is correct according to its original design, but it needs to be adjusted a little bit to fit the rootfs generation. Glibc-locale is the special case to handle. I'm not sure if users will use this glob command manually, because they'll have to first construct a file to serve as an input. And that file is expected to contain actual package names. If they don't have some script to do that, they'll need to look at the deploy/rpm directory to construct the input file correctly. I'm OK with any alternative solution. Regards, Qi -----Original Message----- From: Ross Burton <Ross.Burton@arm.com> Sent: Wednesday, January 8, 2025 8:24 PM To: Chen, Qi <Qi.Chen@windriver.com> Cc: openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH] oe-pkgdata-util: avoid glibc-locale being mapped out by glibc packages On 19 Dec 2024, at 09:23, Chen Qi via lists.openembedded.org <Qi.Chen=windriver.com@lists.openembedded.org> wrote: > > From: Chen Qi <Qi.Chen@windriver.com> > > oe-pkgdata-util's glob command will output different results depending > on whether glibc-locale is built or not. This in turn results in > do_rootfs error when multilib is enabled. The glob command is generically useful and not an implementation detail of the rootfs generation, so it shouldn’t be filtering the list of packages. I’d absolutely expect the output to change depending on what packages were built, and if this is breaking rootfs generation then the rootfs generation logic needs to handle this case. Ross
diff --git a/scripts/oe-pkgdata-util b/scripts/oe-pkgdata-util index 44ae40549a..9fb7952c58 100755 --- a/scripts/oe-pkgdata-util +++ b/scripts/oe-pkgdata-util @@ -136,6 +136,10 @@ def glob(args): logger.debug("%s is not a valid package!" % (pkg)) break + # we don't want glibc-locale to be mapped out by any glibc package, filter it out + if "glibc-locale" in mappedpkg: + mappedpkg = "" + if mappedpkg: logger.debug("%s (%s) -> %s" % (pkg, g, mappedpkg)) mappedpkgs.add(mappedpkg)