diff options
author | Sergei Zhmylev <s.zhmylev@yadro.com> | 2023-11-03 17:29:57 +0300 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2023-11-06 16:49:21 +0000 |
commit | 251a5c88f6bcf347d637b39b8a86e8a083774986 (patch) | |
tree | f2bae154fec24813174dc39b79e3e6266623e404 /meta/classes-global | |
parent | f1b0ab7e4b1cfeabaa8f981175e503d0c435ba0b (diff) | |
download | poky-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.bbclass | 18 | ||||
-rw-r--r-- | meta/classes-global/package.bbclass | 20 |
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 | ||
18 | AUTO_LIBNAME_PKGS = "${PACKAGES}" | 21 | AUTO_LIBNAME_PKGS = "${PACKAGES}" |
19 | 22 | ||
20 | inherit package | 23 | inherit package |
21 | 24 | ||
22 | DEBIANRDEP = "do_packagedata" | ||
23 | do_package_write_ipk[deptask] = "${DEBIANRDEP}" | ||
24 | do_package_write_deb[deptask] = "${DEBIANRDEP}" | ||
25 | do_package_write_tar[deptask] = "${DEBIANRDEP}" | ||
26 | do_package_write_rpm[deptask] = "${DEBIANRDEP}" | ||
27 | do_package_write_ipk[rdeptask] = "${DEBIANRDEP}" | ||
28 | do_package_write_deb[rdeptask] = "${DEBIANRDEP}" | ||
29 | do_package_write_tar[rdeptask] = "${DEBIANRDEP}" | ||
30 | do_package_write_rpm[rdeptask] = "${DEBIANRDEP}" | ||
31 | |||
32 | python () { | ||
33 | if not d.getVar("PACKAGES"): | ||
34 | d.setVar("DEBIANRDEP", "") | ||
35 | } | ||
36 | |||
37 | python debian_package_name_hook () { | 25 | python 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 |
61 | PACKAGE_DEPENDS += "rpm-native dwarfsrcfiles-native" | 61 | PACKAGE_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 | } |
615 | addtask do_packagedata_setscene | 614 | addtask 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 | |||
621 | PKGRDEP = "do_packagedata" | ||
622 | do_package_write_ipk[deptask] = "${PKGRDEP}" | ||
623 | do_package_write_deb[deptask] = "${PKGRDEP}" | ||
624 | do_package_write_tar[deptask] = "${PKGRDEP}" | ||
625 | do_package_write_rpm[deptask] = "${PKGRDEP}" | ||
626 | do_package_write_ipk[rdeptask] = "${PKGRDEP}" | ||
627 | do_package_write_deb[rdeptask] = "${PKGRDEP}" | ||
628 | do_package_write_tar[rdeptask] = "${PKGRDEP}" | ||
629 | do_package_write_rpm[rdeptask] = "${PKGRDEP}" | ||
630 | |||
631 | python () { | ||
632 | if not d.getVar("PACKAGES"): | ||
633 | d.setVar("PKGRDEP", "") | ||
634 | } | ||