Niels Thykier <ni...@thykier.net> writes:

> Really? Judging from Lintian::Schedule I would say it is partly
> enforcing this regardless of the output order of dpkg-genchanges

> # for each package (the sort is to make sure that source packages are
> # before the corresponding binary packages--this has the advantage that
> binary
> # can use information from the source packages if these are unpacked)
> my %type_sort = ('b' => 1, 'u' => 1, 's' => 2, 'c' => 3 );
> sub get_all {
>     return sort({$type_sort{$b->{type}} <=> $type_sort{$a->{type}}}
>               @{$_[0]->{schedule}});
> }

Oh!  I missed that.  I was only looking at how stuff was put into the
schedule, not looking at how it was pulled out, and made the erroneous
assumption last night that it just returned the array.

Excellent.  So it's already coping properly with it.

> As I understand "cross-package", we are looking at trying to ensure that
> all binary/udeb packages produced from a single source package is
> unpacked before any of binaries/udebs and even the source itself is
> checked. That is:

>  lintian A.changes B.changes

> then when lintian checks any package from A.changes, then all packages
> from A.changes are unpacked to the minimum required level required by
> the check being run on the current package.

Yup, correctly.

>   If so, I do not see an issue with processing one source package
> immediately followed by its binaries/udebs before continuing to the next
> source package[1].

Right.

> Or were you simply mentioning that lintian must produce the same results
> for lintian *.dsc *.deb vs. lintian *.deb *.dsc?

Yeah, that's all I was saying, and it looks like we already handle that.

> About the ordering itself: As long as the source package or the changes
> file is passed, we got all the information needed to generate a correct
> ordering for these packages.
>   But what about multiple binaries without a source? If a user passes
> *.deb, should lintian then try to order the packages such that binary
> packages built from the same source (as defined in the deb's control
> file) are made available before the checks (just as if they had been run
> with their source)?

> That is, if I run:

>  lintian A.deb B.deb A-data.deb B-data.deb

> should lintian then do A + A-data and then B + B-data or just in
> "whatever" order it feels like?

I think what we'd need to do is unpack all the packages we're going to
check before we start checking them (provided that we're not running on
the whole archive), since we otherwise won't know the correct sequence
that will let the inter-binary checks work properly.

-- 
Russ Allbery (r...@debian.org)               <http://www.eyrie.org/~eagle/>



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to