aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhongxu <hongxu.jia@windriver.com>2021-01-15 17:45:35 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-01-16 22:39:17 +0000
commitbe36b825ada573b2a7df9884eaab78664928594a (patch)
tree2309f63960049dd3ec846047cfa795a103445b6f
parentcb83312131f6c4f69d89d639085e07ea1f53167e (diff)
downloadopenembedded-core-contrib-be36b825ada573b2a7df9884eaab78664928594a.tar.gz
openembedded-core-contrib-be36b825ada573b2a7df9884eaab78664928594a.tar.bz2
openembedded-core-contrib-be36b825ada573b2a7df9884eaab78664928594a.zip
apt: add nativesdk support
1. Add nativesdk support - Apply the same patches of native - Generate the same apt.conf.sample of native 2. Create user '_apt' to fix apt runtime warning [snip] $ apt update ... W: No sandbox user '_apt' on the system, can not drop privileges [snip] RP: Add comment about need to user RP: Add user to selftest static-passwd Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta-selftest/files/static-group1
-rw-r--r--meta-selftest/files/static-passwd1
-rw-r--r--meta/recipes-devtools/apt/apt_1.8.2.1.bb25
3 files changed, 24 insertions, 3 deletions
diff --git a/meta-selftest/files/static-group b/meta-selftest/files/static-group
index 892231b6e03..5487ed6e322 100644
--- a/meta-selftest/files/static-group
+++ b/meta-selftest/files/static-group
@@ -19,3 +19,4 @@ tracing:x:519:
pulse:x:520:
bind:x:521:
builder:x:522:
+_apt:x:523: \ No newline at end of file
diff --git a/meta-selftest/files/static-passwd b/meta-selftest/files/static-passwd
index babbfbc9de1..f663361f4a9 100644
--- a/meta-selftest/files/static-passwd
+++ b/meta-selftest/files/static-passwd
@@ -15,3 +15,4 @@ sshd:x:516:516::/:/bin/nologin
pulse:x:520:520::/:/bin/nologin
bind:x:521:521::/:/bin/nologin
builder:x:522:522::/:/bin/nologin
+_apt:x:523:523::/:/bin/nologin \ No newline at end of file
diff --git a/meta/recipes-devtools/apt/apt_1.8.2.1.bb b/meta/recipes-devtools/apt/apt_1.8.2.1.bb
index de0e150a2e3..9fc6e54a292 100644
--- a/meta/recipes-devtools/apt/apt_1.8.2.1.bb
+++ b/meta/recipes-devtools/apt/apt_1.8.2.1.bb
@@ -17,6 +17,12 @@ SRC_URI_append_class-native = " \
file://0001-Do-not-configure-packages-on-installation.patch \
"
+SRC_URI_append_class-nativesdk = " \
+ file://0001-Do-not-init-tables-from-dpkg-configuration.patch \
+ file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.patch \
+ file://0001-Do-not-configure-packages-on-installation.patch \
+ "
+
SRC_URI[sha256sum] = "6d447f2e9437ec24e78350b63bb0592bee1f050811d51990b0c783183b0983f8"
LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
@@ -24,9 +30,13 @@ LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263"
# so we check the latest upstream from a directory that does get updated
UPSTREAM_CHECK_URI = "${DEBIAN_MIRROR}/main/a/apt/"
-inherit cmake perlnative bash-completion upstream-version-is-even
+inherit cmake perlnative bash-completion upstream-version-is-even useradd
+
+# User is added to allow apt to drop privs, will runtime warn without
+USERADD_PACKAGES = "${PN}"
+USERADD_PARAM_${PN} = "--system --home /nonexistent --no-create-home _apt"
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
DEPENDS += "virtual/libiconv virtual/libintl db gnutls lz4 zlib bzip2 xz"
@@ -41,7 +51,7 @@ do_configure_prepend () {
FILES_${PN} += "${prefix}/lib/dpkg ${prefix}/lib/apt"
RDEPENDS_${PN} += "bash perl dpkg"
-do_install_append_class-native() {
+customize_apt_conf_sample() {
cat > ${D}${sysconfdir}/apt/apt.conf.sample << EOF
Dir "${STAGING_DIR_NATIVE}/"
{
@@ -94,6 +104,15 @@ DPkg::Path "";
EOF
}
+do_install_append_class-native() {
+ customize_apt_conf_sample
+}
+
+do_install_append_class-nativesdk() {
+ customize_apt_conf_sample
+}
+
+
do_install_append_class-target() {
#Write the correct apt-architecture to apt.conf
APT_CONF=${D}/etc/apt/apt.conf