Hi Philipp,
On Fri, Mar 04, 2016 at 03:59:10PM +0100, Philipp Hahn wrote:
> Package: git-buildpackage
> Version: 0.6.22
> Followup-For: Bug #692803
>
> Dear Maintainer,
>
> /usr/bin/git-pbuilder contains:
> > 266 # Add all of the additional arguments we got on the command line, but
> > quote
> > 267 # them from the shell since they'll undergo another round of shell
> > expansion
> > 268 # when the pbuilder runs debbuild.
> ...
> > 270 for arg in "$@" ; do
> ...
> > 274 DEBBUILDOPTS+=" $(shell_quote "$arg")"
> > 275 done
>
> This seems to be right only when *not* using --use-pdebuild-internal, as
>
> /usr/lib/pbuilder/pdebuild-checkparams:
> > 44 »···--debbuildopts)
> > 45 »··· DEBBUILDOPTS="${2:+$DEBBUILDOPTS $2}"
> passes the argument unmodified, but then
>
> /usr/bin/pdebuild:
> > 46 if [ "${USE_PDEBUILD_INTERNAL}" = 'yes' ]; then
> > 57 »···--debbuildopts "${DEBBUILDOPTS}" \
> passes on the argument unmodified when using the internal pdebuild, but
>
> > 74 else
> > 78 echo "dpkg-buildpackage -S -us -uc -r${BUILDSOURCEROOTCMD}
> > $DEBBUILDOPTS" | \
> > 80 »···/bin/bash
> does splitting on IFS when not using it.
> > 90 fi
>
>
> For completeness:
>
> /usr/lib/pbuilder/pdebuild-internal:
> > 48 »···--debbuildopts)
> > 50 »··· DEBBUILDOPTS="${2:+${DEBBUILDOPTS:+$DEBBUILDOPTS }$2}";
> un-splitted
> > 123 export DEBBUILDOPTS
> > 124 CMD="/usr/bin/dpkg-buildpackage -rfakeroot -us -uc "'${DEBBUILDOPTS}'
> > 128 if echo "$CMD" | \
> > 129 su -p pbuser;·
>
> does *not* spit on IFS, so DEBBUILDOPTS still contains the 's from
> shell_quote() leading to the error
>
> > I: Running /usr/bin/dpkg-buildpackage -rfakeroot -us -uc ${DEBBUILDOPTS}
> > dpkg-buildpackage: unknown option or argument '-sa'
> >
> > Use --help for program usage information.
Could you add examples how you invoke gbp to see the error. Is it just
passing --use-pdebuild-internal as --git-pbuilder-options ?
I do think we need to skip the quoting in this case.
cc'ing Russ since I'm not sure if he's following gbp bugs.
> PS: I still wonder why --use-pdebuild-internal is not the default, as I
> don't want to pollute my development environment with all those build
> dependencies. That makes running "debian/rules clean" sometimes more
> complicate as I'm missing some required dependencies for that, but
> still..."
I just use "-nc" when invoking gbp.
Cheers,
-- Guido