diff options
author | jmbills <jason.m.bills@intel.com> | 2021-08-03 01:45:08 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-08-03 01:45:08 +0300 |
commit | 10ad77d5bc86709d8ff7f95e7040e39f1c153903 (patch) | |
tree | 307cedb87f4c0a329740c55ac364ed489d1d8fc2 /poky/meta/recipes-devtools/apt/apt_2.2.4.bb | |
parent | c6b1c6ba7a01b7987d65d61c262c44c320193108 (diff) | |
parent | 67327ddc580cb9a85219a534844832a1682780d4 (diff) | |
download | openbmc-10ad77d5bc86709d8ff7f95e7040e39f1c153903.tar.xz |
Update
Diffstat (limited to 'poky/meta/recipes-devtools/apt/apt_2.2.4.bb')
-rw-r--r-- | poky/meta/recipes-devtools/apt/apt_2.2.4.bb | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/poky/meta/recipes-devtools/apt/apt_2.2.4.bb b/poky/meta/recipes-devtools/apt/apt_2.2.4.bb new file mode 100644 index 000000000..f12011141 --- /dev/null +++ b/poky/meta/recipes-devtools/apt/apt_2.2.4.bb @@ -0,0 +1,135 @@ +SUMMARY = "Advanced front-end for dpkg" +DESCRIPTION = "APT is the Advanced Package Tool, an advanced interface to the Debian packaging system which provides the apt-get program." +HOMEPAGE = "https://packages.debian.org/jessie/apt" +LICENSE = "GPLv2.0+" +SECTION = "base" + +# Triehash script taken from https://github.com/julian-klode/triehash +SRC_URI = "${DEBIAN_MIRROR}/main/a/apt/${BPN}_${PV}.tar.xz \ + file://triehash \ + file://0001-Disable-documentation-directory-altogether.patch \ + file://0001-Fix-musl-build.patch \ + file://0001-CMakeLists.txt-avoid-changing-install-paths-based-on.patch \ + file://0001-srvrec-Keep-support-for-older-resolver.patch \ + file://0001-cmake-Do-not-build-po-files.patch \ + file://0001-Hide-fstatat64-and-prlimit64-defines-on-musl.patch \ + file://0001-aptwebserver.cc-Include-array.patch \ + " + +SRC_URI_append_class-native = " \ + file://0001-Do-not-init-tables-from-dpkg-configuration.patch \ + file://0001-Revert-always-run-dpkg-configure-a-at-the-end-of-our.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 \ + " + +SRC_URI[sha256sum] = "6eecd04a4979bd2040b22a14571c15d342c4e1802b2023acb5aa19649b1f64ea" +LIC_FILES_CHKSUM = "file://COPYING.GPL;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +# the package is taken from snapshots.debian.org; that source is static and goes stale +# 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 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 nativesdk" + +DEPENDS += "db gnutls lz4 zlib bzip2 xz libgcrypt xxhash" + +EXTRA_OECMAKE_append = " -DCURRENT_VENDOR=debian -DWITH_DOC=False \ + -DDPKG_DATADIR=${datadir}/dpkg \ + -DTRIEHASH_EXECUTABLE=${WORKDIR}/triehash \ + -DCMAKE_DISABLE_FIND_PACKAGE_ZSTD=True \ + -DCMAKE_DISABLE_FIND_PACKAGE_SECCOMP=True \ + -DWITH_TESTS=False \ +" + +do_configure_prepend () { + echo "set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH )" >> ${WORKDIR}/toolchain.cmake + +} + +# Unfortunately apt hardcodes this all over the place +FILES_${PN} += "${prefix}/lib/dpkg ${prefix}/lib/apt" +RDEPENDS_${PN} += "bash perl dpkg" + +customize_apt_conf_sample() { + cat > ${D}${sysconfdir}/apt/apt.conf.sample << EOF +Dir "${STAGING_DIR_NATIVE}/" +{ + State "var/lib/apt/" + { + Lists "#APTCONF#/lists/"; + status "#ROOTFS#/var/lib/dpkg/status"; + }; + Cache "var/cache/apt/" + { + Archives "archives/"; + pkgcache ""; + srcpkgcache ""; + }; + Bin "${STAGING_BINDIR_NATIVE}/" + { + methods "${STAGING_LIBDIR}/apt/methods/"; + gzip "/bin/gzip"; + dpkg "dpkg"; + dpkg-source "dpkg-source"; + dpkg-buildpackage "dpkg-buildpackage"; + apt-get "apt-get"; + apt-cache "apt-cache"; + }; + Etc "#APTCONF#" + { + Preferences "preferences"; + }; + Log "var/log/apt"; +}; + +APT +{ + Install-Recommends "true"; + Immediate-Configure "false"; + Architecture "i586"; + Get + { + Assume-Yes "true"; + }; +}; + +Acquire +{ + AllowInsecureRepositories "true"; +}; + +DPkg::Options {"--root=#ROOTFS#";"--admindir=#ROOTFS#/var/lib/dpkg";"--force-all";"--no-debsig"}; +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 + echo 'APT::Architecture "${DPKG_ARCH}";' > ${APT_CONF} +} + +# Avoid non-reproducible -src package +do_install_append () { + sed -i -e "s,${B},,g" \ + ${B}/apt-pkg/tagfile-keys.cc +} |