* V15:
- package_rpm.bbclass: Suppress pkgconfig() Requires for sstate
compatibility.
- lib/oe/package_manager/rpm: Enable DNF filelists to resolve
file-based deps.
* V14:
- Dropped "rpm: filter /usr/bin/pkg-config from RPM auto-generated Requires"
(pkgconfigdeps.sh patch). Per Ross Burton's review, instead of suppressing
the /usr/bin/pkg-config emission, added:
RPROVIDES:${PN} += "pkgconfig /usr/bin/pkg-config"
to the pkgconf recipe so it satisfies the auto-generated Requires without
modifying the upstream rpm script.
- Removed /usr/bin/pkg-config from nativesdk-sdk-provides-dummy.bb.
RPM 6's internal dependency generator auto-detects file-level Provides
from installed files, so nativesdk-pkgconf already provides
/usr/bin/pkg-config via the wrapper script it installs. Keeping the
dummy entry caused a DNF conflict during do_populate_sdk:
nativesdk-sdk-provides-dummy conflicts with /usr/bin/pkg-config
provided by nativesdk-pkgconf
- Added "libarchive: Disable RPM filter auto-bidding" (0005 patch).
With both the RPM filter and RPM format reader registered, the filter
intercepted RPM files first and failed to parse RPM 6 packages
(debuginfod scanning still failed after the 0004 patch). Disabling the
filter's automatic bidding lets the format reader handle RPM files,
while archive_read_append_filter(ARCHIVE_FILTER_RPM) still works
explicitly, keeping test_read_append_rpm_filter passing.
- Updated 0004-Convert-RPM-reader-into-a-proper-format.patch to include
the test_read_format_huge_rpm.c changes from upstream PR #2846. This
test now correctly exercises the format reader instead of the filter.
- Updated patches 7,9 and 10 for the latest master changes; no code
changes; removed upstream modifications
Tests verified:
- oe-selftest -r debuginfod.Debuginfod.test_debuginfod_qemu
- oe-selftest -r debuginfod.Debuginfod.test_debuginfod_native
- oe-selftest -r sdk.SDKTests.test_sdk_manifests
- oe-selftest -r sdk.SDKTests.test_sdk_runqemu
- bitbake core-image-ptest-libarchive:do_testimage
- bitbake core-image-sato -c populate_sdk
- bitbake core-image-sato-sdk:do_rootfs
* V13:
- Added "rpm: Fix pkgconfig() Provides missing in cross-built RPMs"
Unset cross-compilation PKG_CONFIG_* variables in pkgconfigdeps.sh
so pkgconfig() Provides/Requires are correctly generated during
rpmbuild.
- Added "libarchive: Add RPM format reader to support rpm 6"
PR #3346 from v12 was insufficient alone. Added PR #2846 patch that
converts RPM into a proper format reader for RPM 6 packages.
Existing RPM filter kept for API compatibility.
test_read_format_huge_rpm.c excluded (filter intercepts before
format reader).
Tests verified:
- oe-selftest -r debuginfod.Debuginfod.test_debuginfod_qemu
- bitbake core-image-ptest-libarchive:do_testimage (libarchive_test PASS)
- bitbake core-image-sato:do_populate_sdk
- bitbake core-image-sato-sdk: do_rootfs
* V12:
- The previous libarchive-related changes for 3.8.8 are no longer
applicable because libarchive has been upgraded to 3.8.9. Updated the
implementation to work with libarchive 3.8.9 and applied the upstream
fix for "attach filter to correct bidder".
Upstream patch: Upstream patch:
https://github.com/libarchive/libarchive/pull/3346/
- Dropped the following changes:
rpm: lib/oe/package.py: Filter out /usr/bin/pkg-config file dependency
rpm: Filter /usr/bin/pkg-config from RPM auto-generated Requires
Why drop the old change:
The filedeprunner() fix runs at OE's external scanning stage
(do_package), but RPM 6's internal dependency generator runs later,
inside rpmbuild itself. It re-adds Requires:
/usr/bin/pkg-config regardless of what OE filtered. The old fix simply
operates at the wrong layer it's like closing a door that RPM 6 walks
around.
Why the new changes:
It operates at the same layer where the problem originates, inside
rpmbuild. By setting __pkgconfig_provides and __pkgconfig_requires to
%{nil}, we tell RPM 6's internal
scanner to skip pkgconfigdeps.sh entirely. This is the RPM 6
equivalent of what _use_internal_dependency_generator 0 did in RPM 4
just scoped to pkgconfig specifically rather than globally.
With these changes, the previously observed test failures have been resolved:
- bitbake core-image-sato:do_populate_sdk
- bitbake core-image-sato-sdk: do_rootfs
- bitbake core-image-ptest-glib-2.0
- bitbake core-image-ptest-libarchive
- bitbake core-image-ptest-libarchive:do_testimage
* V11:
- Added 0001-pkgconfigdeps.sh-Do-not-emit-usr-bin-pkg-config-as-a.patch
To fix "bitbake core-image-minimal-dev" Could not invoke dnf. Command...
pkgconfigdeps.sh unconditionally emits /usr/bin/pkg-config as a hard
Requires for packages shipping .pc files. In OE/Yocto cross-compilation,
pkg-config is a host-only build tool not needed on the target rootfs,
causing failures with -dev packages.
* v10:
- The ARCHIVE_FILTER_RPM macro was commented out in a previous
libarchive change, causing do_compile_ptest_base to fail with:
error: 'ARCHIVE_FILTER_RPM' undeclared
Restore the macro definition. The ptest now compiles and passes
successfully.
* V9:
- Updated SRCREV to the 6.0.2 tag.
- Incorporated all V8 changes and updated them as needed for 6.0.2.
- Dropped
0001-scripts-pkgconfigdeps.sh-Use-pkg-config-from-PATH.patch
from V8, as it is no longer needed. After filtering out the
/usr/bin/pkg-config file dependency, "bitbake core-image-sato -c
populate_sdk" completes successfully without the patch.
- Fixed the filtering of the /usr/bin/pkg-config file dependency.
pkg-config is a build-time tool, not a runtime dependency. Filtered
the /usr/bin/pkg-config dependency automatically detected by
pkgconfig.attr for packages containing .pc files, preventing
unnecessary hard runtime dependencies in -dev packages.
- Removed v8 libarchive-related changes since the latest version
(3.8.8) already includes the required updates.
- Fixed the "oe-selftest -r debuginfod.Debuginfod.test_debuginfod_native"
failure observed after upgrading to 6.0.2.
- Verified that previously reported Autobuilder issues are no longer observed.
The following builds/tests were successfully completed:
"bitbake core-image-minimal"
"bitbake core-image-full-cmdline"
"bitbake core-image-sato"
"bitbake core-image-sato world"
"bitbake core-image-full-cmdline:do_testimage"
"bitbake core-image-minimal:do_rootfs"
"bitbake core-image-sato -c populate_sdk"
* V8:
- Fix build with systemd (Check patch 7 for detailes)
- Make rpmbuild can find the pkgconfig (.pc) files in /usr/share/pkgconfig
(Check patch 7 for detailes)
- Backport a PULL from git/libarchive to fix oe-selftest failures.
* V7:
- Add 0001-scripts-pkgconfigdeps.sh-Use-pkg-config-from-PATH.patch:
To fix "bitbake core-image-sato -cpopulate_sdk" error on Ubuntu 24.04 when
pkg-config is installed on host, now the host contamination has been fixed,
and the patch has been submitted to upstream:
https://github.com/rpm-software-management/rpm/pull/4127
* V6
- Fix -cpopulate_sdk error when DISTRO = "poky"
* V5
- Fix RP's comments: Don't hardcode libc6 into package_rpm.bbclass
- Use SKIP_LDCONFIG_POSTINST_FRAGMENT:${PN} to fix the loop dependencies
between /bin/sh and libc.so.
* V4
- Fix loop dependencies issues for libc6 and busybox
- Fix issues for can't find pkg-config files (.pc) on qemux86-64.
* V3
- Fix Alexender's comments
a) Suppot rpm 6
b) Move rpm-setup-autosign to rpm-build
c) Remove -DLIBELF_FOUND=False
- Fix build for nativesdk-rpm
- Drop patch for createrepo-c since it has been upgraded (rev:
804a238c8a4e86c2bcfb2192d54cb861d5fd32a6)
* V1 & V2
- Initial version
--
# Sumanth Gavini
# Wind River Linux
-----------------------------------------------------------------------
Sumanth Gavini (12):
package_rpm.bbclass: Drop external dependency generator to support rpm
6
package_rpm.bbclass: Define _lib and _libdir for rpmbuild
lib/oe/package.py: Don't add ldconfig_postinst_fragment for glibc or
musl
lib/oe/package.py: Don't redirect stderr
target-sdk-provides-dummy: Add pkg-config to DUMMYPROVIDES
rpm: 4.20.1 -> 6.0.2
libarchive: Make it work with rpm 6.0.2
rpm: Fix pkgconfig() Provides missing in cross-built RPMs
libarchive: Add RPM format reader to support rpm 6
libarchive: Disable RPM filter auto-bidding and update huge_rpm test
package_rpm.bbclass: Suppress pkgconfig() Requires for sstate
compatibility
lib/oe/package_manager/rpm: Enable DNF filelists to resolve file deps
meta/classes-global/package_rpm.bbclass | 91 +-
meta/lib/oe/package.py | 5 +-
meta/lib/oe/package_manager/rpm/__init__.py | 3 +-
meta/recipes-core/glibc/glibc-package.inc | 5 +
.../meta/target-sdk-provides-dummy.bb | 1 +
meta/recipes-core/musl/musl_git.bb | 4 +
.../recipes-devtools/pkgconf/pkgconf_3.0.5.bb | 2 +-
...olor-setting-for-mips64_n32-binaries.patch | 22 +-
...akeLists.txt-Fix-checking-for-CFLAGS.patch | 46 -
...et-libdir-to-CMAKE_INSTALL_FULL_LIBD.patch | 50 -
...satisfiable-dependency-when-building.patch | 18 +-
...lib-rpm-as-the-installation-path-for.patch | 24 +-
...1-Do-not-read-config-files-from-HOME.patch | 18 +-
...-PATH-environment-variable-before-ru.patch | 16 +-
...lling-execute-package-scriptlets-wit.patch | 12 +-
...not-insert-payloadflags-into-.rpm-me.patch | 18 +-
....c-fix-file-conflicts-for-MIPS64-N32.patch | 18 +-
...kgverify_level-to-digest-as-RCPM-4.2.patch | 35 +
...ools-elfdeps.cc-Remove-format-module.patch | 38 +
...prefixing-etc-from-RPM_ETCCONFIGDIR-.patch | 26 +-
...Unset-cross-compilation-PKG_CONFIG-v.patch | 71 +
...avoid-using-GLOB_BRACE-if-undefined-.patch | 14 +-
...ge-logging-level-around-scriptlets-t.patch | 14 +-
.../rpm/{rpm_4.20.1.bb => rpm_6.0.2.bb} | 15 +-
...-Verify-that-bidder-and-filter-match.patch | 103 ++
.../libarchive/0003-Remove-bidder-name.patch | 258 +++
...vert-RPM-reader-into-a-proper-format.patch | 1440 +++++++++++++++++
...0005-Disable-RPM-filter-auto-bidding.patch | 73 +
.../libarchive/libarchive_3.8.9.bb | 4 +
29 files changed, 2171 insertions(+), 273 deletions(-)
delete mode 100644
meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-Fix-checking-for-CFLAGS.patch
delete mode 100644
meta/recipes-devtools/rpm/files/0001-CMakeLists.txt-set-libdir-to-CMAKE_INSTALL_FULL_LIBD.patch
create mode 100644
meta/recipes-devtools/rpm/files/0001-macros.in-Set-_pkgverify_level-to-digest-as-RCPM-4.2.patch
create mode 100644
meta/recipes-devtools/rpm/files/0001-tools-elfdeps.cc-Remove-format-module.patch
create mode 100644
meta/recipes-devtools/rpm/files/0002-pkgconfigdeps.sh-Unset-cross-compilation-PKG_CONFIG-v.patch
rename meta/recipes-devtools/rpm/{rpm_4.20.1.bb => rpm_6.0.2.bb} (95%)
create mode 100644
meta/recipes-extended/libarchive/libarchive/0001-append_filter-Verify-that-bidder-and-filter-match.patch
create mode 100644
meta/recipes-extended/libarchive/libarchive/0003-Remove-bidder-name.patch
create mode 100644
meta/recipes-extended/libarchive/libarchive/0004-Convert-RPM-reader-into-a-proper-format.patch
create mode 100644
meta/recipes-extended/libarchive/libarchive/0005-Disable-RPM-filter-auto-bidding.patch
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#243566):
https://lists.openembedded.org/g/openembedded-core/message/243566
Mute This Topic: https://lists.openembedded.org/mt/120783173/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-