rpm: split build and extra functionality into separate packages

Having all the rpm build related tools in the main package requires
adding runtime dependencies on perl and python3-core, so adding
rpm to a target image can pull quite many unneeded packages to satisfy
the dependencies.

This splits all the build related tools into rpm-build and moves the
bash, perl and python3-core runtime dependencies to that package.

Also, the rpmsign tool is split into rpm-sign and rpm2archive (only
built if archive is in PACKAGECONFIG) into rpm-archive. These are
separate packages since they are not really related to building, so
do not belong in rpm-build, but are not necessarily wanted in
target images when rpm is included.

(From OE-Core rev: 0dea6cccc1c638078846e6eb8e48e8ef69c87618)

Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Diego Santa Cruz
2021-03-03 19:09:04 +01:00
committed by Richard Purdie
parent 5623cf33c1
commit ed253541ee

View File

@@ -145,15 +145,46 @@ FILES_${PN}_append_class-nativesdk = " ${SDKPATHNATIVE}/environment-setup.d/rpm.
FILES_${PN}-dev += "${libdir}/rpm-plugins/*.la \
"
PACKAGE_BEFORE_PN += "${PN}-build ${PN}-sign ${PN}-archive"
RRECOMMENDS_${PN} += "rpm-build rpm-sign rpm-archive"
FILES_${PN}-build = "\
${bindir}/rpmbuild \
${bindir}/gendiff \
${bindir}/rpmspec \
${libdir}/librpmbuild.so.* \
${libdir}/rpm/brp-* \
${libdir}/rpm/check-* \
${libdir}/rpm/debugedit \
${libdir}/rpm/sepdebugcrcfix \
${libdir}/rpm/find-debuginfo.sh \
${libdir}/rpm/find-lang.sh \
${libdir}/rpm/*provides* \
${libdir}/rpm/*requires* \
${libdir}/rpm/*deps* \
${libdir}/rpm/*.prov \
${libdir}/rpm/*.req \
${libdir}/rpm/config.* \
${libdir}/rpm/mkinstalldirs \
${libdir}/rpm/macros.p* \
${libdir}/rpm/fileattrs/* \
"
FILES_${PN}-sign = "\
${bindir}/rpmsign \
${libdir}/librpmsign.so.* \
"
FILES_${PN}-archive = "\
${bindir}/rpm2archive \
"
PACKAGES += "python3-rpm"
PROVIDES += "python3-rpm"
FILES_python3-rpm = "${PYTHON_SITEPACKAGES_DIR}/rpm/*"
# rpm 5.x was packaging the rpm build tools separately
RPROVIDES_${PN} += "rpm-build"
RDEPENDS_${PN} = "bash perl python3-core"
RDEPENDS_${PN}-build = "bash perl python3-core"
PACKAGE_PREPROCESS_FUNCS += "rpm_package_preprocess"