reassign 788819 dpkg affects 788819 needrestart thanks
Dear Dpkg Developers, this bug is simular to #777242. In both reports users did break their dpkg (while needrestart is installed) by using: #777242: a non-common interactive shell like fish #788819: $SHELL pointing to a non-existing path (i.e. due to chroot) needrestart does use the status-logger option of dpkg. dpkg uses the user's $SHELL variable to execute the status-logger command. IMHO dpkg must not use the user's $SHELL variable to run a status-logger command. Dpkg should keep using $SHELL to spawn a shell on demand but it should use /bin/sh to spawn the status-logger command (which is non-interactive so there is no need to care about the user's $SHELL). TIA & HTH, Thomas On 06/15/2015 01:36 PM, Michael Prokop wrote: > Package: needrestart > Version: 1.2-8+deb8u1 > Severity: important > > I've a running live system which is using /bin/zsh as interactive > shell and $SHELL is pointing to it. Inside a chroot I'm installing > Debian and then enter this chroot via: > > chroot /media/vg0-root /bin/bash > > Now every package installation via dpkg fails: > > | (test-jessie1)root@test-jessie1:~# apt-get install zsh > | Reading package lists... Done > | Building dependency tree > | Reading state information... Done > | Suggested packages: > | zsh-doc > | The following NEW packages will be installed: > | zsh > | 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. > | Need to get 0 B/700 kB of archives. > | After this operation, 2,023 kB of additional disk space will be used. > | E: Can not write log (Is /dev/pts mounted?) - posix_openpt (2: No such file > or directory) > | dpkg (subprocess): unable to execute status logger ((test -x > /usr/lib/needrestart/dpkg-status && /usr/lib/needrestart/dpkg-status || cat > > /dev/null)): No such file or directory > | Selecting previously unselected package zsh. > | (Reading database ... 40973 files and directories currently installed.) > | Preparing to unpack .../archives/zsh_5.0.7-5_amd64.deb ... > | E: Sub-process /usr/bin/dpkg exited unexpectedly > | (test-jessie1)root@test-jessie1:~# echo $? > | 100 > > This is caused because of: > > | (test-jessie1)root@test-jessie1:~# echo $SHELL > | /bin/zsh > | (test-jessie1)root@test-jessie1:~# ls -la /bin/zsh > | ls: cannot access /bin/zsh: No such file or directory > > in combination with: > > | (test-jessie1)root@test-jessie1:~# cat /etc/dpkg/dpkg.cfg.d/needrestart > | # needrestart - Restart daemons after library updates. > | # > | # Scan for (successfully) installed packages, > | # triggers needrestart in apt's Dpkg::Post-Invoke > | # hook. > | > | status-logger=(test -x /usr/lib/needrestart/dpkg-status && > /usr/lib/needrestart/dpkg-status || cat > /dev/null) > > As soon as I unset $SHELL this works as expected again: > > | (test-jessie1)root@test-jessie1:~# unset SHELL > | (test-jessie1)root@test-jessie1:~# apt-get install zsh > | Reading package lists... Done > | Building dependency tree > | Reading state information... Done > | Suggested packages: > | zsh-doc > | The following NEW packages will be installed: > | zsh > | 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. > | Need to get 0 B/700 kB of archives. > | After this operation, 2,023 kB of additional disk space will be used. > | E: Can not write log (Is /dev/pts mounted?) - posix_openpt (2: No such file > or directory) > | Selecting previously unselected package zsh. > | (Reading database ... 40973 files and directories currently installed.) > | Preparing to unpack .../archives/zsh_5.0.7-5_amd64.deb ... > | Unpacking zsh (5.0.7-5) ... > | Setting up zsh (5.0.7-5) ... > | update-alternatives: using /bin/zsh5 to provide /bin/zsh (zsh) in auto mode > | update-alternatives: using /bin/zsh5 to provide /bin/rzsh (rzsh) in auto > mode > | Scanning processes... > | Scanning candidates... > | Scanning kernel images... > | (test-jessie1)root@test-jessie1:~# > > I'm aware that dpkg(1) says: > > | SHELL The program dpkg will execute when starting a new shell. > > and I'm not sure whether needrestart really can do anything about > it. But I'm reporting it since other users might stumble upon this > as well and maybe something can be done about this "invalid $SHELL > setting" situation? Feel free to reassign as needed. > > regards, > -mika- > -- :: WWW: http://fiasko-nw.net/~thomas/ :: ::: Jabber: xmpp:tho...@jabber.fiasko-nw.net ::: :: flickr: http://www.flickr.com/photos/laugufe/ :: -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org