Package: pbuilder
Version: 0.230.4
Severity: wishlist
Tags: upstream patch
Dear Maintainer,
«pbuilder --login» is implemented as follows:
58 --login|login|l)
⋮
76 executehooks "F"
77 (${CHROOTEXEC} bash -c 'exec -a -bash bash')
78 RET=$?
This launches bash even if the chroot's /etc/passwd specifies another
shell.
Please execute the passwd(5)-specified login shell by default.
The following works for me, but please review.
[[[
diff --git a/pbuilder b/pbuilder
index ccd7cc0..3067656 100755
--- a/pbuilder
+++ b/pbuilder
@@ -74,7 +74,8 @@ case "$1" in
fi
executehooks "F"
- (${CHROOTEXEC} bash -c 'exec -a -bash bash')
+ loginshell=$(${CHROOTEXEC} getent passwd root | cut -d: -f7)
+ (${CHROOTEXEC} bash -c 'exec -a "-$1" "$1"' . "${loginshell}")
RET=$?
save_aptcache
]]]
Cheers,
Daniel
P.S. For completeness, my use-case: I have an F hook that chsh's to zsh
because I'd like --login sessions to use zsh by default.