#768002 base-passwd: asks "change shell" umpteen times on upgrade

Package:
base-passwd
Source:
base-passwd
Description:
Debian base system master password and group files
Submitter:
Adam Borowski
Date:
2014-11-04 01:57:05 UTC
Severity:
important
#768002#5
Date:
2014-11-04 01:22:35 UTC
From:
To:
Hi!
If you upgrade a system that started pre-wheezy (I'm not sure what's the
latest starting release needed to reproduce), base-passwd asks the same
question a large number of times -- it wants whether it can change shells
of system users to /usr/sbin/nologin, asking one by one.  In the example
below, that's 16 times.  A not very attentive user might even think the
upgrade is looping forever!

Here's a diff from a system that was woody once:

2,4c2,4
< daemon:x:1:1:daemon:/usr/sbin:/bin/sh
< bin:x:2:2:bin:/bin:/bin/sh
< sys:x:3:3:sys:/dev:/bin/sh
---
6,14c6,14
< games:x:5:60:games:/usr/games:/bin/sh
< man:x:6:12:man:/var/cache/man:/bin/sh
< lp:x:7:7:lp:/var/spool/lpd:/bin/sh
< mail:x:8:8:mail:/var/mail:/bin/sh
< news:x:9:9:news:/var/spool/news:/bin/sh
< uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
< proxy:x:13:13:proxy:/bin:/bin/sh
< www-data:x:33:33:www-data:/var/www:/bin/sh
< backup:x:34:34:backup:/var/backups:/bin/sh
---
16,19c16,19
< list:x:38:38:Mailing List Manager:/var/list:/bin/sh
< irc:x:39:39:ircd:/var/run/ircd:/bin/sh
< gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/sh
< nobody:x:65534:65534:nobody:/nonexistent:/bin/sh
---
41d40
< libuuid:x:115:118::/var/lib/libuuid:/bin/sh
46a46

I don't recall ever dist-upgrading between releases non-interactively, nor
ever messing with the shell of any system user.  This problem happened so
far on 2 out of 4 systems I just upgraded from wheezy to jessie (live but
less important boxes).

(I'm not sure what's the proper severity, as this is a relatively minor
problem yet a highly visible one.  Md suggested "important", please adjust
if you disagree.)

#768002#10
Date:
2014-11-04 01:53:20 UTC
From:
To:
Adam Borowski <kilobyte@angband.pl> writes:

I thought about this when writing this support, but accumulating all of
the questions into one block and making sure the prompting makes sense is
rather hard to do right.  I checked with Colin on that and we decided to
bail.  If you have the time to dig in and try to implement that, I think
it would be an improvement, but it's a bit of work.

Yes, we have to prompt regardless, since people may be relying on the
current shells even if they never changed them.

The other systems probably just have the Debconf prompt level set to
something higher.