Merge ~bryce/ubuntu/+source/python-seamicroclient:python-seamicroclient-merge-v0.4.0-3-eoan into ubuntu/+source/python-seamicroclient:debian/sid

Proposed by Bryce Harrington
Status: Merged
Approved by: Bryce Harrington
Approved revision: c06dd5ba5f04123834e7772b8c764a34f5c507e4
Merge reported by: Bryce Harrington
Merged at revision: c06dd5ba5f04123834e7772b8c764a34f5c507e4
Proposed branch: ~bryce/ubuntu/+source/python-seamicroclient:python-seamicroclient-merge-v0.4.0-3-eoan
Merge into: ubuntu/+source/python-seamicroclient:debian/sid
Diff against target: 150 lines (+95/-2)
4 files modified
debian/changelog (+61/-0)
debian/control (+2/-2)
debian/patches/add-pkg-info.patch (+31/-0)
debian/patches/series (+1/-0)
Reviewer Review Type Date Requested Status
Andreas Hasenack Approve
Canonical Server packageset reviewers Pending
Canonical Server Pending
Review via email: mp+370928@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Bryce Harrington (bryce) wrote :

Past Ubuntu delta had added support for python3 to python2, but in the interim upstream has moved to python3. Debian opted to drop python2 support. I'm not sure if we want to keep python2 (i.e. if OpenStack still needs it?) but am assuming we don't. The Ubuntu python3 support had included version requirements on the python3 libs, which Debian is not specifying.

PPA with test packages:
  $ sudo add-apt-repository -yus ppa:bryce/python-seamicroclient-merge-v0.4.0-3

There are not autopkgtest cases for python-seamicroclient, and felt out of scope to add them, but I did check install/remove/purge in an lxc container.

Usual tags pushed for review

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

I'm looking at the split tag, and I think you squashed two commits together that should be apart.

Specifically, this d/changelog entry:
        - debian/control: Depends on python3-mock and python3-requests.

is part of this commit:
commit 03f8b87d16ed315495fa84139c0ed49142208050 (HEAD, tag: bryce/split/0.4.0-1ubuntu1)
Author: Bryce Harrington <email address hidden>
Date: Thu Aug 1 14:44:58 2019 -0700

        - Add python3 support

Unless this is needed for python3 support, i.e., not just some extra build-deps that was missing also in py2. Then it's fine.

review: Needs Information
Revision history for this message
Bryce Harrington (bryce) wrote :

I'm not sure why they called that out specifically in that changelog entry. Both python-mock and python-requests were already present in the 0.4.0-1 control file in Debian, for python2. I am not seeing any special reason why they would be mentioned, except perhaps in relation to the ubuntu-side python3 support; since that's being dropped with this merge I don't think the details of that work need carried forward.

Notice also that this changelog entry was indented under debian/patches, which is odd. Since there doesn't seem to be a distinct change associated with it, I am assuming it's misplaced, and was intended to go with the python3 support section.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Ok, this is dropping the py2 version of the package: python-seamicroclient

reverse-depends seems fine (i.e., it's empty), and that package is in universe:
No reverse dependencies found
ubuntu@eoan:~$ reverse-depends python3-seamicroclient
Reverse-Depends
===============
* python3-maas-provisioningserver

Packages without architectures listed are reverse-dependencies in: amd64, arm64, armhf, i386, ppc64el, s390x

Do you think the version in our PKG-INFO patch should be changed? It still says 0.4.0, but now this is a git snapshot.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

I just tried a build without that patch and it worked. I couldn't find a good reference in d/changelog as to what the ftbfs was, maybe Andres still remembers? He is roaksoax on irc.

Revision history for this message
Bryce Harrington (bryce) wrote :

Yes, the dropping of the py2 version of the package is the noteworthy change for this upload. From what I could tell, OpenStack has been the major reason for retaining it previously.

I'm not sure which ftbfs you're referring to?

Regarding updating the PKG-INFO, yes I can update the version in that.

Revision history for this message
Bryce Harrington (bryce) wrote :

Oh, you must have meant add-pkg-info.patch

    - add-pkg-info.patch: Add PKG-INFO in top level dir so it doesn't FTBFS.

Yes, in the 0.4.0 package in eoan with quilt pop -a, I reproduce a build error running

    python setup.py build

    (...)
    File "/usr/lib/python2.7/dist-packages/pbr/packaging.py", line 755, in get_version
    name=package_name))
    Exception: Versioning for this project requires either an sdist tarball, or access to an upstream git repository. It's also possible that there is a mismatch between the package name in setup.cfg and the argument given to pbr.version.VersionInfo. Project name python-seamicroclient was given, but was not able to be found.

