Package: libsigrokdecode2
Version: 0.3.0-1+b3
Severity: important
Dear Maintainer,
libsigrokdecode2 is marked as Multi-Arch: same but its postinst and preinst
scripts call pycompile and pyclean without specifying the package architecture.
As
a result if libsigrokdecode2 is installed for more than one architecture the
package name is ambiguous, causing the postinst and prerm scripts fail.
This then prevents any package from being installed or removed, thus breaking
the system permanently.
The solution is to replace the following line in
/var/lib/dpkg/info/libsigrokdecode2:*.postinst
py3compile -p libsigrokdecode2 /usr/share/libsigrokdecode2 -V 3.2-
with
py3compile -p libsigrokdecode2:$DPKG_MAINTSCRIPT_ARCH
/usr/share/libsigrokdecode2 -V 3.2-
And the following lines in /var/lib/dpkg/info/libsigrokdecode2:*.prerm
py3clean -p libsigrokdecode2
else
dpkg -L libsigrokdecode2 | perl -ne 's,/([^/]*)\.py$,/__pycache__/\1.*,
or next; unlink $_ or die $! foreach glob($_)'
with:
py3clean -p libsigrokdecode2:$DPKG_MAINTSCRIPT_ARCH
else
dpkg -L libsigrokdecode2:$DPKG_MAINTSCRIPT_ARCH | perl -ne
's,/([^/]*)\.py$,/__pycache__/\1.*, or next; unlink $_ or die $! foreach
glob($_)'
Note that this bugs still affects Debian 9.4, the current stable release.
See also bug #770625 which shows how this same bug was fixed in gir1.2-ibus-1.0.
-- System Information:
Debian Release: 9.1
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.9.0-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8),
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages libsigrokdecode2:amd64 depends on:
ii libc6 2.24-11+deb9u3
ii libglib2.0-0 2.50.3-2
ii libpython3.5 3.5.3-1
ii python3 3.5.3-1
libsigrokdecode2:amd64 recommends no packages.
libsigrokdecode2:amd64 suggests no packages.
-- no debconf information