Hi Laurent,

Laurent Bigonville <bi...@debian.org> (2018-10-27):
> Package: electrum
> Version: 3.2.3-1
> Severity: serious
> 
> Hi,
> 
> It seems that /usr/share/pixmaps/electrum.png has moved from
> python3-electrum to electrum package without the proper Breaks/Replaces.
> 
> This caused the file to be completely absent from my system (not exactly
> sure why TBH)
> 
> You should add Breaks/Replaces: python3-electrum (<< 3.2.3-1~) I guess

I'm investigating this bug report on behalf of the Tails Foundations
Team[1], because our current feature/buster branch fails to build,
lacking an electrum package in buster.

 1. https://tails.boum.org/contribute/working_together/roles/foundations_team/

Inspecting binaries, I can confirm your findings:
| $ debdiff electrum_3.1.3-1_all.deb electrum_3.2.3-1_all.deb
| 
| Files in second .deb but not in first
| -------------------------------------
| -rw-r--r--  root/root   /usr/share/pixmaps/electrum.png

and:
| $ debdiff \
|     --move usr/lib/python3/dist-packages/electrum{_,/}plugins        \
|     --move usr/lib/python3/dist-packages/electrum{_,/}gui            \
|     --move usr/lib/python3/dist-packages/Electrum-3.{1,2}.3.egg-info \
|     python3-electrum_3.1.3-1_all.deb python3-electrum_3.2.3-1_all.deb
| 
| Files in second .deb but not in first
| -------------------------------------
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/address_synchronizer.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/base_crash_reporter.py
| -rw-r--r--  root/root   /usr/lib/python3/dist-packages/electrum/crypto.py
| -rw-r--r--  root/root   /usr/lib/python3/dist-packages/electrum/ecc.py
| -rw-r--r--  root/root   /usr/lib/python3/dist-packages/electrum/ecc_fast.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/locale/be_BY/LC_MESSAGES/electrum.mo
| -rw-r--r--  root/root   /usr/lib/python3/dist-packages/electrum/plugin.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/coldcard/__init__.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/coldcard/cmdline.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/coldcard/coldcard.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/coldcard/qt.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/labels/cmdline.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/revealer/LICENSE_DEJAVU.txt
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/revealer/SIL Open Font 
License.txt
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/revealer/__init__.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/revealer/hmac_drbg.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/revealer/qt.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/safe_t/__init__.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/safe_t/client.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/safe_t/clientbase.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/safe_t/cmdline.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/safe_t/qt.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/safe_t/safe_t.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/safe_t/transport.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/trustedcoin/kivy.py
| 
| Files in first .deb but not in second
| -------------------------------------
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/fee_estimator.py
| -rw-r--r--  root/root   /usr/lib/python3/dist-packages/electrum/plugins.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/keepkey/plugin.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/keepkey/qt_generic.py
| -rw-r--r--  root/root   
/usr/lib/python3/dist-packages/electrum/plugins/trezor/qt_generic.py
| -rw-r--r--  root/root   /usr/share/pixmaps/electrum.png

So basically there were a few directory renames and a bunch of code that
changed, but only a single file (the said electrum.png) moving from one
binary to the other one.

I haven't been able to pinpoint exactly what changed, because trying to
rebuild 3.1.3-1 in sid leads to an FTBFS:
| running install_scripts
| creating 
/home/kibi/work/clients/tails/electrum/electrum/debian/python3-electrum/usr/bin
| copying build/scripts-3.7/electrum -> 
/home/kibi/work/clients/tails/electrum/electrum/debian/python3-electrum/usr/bin
| changing mode of 
/home/kibi/work/clients/tails/electrum/electrum/debian/python3-electrum/usr/bin/electrum
 to 755
| mkdir -p debian/electrum/usr/bin debian/electrum/usr/share
| mv debian/python3-electrum/usr/bin debian/electrum/usr
| mv debian/python3-electrum/usr/share/applications \
|    debian/electrum/usr/share
| mv: cannot stat 'debian/python3-electrum/usr/share/applications': No such 
file or directory

setup.py doesn't seem to have been updated regarding that data file,
stored in the data_files variable and used in the same way in 3.1.3-1
and in 3.2.3-1, so I suspect the tooling might have changed (at least
python3-setuptools seems to have been updated several times, without
much details in its debian/changelog).

I think I won't dig into it much more, and just ACK the image move from
one package to another through the proposed Breaks/Replaces
relationship.

I'll set up a chroot-based test case, upgrading from older electrum &
python3-electrum packages, checking they fail to upgrade to sid's
packages; then redo this with fixed packages. I'll post the final patch
and upload (possibly to DELAYED) once I'm done with testing.


Cheers,
-- 
Cyril Brulebois -- Debian Consultant @ DEBAMAX -- https://debamax.com/

Attachment: signature.asc
Description: PGP signature

Reply via email to