With quilt push -a, no error.

However, with 0.4.0+2016.05.20.git.40ee44c664, I confirm your findings that it neither fails with or without the patches applied.

The reason for this is the new upstream version generates its own PKG-INFO file, which is essentially identical to the one we're patching in except it has a generic version number:

    Version: 0.0.1.dev10

With our patch in place, this file gets generated with the intended version. So while add-pkg-info.patch is no longer required for fixing a FTBS it's still necessary to get the right version into the egg packaging.

Revision history for this message
Bryce Harrington (bryce) wrote :

Updated the patch with the corrected version, updated changelog, and added some DEP3 while I was at it. Hopefully the new merge diff shows here, if not the branch is at:

https://code.launchpad.net/~bryce/ubuntu/+source/python-seamicroclient/+git/python-seamicroclient/+ref/python-seamicroclient-merge-v0.4.0-3-eoan

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Thanks!

I suggest to squash together these two commits:

commit f42c873f5b3bba01382e0972e6b9893177cfa8c3
Author: Bryce Harrington <email address hidden>
Date: Mon Aug 5 19:18:02 2019 -0700

      * d/p/add-pkg-info.patch: Update Version for PKG-INFO and add DEP3

commit 29516cda51d422cac8df3894c22eb59e1be43661
Author: Bryce Harrington <email address hidden>
Date: Thu Aug 1 14:41:33 2019 -0700

        - d/p/add-pkg-info.patch: Add PKG-INFO in top level dir to set egg version

And just add a note saying you updated DEP3 and the version. Perhaps like this:
- d/p/add-pkg-info.patch: Add PKG-INFO in top level dir to set egg version
  [Updated version and DEP3 header]

The same would then appear in the changelog like this:
  * Merge with Debian unstable. Remaining changes:
    - d/control: Drop Build-Depends on python-hacking since we don't use pep8 testing.
    - d/p/add-pkg-info.patch: Add PKG-INFO in top level dir to set egg version
      [Updated version and DEP3 header]

If you prefer it like it is, then this squashing can happen in the next merge, when creating the logical tag. It just looks a bit odd to have the same patch mentioned twice.

81a8329... by Bryce Harrington

merge-changelogs

22a9e0b... by Bryce Harrington

reconstruct-changelog

c06dd5b... by Bryce Harrington

update-maintainer

Revision history for this message
Bryce Harrington (bryce) wrote :

Alright, updated with those changes. I had actually assumed you'd prefer a separate commit for the updates, but this is fine. New branch force pushed.

Revision history for this message
Andreas Hasenack (ahasenack) wrote :

Nice, thanks!

+1

review: Approve
Revision history for this message
Bryce Harrington (bryce) wrote :

Thanks for the review, uploading to proposed:

$ gpg --verify ../python-seamicroclient_0.4.0+2016.05.20.git.40ee44c664-2ubuntu1_source.changes
gpg: Signature made Tue 06 Aug 2019 05:31:29 PM PDT
gpg: using RSA key A661100B3DAC1D4F2CAD8A54E603B2578FB8F0FB
gpg: Good signature from "Bryce Harrington <email address hidden>" [ultimate]
gpg: aka "Bryce Harrington <email address hidden>" [ultimate]
gpg: aka "Bryce Harrington <email address hidden>" [ultimate]

$ git push pkg upload/0.4.0+2016.05.20.git.40ee44c664-2ubuntu1
Counting objects: 23, done.
Delta compression using up to 6 threads.
Compressing objects: 100% (23/23), done.
Writing objects: 100% (23/23), 4.38 KiB | 2.19 MiB/s, done.
Total 23 (delta 14), reused 0 (delta 0)
To ssh://git.launchpad.net/~usd-import-team/ubuntu/+source/python-seamicroclient
 * [new tag] upload/0.4.0+2016.05.20.git.40ee44c664-2ubuntu1 -> upload/0.4.0+2016.05.20.git.40ee44c664-2ubuntu1

$ dput ubuntu ../python-seamicroclient_0.4.0+2016.05.20.git.40ee44c664-2ubuntu1_source.changes
Checking signature on .changes
gpg: ../python-seamicroclient_0.4.0+2016.05.20.git.40ee44c664-2ubuntu1_source.changes: Valid signature from E603B2578FB8F0FB
Checking signature on .dsc
gpg: ../python-seamicroclient_0.4.0+2016.05.20.git.40ee44c664-2ubuntu1.dsc: Valid signature from E603B2578FB8F0FB
Uploading to ubuntu (via ftp to upload.ubuntu.com):
  Uploading python-seamicroclient_0.4.0+2016.05.20.git.40ee44c664-2ubuntu1.dsc: done.
  Uploading python-seamicroclient_0.4.0+2016.05.20.git.40ee44c664.orig.tar.xz: done.
  Uploading python-seamicroclient_0.4.0+2016.05.20.git.40ee44c664-2ubuntu1.debian.tar.xz: done.
  Uploading python-seamicroclient_0.4.0+2016.05.20.git.40ee44c664-2ubuntu1_source.buildinfo: done.
  Uploading python-seamicroclient_0.4.0+2016.05.20.git.40ee44c664-2ubuntu1_source.changes: done.
Successfully uploaded packages.

Revision history for this message
Bryce Harrington (bryce) wrote :

