[OE-core] [PATCH] apt: Port apt-file to busybox readlink

Ricardo Ribalda Delgado ricardo.ribalda at gmail.com
Thu May 17 08:52:32 UTC 2018


Redlink from busybox and coreutils behave differently on missing files.
This leads to apt-key miss-behaving and also segure apt-get

root at qt5122:~# apt-key exportall
touch: : No such file or directory

W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://release.qtec.com:5022/qtec/europa/deb/qt5122 ./ Release: At least one invalid signature was encountered.
---
 meta/recipes-devtools/apt/apt.inc             |  1 +
 ...t-Fix-apt-file-with-busybox-readlink.patch | 41 +++++++++++++++++++
 2 files changed, 42 insertions(+)
 create mode 100644 meta/recipes-devtools/apt/apt/0001-apt-Fix-apt-file-with-busybox-readlink.patch

diff --git a/meta/recipes-devtools/apt/apt.inc b/meta/recipes-devtools/apt/apt.inc
index f1cde3068d..995bfc45ee 100644
--- a/meta/recipes-devtools/apt/apt.inc
+++ b/meta/recipes-devtools/apt/apt.inc
@@ -13,6 +13,7 @@ SRC_URI = "http://archive.ubuntu.com/ubuntu/pool/main/a/${BPN}/${BPN}_${PV}.tar.
            file://disable-test.patch \
            file://0001-environment.mak-musl-based-systems-can-generate-shar.patch \
            file://0001-apt-1.2.12-Fix-musl-build.patch \
+           file://0001-apt-Fix-apt-file-with-busybox-readlink.patch \
            "
 SRC_URI[md5sum] = "ce8f9ab11f4fd0a08ec73eaffd75c8f0"
 SRC_URI[sha256sum] = "fa1311a9ce00e72379a0a3bc6d240ba30c0968cfbbb3472859e50b99e24e9598"
diff --git a/meta/recipes-devtools/apt/apt/0001-apt-Fix-apt-file-with-busybox-readlink.patch b/meta/recipes-devtools/apt/apt/0001-apt-Fix-apt-file-with-busybox-readlink.patch
new file mode 100644
index 0000000000..684e3b1626
--- /dev/null
+++ b/meta/recipes-devtools/apt/apt/0001-apt-Fix-apt-file-with-busybox-readlink.patch
@@ -0,0 +1,41 @@
+From 3e0804f7882088186f47ff3c3c9e60998a1d93a0 Mon Sep 17 00:00:00 2001
+From: Ricardo Ribalda Delgado <ricardo.ribalda at gmail.com>
+Date: Thu, 17 May 2018 10:42:44 +0200
+Subject: [PATCH] apt: Fix apt-file with busybox readlink
+
+Busybox readlink behaves diferently that coreutils readlink:
+
+root at qt5122:~# touch /tmp/this_file_exist
+root at qt5122:~# busybox readlink -f /tmp/this_file_exist
+/tmp/this_file_exist
+root at qt5122:~# readlink -f /tmp/this_file_exist
+/tmp/this_file_exist
+
+root at qt5122:~# readlink -f /tmp/this_file_does_not_exist
+/tmp/this_file_does_not_exist
+root at qt5122:~# busybox readlink -f /tmp/this_file_does_not_exist
+root at qt5122:~#
+
+This patch make apt-file compatible with busybox readlink
+
+Upstream-Status: Inappropriate [OE specific]
+Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda at gmail.com>
+---
+ cmdline/apt-key.in | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/cmdline/apt-key.in b/cmdline/apt-key.in
+index eab5805..421c981 100644
+--- a/cmdline/apt-key.in
++++ b/cmdline/apt-key.in
+@@ -313,6 +313,7 @@ merge_all_trusted_keyrings_into_pubring() {
+     # does the same as:
+     # foreach_keyring_do 'import_keys_from_keyring' "${GPGHOMEDIR}/pubring.gpg"
+     # but without using gpg, just cat and find
++    touch "${GPGHOMEDIR}/pubring.gpg"
+     local PUBRING="$(readlink -f "${GPGHOMEDIR}/pubring.gpg")"
+     rm -f "$PUBRING"
+     touch "$PUBRING"
+-- 
+2.17.0
+
-- 
2.17.0




More information about the Openembedded-core mailing list