From 251a5c88f6bcf347d637b39b8a86e8a083774986 Mon Sep 17 00:00:00 2001 From: Sergei Zhmylev Date: Fri, 3 Nov 2023 17:29:57 +0300 Subject: classes: Move package RDEPENDS processing out of debian.bbclass INHERIT_DIRSTO by default includes debian.bbclass which in turn properly establishes dependencies between package management tasks and build process. Debian class also unconditionally renames several packages in a Debian way. In order to allow disabling of such renaming rules, the logic of RDEPENDS handling is moved to a package.bbclass. This commit also solves the SDK building issue without debian.bbclass. (From OE-Core rev: 8313a4201cde39c444aa6fbe82e46a767fc31f6b) Signed-off-by: Sergei Zhmylev Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- meta/classes-global/debian.bbclass | 18 +++--------------- meta/classes-global/package.bbclass | 20 +++++++++++++++++++- 2 files changed, 22 insertions(+), 16 deletions(-) (limited to 'meta/classes-global') diff --git a/meta/classes-global/debian.bbclass b/meta/classes-global/debian.bbclass index 7135d74837..c34e04112c 100644 --- a/meta/classes-global/debian.bbclass +++ b/meta/classes-global/debian.bbclass @@ -14,26 +14,14 @@ # # Better expressed as ensure all RDEPENDS package before we package # This means we can't have circular RDEPENDS/RRECOMMENDS +# +# Logic of processing dependencies moved to a package.bbclass to +# allow removing inheritance on debian.bbclass AUTO_LIBNAME_PKGS = "${PACKAGES}" inherit package -DEBIANRDEP = "do_packagedata" -do_package_write_ipk[deptask] = "${DEBIANRDEP}" -do_package_write_deb[deptask] = "${DEBIANRDEP}" -do_package_write_tar[deptask] = "${DEBIANRDEP}" -do_package_write_rpm[deptask] = "${DEBIANRDEP}" -do_package_write_ipk[rdeptask] = "${DEBIANRDEP}" -do_package_write_deb[rdeptask] = "${DEBIANRDEP}" -do_package_write_tar[rdeptask] = "${DEBIANRDEP}" -do_package_write_rpm[rdeptask] = "${DEBIANRDEP}" - -python () { - if not d.getVar("PACKAGES"): - d.setVar("DEBIANRDEP", "") -} - python debian_package_name_hook () { import glob, copy, stat, errno, re, pathlib, subprocess diff --git a/meta/classes-global/package.bbclass b/meta/classes-global/package.bbclass index 7787042e21..820920eadf 100644 --- a/meta/classes-global/package.bbclass +++ b/meta/classes-global/package.bbclass @@ -60,7 +60,6 @@ ALL_MULTILIB_PACKAGE_ARCHS = "${@all_multilib_tune_values(d, 'PACKAGE_ARCHS')}" # dwarfsrcfiles is used to determine the list of debug source files PACKAGE_DEPENDS += "rpm-native dwarfsrcfiles-native" - # If your postinstall can execute at rootfs creation time rather than on # target but depends on a native/cross tool in order to execute, you need to # list that tool in PACKAGE_WRITE_DEPS. Target package dependencies belong @@ -614,3 +613,22 @@ python do_packagedata_setscene () { } addtask do_packagedata_setscene +# This part ensures all the runtime packages built by the time +# dynamic renaming occures, if any. +# This part moved here from debian.bbclass (see for reference) in +# order to allow disabling default inheritance on debian package renaming. + +PKGRDEP = "do_packagedata" +do_package_write_ipk[deptask] = "${PKGRDEP}" +do_package_write_deb[deptask] = "${PKGRDEP}" +do_package_write_tar[deptask] = "${PKGRDEP}" +do_package_write_rpm[deptask] = "${PKGRDEP}" +do_package_write_ipk[rdeptask] = "${PKGRDEP}" +do_package_write_deb[rdeptask] = "${PKGRDEP}" +do_package_write_tar[rdeptask] = "${PKGRDEP}" +do_package_write_rpm[rdeptask] = "${PKGRDEP}" + +python () { + if not d.getVar("PACKAGES"): + d.setVar("PKGRDEP", "") +} -- cgit v1.2.3-54-g00ecf