Hello,

On Thu 06 Sep 2018 at 10:34AM +0100, Ian Jackson wrote:

> I can't see a way to make this work *perfectly* without trying to find
> out how the builders are configured.  It's bad enough having to walk
> dpkg-buildpackage's command line options, but trying to process
> pbuilder and sbuild configuration would be really hard.
>
> So I think it will be necessary to tell dgit, separately, that you
> want to run lintian.  In that case I don't think it is necessary for
> the lintian invocation to be done by the builder.  It could be done by
> dgit.  (Presumably, if you tell dgit that you want to run lintian, it
> could then arrange to tell your builder not to do so as well -
> overriding config is a lot easier than parsing it.)
>
> I wonder if a fix to
>     #905399 Want hooks
> would suffice ?  In particular, could it be made easy enough to use
> that enabling lintian would be easy ?  Or maybe this is fundamental
> enough in Debian packaging that it should be its own option.

On Thu 06 Sep 2018 at 06:13PM +0100, Ian Jackson wrote:

> There is an additional difficulty with this which I have just throght
> of.  The natural consequence of the above would be that lintian would
> be run in the dgit invocation environment, not in the builder's
> chroot.  This matters because in the usual case, the latter will be
> unstable's lintian, whereas the invocation environment might well be
> testing or even stable.  I'm not sure whether this matters very much.

This is the reason that people configure their builders to run Lintian,
AFAIK.  However, I think it is the wrong solution.  The right thing to
do, in my view, is use dgit hooks, as you suggest, and further apt pin
lintian to be installed from unstable, even onto your Debian stable or
testing laptop.  The Lintian maintainers ensure that Lintian is always
installable on stable because that is how lintian.debian.org works, so
this isn't a hack.

The reason why I think this is the right thing to do is that I think you
should always be running Lintian from unstable, even if you are
preparing an upload targeted for another suite.

This is because Lintian often gains new tags that are relevant for
uploads to a suite even when the version of Lintian in that suite would
not complain.  By contrast, it is rare that Lintian from sid complains
about something where both (i) the version of Lintian in the target
suite would not complain; and (ii) the complaint is not valid when
uploading to that suite.

So in short, I think that running Lintian from unstable matters, but
running Lintian from the target suite is not the way to do that, and can
have disadvantages when compared to running the version from unstable.
So dgit should not grow lots of extra code to ensure the source package
is available inside the builder's chroot such that Lintian can be run
there.

-- 
Sean Whitton

Attachment: signature.asc
Description: PGP signature

Reply via email to