This appears to have migrated now

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/debian/changelog b/debian/changelog
2index e7aacf6..db9abfe 100644
3--- a/debian/changelog
4+++ b/debian/changelog
5@@ -1,3 +1,12 @@
6+python-seamicroclient (0.4.0+2016.05.20.git.40ee44c664-2ubuntu1) eoan; urgency=medium
7+
8+ * Merge with Debian unstable. Remaining changes:
9+ - d/control: Drop Build-Depends on python-hacking since we don't use pep8 testing.
10+ - d/p/add-pkg-info.patch: Add PKG-INFO in top level dir to set egg version
11+ [Updated version and DEP3 header]
12+
13+ -- Bryce Harrington <bryce@canonical.com> Tue, 06 Aug 2019 16:49:39 -0700
14+
15 python-seamicroclient (0.4.0+2016.05.20.git.40ee44c664-2) unstable; urgency=medium
16
17 [ Ondřej Nový ]
18@@ -37,6 +46,22 @@ python-seamicroclient (0.4.0+2016.05.20.git.40ee44c664-1) experimental; urgency=
19
20 -- Thomas Goirand <zigo@debian.org> Tue, 26 Mar 2019 11:05:49 +0100
21
22+python-seamicroclient (0.4.0-1ubuntu1) xenial; urgency=low
23+
24+ * Merge from Debian unstable. Remaining changes:
25+ - Add python3 support:
26+ + debian/rules: Build/test with python3
27+ + debian/patches/python3-support.patch.
28+ + debian/control: Add build-deps/package for python3.
29+ - Drop Build-Depends on python-hacking since we don't use pep8 testing.
30+ * debian/patches:
31+ - fix-tests.patch: Drop. No longer needed.
32+ - skip-tests.patch: Drop. No longer needed.
33+ - add-pkg-info.patch: Add PKG-INFO in top level dir so it doesn't FTBFS.
34+ - debian/control: Depends on python3-mock and python3-requests.
35+
36+ -- Andres Rodriguez <andreserl@ubuntu.com> Wed, 03 Feb 2016 12:49:38 +0100
37+
38 python-seamicroclient (0.4.0-1) experimental; urgency=medium
39
40 * New upstream release.
41@@ -45,6 +70,42 @@ python-seamicroclient (0.4.0-1) experimental; urgency=medium
42
43 -- Thomas Goirand <zigo@debian.org> Tue, 08 Sep 2015 00:08:05 +0200
44
45+python-seamicroclient (0.2.1-0ubuntu2) xenial; urgency=medium
46+
47+ * Add python3 support.
48+ * debian/patches/python3-support.patch
49+
50+ -- Andres Rodriguez <andreserl@ubuntu.com> Tue, 17 Nov 2015 09:15:22 -0500
51+
52+python-seamicroclient (0.2.1-0ubuntu1) trusty-proposed; urgency=medium
53+
54+ * New upstream bugfix release.
55+ - This release only fixes connection issues when trying to power on/off
56+ multiple nodes at the same time. (LP: #1311140)
57+ * debian/patches/fix-tests.patch: Fix tests.
58+
59+ -- Andres Rodriguez <andreserl@ubuntu.com> Tue, 22 Apr 2014 12:18:19 -0400
60+
61+python-seamicroclient (0.2.0-0ubuntu1) trusty; urgency=medium
62+
63+ * New upstream release (LP: #1305220)
64+ - Remove use of auth_token for REST API. Fixes concurrent access by
65+ using user/password each time instead of auth_token (LP: #1302828)
66+ * debian/watch: Updated to include correct URL link.
67+
68+ -- Andres Rodriguez <andreserl@ubuntu.com> Wed, 09 Apr 2014 13:37:27 -0400
69+
70+python-seamicroclient (0.1.0-2ubuntu1) trusty; urgency=medium
71+
72+ * debian/control:
73+ - Drop Build-Depends on python-hacking since we don't use pep8 testing.
74+ - Add Build-Depends on python-requests.
75+ * debian/rules: Run tests with testr instead.
76+ * debian/patches/skip-tests.patch: Skip various tests as they require to
77+ have actual hardware to test against.
78+
79+ -- Andres Rodriguez <andreserl@ubuntu.com> Fri, 28 Mar 2014 12:17:18 -0400
80+
81 python-seamicroclient (0.1.0-2) unstable; urgency=medium
82
83 * Added missing build-depends: openstack-pkg-tools (Closes: #741539).
84diff --git a/debian/control b/debian/control
85index 3ca59fa..18729ec 100644
86--- a/debian/control
87+++ b/debian/control
88@@ -1,7 +1,8 @@
89 Source: python-seamicroclient
90 Section: python
91 Priority: optional
92-Maintainer: Debian OpenStack <team+openstack@tracker.debian.org>
93+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
94+XSBC-Original-Maintainer: Debian OpenStack <team+openstack@tracker.debian.org>
95 Uploaders:
96 Thomas Goirand <zigo@debian.org>,
97 Build-Depends:
98@@ -16,7 +17,6 @@ Build-Depends-Indep:
99 python3-babel,
100 python3-coverage,
101 python3-fixtures,
102- python3-hacking,
103 python3-iso8601,
104 python3-keyring,
105 python3-mock,
106diff --git a/debian/patches/add-pkg-info.patch b/debian/patches/add-pkg-info.patch
107new file mode 100644
108index 0000000..b8b97cf
109--- /dev/null
110+++ b/debian/patches/add-pkg-info.patch
111@@ -0,0 +1,31 @@
112+Description: Adds PKG-INFO for the package
113+ Without this, the egg is incorrectly set to version 0.0.1.dev10.
114+ For version <= 0.4.0, also fixed FTBS with python setup.py build.
115+Author: Andres Rodriguez <andreserl@ubuntu.com>
116+Origin: vendor
117+Reviewed-By: Bryce Harrington <bryce@canonical.com>
118+Last-Updated: 2019-08-05
119+
120+--- /dev/null
121++++ python-seamicroclient-0.4.0/PKG-INFO
122+@@ -0,0 +1,20 @@
123++Metadata-Version: 1.1
124++Name: python-seamicroclient
125++Version: 0.4.0+2016.05.20.git.40ee44c664
126++Summary: Client library for Seamicro chassis API
127++Home-page: https://github.com/seamicro/python-seamicroclient
128++Author: AMD
129++Author-email: rohan.kanade@izeltech.com
130++License: Apache License, Version 2.0
131++Description: Python client for consuming SeaMicro REST API v2.0
132++
133++
134++Platform: UNKNOWN
135++Classifier: Development Status :: 4 - Beta
136++Classifier: Environment :: Console
137++Classifier: Environment :: Web Environment
138++Classifier: Intended Audience :: Developers
139++Classifier: Intended Audience :: Information Technology
140++Classifier: License :: OSI Approved :: Apache Software License
141++Classifier: Operating System :: OS Independent
142++Classifier: Programming Language :: Python
143diff --git a/debian/patches/series b/debian/patches/series
144index 2438367..ca7c4bf 100644
145--- a/debian/patches/series
146+++ b/debian/patches/series
147@@ -1,2 +1,3 @@
148 fix-requirements.txt.patch
149 removed-failing-tests.patch
150+add-pkg-info.patch

Subscribers

People subscribed via source and target branches