Bug#1036743: [Debian-med-packaging] Bug#1036743: kleborate: debsums reports modified files after apt-get upgrade && apt-get dist-upgrade

2023-05-25 Thread Andreas Beckmann

On 25/05/2023 14.42, Andreas Tille wrote:

Am Thu, May 25, 2023 at 10:34:10AM +0200 schrieb Étienne Mollier:


Installation of kleborate from sid and testing shown no issues.
Installation of kleborate from bullseye on bullseye is okay too.


Good.  Maybe we should reflect in BTS that this bug is not relevant for
bookworm?


It is relevant for bookworm, it's just not happening in the upgrade 
tests on piuparts.d.o (because that does no 2-step upgrades)


In the failing test kleborate got upgraded during 'apt-get upgrade' 
while ncbi-blast+ only got upgraded during the subsequent 'apt-get 
dist-upgrade'. So the kleborate.postinst from bookworm was actually 
running makeblastdb from bullseye, creating files in the "older" format.
Are these "old format" files still correctly usable after the 
dist-upgrade has been performed? Or would that need some kind of trigger 
mechanism to regenerate these files with the newer makeblastdb version?



I haven't checked closely yet, but I suspect the .ndb and .ntf
should be removed from the .deb and rely entirely on mkaeblastdb
to produce the files.  Looking that up…


Without checking this seems to be a sensible assumption.


Yes. Either the file is created at build time or at installation time. 
Doing both does not look like a sensible idea to me.
(And it didn't produce identical files, otherwise I wouldn't have 
noticed this bug)


Andreas



Bug#1036743: [Debian-med-packaging] Bug#1036743: kleborate: debsums reports modified files after apt-get upgrade && apt-get dist-upgrade

2023-05-25 Thread Étienne Mollier
I had difficulties reproducing the issue with piuparts, but I
manage to reproduce the problem as I suspected, with the
following upgrade path, most likely because of the inconsistent
makeblastdb version between the one used for building kleborate
in bookworm and the one "refreshed" during postinst by the one
available in bullseye:

 1.  kleborate from bullseye - ncbi-blast+ from bullseye
 dpkg --verify raises no complaints
 2.  kleborate from bookworm - ncbi-blast+ from bullseye
 dpkg --verify starts complaining here!
 3.  kleborate from bookworm - ncbi-blast+ from bookworm
 dpkg --verify still complains!

Upgrading on top of that with a package that only relies on
postinst script (and prerm to manually cleanup the artifacts):

 4.  kleborate fixed - ncbi-blast+ from bookworm
 dpkg --verify raises no complaints

The prerm change is important to ensure there are no leftovers
during package removal and purge.

The following upgrade path is also fixed:

 2. kleborate fixed - ncbi-blast+ from bullseye
dpkg --verify raises no complaints
 3. kleborate fixed - ncbi-blast+ from bookworm
dpkg --verify still raises no complaints

I just pushed my changes on salsa and will upload shorly if CI
tests do not raise anything else outstanding I would have missed
otherwise.

Have a nice day,  :)
-- 
Étienne Mollier 
Fingerprint:  8f91 b227 c7d6 f2b1 948c  8236 793c f67e 8f0d 11da
Sent from /dev/pts/3, please excuse my verbosity.


signature.asc
Description: PGP signature


Bug#1036743: [Debian-med-packaging] Bug#1036743: kleborate: debsums reports modified files after apt-get upgrade && apt-get dist-upgrade

2023-05-25 Thread Étienne Mollier
Hi Andreas Tille,

Andreas Tille, on 2023-05-25:
> Am Thu, May 25, 2023 at 10:34:10AM +0200 schrieb Étienne Mollier:
> > 
> > Installation of kleborate from sid and testing shown no issues.
> > Installation of kleborate from bullseye on bullseye is okay too.
> 
> Good.  Maybe we should reflect in BTS that this bug is not relevant for
> bookworm?

The problem is there is a specific upgrade order which causes
this bug to happen with the version provided in bookworm, so it
does affect this one too, but this is fixable.  I had difficulty
to reproduce the issue reliably with piuparts but I have the
manual steps.  Stay tuned, details are in a draft email.

Have a nice day,  :)
-- 
Étienne Mollier 
Fingerprint:  8f91 b227 c7d6 f2b1 948c  8236 793c f67e 8f0d 11da
Sent from /dev/pts/2, please excuse my verbosity.


signature.asc
Description: PGP signature


Bug#1036743: [Debian-med-packaging] Bug#1036743: kleborate: debsums reports modified files after apt-get upgrade && apt-get dist-upgrade

2023-05-25 Thread Andreas Tille
Hi Étienne,

Am Thu, May 25, 2023 at 10:34:10AM +0200 schrieb Étienne Mollier:
> 
> Installation of kleborate from sid and testing shown no issues.
> Installation of kleborate from bullseye on bullseye is okay too.

Good.  Maybe we should reflect in BTS that this bug is not relevant for
bookworm?

> I suspect this is related to the following code snippet in
> postinst, where a change in makeblastdb output format from
> bullseye to bookworm could have caused a mismatch:
> 
> for fasta in /usr/lib/python3/dist-packages/kleborate/data/*.fasta ; 
> do
> makeblastdb -dbtype nucl -in "$fasta" > /dev/null
> done
> 
> I haven't checked closely yet, but I suspect the .ndb and .ntf
> should be removed from the .deb and rely entirely on mkaeblastdb
> to produce the files.  Looking that up…

Without checking this seems to be a sensible assumption.

Thanks a lot for picking this up that quickly

Andreas.

-- 
http://fam-tille.de



Bug#1036743: [Debian-med-packaging] Bug#1036743: kleborate: debsums reports modified files after apt-get upgrade && apt-get dist-upgrade

2023-05-25 Thread Étienne Mollier
Hi all,

Andreas Beckmann, on 2023-05-25:
> during a test with piuparts I noticed debsums reporting modified files
> after a 2-stage upgrade from bullseye to bookworm:
>   apt-get upgrade
>   apt-get dist-upgrade
> (It does not happen if only a single-stage apt-get dist-upgrade is used)
> 
> kleborate gets upgraded during the first stage, 'apt-get upgrade'.
> 
> >From the attached log (scroll to the bottom...):
> 
> 2m4.4s ERROR: FAIL: debsums reports modifications inside the chroot:
>   /usr/lib/python3/dist-packages/kleborate/data/CARD_v3.1.13.fasta.ndb
>   /usr/lib/python3/dist-packages/kleborate/data/CARD_v3.1.13.fasta.ntf
>   
> /usr/lib/python3/dist-packages/kleborate/data/Klebsiella_pneumoniae.fasta.ndb
>   
> /usr/lib/python3/dist-packages/kleborate/data/Klebsiella_pneumoniae.fasta.ntf
>   /usr/lib/python3/dist-packages/kleborate/data/MgrB_and_PmrB.fasta.ndb
>   /usr/lib/python3/dist-packages/kleborate/data/MgrB_and_PmrB.fasta.ntf
>   /usr/lib/python3/dist-packages/kleborate/data/OmpK.fasta.ndb
>   /usr/lib/python3/dist-packages/kleborate/data/OmpK.fasta.ntf
>   /usr/lib/python3/dist-packages/kleborate/data/QRDR_120.fasta.ndb
>   /usr/lib/python3/dist-packages/kleborate/data/QRDR_120.fasta.ntf
>   /usr/lib/python3/dist-packages/kleborate/data/clb_alleles.fasta.ndb
>   /usr/lib/python3/dist-packages/kleborate/data/clb_alleles.fasta.ntf
>   /usr/lib/python3/dist-packages/kleborate/data/iro_alleles.fasta.ndb
>   /usr/lib/python3/dist-packages/kleborate/data/iro_alleles.fasta.ntf
>   /usr/lib/python3/dist-packages/kleborate/data/iuc_alleles.fasta.ndb
>   /usr/lib/python3/dist-packages/kleborate/data/iuc_alleles.fasta.ntf
>   /usr/lib/python3/dist-packages/kleborate/data/rmpA2.fasta.ndb
>   /usr/lib/python3/dist-packages/kleborate/data/rmpA2.fasta.ntf
>   /usr/lib/python3/dist-packages/kleborate/data/rmp_alleles.fasta.ndb
>   /usr/lib/python3/dist-packages/kleborate/data/rmp_alleles.fasta.ntf
>   /usr/lib/python3/dist-packages/kleborate/data/wzi.fasta.ndb
>   /usr/lib/python3/dist-packages/kleborate/data/wzi.fasta.ntf
>   /usr/lib/python3/dist-packages/kleborate/data/ybt_alleles.fasta.ndb
>   /usr/lib/python3/dist-packages/kleborate/data/ybt_alleles.fasta.ntf

I'm not sure what's up, but I could reproduce a very similar
issue by installing kleborate 2.0.1-1 from bullseye on sid, and
this resulted to same or similar mismatches:

$ dpkg --verify kleborate
??5??   /usr/lib/python3/dist-packages/kleborate/data/CARD_v3.0.8.fasta.ndb
??5??   /usr/lib/python3/dist-packages/kleborate/data/CARD_v3.0.8.fasta.ntf
??5??   
/usr/lib/python3/dist-packages/kleborate/data/Klebsiella_pneumoniae.fasta.ndb
??5??   
/usr/lib/python3/dist-packages/kleborate/data/Klebsiella_pneumoniae.fasta.ntf
??5??   
/usr/lib/python3/dist-packages/kleborate/data/MgrB_and_PmrB.fasta.ndb
??5??   
/usr/lib/python3/dist-packages/kleborate/data/MgrB_and_PmrB.fasta.ntf
??5??   /usr/lib/python3/dist-packages/kleborate/data/OmpK.fasta.ndb
??5??   /usr/lib/python3/dist-packages/kleborate/data/OmpK.fasta.ntf
??5??   /usr/lib/python3/dist-packages/kleborate/data/QRDR_120.fasta.ndb
??5??   /usr/lib/python3/dist-packages/kleborate/data/QRDR_120.fasta.ntf
??5??   /usr/lib/python3/dist-packages/kleborate/data/clb_alleles.fasta.ndb
??5??   /usr/lib/python3/dist-packages/kleborate/data/clb_alleles.fasta.ntf
??5??   /usr/lib/python3/dist-packages/kleborate/data/iro_alleles.fasta.ndb
??5??   /usr/lib/python3/dist-packages/kleborate/data/iro_alleles.fasta.ntf
??5??   /usr/lib/python3/dist-packages/kleborate/data/iuc_alleles.fasta.ndb
??5??   /usr/lib/python3/dist-packages/kleborate/data/iuc_alleles.fasta.ntf
??5??   /usr/lib/python3/dist-packages/kleborate/data/rmpA2.fasta.ndb
??5??   /usr/lib/python3/dist-packages/kleborate/data/rmpA2.fasta.ntf
??5??   /usr/lib/python3/dist-packages/kleborate/data/rmp_alleles.fasta.ndb
??5??   /usr/lib/python3/dist-packages/kleborate/data/rmp_alleles.fasta.ntf
??5??   /usr/lib/python3/dist-packages/kleborate/data/wzi.fasta.ndb
??5??   /usr/lib/python3/dist-packages/kleborate/data/wzi.fasta.ntf
??5??   /usr/lib/python3/dist-packages/kleborate/data/ybt_alleles.fasta.ndb
??5??   /usr/lib/python3/dist-packages/kleborate/data/ybt_alleles.fasta.ntf

Installation of kleborate from sid and testing shown no issues.
Installation of kleborate from bullseye on bullseye is okay too.
I suspect this is related to the following code snippet in
postinst, where a change in makeblastdb output format from
bullseye to bookworm could have caused a mismatch:

for fasta in /usr/lib/python3/dist-packages/kleborate/data/*.fasta ; do
makeblastdb -dbtype nucl -in "$fasta" > /dev/null
done

I haven't checked closely yet, but I suspect the .ndb and .ntf
should be removed from the .deb and rely entirely on mkaeblastdb
to produce the files.  Looking that up…

Have a nice day,  :)
-- 
Étienne Mollier 
Fingerprint:  8f91 b227 c7d6 f2b1