summaryrefslogtreecommitdiffstats
path: root/meta/recipes-core
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2018-01-09 11:20:31 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-01-11 10:26:06 +0000
commit0d0984e1e616c9f1c211b7b980ba2ca54c096e6e (patch)
tree1dcc5055444c172a1f432c7e032f41027230ee8f /meta/recipes-core
parent1117f74385fe60d7eaeaef13ce5927e4798d6992 (diff)
downloadpoky-0d0984e1e616c9f1c211b7b980ba2ca54c096e6e.tar.gz
nativesdk/sdk: Update sdk dummy providers
When we migrated rpm v5 -> v4, we lost the ability to drop "per file" dependencies from the rpm backend for things like "/bin/bash" and "/usr/bin/env" which meant the sdks were becomming 'bloated'. This restores the functionality using a dummy package, similarly to the way the buildtools perl issue was addressed. It also removes the non-functional old code so as not to confuse people in future. I ran into this problem trying to filter dependencies to only rpms a build directly depends upon and it turns out we have some determinism issues in this area so this is something key to fix. (From OE-Core rev: 9d490dc01dcedb216129b22cbe17a6c99efc4f5c) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-core')
-rw-r--r--meta/recipes-core/meta/dummy-sdk-package.inc24
-rw-r--r--meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb27
-rw-r--r--meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb15
-rw-r--r--meta/recipes-core/meta/target-sdk-provides-dummy.bb11
-rw-r--r--meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb1
5 files changed, 57 insertions, 21 deletions
diff --git a/meta/recipes-core/meta/dummy-sdk-package.inc b/meta/recipes-core/meta/dummy-sdk-package.inc
new file mode 100644
index 0000000000..ed83dd77da
--- /dev/null
+++ b/meta/recipes-core/meta/dummy-sdk-package.inc
@@ -0,0 +1,24 @@
1SUMMARY = "Dummy packages which handle excluding packages from the sdk, e.g. ensuring perl is excluded from buildtools"
2LICENSE = "MIT"
3
4inherit allarch
5
6python() {
7 # Put the package somewhere separate to ensure it's never used except
8 # when we want it
9 # (note that we have to do this in anonymous python here to avoid
10 # allarch.bbclass disabling itself)
11 d.setVar('PACKAGE_ARCH', '${DUMMYARCH}')
12}
13
14ALLOW_EMPTY_${PN} = "1"
15
16PR[vardeps] += "DUMMYPROVIDES"
17
18python populate_packages_prepend() {
19 p = d.getVar("PN")
20 d.appendVar("RPROVIDES_%s" % p, "${DUMMYPROVIDES}")
21 #d.appendVar("RCONFLICTS_%s" % p, "${DUMMYPROVIDES}")
22 #d.appendVar("RREPLACES_%s" % p, "${DUMMYPROVIDES}")
23}
24
diff --git a/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb b/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb
index 0b58a027f3..f5bcb82548 100644
--- a/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb
+++ b/meta/recipes-core/meta/nativesdk-buildtools-perl-dummy.bb
@@ -1,26 +1,11 @@
1SUMMARY = "Dummy package which ensures perl is excluded from buildtools" 1DUMMYARCH = "buildtools-dummy-${SDKPKGSUFFIX}"
2LICENSE = "MIT"
3 2
4inherit allarch 3DUMMYPROVIDES = "\
4 nativesdk-perl \
5 nativesdk-perl-module-file-path"
5 6
6PR = "r2" 7PR = "r2"
7 8
8python() { 9require dummy-sdk-package.inc
9 # Put the package somewhere separate to ensure it's never used except
10 # when we want it
11 # (note that we have to do this in anonymous python here to avoid
12 # allarch.bbclass disabling itself)
13 d.setVar('PACKAGE_ARCH', 'buildtools-dummy-${SDKPKGSUFFIX}')
14}
15
16PERLPACKAGES = "nativesdk-perl \
17 nativesdk-perl-module-file-path"
18
19ALLOW_EMPTY_${PN} = "1"
20
21python populate_packages_prepend() {
22 d.appendVar(d.expand('RPROVIDES_${PN}'), '${PERLPACKAGES}')
23 d.appendVar(d.expand('RCONFLICTS_${PN}'), '${PERLPACKAGES}')
24 d.appendVar(d.expand('RREPLACES_${PN}'), '${PERLPACKAGES}')
25}
26 10
11inherit nativesdk
diff --git a/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb b/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb
new file mode 100644
index 0000000000..11a727d486
--- /dev/null
+++ b/meta/recipes-core/meta/nativesdk-sdk-provides-dummy.bb
@@ -0,0 +1,15 @@
1DUMMYARCH = "sdk-provides-dummy-${SDKPKGSUFFIX}"
2
3# Add /bin/sh?
4DUMMYPROVIDES = "\
5 /bin/bash \
6 /usr/bin/env \
7 /usr/bin/perl \
8 pkgconfig \
9 libGL.so()(64bit) \
10 libGL.so \
11"
12
13require dummy-sdk-package.inc
14
15inherit nativesdk
diff --git a/meta/recipes-core/meta/target-sdk-provides-dummy.bb b/meta/recipes-core/meta/target-sdk-provides-dummy.bb
new file mode 100644
index 0000000000..714d15d8ba
--- /dev/null
+++ b/meta/recipes-core/meta/target-sdk-provides-dummy.bb
@@ -0,0 +1,11 @@
1DUMMYARCH = "sdk-provides-dummy-target"
2
3DUMMYPROVIDES = "\
4 /bin/sh \
5 /bin/bash \
6 /usr/bin/env \
7 /usr/bin/perl \
8 pkgconfig \
9"
10
11require dummy-sdk-package.inc
diff --git a/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
index aee4a03718..88e7c648b6 100644
--- a/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
+++ b/meta/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bb
@@ -25,6 +25,7 @@ RDEPENDS_${PN} = "\
25 nativesdk-cmake \ 25 nativesdk-cmake \
26 nativesdk-postinst-intercept \ 26 nativesdk-postinst-intercept \
27 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'nativesdk-wayland', '', d)} \ 27 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'nativesdk-wayland', '', d)} \
28 nativesdk-sdk-provides-dummy \
28 " 29 "
29 30
30RDEPENDS_${PN}_darwin = "\ 31RDEPENDS_${PN}_darwin = "\