Re: [PATCH] Permit architecture qualifiers, and strip them for edos-debcheck
On Sat, Aug 17, 2013 at 12:33:40PM +0200, Andreas Barth wrote:
> * Colin Watson (cjwatson@debian.org) [130817 11:47]:
> > Architecture qualifiers (such as :any and :native) work fine with
> > current sbuild. However, edos-debcheck doesn't understand them, so
> > strip them off in the synthetic Packages files passed to edos-debcheck.
> >
> > The worst case here should be that packages with "Build-Depends:
> > foo:any" may be scheduled for building and then fail if "foo" is not
> > "Multi-Arch: allowed"; this is not too bad, and it usually corresponds
> > to a maintainer error anyway.
> > ---
> > bin/wanna-build | 15 +++++++++++++--
> > 1 file changed, 13 insertions(+), 2 deletions(-)
> >
> > diff --git a/bin/wanna-build b/bin/wanna-build
> > index 5df0dc6..bf33107 100755
> > --- a/bin/wanna-build
> > +++ b/bin/wanna-build
> > @@ -1635,10 +1635,21 @@ sub build_deplist {
> > }
> >
> >
> > +sub remove_archqual {
> > + if ($_[0]->isa('Dpkg::Deps::Simple')) {
> > + undef $_[0]->{'archqual'};
>
> I suggest changing that to
> + if ($_[1]->isa('Dpkg::Deps::Simple')) {
> + undef $_[1]->{'archqual'} if grep { $_ eq $_[1]->{'archqual'}} ('any', $0);
> + return "not-existing-build-dependency-for-any" if $_[1]->{'archqual'};
>
> (with the necessary adoptions to other places)
That seems wrong; foo:native should work too (it's meaningful for
cross-builders but a no-op for native builders).
I'm not sure what you're trying to express here. Can you give me an
example of what $0 (I guess you meant $_[0]) would be? Note that
build-dependencies on a specific architecture, as opposed to :any or
:native or unqualified, are not permitted by the current multiarch
specifications.
Thanks,
--
Colin Watson [cjwatson@debian.org]
Reply to: