Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch

2017-02-08 Thread Andreas Beckmann
Package: dpkg
Version: 1.18.18
Severity: serious
User: debian...@lists.debian.org
Usertags: piuparts
Control: affects -1 + libcrypt-cracklib-perl

Hi,

I just noticed this trigger related problem during a piuparts upgrade
test of libcrypt-cracklib-perl from jessie to stretch. I can reproduce
it on both amd64 and i386, but it requires --install-recommends to show
up. If you need more debug info, I can now easily rerun the failed tests
and enter the chroot after the failure to collect more info.

>From the attached log (scroll to the bottom...):

[...]
  Preparing to unpack .../archives/bash_4.4-4_i386.deb ...
  Unpacking bash (4.4-4) over (4.3-11+deb8u1) ...
  dpkg: dependency problems prevent processing triggers for cracklib-runtime:
   cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
Package libcrack2:i386 is not configured yet.
  
  dpkg: error processing package cracklib-runtime (--configure):
   dependency problems - leaving triggers unprocessed
  dpkg: dependency problems prevent processing triggers for cracklib-runtime:
   cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
Package libcrack2:i386 is not configured yet.
  
  dpkg: error processing package cracklib-runtime (--configure):
   dependency problems - leaving triggers unprocessed
  dpkg: dependency problems prevent processing triggers for cracklib-runtime:
   cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
Package libcrack2:i386 is not configured yet.
  
  dpkg: error processing package cracklib-runtime (--configure):
   dependency problems - leaving triggers unprocessed
  dpkg: dependency problems prevent processing triggers for cracklib-runtime:
   cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
Package libcrack2:i386 is not configured yet.
  
  dpkg: error processing package cracklib-runtime (--configure):
   dependency problems - leaving triggers unprocessed
  dpkg: dependency problems prevent processing triggers for cracklib-runtime:
   cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
Package libcrack2:i386 is not configured yet.
  
  dpkg: error processing package cracklib-runtime (--configure):
   dependency problems - leaving triggers unprocessed
  dpkg: dependency problems prevent processing triggers for cracklib-runtime:
   cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
Package libcrack2:i386 is not configured yet.
  
  dpkg: error processing package cracklib-runtime (--configure):
   dependency problems - leaving triggers unprocessed
  dpkg: dependency problems prevent processing triggers for cracklib-runtime:
   cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
Package libcrack2:i386 is not configured yet.
  
  dpkg: error processing package cracklib-runtime (--configure):
   dependency problems - leaving triggers unprocessed
  dpkg: dependency problems prevent processing triggers for cracklib-runtime:
   cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
Package libcrack2:i386 is not configured yet.
  
  dpkg: error processing package cracklib-runtime (--configure):
   dependency problems - leaving triggers unprocessed
  dpkg: dependency problems prevent processing triggers for cracklib-runtime:
   cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
Package libcrack2:i386 is not configured yet.
  
  dpkg: error processing package cracklib-runtime (--configure):
   dependency problems - leaving triggers unprocessed
  dpkg: dependency problems prevent processing triggers for cracklib-runtime:
   cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
Package libcrack2:i386 is not configured yet.
  
  dpkg: error processing package cracklib-runtime (--configure):
   dependency problems - leaving triggers unprocessed
  dpkg: dependency problems prevent processing triggers for cracklib-runtime:
   cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
Package libcrack2:i386 is not configured yet.
  
  dpkg: error processing package cracklib-runtime (--configure):
   dependency problems - leaving triggers unprocessed
  dpkg: dependency problems prevent processing triggers for cracklib-runtime:
   cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
Package libcrack2:i386 is not configured yet.
  
  dpkg: error processing package cracklib-runtime (--configure):
   dependency problems - leaving triggers unprocessed
  dpkg: dependency problems prevent processing triggers for cracklib-runtime:
   cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
Package libcrack2:i386 is not configured yet.
  
  dpkg: error processing package cracklib-runtime (--configure):
   dependency problems - leaving triggers unprocessed
  dpkg: dependency problems prevent processing triggers for cracklib-runtime:
   cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
