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

Ricardo Ribalda Delgado ricardo.ribalda at gmail.com
Thu May 17 12:01:57 UTC 2018


Hi Andreas

Yes, I agree. But until that happen we can fix the bug with a one liner
that works for coreutils and busybox without risking program relaying on
the wrong behaviour of busybox
On Thu, May 17, 2018 at 1:39 PM Andreas Oberritter <obi at opendreambox.org>
wrote:

> Dear Ricardo,

> On Thu, 17 May 2018 10:57:04 +0200
> Ricardo Ribalda Delgado <ricardo.ribalda at gmail.com> wrote:

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

> wouldn't it be more appropriate to improve the behavior of busybox?

> Best regards,
> Andreas


> >
> > 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.
> >
> > Signed-off-by: Ricardo Ribalda Delgado <ricardo.ribalda at gmail.com>
> > ---
> > v2: Add missing signed-off-by
> >
> >  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
> > +



-- 
Ricardo Ribalda



More information about the Openembedded-core mailing list