** Description changed:

  [Impact]
  
-  * The pymacaroons stack has dependency issues identified when further 
-    testing the backport to trusty (currently in proposed)
+  * 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.
+  * 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]
  
-  * TODO
+ * install python3-pymacaroons. This will pull in python3-libnacl 1.4.5 as 
well (expected)
+ * Without the fix, 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]
+  * 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.
- 
+  * 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
  
+  * 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).

** Description changed:

  [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 fix, this command will backtrace as shown:
+ * 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
+   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)
+   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).

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

Title:
  dependency issues in the pymacaroons stack

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

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to