Package libcrack2:i386 is not configured yet.
  
  dpkg: error processing package cracklib-runtime (--con

Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch

2017-04-27 Thread Andreas Beckmann
Followup-For: Bug #854554
Control: found -1 2.9.2-4
Control: affects -1 + libcrypt-cracklib-perl

Hi,

this problem has been solved completely, yet, since nothing prevents the
old cracklib-runtime from being triggered during the upgrade. (Could be
a problem in jessie's apt and therefore needs to worked around.)
I just verified that this can be solved by the following change:

  Package: libcrack2
  Breaks: cracklib-runtime (<< 2.9.2-4)

This will cause the old cracklib-runtime to be either deconfigured or
the new cracklib-runtime be unpacked (but not configured) before the new
libcrack2 gets unpacked, preventing the old triggers from being run.

(The problem was

  dpkg: error processing package cracklib-runtime (--configure):
   dependency problems - leaving triggers unprocessed
  dpkg: dependency problems prevent processing triggers for cracklib-runtime:
   cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
Package libcrack2:i386 is not configured yet.

i.e. that's cracklib-runtime from jessie)



Andreas



Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch

2017-05-23 Thread Niels Thykier
On Thu, 27 Apr 2017 18:10:17 +0200 Andreas Beckmann  wrote:
> Followup-For: Bug #854554
> Control: found -1 2.9.2-4
> Control: affects -1 + libcrypt-cracklib-perl
> 
> Hi,
> 

Hi Jan,

Thanks for fixing the original part of this bug.

Andreas noticed a deficiency in the suggested implementation that
affects the current version.  Could I convince you to apply the
following fix as well?

Thanks,
~Niels

> this problem has been solved completely, yet, since nothing prevents the
> old cracklib-runtime from being triggered during the upgrade. (Could be
> a problem in jessie's apt and therefore needs to worked around.)
> I just verified that this can be solved by the following change:
> 
>   Package: libcrack2
>   Breaks: cracklib-runtime (<< 2.9.2-4)
> 
> This will cause the old cracklib-runtime to be either deconfigured or
> the new cracklib-runtime be unpacked (but not configured) before the new
> libcrack2 gets unpacked, preventing the old triggers from being run.
> 
> (The problem was
> 
>   dpkg: error processing package cracklib-runtime (--configure):
>dependency problems - leaving triggers unprocessed
>   dpkg: dependency problems prevent processing triggers for cracklib-runtime:
>cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
> Package libcrack2:i386 is not configured yet.
> 
> i.e. that's cracklib-runtime from jessie)
> 
> 
> 
> Andreas
> 
> 



Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch

2017-04-01 Thread Guillem Jover
Hi!

[
  Sorry for taking so much time to dig into this. Reproducing, checking
  and diagnosing trigger issues imply usually spending significant
  amounts of time on it, which I didn't have back then, and it's a bit
  of a drag to be the "support channel" for trigger issues too. :)

  Anyway, thanks go to Niels, who by looking into this, prompted me to
  do the same. ;)
]

On Wed, 2017-02-08 at 11:42:29 +0100, Andreas Beckmann wrote:
> Package: dpkg
> Version: 1.18.18
> Severity: serious
> User: debian...@lists.debian.org
> Usertags: piuparts
> Control: affects -1 + libcrypt-cracklib-perl

> I just noticed this trigger related problem during a piuparts upgrade
> test of libcrypt-cracklib-perl from jessie to stretch. I can reproduce
> it on both amd64 and i386, but it requires --install-recommends to show
> up. If you need more debug info, I can now easily rerun the failed tests
> and enter the chroot after the failure to collect more info.
> 
> >From the attached log (scroll to the bottom...):
> 
> [...]
>   Preparing to unpack .../archives/bash_4.4-4_i386.deb ...
>   Unpacking bash (4.4-4) over (4.3-11+deb8u1) ...
>   dpkg: dependency problems prevent processing triggers for cracklib-runtime:
>cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
> Package libcrack2:i386 is not configured yet.
[…]
>   dpkg: too many errors, stopping
>   Errors were encountered while processing:
>cracklib-runtime
[…]
>cracklib-runtime
>   Processing wE: Sub-process /usr/bin/dpkg returned an error code (1)

I think this is an issue with apt explicitly asking dpkg to configure
only cracklib-runtime when its dependencies are not satisfied because
they are awaiting on trigger processing, and apt is not asking for
those other packages to be configured too. So dpkg cannot fulfill the
request.

I think a simple reproducer on a clean chroot, is to:

  $ cd /var/cache/apt/archives
  $ apt-get install --install-recommends libcrypt-cracklib-perl
  $ dpkg --unpack libcrack2_*.deb
  $ dpkg --install wamerican_*.deb
  $ dpkg --configure cracklib-runtime

My expectation is that after the reported state is found on piuparts,
running:

  $ dpkg --configure --pending

or even something like:

  $ dpkg --configure cracklib-runtime libcrack2

would let dpkg configure that package correctly w/o complaining about
the unsatisfiable dependency. Andreas, is that indeed the case? If it
is then this needs to be reassigned to apt.

Thanks,
Guillem



Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch

2017-04-05 Thread Andreas Beckmann
On 2017-04-02 01:37, Guillem Jover wrote:
> My expectation is that after the reported state is found on piuparts,
> running:
> 
>   $ dpkg --configure --pending
> 
> or even something like:
> 
>   $ dpkg --configure cracklib-runtime libcrack2
> 
> would let dpkg configure that package correctly w/o complaining about
> the unsatisfiable dependency. Andreas, is that indeed the case? If it
> is then this needs to be reassigned to apt.

OK, let's try that in the chroot after the failure occurred:

# # just verify that the problem is still there
# dpkg --configure cracklib-runtime
dpkg: dependency problems prevent processing triggers for cracklib-runtime:
 cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
  Package libcrack2:i386 is not configured yet.

dpkg: error processing package cracklib-runtime (--configure):
 dependency problems - leaving triggers unprocessed
Errors were encountered while processing:
 cracklib-runtime

# dpkg --configure cracklib-runtime libcrack2
Setting up libcrack2:i386 (2.9.2-3+b1) ...
Processing triggers for cracklib-runtime (2.9.2-1) ...
Processing triggers for libc-bin (2.24-9) ...

# dpkg --configure --pending
Setting up perl-modules-5.24 (5.24.1-2) ...
Setting up libgdbm3:i386 (1.8.3-14) ...
Setting up libperl5.24:i386 (5.24.1-2) ...
Setting up bash (4.4-4+b1) ...
[...]


So the fault is in apt ... and that's jessie's version of apt that is
running the upgrade :-(

If I start the upgrade with upgrading only apt (and its dependencies)
and thereafter running the dist-upgrade (with squeeze's version of apt),
I cannot reproduce the bug.


Andreas



Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch

2017-04-07 Thread Guillem Jover
Control: reassign -1 apt

[ Please see the bug archive for more context. ]

Hi!

On Wed, 2017-04-05 at 22:01:17 +0200, Andreas Beckmann wrote:
> On 2017-04-02 01:37, Guillem Jover wrote:
> > My expectation is that after the reported state is found on piuparts,
> > running:
> > 
> >   $ dpkg --configure --pending
> > 
> > or even something like:
> > 
> >   $ dpkg --configure cracklib-runtime libcrack2
> > 
> > would let dpkg configure that package correctly w/o complaining about
> > the unsatisfiable dependency. Andreas, is that indeed the case? If it
> > is then this needs to be reassigned to apt.
> 
> OK, let's try that in the chroot after the failure occurred:
> 
> # # just verify that the problem is still there
> # dpkg --configure cracklib-runtime
> dpkg: dependency problems prevent processing triggers for cracklib-runtime:
>  cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however:
>   Package libcrack2:i386 is not configured yet.
> 
> dpkg: error processing package cracklib-runtime (--configure):
>  dependency problems - leaving triggers unprocessed
> Errors were encountered while processing:
>  cracklib-runtime
> 
> # dpkg --configure cracklib-runtime libcrack2
> Setting up libcrack2:i386 (2.9.2-3+b1) ...
> Processing triggers for cracklib-runtime (2.9.2-1) ...
> Processing triggers for libc-bin (2.24-9) ...
> 
> # dpkg --configure --pending
> Setting up perl-modules-5.24 (5.24.1-2) ...
> Setting up libgdbm3:i386 (1.8.3-14) ...
> Setting up libperl5.24:i386 (5.24.1-2) ...
> Setting up bash (4.4-4+b1) ...
> [...]
> 
> 
> So the fault is in apt ... and that's jessie's version of apt that is
> running the upgrade :-(
> 
> If I start the upgrade with upgrading only apt (and its dependencies)
> and thereafter running the dist-upgrade (with squeeze's version of apt),
> I cannot reproduce the bug.

Thanks for verifying! Reassigned now to apt.

Regards,
Guillem



Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch

2017-04-08 Thread David Kalnischkies
Control: reassign -1 libcrypt-cracklib-perl 1.7-2
# beware, this is an RC bug!

[CC'ed cracklib2 & perl maintainers as it seems to be some "funny"
interaction between packages in their responsibility space.]

On Sat, Apr 08, 2017 at 04:50:15AM +0200, Guillem Jover wrote:
> [ Please see the bug archive for more context. ]
[…]
> > So the fault is in apt ... and that's jessie's version of apt that is
> > running the upgrade :-(
> > 
> > If I start the upgrade with upgrading only apt (and its dependencies)
> > and thereafter running the dist-upgrade (with squeeze's version of apt),
> > I cannot reproduce the bug.
> 
> Thanks for verifying! Reassigned now to apt.

So, given that apt works in newer versions there remains no action for
the apt team. The responsibility of making an upgrade work with whatever
we have got (bugs included) is by the individual package maintainer(s)
– simply because we (or the release team, or …) can't handle 5
source packages in a reasonable way. [and upgrading apt/dpkg/others
first doesn't work all the time due to … wait for it … dependencies].


That said, we are happy to help of course. The basic idea of convincing
apt to do something it didn't do on its own is adding/removing
dependencies (mostly of the type Depends or Breaks/Conflicts) – that
tends to be helped by some "field knowledge" about the packages in
question which is why the maintainers are best, but given guessing and
creativity are involved anyone can help!

The easiest (although potentially time-consuming) way of finding the
right combination is to make a chroot with the "before upgrade" setup
(= as in the next step would be 'apt-get dist-upgrade' – so update
done), copy the entire chroot, modify the /var/lib/apt/lists/*Packages
file so that it has the "new" dependencies and run the dist-upgrade.
Repeat from copy until happy.

In your case you can potentially speed that up by looking at the output
of "-o Debug::pkgDpkgPm=1" – that shows how dpkg is called (it doesn't
call dpkg!) – which makes the iteration faster at the expense of you
trying to make sense of that: Having "--configure libcrack2" before the
other crack-related packages might be your target (see guess below).

Good luck & as said, ask if you are stuck (please provide the [lengthy]
output of -o Debug::pkgPackageManager=1 -o Debug::pkgDpkgPm=1). We are
reachable via de...@lists.debian.org or #debian-apt on IRC.


That said, educated guess follows:

Looks like apt acts on libcrypt-cracklib-perl early as it looks simple
enough (after upgrading perl) as the dependency on libcrack2 is already
satisfied at the start of the upgrade (as its a version before jessie).
As the dependencies of libcrack2 are very lightweight (just libc6 which
is done at that point) it might already work if you artificially require
a stretch-version here (= guess, not tested at all).


Best regards

David Kalnischkies, who is in a love-hate relationship with triggers


signature.asc
Description: PGP signature


Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch

2017-04-08 Thread Niels Thykier
Control: reassign -1 cracklib-runtime
Control: forcemerge -1 cracklib2
Control: severity 854554 grave

David Kalnischkies:
> Control: reassign -1 libcrypt-cracklib-perl 1.7-2
> # beware, this is an RC bug!
> 
> [CC'ed cracklib2 & perl maintainers as it seems to be some "funny"
> interaction between packages in their responsibility space.]
> 
> [...]
> 
> 
> That said, educated guess follows:
> 
> Looks like apt acts on libcrypt-cracklib-perl early as it looks simple
> enough (after upgrading perl) as the dependency on libcrack2 is already
> satisfied at the start of the upgrade (as its a version before jessie).
> As the dependencies of libcrack2 are very lightweight (just libc6 which
> is done at that point) it might already work if you artificially require
> a stretch-version here (= guess, not tested at all).
> 
> 
> Best regards
> 
> David Kalnischkies, who is in a love-hate relationship with triggers
>

Hi,

Actually, I think a much better solution would be to solve #859307,
which would be the correct long term solution and should solve this
upgrade issue (as -noawait triggers would not be subject to this problem).

Thanks,
~Niels



Processed: Re: Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch

2017-04-07 Thread Debian Bug Tracking System
Processing control commands:

> reassign -1 apt
Bug #854554 [dpkg] dpkg: trigger problem with cracklib-runtime while upgrading 
libcrypt-cracklib-perl from jessie to stretch
Bug reassigned from package 'dpkg' to 'apt'.
No longer marked as found in versions dpkg/1.18.18.
Ignoring request to alter fixed versions of bug #854554 to the same values 
previously set

-- 
854554: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=854554
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Processed: Re: Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch

2017-04-08 Thread Debian Bug Tracking System
Processing control commands:

> reassign -1 libcrypt-cracklib-perl 1.7-2
Bug #854554 [apt] dpkg: trigger problem with cracklib-runtime while upgrading 
libcrypt-cracklib-perl from jessie to stretch
Bug reassigned from package 'apt' to 'libcrypt-cracklib-perl'.
Ignoring request to alter found versions of bug #854554 to the same values 
previously set
Ignoring request to alter fixed versions of bug #854554 to the same values 
previously set
Bug #854554 [libcrypt-cracklib-perl] dpkg: trigger problem with 
cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch
Marked as found in versions libcrypt-cracklib-perl/1.7-2.

-- 
854554: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=854554
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Processed (with 1 error): Re: Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch

2017-04-08 Thread Debian Bug Tracking System
Processing control commands:

> reassign -1 cracklib-runtime
Bug #854554 [libcrypt-cracklib-perl] dpkg: trigger problem with 
cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch
Bug reassigned from package 'libcrypt-cracklib-perl' to 'cracklib-runtime'.
No longer marked as found in versions libcrypt-cracklib-perl/1.7-2.
Ignoring request to alter fixed versions of bug #854554 to the same values 
previously set
> forcemerge -1 cracklib2
Unknown command or malformed arguments to command.

> severity 854554 grave
Bug #854554 [cracklib-runtime] dpkg: trigger problem with cracklib-runtime 
while upgrading libcrypt-cracklib-perl from jessie to stretch
Severity set to 'grave' from 'serious'

-- 
854554: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=854554
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems