Bug#317264: [Pkg-shadow-devel] Bug#317264: login: Current su breaks pbuilder

Christian Perrier Christian Perrier <bubulle@debian.org>, 317264@bugs.debian.org
Fri, 8 Jul 2005 07:54:33 +0200


> > Whenever I try to use pbuilder to build a package after upgrading the
> > chroot today, I get:
>=20
> > frobnitz:/tmp/kdenetwork# su -p daniel -- dpkg-source -x kdenetwork_3=
.3.2-6.dsc
> > /usr/bin/dpkg-source: line 3: my: command not found
> > /usr/bin/dpkg-source: line 4: my: command not found
>=20
>=20
> This is very likely to be the "fix" for #276419 which is culprit here.
>=20
> Other team members, who looks more closely at this?

For the record:

>From the #shadow IRC channel, here is Nicolas Fran=E7ois (nekral)
analysis:
01:06 < nekral> hi
01:09 < nekral> I'm looking at the log and here are clarifications of my =
thought
01:12 < nekral> in #276419, we were asked not to concatenate all argument=
s before passing them to the shell (or command if -c)
01:15 < nekral> Another point was asked by 276419-submitter: not to add a=
 -c argument to the executed shell when no command was provided to su (wi=
th -c)
01:16 < nekral> regarding the first point:
01:16 < nekral>  * the old behavior was not documented ("Any arguments su=
pplied after the username will be passed to the invoked  shell")
01:18 < nekral>  * the old behavior differ from current upstream (and pro=
bably from other distribution, upstream using a patch from redhat)
01:19 < nekral>  * applications requiring that the arguments are concaten=
ated should concatenate themself
01:19 < nekral> Then regarding the second point:
01:21 < nekral>  * the man page does not indicate that -c is inserted in =
the list of arguments provided to the shell
01:24 < nekral>    (thus "su - $USERNAME -- -x" should work and should ex=
ecute a shell in debug mode (the arguments should be [<shell>, "-x"] and =
not [<shell>, "-c", ""-x"])
01:31 < nekral> Then, if too many packages relied on the previous behavio=
r, and if only 276419-submitter push for the applied patch, then a pragma=
tical approch could be to revert
01:31 < nekral> (We can also only revert one of the above points)
01:33 < nekral> Zugschlus, I don't understand the point about your "clama=
v-data testing script on debian-volatile"
01:34 < nekral> did it occured with login 4.0.3-36?
01:34 < nekral> "su - $ACCOUNT -c bash" works nicely with login 4.0.3-36
01:37 < nekral> (also, I can't find any reference to su in "clamav-data)
07:42 < Zugschlus> fsck, nekral isn't there
07:43 < Zugschlus> the testing script is not part of the package