Merge ~ahasenack/ubuntu/+source/python-certbot:xenial-certbot-backport-1837673 into ubuntu/+source/python-certbot:ubuntu/cosmic-devel

Proposed by Andreas Hasenack
Status: Merged
Approved by: Andreas Hasenack
Approved revision: 2fbc42e88676f36008134d8bad9b7e27f077ebe0
Merge reported by: Andreas Hasenack
Merged at revision: 2fbc42e88676f36008134d8bad9b7e27f077ebe0
Proposed branch: ~ahasenack/ubuntu/+source/python-certbot:xenial-certbot-backport-1837673
Merge into: ubuntu/+source/python-certbot:ubuntu/cosmic-devel
Diff against target: 298 lines (+107/-87)
9 files modified
debian/changelog (+22/-0)
debian/compat (+1/-1)
debian/control (+30/-29)
debian/patches/0002-revert-sphinx-1.6-requirement.patch (+38/-0)
debian/patches/series (+1/-0)
debian/python-certbot-doc.doc-base (+2/-2)
debian/python-certbot.lintian-overrides (+1/-1)
debian/rules (+12/-13)
dev/null (+0/-41)
Reviewer Review Type Date Requested Status
Andreas Hasenack Approve
Robie Basak Pending
Review via email: mp+374375@code.launchpad.net

This proposal supersedes a proposal from 2019-10-18.

Description of the change

Backport cosmic's python-certbot to xenial.

Bileto with ppa: https://bileto.ubuntu.com/#/ticket/3824

I'm not sure if we can use an MP for this, or if I used it correctly. I grabbed the cosmic package, and added the work to get it to build and function in xenial. That means I can't proposed this against xenial-devel, as there will be conflicts.

For this review, I suggest to view the differences between the current xenial package and this proposed one, and the current cosmic package and this proposed one. That will show what I changed from the cosmic package, and what changed in xenial when compared to what was there before.

This backport required more work, as xenial doesn't have all the python3 build-dependencies needed by this cosmic package. Upstream said it would be fine to have python2 packages only[1], but this means extra care should be taken when reviewing this.

Therefore the big list of changes is:
- drop py3 packages and use py2 only (and associated changes)
- add patch to allow building with sphinx 1.6
- downgrade debhelper from 11 to 9, which is what is available in xenial. That had other consequences, most notably around the systemd debhelpers.

The cosmic package has a lintian override for python3-certbot. I changed that to pyhon-certbot, since we are no longer producing the py3 version. This lintian warning/error doesn't seem to apply to xenial, but I opted to keep it just because it was there in the cosmic version. It is a delta when this package is compared to the one currently in xenial, though, so let me know if you'd rather have me drop that.

1. https://bugs.launchpad.net/ubuntu/+source/python-certbot/+bug/1837673/comments/8

To post a comment you must log in.
Revision history for this message
Andreas Hasenack (ahasenack) wrote :

rbasak gave a +1 for hash 2fbc42e

<rbasak> ahasenack: +1 for both your acme and certbot branches, both for peer review and also for SRU accept
<rbasak> ahasenack: would you like to upload them? If you're not around, I can "sponsor" them
<ahasenack> rbasak: I'm here
<ahasenack> rbasak: I'll do it in a bit, could you please just confirm the hashes you +1ed?
<ahasenack> maybe in the ~canonical-server mps, for certbot?
<rbasak> ahasenack: actually the MPs for certbot have the wrong target branches, so I was ignoring them.
<rbasak> Let me put the hashes here
<ahasenack> rbasak: I wasn't sure how to target correctly, since these are backports
<ahasenack> I started from, say, cosmic-devel, and added changes for it to build on, say, xenial
<ahasenack> but that won't merge with xenial, there will be conflicts
<rbasak> acme: xenial 0907ce1; bionic 68149a9; disco a928edd
<rbasak> certbot: xenial 2fbc42e; bionic 97de715
<rbasak> I will check that the uploads match those before SRU accept
<rbasak> ("git ubuntu queue sync" makes it easy)
<rbasak> ahasenack: maybe best to avoid upload tags on these then?
<rbasak> I would base on the unapplied import tags of the backport source versions to preserve history.
<rbasak> I thought you did that for certbot at least
<rbasak> IIRC the acme branches are based on Debian VCS which won't be in git-ubuntu
<ahasenack> rbasak: right, acme I didn't start over
<rbasak> I suggest upload tags for certbot then, but not acme
<rbasak> (to be clear, you did exactly what I'd expect)

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

This migrated

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/debian/changelog b/debian/changelog
index e1c9097..50da3f2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,25 @@
1python-certbot (0.27.0-1~ubuntu16.04.1) xenial; urgency=medium
2
3 * Backport to xenial (LP: #1837673):
4 - d/control, d/compat: go back to debhelper 9, and drop R³
5 - d/p/0002-revert-sphinx-1.6-requirement.patch: revert upstream change
6 that allows build with sphinx 1.6
7 - d/control: drop requirement on version 1.6 or higher of sphinx
8 - d/control, d/rules: go back to python2
9 - d/python-certbot-doc.doc-base: go back to the py2 package
10 - d/python-certbot.lintian-overrides: go back to python2
11 - d/rules: add systemd to debhelper, since it's not automatic on this
12 dh level
13 - d/control: build-dep on systemd
14 - d/rules: no need to explicitly install examples/docs
15 - d/rules: install certbot.timer as dh-systemd in Xenial doesn't do it
16 - d/rules: go back to dh_systemd_enable and dh_systemd_start since
17 dh_installsystemd is only available in debhelper 11 and later
18 - d/letsencrypt.postrm: purging the transitional package shouldn't
19 remove the logs (Closes: #921423)
20
21 -- Andreas Hasenack <andreas@canonical.com> Thu, 17 Oct 2019 21:03:01 +0000
22
1python-certbot (0.27.0-1) unstable; urgency=medium23python-certbot (0.27.0-1) unstable; urgency=medium
224
3 * New upstream version 0.27.025 * New upstream version 0.27.0
diff --git a/debian/compat b/debian/compat
index b4de394..ec63514 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
11119
diff --git a/debian/control b/debian/control
index 4ee6e91..ef9c127 100644
--- a/debian/control
+++ b/debian/control
@@ -1,42 +1,43 @@
1Source: python-certbot1Source: python-certbot
2Section: python2Section: python
3Priority: optional3Priority: optional
4Maintainer: Debian Let's Encrypt <team+letsencrypt@tracker.debian.org>4Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
5XSBC-Original-Maintainer: Debian Let's Encrypt <team+letsencrypt@tracker.debian.org>
5Uploaders: Harlan Lieberman-Berg <hlieberman@debian.org>,6Uploaders: Harlan Lieberman-Berg <hlieberman@debian.org>,
6 Francois Marier <francois@debian.org>7 Francois Marier <francois@debian.org>
7Build-Depends: debhelper (>= 11~),8Build-Depends: debhelper (>= 9~),
9 dh-systemd (>= 1.5),
8 dh-python,10 dh-python,
9 python3,11 python,
10 python3-acme (>= 0.26.0~),12 python-acme (>= 0.26.0~),
11 python3-configargparse (>= 0.10.0),13 python-configargparse (>= 0.10.0),
12 python3-configobj,14 python-configobj,
13 python3-cryptography (>= 1.2),15 python-cryptography (>= 1.2),
14 python3-distutils | python3 (<< 3.6.5~),16 python-distutils | python (<< 3.6.5~),
15 python3-josepy,17 python-josepy,
16 python3-mock,18 python-mock,
17 python3-parsedatetime (>= 1.3),19 python-parsedatetime (>= 1.3),
18 python3-repoze.sphinx.autointerface,20 python-repoze.sphinx.autointerface,
19 python3-requests (>= 2.4.3),21 python-requests (>= 2.4.3),
20 python3-rfc3339,22 python-rfc3339,
21 python3-setuptools (>= 1.0),23 python-setuptools (>= 1.0),
22 python3-sphinx (>= 1.6),24 python-sphinx,
23 python3-sphinx-rtd-theme,25 python-sphinx-rtd-theme,
24 python3-tz,26 python-tz,
25 python3-zope.component,27 python-zope.component,
26 python3-zope.interface28 python-zope.interface
27Standards-Version: 4.2.129Standards-Version: 4.2.1
28Homepage: https://certbot.eff.org/30Homepage: https://certbot.eff.org/
29Vcs-Git: https://salsa.debian.org/letsencrypt-team/certbot/certbot.git31Vcs-Git: https://salsa.debian.org/letsencrypt-team/certbot/certbot.git
30Vcs-Browser: https://salsa.debian.org/letsencrypt-team/certbot/certbot32Vcs-Browser: https://salsa.debian.org/letsencrypt-team/certbot/certbot
31Testsuite: autopkgtest-pkg-python33Testsuite: autopkgtest-pkg-python
32Rules-Requires-Root: no
3334
34Package: python3-certbot35Package: python-certbot
35Architecture: all36Architecture: all
36Depends: python3-acme (>= 0.25.0~),37Depends: python-acme (>= 0.25.0~),
37 python3-requests (>= 2.4.3),38 python-requests (>= 2.4.3),
38 ${misc:Depends},39 ${misc:Depends},
39 ${python3:Depends}40 ${python:Depends}
40Recommends: certbot41Recommends: certbot
41Suggests: python-certbot-doc42Suggests: python-certbot-doc
42Breaks: python-certbot-nginx (<< 0.20.0),43Breaks: python-certbot-nginx (<< 0.20.0),
@@ -63,14 +64,14 @@ Description: main library for certbot
63Package: certbot64Package: certbot
64Section: web65Section: web
65Architecture: all66Architecture: all
66Depends: python3-certbot (= ${source:Version}),67Depends: python-certbot (= ${source:Version}),
67 ${misc:Depends},68 ${misc:Depends},
68 ${python3:Depends}69 ${python:Depends}
69Breaks: letsencrypt (<= 0.6.0)70Breaks: letsencrypt (<= 0.6.0)
70Replaces: letsencrypt71Replaces: letsencrypt
71Provides: letsencrypt72Provides: letsencrypt
72Suggests: python3-certbot-apache,73Suggests: python-certbot-apache,
73 python3-certbot-nginx,74 python-certbot-nginx,
74 python-certbot-doc75 python-certbot-doc
75Description: automatically configure HTTPS using Let's Encrypt76Description: automatically configure HTTPS using Let's Encrypt
76 The objective of Certbot, Let's Encrypt, and the ACME (Automated77 The objective of Certbot, Let's Encrypt, and the ACME (Automated
diff --git a/debian/letsencrypt.postrm b/debian/letsencrypt.postrm
77deleted file mode 10075578deleted file mode 100755
index 42ae566..0000000
--- a/debian/letsencrypt.postrm
+++ /dev/null
@@ -1,41 +0,0 @@
1#!/bin/sh
2# postrm script for letsencrypt
3#
4# see: dh_installdeb(1)
5
6set -e
7
8# summary of how this script can be called:
9# * <postrm> `remove'
10# * <postrm> `purge'
11# * <old-postrm> `upgrade' <new-version>
12# * <new-postrm> `failed-upgrade' <old-version>
13# * <new-postrm> `abort-install'
14# * <new-postrm> `abort-install' <old-version>
15# * <new-postrm> `abort-upgrade' <old-version>
16# * <disappearer's-postrm> `disappear' <overwriter>
17# <overwriter-version>
18# for details, see https://www.debian.org/doc/debian-policy/ or
19# the debian-policy package
20
21
22case "$1" in
23 purge)
24 rm -rf /var/log/letsencrypt
25 ;;
26
27 remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
28 ;;
29
30 *)
31 echo "postrm called with unknown argument \`$1'" >&2
32 exit 1
33 ;;
34esac
35
36# dh_installdeb will replace this with shell code automatically
37# generated by other debhelper scripts.
38
39#DEBHELPER#
40
41exit 0
diff --git a/debian/patches/0002-revert-sphinx-1.6-requirement.patch b/debian/patches/0002-revert-sphinx-1.6-requirement.patch
42new file mode 1006440new file mode 100644
index 0000000..0913701
--- /dev/null
+++ b/debian/patches/0002-revert-sphinx-1.6-requirement.patch
@@ -0,0 +1,38 @@
1Description: revert upstream change that allows build with sphinx 1.6
2 Upstream added a change so that sphinx 1.6 could be used. Xenial has an
3 older version of Sphinx, so we need to revert that change.
4 .
5 See
6 https://bugs.launchpad.net/ubuntu/+source/python-certbot/+bug/1837673/comments/6
7Origin: upstream, https://github.com/certbot/certbot/commit/d8057f0e17dc757fae662dad91a6fedc96ad6a2d
8Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/python-certbot/+bug/1837673
9Last-Update: 2019-10-17
10---
11This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
12diff --git a/docs/conf.py b/docs/conf.py
13index 2e6c5a9..09bb442 100644
14--- a/docs/conf.py
15+++ b/docs/conf.py
16@@ -40,7 +40,6 @@ needs_sphinx = '1.0'
17 # ones.
18 extensions = [
19 'sphinx.ext.autodoc',
20- 'sphinx.ext.imgconverter',
21 'sphinx.ext.intersphinx',
22 'sphinx.ext.todo',
23 'sphinx.ext.coverage',
24diff --git a/setup.py b/setup.py
25index a13b7cd..1827c4d 100644
26--- a/setup.py
27+++ b/setup.py
28@@ -70,8 +70,8 @@ dev3_extras = [
29
30 docs_extras = [
31 'repoze.sphinx.autointerface',
32- # sphinx.ext.imgconverter
33- 'Sphinx >=1.6',
34+ # autodoc_member_order = 'bysource', autodoc_default_flags, and #4686
35+ 'Sphinx >=1.0,<=1.5.6',
36 'sphinx_rtd_theme',
37 ]
38
diff --git a/debian/patches/series b/debian/patches/series
index f869671..aed7114 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
10001-remove-external-images.patch10001-remove-external-images.patch
20002-revert-sphinx-1.6-requirement.patch
diff --git a/debian/python-certbot-doc.doc-base b/debian/python-certbot-doc.doc-base
index 7fc1750..9ebba79 100644
--- a/debian/python-certbot-doc.doc-base
+++ b/debian/python-certbot-doc.doc-base
@@ -6,5 +6,5 @@ Abstract: These HTML documentation contain the auto-generated
6Section: Web Development6Section: Web Development
77
8Format: HTML8Format: HTML
9Index: /usr/share/doc/python3-certbot/html/index.html9Index: /usr/share/doc/python-certbot-doc/html/index.html
10Files: /usr/share/doc/python3-certbot/html/*.html10Files: /usr/share/doc/python-certbot-doc/html/*.html
diff --git a/debian/python3-certbot.lintian-overrides b/debian/python-certbot.lintian-overrides
11similarity index 50%11similarity index 50%
12rename from debian/python3-certbot.lintian-overrides12rename from debian/python3-certbot.lintian-overrides
13rename to debian/python-certbot.lintian-overrides13rename to debian/python-certbot.lintian-overrides
index 4fae888..200d5ef 100644
--- a/debian/python3-certbot.lintian-overrides
+++ b/debian/python-certbot.lintian-overrides
@@ -1,3 +1,3 @@
1# The README file detected in testdata/ is an explanation of how the1# The README file detected in testdata/ is an explanation of how the
2# testdata keys were generated.2# testdata keys were generated.
3python3-certbot binary: package-contains-documentation-outside-usr-share-doc usr/lib/python3/dist-packages/certbot/tests/testdata/README
4\ No newline at end of file3\ No newline at end of file
4python-certbot binary: package-contains-documentation-outside-usr-share-doc usr/lib/python3/dist-packages/certbot/tests/testdata/README
diff --git a/debian/rules b/debian/rules
index 8a9a762..6751046 100755
--- a/debian/rules
+++ b/debian/rules
@@ -3,12 +3,12 @@
3export PYBUILD_NAME = certbot3export PYBUILD_NAME = certbot
44
5%:5%:
6 dh $@ --with python3,sphinxdoc --buildsystem=pybuild6 dh $@ --with python2,sphinxdoc,systemd --buildsystem=pybuild
77
8override_dh_install:8override_dh_install:
9 mkdir -p debian/certbot/usr/bin debian/certbot/etc/letsencrypt9 mkdir -p debian/certbot/usr/bin debian/certbot/etc/letsencrypt
10 mv debian/python3-certbot/usr/bin/* debian/certbot/usr/bin10 mv debian/python-certbot/usr/bin/* debian/certbot/usr/bin
11 rm -rf debian/python3-certbot/usr/bin11 rm -rf debian/python-certbot/usr/bin
12 mv debian/cli.ini debian/certbot/etc/letsencrypt/cli.ini12 mv debian/cli.ini debian/certbot/etc/letsencrypt/cli.ini
13 http_proxy='127.0.0.1:9' \13 http_proxy='127.0.0.1:9' \
14 https_proxy='127.0.0.1:9' \14 https_proxy='127.0.0.1:9' \
@@ -16,16 +16,15 @@ override_dh_install:
16 http_proxy='127.0.0.1:9' \16 http_proxy='127.0.0.1:9' \
17 https_proxy='127.0.0.1:8' \17 https_proxy='127.0.0.1:8' \
18 sphinx-build -N -bman docs/ build/man18 sphinx-build -N -bman docs/ build/man
19 # Install certbot.timer as dh-systemd in Xenial doesn't do it
20 install -D --mode=644 --target-directory=debian/certbot/lib/systemd/system debian/certbot.timer
1921
20override_dh_installsystemd:22override_dh_systemd_enable:
21 dh_installsystemd --no-start --package=certbot23 dh_systemd_enable -pcertbot certbot.service
22 dh_installsystemd --package=certbot certbot.timer24 dh_systemd_enable -pcertbot certbot.timer
2325
24override_dh_installinit:26override_dh_systemd_start:
2527 dh_systemd_start -pcertbot --no-start certbot.service
26override_dh_installdocs:28 dh_systemd_start -pcertbot certbot.timer
27 dh_installdocs --doc-main-package=python3-certbot -p python-certbot-doc
28 dh_installdocs -p certbot -p python3-certbot -p letsencrypt
2929
30override_dh_installexamples:30override_dh_installinit:
31 dh_installexamples --doc-main-package=python3-certbot -p python-certbot-doc

Subscribers

People subscribed via source and target branches

to status/vote changes: