← Back to team overview

group.of.nepali.translators team mailing list archive

[Bug 1822780] Re: dependency issues in the pymacaroons stack

 

** Changed in: pymacaroons (Ubuntu Xenial)
       Status: Triaged => Invalid

** Changed in: pymacaroons (Ubuntu Xenial)
     Assignee: Andreas Hasenack (ahasenack) => (unassigned)

** Changed in: pymacaroons (Ubuntu Trusty)
       Status: Triaged => In Progress

-- 
You received this bug notification because you are a member of नेपाली
भाषा समायोजकहरुको समूह, which is subscribed to Xenial.
Matching subscriptions: Ubuntu 16.04 Bugs
https://bugs.launchpad.net/bugs/1822780

Title:
  dependency issues in the pymacaroons stack

Status in pymacaroons package in Ubuntu:
  Fix Released
Status in pymacaroons source package in Trusty:
  In Progress
Status in pymacaroons source package in Xenial:
  Invalid

Bug description:
  [Impact]

   * The pymacaroons stack has dependency issues identified when further
     testing the backport to trusty (currently in proposed)

   * Ensure that the pymacaroons stack works well in Trusty (for Ubuntu
     Advantage client) but also fix the issues that matter for Xenial in
     Xenial as well.

  [Test Case]

  * install python3-pymacaroons. This will pull in python3-libnacl 1.4.5 as well (expected)
  * Without the latest fix from proposed, this command will backtrace as shown:

  $ python3 -c "__requires__ = 'pymacaroons';from pkg_resources import load_entry_point"
  Traceback (most recent call last):
    File "/usr/lib/python3/dist-packages/pkg_resources.py", line 444, in _build_master
      ws.require(__requires__)
    File "/usr/lib/python3/dist-packages/pkg_resources.py", line 725, in require
      needed = self.resolve(parse_requirements(requirements))
    File "/usr/lib/python3/dist-packages/pkg_resources.py", line 632, in resolve
      raise VersionConflict(dist,req) # XXX put more info here
  pkg_resources.VersionConflict: (libnacl 1.4.5 (/usr/lib/python3/dist-packages), Requirement.parse('libnacl>=1.3.6,<1.4'))

  During handling of the above exception, another exception occurred:

  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/usr/lib/python3/dist-packages/pkg_resources.py", line 2749, in <module>
      working_set = WorkingSet._build_master()
    File "/usr/lib/python3/dist-packages/pkg_resources.py", line 446, in _build_master
      return cls._build_from_requirements(__requires__)
    File "/usr/lib/python3/dist-packages/pkg_resources.py", line 459, in _build_from_requirements
      dists = ws.resolve(reqs, Environment())
    File "/usr/lib/python3/dist-packages/pkg_resources.py", line 628, in resolve
      raise DistributionNotFound(req)
  pkg_resources.DistributionNotFound: libnacl>=1.3.6,<1.4

  * the python3-six dependency check isn't reached, because the check
  stops at the first unsatisfied dependency and that happened to be
  libnacl. But when testing the fixed packages, there must be no
  backtrace like above.

  [Fix]

   * Changes
     - Trusty: drop python2 binaries in trusty (was not released there yet)
       Xenial has those already published, we are not gonna take them away.
       see [1]
     - Trusty: adapt python-six dependency to match what is really needed
       and available in Trusty. Xenial has a version higher than that so
       don't bother modifying it there.
       see [2]
     - Trusty and Xenial: adapt python-libnacl dependency by backporting
       upstream fix on a too struct version requirement.
       see [3]

  [1]: https://git.launchpad.net/~paelzer/ubuntu/+source/pymacaroons/commit/?id=6746ad32b4d785919e849a4bef5685bf0bec6be2
  [2]: https://git.launchpad.net/~paelzer/ubuntu/+source/pymacaroons/commit/?id=f94ac40aeb354c008c4764853b877991003ae429
  [3]: https://git.launchpad.net/~paelzer/ubuntu/+source/pymacaroons/commit/?id=1987dffcffae29c63ea71635db1cfe19badc145f

  [Regression Potential]

   * Lets split this section for Trusty and Xenial.
     a) Xenial only gets slightly relaxed version dependencies, those should
        allow pymacaroons to run, but actually never cause any additional
        issues.
     b) Trusty this isn't released in trusty at all yet (still in proposed
        intentionally). Therefore this is one of the few cases I'd call
        regression risk next to zero. If anything then issues out of the py2
        removal not working as expected, but it seems to be ok in build and
        tests.

  [Other Info]

   * This is related to the SRU in bug 1817665
   * Furthermore it is related to the MIR extension to Trusty in
     bug 1746772 bug 1817327 and bug 1621386

  ---

  On the extended testing for the SRU in bug 1817665 we found that there
  are a few dependency issues that need to be fixed.

  Affects X&T:
  python-libnacl - depends on <1.4 but xenial (and trusty soon) have 1.4.5
  Fix by importing https://github.com/ecordell/pymacaroons/commit/3924d5b56c42234d0bff3820bc4cb6c4d3f74d8d

  Affects T:
  python-six - depends on >=1.8.0 - but trusty is on 1.5.2 still
  We evaluated if we need to backport six as well (a lot or reverse deps).
  We found that the usage of pymacaroons is actually ok with 1.5.2
  Upstream regularly bumps the dependency level as well as some changes that got added but in the meantime removed (e.g. the serialization).
  Eventually only two use cases for python3-six are left
  - pymacaroons/caveat_delegates/encrypted_first_party.py:4:from six import iteritems
  - pymacaroons/utils.py:5:from six import text_type, binary_type

  None of these are changed in six between 1.5.2 and 1.8 checked by
  Odd_Bloke, ahasenack and me.

  Affects T:
  python2 - we don't need/want python2 support in this, so since we don't usually exercise and have no interest in supporting the python2 paths lets drop them from pymacaroons in trusty (where they are not published yet).

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pymacaroons/+bug/1822780/+subscriptions