| Summary: | rpm package dependency version rewrite fails for 'perf' with 6.1 kernel | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Enrico Jorns <ejo> |
| Component: | core | Assignee: | Pavel Zhukov <pavel> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium+ | CC: | bruce.ashfield, bst, ejo, meta.mr.watcher, meta.watcher, randy.macleod, yocto |
| Version: | 4.0.3 | ||
| Target Milestone: | 4.2 M2 | ||
| Hardware: | All | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |
|
Description
Enrico Jorns
2022-12-13 09:14:14 UTC
Strangely, I'm not seeing the same behaviour: root@qemux86-64-c9:~# rpm -qa |grep perf perf-dev-6.1.0-r9.qemux86_64 perf-6.1.0-r9.qemux86_64 root@qemux86-64-c9:~# uname -a Linux qemux86-64-c9 6.1.0-yocto-standard #1 SMP PREEMPT_DYNAMIC Wed Dec 14 21:14:11 UTC 2022 x86_64 GNU/Linux Can you elaborate on your setup ? distro ? host distro ? (In reply to comment #1) > Strangely, I'm not seeing the same behaviour: > > root@qemux86-64-c9:~# rpm -qa |grep perf > perf-dev-6.1.0-r9.qemux86_64 > perf-6.1.0-r9.qemux86_64 Yes, the generated package versions aren't affected. But dependencies within the dev-package should be: rpm -qR tmp/deploy/rpm/qemux86_64/perf-dev-6.1.0-r9.qemux86_64.rpm perf = 6.6.1.0-r9 [...] Adding an "IMAGE_INSTALL:append = " perf-dev" should be sufficient to trigger the issue during do_rootfs. > root@qemux86-64-c9:~# uname -a > Linux qemux86-64-c9 6.1.0-yocto-standard #1 SMP PREEMPT_DYNAMIC Wed Dec 14 > 21:14:11 UTC 2022 x86_64 GNU/Linux > > Can you elaborate on your setup ? distro ? host distro ? Poky git with poky distro. Host distro is Debian 11. Detailed info: Build Configuration: BB_VERSION = "2.0.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "universal" TARGET_SYS = "x86_64-poky-linux" MACHINE = "qemux86-64" DISTRO = "poky" DISTRO_VERSION = "4.0.5" TUNE_FEATURES = "m64 core2" TARGET_FPU = "" meta meta-poky meta-yocto-bsp = "HEAD:c8839099506ee9c694f5b9da3ef6cc7cf0b2c142" ERROR: core-image-minimal-1.0-r0 do_rootfs: Could not invoke dnf. Command '[..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/recipe-sysroot-native/usr/bin/dnf -v --rpmverbosity=info -y -c [..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs/etc/dnf/dnf.conf --setopt=reposdir=[..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs/etc/yum.repos.d --installroot=[..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs --setopt=logdir=[..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/temp --repofrompath=oe-repo,[..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/oe-rootfs-repo --nogpgcheck install dnf packagegroup-core-boot perf-dev rpm run-postinsts' returned 1: DNF version: 4.11.1 cachedir: [..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs/var/cache/dnf Added oe-repo repo from [..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/oe-rootfs-repo User-Agent: falling back to 'libdnf': could not detect OS or basearch repo: using cache for: oe-repo oe-repo: using metadata from Fri 16 Dec 2022 02:56:56 PM UTC. Last metadata expiration check: 0:00:01 ago on Fri 16 Dec 2022 02:56:57 PM UTC. --> Starting dependency resolution --> Finished dependency resolution Error: Problem: conflicting requests - nothing provides perf = 6.6.1.0-r9 needed by perf-dev-6.1.0-r9.qemux86_64 (try to add '--skip-broken' to skip uninstallable packages) (In reply to comment #2) > (In reply to comment #1) > > Strangely, I'm not seeing the same behaviour: > > > > root@qemux86-64-c9:~# rpm -qa |grep perf > > perf-dev-6.1.0-r9.qemux86_64 > > perf-6.1.0-r9.qemux86_64 > > Yes, the generated package versions aren't affected. > But dependencies within the dev-package should be: > > rpm -qR tmp/deploy/rpm/qemux86_64/perf-dev-6.1.0-r9.qemux86_64.rpm > perf = 6.6.1.0-r9 > [...] > > Adding an "IMAGE_INSTALL:append = " perf-dev" should be sufficient to > trigger the issue during do_rootfs. > Interesting. I'm of course using poky master as well, as I'm finalizing the new reference kernels, and I had worked through 6.1 before our fall release, as it was the development kernel. And for my perf-dev testing, I have it in my local.conf in a similar manner. grep perf-dev conf/local.conf #CORE_IMAGE_EXTRA_INSTALL += " perf perf-dev" IMAGE_INSTALL:append = " perf-dev" Either technique works, and I'm able to built, install and see it on the target. I'll continue to poke at this a bit more. > > root@qemux86-64-c9:~# uname -a > > Linux qemux86-64-c9 6.1.0-yocto-standard #1 SMP PREEMPT_DYNAMIC Wed Dec 14 > > 21:14:11 UTC 2022 x86_64 GNU/Linux > > > > Can you elaborate on your setup ? distro ? host distro ? > > Poky git with poky distro. Host distro is Debian 11. > > Detailed info: > > Build Configuration: > BB_VERSION = "2.0.0" > BUILD_SYS = "x86_64-linux" > NATIVELSBSTRING = "universal" > TARGET_SYS = "x86_64-poky-linux" > MACHINE = "qemux86-64" > DISTRO = "poky" > DISTRO_VERSION = "4.0.5" > TUNE_FEATURES = "m64 core2" > TARGET_FPU = "" > meta > meta-poky > meta-yocto-bsp = "HEAD:c8839099506ee9c694f5b9da3ef6cc7cf0b2c142" > > > ERROR: core-image-minimal-1.0-r0 do_rootfs: Could not invoke dnf. Command > '[..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/recipe- > sysroot-native/usr/bin/dnf -v --rpmverbosity=info -y -c > [..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs/etc/dnf/ > dnf.conf > --setopt=reposdir=[..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0- > r0/rootfs/etc/yum.repos.d > --installroot=[..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/ > rootfs > --setopt=logdir=[..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0- > r0/temp > --repofrompath=oe-repo,[..]/tmp/work/qemux86_64-poky-linux/core-image- > minimal/1.0-r0/oe-rootfs-repo --nogpgcheck install dnf > packagegroup-core-boot perf-dev rpm run-postinsts' returned 1: > DNF version: 4.11.1 > cachedir: > [..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs/var/ > cache/dnf > Added oe-repo repo from > [..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/oe-rootfs-repo > User-Agent: falling back to 'libdnf': could not detect OS or basearch > repo: using cache for: oe-repo > oe-repo: using metadata from Fri 16 Dec 2022 02:56:56 PM UTC. > Last metadata expiration check: 0:00:01 ago on Fri 16 Dec 2022 02:56:57 PM > UTC. > --> Starting dependency resolution > --> Finished dependency resolution > Error: > Problem: conflicting requests > - nothing provides perf = 6.6.1.0-r9 needed by perf-dev-6.1.0-r9.qemux86_64 > (try to add '--skip-broken' to skip uninstallable packages) (In reply to comment #3) > (In reply to comment #2) > > (In reply to comment #1) > > > Strangely, I'm not seeing the same behaviour: > > > > > > root@qemux86-64-c9:~# rpm -qa |grep perf > > > perf-dev-6.1.0-r9.qemux86_64 > > > perf-6.1.0-r9.qemux86_64 > > > > Yes, the generated package versions aren't affected. > > But dependencies within the dev-package should be: > > > > rpm -qR tmp/deploy/rpm/qemux86_64/perf-dev-6.1.0-r9.qemux86_64.rpm > > perf = 6.6.1.0-r9 > > [...] > > > > Adding an "IMAGE_INSTALL:append = " perf-dev" should be sufficient to > > trigger the issue during do_rootfs. > > > > Interesting. I'm of course using poky master as well, as I'm finalizing the > new reference kernels, and I had worked through 6.1 before our fall release, > as it was the development kernel. > > And for my perf-dev testing, I have it in my local.conf in a similar manner. Ok, I was still using kirkstone for testing but assumed master should behave the same since the code I assumed to be responsible did not change there. Interestingly, since I have now tested against master, the issue is actually gone. But as far as I can tell this is only because suddenly the "perf-dev" package does not depend on the "perf" package at all. I have not yet further investigated if this is by design or by accident. (In reply to comment #3) > (In reply to comment #2) > > (In reply to comment #1) > > > Strangely, I'm not seeing the same behaviour: > > > > > > root@qemux86-64-c9:~# rpm -qa |grep perf > > > perf-dev-6.1.0-r9.qemux86_64 > > > perf-6.1.0-r9.qemux86_64 > > > > Yes, the generated package versions aren't affected. > > But dependencies within the dev-package should be: > > > > rpm -qR tmp/deploy/rpm/qemux86_64/perf-dev-6.1.0-r9.qemux86_64.rpm > > perf = 6.6.1.0-r9 > > [...] > > > > Adding an "IMAGE_INSTALL:append = " perf-dev" should be sufficient to > > trigger the issue during do_rootfs. > > > > Interesting. I'm of course using poky master as well, as I'm finalizing the > new reference kernels, and I had worked through 6.1 before our fall release, > as it was the development kernel. > > And for my perf-dev testing, I have it in my local.conf in a similar manner. > > grep perf-dev conf/local.conf > #CORE_IMAGE_EXTRA_INSTALL += " perf perf-dev" > IMAGE_INSTALL:append = " perf-dev" > > Either technique works, and I'm able to built, install and see it on the > target. > > I'll continue to poke at this a bit more. > > > > root@qemux86-64-c9:~# uname -a > > > Linux qemux86-64-c9 6.1.0-yocto-standard #1 SMP PREEMPT_DYNAMIC Wed Dec 14 > > > 21:14:11 UTC 2022 x86_64 GNU/Linux > > > > > > Can you elaborate on your setup ? distro ? host distro ? > > > > Poky git with poky distro. Host distro is Debian 11. > > > > Detailed info: > > > > Build Configuration: > > BB_VERSION = "2.0.0" > > BUILD_SYS = "x86_64-linux" > > NATIVELSBSTRING = "universal" > > TARGET_SYS = "x86_64-poky-linux" > > MACHINE = "qemux86-64" > > DISTRO = "poky" > > DISTRO_VERSION = "4.0.5" > > TUNE_FEATURES = "m64 core2" > > TARGET_FPU = "" > > meta > > meta-poky > > meta-yocto-bsp = "HEAD:c8839099506ee9c694f5b9da3ef6cc7cf0b2c142" > > > > > > ERROR: core-image-minimal-1.0-r0 do_rootfs: Could not invoke dnf. Command > > '[..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/recipe- > > sysroot-native/usr/bin/dnf -v --rpmverbosity=info -y -c > > [..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs/etc/dnf/ > > dnf.conf > > --setopt=reposdir=[..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0- > > r0/rootfs/etc/yum.repos.d > > --installroot=[..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/ > > rootfs > > --setopt=logdir=[..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0- > > r0/temp > > --repofrompath=oe-repo,[..]/tmp/work/qemux86_64-poky-linux/core-image- > > minimal/1.0-r0/oe-rootfs-repo --nogpgcheck install dnf > > packagegroup-core-boot perf-dev rpm run-postinsts' returned 1: > > DNF version: 4.11.1 > > cachedir: > > [..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/rootfs/var/ > > cache/dnf > > Added oe-repo repo from > > [..]/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/oe-rootfs-repo > > User-Agent: falling back to 'libdnf': could not detect OS or basearch > > repo: using cache for: oe-repo > > oe-repo: using metadata from Fri 16 Dec 2022 02:56:56 PM UTC. > > Last metadata expiration check: 0:00:01 ago on Fri 16 Dec 2022 02:56:57 PM > > UTC. > > --> Starting dependency resolution > > --> Finished dependency resolution > > Error: > > Problem: conflicting requests > > - nothing provides perf = 6.6.1.0-r9 needed by perf-dev-6.1.0-r9.qemux86_64 > > (try to add '--skip-broken' to skip uninstallable packages) I guess it was fixed in https://git.openembedded.org/openembedded-core/commit/?id=bf2096a43d56c2d633a4b6e3db9e4390da4be6e2 Richard merged the fix, closing |