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 (community) Approve
Canonical Server packageset reviewers Pending
Canonical Server Pending
Review via email: mp+370928@code.staging.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.

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

There was an error fetching revisions from git servers. Please try again in a few minutes. If the problem persists, contact Launchpad support.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
The diff is not available at this time. You can reload the page or download it.

Subscribers

People subscribed via source and target branches