Bug#787093: autopkgtest: dpkg-deb chokes with build profiles in Build-Depends:

Martin Pitt mpitt at debian.org
Sat Jun 6 14:25:17 UTC 2015


Hello Guillem,

Guillem Jover [2015-05-29  2:52 +0200]:
> > diff --git a/runner/adt-run b/runner/adt-run
> > index 71255d0..b97e6c5 100755
> > --- a/runner/adt-run
> > +++ b/runner/adt-run
> > @@ -971,7 +971,8 @@ fi
> >          perl = subprocess.Popen(['perl', '-'], stdin=subprocess.PIPE,
> >                                  stdout=subprocess.PIPE)
> >          code = '''use Dpkg::Deps;
> > -                  $dep = deps_parse('%s', reduce_arch => 1, host_arch => '%s');
> > +                  $dep = deps_parse('%s', reduce_arch => 1, host_arch => '%s',
> > +                                    reduce_profiles => 1);
> >                    print $dep->output(), "\\n";
> >                    ''' % (deps, self.dpkg_arch)
> 
> If this is indeed parsing Build-Depends, you probably also want
> “build_dep => 1” there.

It's not in general. Only if this is for expanding @builddeps@ it's
actually build deps, otherwise it's plain binary depends. The current
code structure is unsuitable for this: satisfy_dependencies_string()
in adt-run has lost the information which parts came from build deps
and which from binary ones, as that's read from the package format
specific parser in lib/testdesc.py. So we need to move things around
first.

What particular effect does build_dep => 1 have? Will this
disable/break any syntax of binary dependencies, or just enable the
extra ones for build deps (arch restrictions, build profiles, etc.)?
But anyway, I think it's better to fix the code properly; in
particular, this should happen in testdesc.py's
_debian_build_deps_from_source().

Martin
-- 
Martin Pitt                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)



More information about the autopkgtest-devel mailing list