From be36b825ada573b2a7df9884eaab78664928594a Mon Sep 17 00:00:00 2001 From: hongxu Date: Fri, 15 Jan 2021 17:45:35 +0800 Subject: 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 Signed-off-by: Richard Purdie --- meta-selftest/files/static-group | 1 + meta-selftest/files/static-passwd | 1 + meta/recipes-devtools/apt/apt_1.8.2.1.bb | 25 ++++++++++++++++++++++--- 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/meta-selftest/files/static-group b/meta-selftest/files/static-group index 892231b6e0..5487ed6e32 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 babbfbc9de..f663361f4a 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 de0e150a2e..9fc6e54a29 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 -- cgit 1.2.3-korg