Bug#845628: devscripts: DEBUILD_LINTIAN_HOOK no more works (at least if it contains shell meta characters)
James McCoy
jamessan at debian.org
Fri Nov 25 19:02:45 UTC 2016
On Fri, Nov 25, 2016 at 06:09:02PM +0100, Guillem Jover wrote:
> Hi!
>
> On Fri, 2016-11-25 at 12:32:18 +0100, Axel Beckert wrote:
> > Package: devscripts
> > Version: 2.16.9
> > File: /usr/bin/debuild
>
> > since the recent slimming of debuild, DEBUILD_LINTIAN_HOOK no more works
> > for me.
> >
> > I've set
> >
> > DEBUILD_LINTIAN_HOOK="if [ -d %p-%u ]; then cd %p-%u; duck; elif [ -d %p ]; then cd %p; duck; else exit 1; fi; true"
> >
> > This now leads to error messages like this one:
> >
> > dpkg-buildpackage: error: if [ -d aiccu-20070115 ]; then cd aiccu-20070115; duck; elif [ -d aiccu ]; then cd aiccu; duck; else exit 1; fi; true gave error exit status 1
> >
> > This happens despite the directory is named "aiccu".
> >
> > I suspect that while classic debuild passed the string in
> > $DEBUILD_LINTIAN_HOOK to "sh -c" to interpret shell meta characters, the
> > slimmed debuild (or dpkg-buildpackage's --hook-check) no more does.
>
> The problem actually seems to be that dpkg-buildpackage always runs
> the hooks from inside the source tree, but debuild used to run some
> hooks from inside the tree and some from one level up.
Yes, that does seem to be the issue.
- dpkg-buildpackage hook, in tree
- clean hook, in tree
- dpkg-source hook, in tree
- build hook, in tree
- binary hook, in tree
- dpkg-genchanges hook, in tree
- final-clean hook, in tree
- lintian hook, parent
- signing hook, parent
- post-dpkg-buildpackage, parent
> I think
> starting after the changes generation? But I've not dug very deep.
> I also notice this is not documented neither in debuild nor
> dpkg-buildpackage man pages. I'll fix that on the dpkg side.
I'll add some documentation about the debuild hooks, as well.
> I'm not sure how we should handle this, w/o breaking both interfaces.
> Perhaps it would not be that "onerous" (ehem) to prepend a "cd ..;" for
> the hooks that debuild expects to run a level up (yeah I know… :).
The debuild hooks should probably start being deprecated in Buster so
this confusion isn't permanent. In the meantime, "cd ..;" seems like
the least intrusive option.
Cheers,
--
James
GPG Key: 4096R/91BF BF4D 6956 BD5D F7B7 2D23 DFE6 91AE 331B A3DB
More information about the devscripts-devel
mailing list