]> code.ossystems Code Review - openembedded-core.git/commitdiff
rpm: split build and extra functionality into separate packages
authorDiego Santa Cruz <Diego.SantaCruz@spinetix.com>
Wed, 3 Mar 2021 18:09:04 +0000 (19:09 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 6 Mar 2021 22:36:34 +0000 (22:36 +0000)
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.

Signed-off-by: Diego Santa Cruz <Diego.SantaCruz@spinetix.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-devtools/rpm/rpm_4.16.1.2.bb

index 9195d66dd1e439730ab325d19149cfe6d3ea9c38..d369c706a27d696f3cd9984be3628f2f8f838661 100644 (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"