summaryrefslogtreecommitdiffstats
path: root/meta/classes-global
diff options
context:
space:
mode:
authorSergei Zhmylev <s.zhmylev@yadro.com>2023-11-03 17:29:57 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2023-11-06 16:49:21 +0000
commit251a5c88f6bcf347d637b39b8a86e8a083774986 (patch)
treef2bae154fec24813174dc39b79e3e6266623e404 /meta/classes-global
parentf1b0ab7e4b1cfeabaa8f981175e503d0c435ba0b (diff)
downloadpoky-251a5c88f6bcf347d637b39b8a86e8a083774986.tar.gz
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 <s.zhmylev@yadro.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes-global')
-rw-r--r--meta/classes-global/debian.bbclass18
-rw-r--r--meta/classes-global/package.bbclass20
2 files changed, 22 insertions, 16 deletions
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 @@
14# 14#
15# Better expressed as ensure all RDEPENDS package before we package 15# Better expressed as ensure all RDEPENDS package before we package
16# This means we can't have circular RDEPENDS/RRECOMMENDS 16# This means we can't have circular RDEPENDS/RRECOMMENDS
17#
18# Logic of processing dependencies moved to a package.bbclass to
19# allow removing inheritance on debian.bbclass
17 20
18AUTO_LIBNAME_PKGS = "${PACKAGES}" 21AUTO_LIBNAME_PKGS = "${PACKAGES}"
19 22
20inherit package 23inherit package
21 24
22DEBIANRDEP = "do_packagedata"
23do_package_write_ipk[deptask] = "${DEBIANRDEP}"
24do_package_write_deb[deptask] = "${DEBIANRDEP}"
25do_package_write_tar[deptask] = "${DEBIANRDEP}"
26do_package_write_rpm[deptask] = "${DEBIANRDEP}"
27do_package_write_ipk[rdeptask] = "${DEBIANRDEP}"
28do_package_write_deb[rdeptask] = "${DEBIANRDEP}"
29do_package_write_tar[rdeptask] = "${DEBIANRDEP}"
30do_package_write_rpm[rdeptask] = "${DEBIANRDEP}"
31
32python () {
33 if not d.getVar("PACKAGES"):
34 d.setVar("DEBIANRDEP", "")
35}
36
37python debian_package_name_hook () { 25python debian_package_name_hook () {
38 import glob, copy, stat, errno, re, pathlib, subprocess 26 import glob, copy, stat, errno, re, pathlib, subprocess
39 27
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')}"
60# dwarfsrcfiles is used to determine the list of debug source files 60# dwarfsrcfiles is used to determine the list of debug source files
61PACKAGE_DEPENDS += "rpm-native dwarfsrcfiles-native" 61PACKAGE_DEPENDS += "rpm-native dwarfsrcfiles-native"
62 62
63
64# If your postinstall can execute at rootfs creation time rather than on 63# If your postinstall can execute at rootfs creation time rather than on
65# target but depends on a native/cross tool in order to execute, you need to 64# target but depends on a native/cross tool in order to execute, you need to
66# list that tool in PACKAGE_WRITE_DEPS. Target package dependencies belong 65# list that tool in PACKAGE_WRITE_DEPS. Target package dependencies belong
@@ -614,3 +613,22 @@ python do_packagedata_setscene () {
614} 613}
615addtask do_packagedata_setscene 614addtask do_packagedata_setscene
616 615
616# This part ensures all the runtime packages built by the time
617# dynamic renaming occures, if any.
618# This part moved here from debian.bbclass (see for reference) in
619# order to allow disabling default inheritance on debian package renaming.
620
621PKGRDEP = "do_packagedata"
622do_package_write_ipk[deptask] = "${PKGRDEP}"
623do_package_write_deb[deptask] = "${PKGRDEP}"
624do_package_write_tar[deptask] = "${PKGRDEP}"
625do_package_write_rpm[deptask] = "${PKGRDEP}"
626do_package_write_ipk[rdeptask] = "${PKGRDEP}"
627do_package_write_deb[rdeptask] = "${PKGRDEP}"
628do_package_write_tar[rdeptask] = "${PKGRDEP}"
629do_package_write_rpm[rdeptask] = "${PKGRDEP}"
630
631python () {
632 if not d.getVar("PACKAGES"):
633 d.setVar("PKGRDEP", "")
634}