[Bug 1149679] Re: [check-mir] cannot parse dependencies with architecture restrictions

Robie Basak 1149679 at bugs.launchpad.net
Mon Mar 17 08:07:42 UTC 2014


I see, thanks.

It seems that there is an ambiguity here. Binary dependency might mean a
dependency in a binary package as defined in the source package's
control file, or it might mean a dependency in a binary package as
defined in a binary package's control file only.

It seems that check_mir is using the former and calling parse_depends,
and python-apt requires parse_src_depends in this case. The only
documentation I see in python-apt doesn't appear to actually describe
where the name "src" comes from. The confusion seems to be that "src"
might mean that we're parsing a source package's control file (the
assumption that python-apt makes), or that we're parsing the source
package's build-depends in the source package's control file (the
assumption that check-mir makes).

It looks like the spec difference between parse_src_depends and depends
is just that parse_src_depends resolves all arch-specific dependencies
based on the value of APT::Architecture, so I think this can just be
swapped out wholesale without causing any issues.

check-mir still won't be perfect, but at least it'll give _an_ answer
valid for one architecture, rather than crashing with no answer at all
for packages that use this feature.

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to python-apt in Ubuntu.
https://bugs.launchpad.net/bugs/1149679

Title:
  [check-mir] cannot parse dependencies with architecture restrictions

Status in “python-apt” package in Ubuntu:
  Invalid
Status in “ubuntu-dev-tools” package in Ubuntu:
  Confirmed

Bug description:
  check-mir fails when run in the libreoffice source.

  $ check-mir 
  Checking support status of build dependencies...

  Checking support status of binary dependencies...
  Traceback (most recent call last):
    File "/usr/bin/check-mir", line 151, in <module>
      main()
    File "/usr/bin/check-mir", line 141, in main
      unsupported_binary_deps = check_binary_dependencies(apt_cache, control)
    File "/usr/bin/check-mir", line 109, in check_binary_dependencies
      for or_group in apt.apt_pkg.parse_depends(control.section[field]):
  ValueError: Problem Parsing Dependency

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-apt/+bug/1149679/+subscriptions



More information about the foundations-bugs mailing list