Your message dated Tue, 9 Apr 2019 10:36:15 +0200
with message-id <[email protected]>
and subject line Re: unblock: python3-lexicon/3.0.8-2
has caused the Debian Bug report #926685,
regarding unblock: python3-lexicon/3.0.8-2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
926685: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=926685
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
User: [email protected]
Usertags: unblock

Hello release team,

I was recently made aware of a bug in python3-lexicon that causes the
certbot dnsimple plugin to be completely broken.  I've spoken to the
upstreams of both certbot and lexicon, and we've worked out a plan
forward.

A single backported patch for python3-lexicon will fix the issue for
certbot and anything else that's using the DNSimple API.  The
functional change is a single line, though the patch is slightly
bigger to correct the tests as well.

Could I get it unblocked for migration into buster?  A debdiff is
attached.

Thanks!

unblock python3-lexicon/3.0.8-2

-- System Information:
Debian Release: buster/sid
  APT prefers testing
  APT policy: (900, 'testing')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.19.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
diff -Nru lexicon-3.0.8/debian/changelog lexicon-3.0.8/debian/changelog
--- lexicon-3.0.8/debian/changelog      2019-01-06 09:24:20.000000000 -0500
+++ lexicon-3.0.8/debian/changelog      2019-04-08 18:07:45.000000000 -0400
@@ -1,3 +1,10 @@
+lexicon (3.0.8-2) unstable; urgency=high
+
+  * Team upload.
+  * Import dnsimple create fix from upstream (Closes: #926682)
+
+ -- Harlan Lieberman-Berg <[email protected]>  Mon, 08 Apr 2019 18:07:45 
-0400
+
 lexicon (3.0.8-1) unstable; urgency=medium
 
   [ Ana Custura ]
diff -Nru lexicon-3.0.8/debian/patches/0004-fix-dnsimple-creates.patch 
lexicon-3.0.8/debian/patches/0004-fix-dnsimple-creates.patch
--- lexicon-3.0.8/debian/patches/0004-fix-dnsimple-creates.patch        
1969-12-31 19:00:00.000000000 -0500
+++ lexicon-3.0.8/debian/patches/0004-fix-dnsimple-creates.patch        
2019-04-08 18:02:42.000000000 -0400
@@ -0,0 +1,143 @@
+From d0bf4939d49c63026411a306615b6fb13ed0cc22 Mon Sep 17 00:00:00 2001
+From: Adrien Ferrand <[email protected]>
+Date: Wed, 3 Apr 2019 23:43:24 +0200
+Subject: [PATCH] Fix create record on dnsimple (#389)
+
+---
+ lexicon/providers/dnsimple.py                                 | 2 +-
+ ..._calling_delete_record_by_filter_should_remove_record.yaml | 2 +-
+ ..._record_by_filter_with_fqdn_name_should_remove_record.yaml | 2 +-
+ ..._record_by_filter_with_full_name_should_remove_record.yaml | 2 +-
+ ...ling_delete_record_by_identifier_should_remove_record.yaml | 2 +-
+ ...h_record_set_by_content_should_leave_others_untouched.yaml | 2 +-
+ ...calling_delete_record_with_record_set_name_remove_all.yaml | 4 ++--
+ ...ing_update_record_with_fqdn_name_should_modify_record.yaml | 2 +-
+ ...ing_update_record_with_full_name_should_modify_record.yaml | 2 +-
+ 9 files changed, 10 insertions(+), 10 deletions(-)
+
+Index: python-lexicon/lexicon/providers/dnsimple.py
+===================================================================
+--- python-lexicon.orig/lexicon/providers/dnsimple.py
++++ python-lexicon/lexicon/providers/dnsimple.py
+@@ -69,7 +69,7 @@ class Provider(BaseProvider):
+             record['regions'] = self._get_provider_option('regions')
+ 
+         payload = self._post(
+-            '{0}/zones/{1}/records'.format(self.account_id, self.domain), 
record)
++            '/{0}/zones/{1}/records'.format(self.account_id, self.domain), 
record)
+ 
+         LOGGER.debug('create_record: %s', 'id' in payload)
+         return 'id' in payload
+Index: 
python-lexicon/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_by_filter_should_remove_record.yaml
+===================================================================
+--- 
python-lexicon.orig/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_by_filter_should_remove_record.yaml
++++ 
python-lexicon/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_by_filter_should_remove_record.yaml
+@@ -112,7 +112,7 @@ interactions:
+       Content-Type: [application/json]
+       User-Agent: [python-requests/2.19.1]
+     method: POST
+-    uri: https://api.sandbox.dnsimple.com/v2731/zones/lexicontest.us/records
++    uri: https://api.sandbox.dnsimple.com/v2/731/zones/lexicontest.us/records
+   response:
+     body: {string: 
'{"data":{"id":502887,"zone_id":"lexicontest.us","parent_id":null,"name":"delete.testfilt","content":"challengetoken","ttl":3600,"priority":null,"type":"TXT","regions":["global"],"system_record":false,"created_at":"2018-07-09T05:38:19Z","updated_at":"2018-07-09T05:38:19Z"}}'}
+     headers:
+Index: 
python-lexicon/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record.yaml
+===================================================================
+--- 
python-lexicon.orig/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record.yaml
++++ 
python-lexicon/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_by_filter_with_fqdn_name_should_remove_record.yaml
+@@ -112,7 +112,7 @@ interactions:
+       Content-Type: [application/json]
+       User-Agent: [python-requests/2.19.1]
+     method: POST
+-    uri: https://api.sandbox.dnsimple.com/v2731/zones/lexicontest.us/records
++    uri: https://api.sandbox.dnsimple.com/v2/731/zones/lexicontest.us/records
+   response:
+     body: {string: 
'{"data":{"id":502888,"zone_id":"lexicontest.us","parent_id":null,"name":"delete.testfqdn","content":"challengetoken","ttl":3600,"priority":null,"type":"TXT","regions":["global"],"system_record":false,"created_at":"2018-07-09T05:38:24Z","updated_at":"2018-07-09T05:38:24Z"}}'}
+     headers:
+Index: 
python-lexicon/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record.yaml
+===================================================================
+--- 
python-lexicon.orig/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record.yaml
++++ 
python-lexicon/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_by_filter_with_full_name_should_remove_record.yaml
+@@ -112,7 +112,7 @@ interactions:
+       Content-Type: [application/json]
+       User-Agent: [python-requests/2.19.1]
+     method: POST
+-    uri: https://api.sandbox.dnsimple.com/v2731/zones/lexicontest.us/records
++    uri: https://api.sandbox.dnsimple.com/v2/731/zones/lexicontest.us/records
+   response:
+     body: {string: 
'{"data":{"id":502889,"zone_id":"lexicontest.us","parent_id":null,"name":"delete.testfull","content":"challengetoken","ttl":3600,"priority":null,"type":"TXT","regions":["global"],"system_record":false,"created_at":"2018-07-09T05:38:30Z","updated_at":"2018-07-09T05:38:30Z"}}'}
+     headers:
+Index: 
python-lexicon/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_by_identifier_should_remove_record.yaml
+===================================================================
+--- 
python-lexicon.orig/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_by_identifier_should_remove_record.yaml
++++ 
python-lexicon/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_by_identifier_should_remove_record.yaml
+@@ -112,7 +112,7 @@ interactions:
+       Content-Type: [application/json]
+       User-Agent: [python-requests/2.19.1]
+     method: POST
+-    uri: https://api.sandbox.dnsimple.com/v2731/zones/lexicontest.us/records
++    uri: https://api.sandbox.dnsimple.com/v2/731/zones/lexicontest.us/records
+   response:
+     body: {string: 
'{"data":{"id":502890,"zone_id":"lexicontest.us","parent_id":null,"name":"delete.testid","content":"challengetoken","ttl":3600,"priority":null,"type":"TXT","regions":["global"],"system_record":false,"created_at":"2018-07-09T05:38:35Z","updated_at":"2018-07-09T05:38:35Z"}}'}
+     headers:
+Index: 
python-lexicon/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched.yaml
+===================================================================
+--- 
python-lexicon.orig/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched.yaml
++++ 
python-lexicon/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_with_record_set_by_content_should_leave_others_untouched.yaml
+@@ -113,7 +113,7 @@ interactions:
+       Content-Type: [application/json]
+       User-Agent: [python-requests/2.19.1]
+     method: POST
+-    uri: https://api.sandbox.dnsimple.com/v2731/zones/lexicontest.us/records
++    uri: https://api.sandbox.dnsimple.com/v2/731/zones/lexicontest.us/records
+   response:
+     body: {string: 
'{"data":{"id":502891,"zone_id":"lexicontest.us","parent_id":null,"name":"_acme-challenge.deleterecordinset","content":"challengetoken1","ttl":3600,"priority":null,"type":"TXT","regions":["global"],"system_record":false,"created_at":"2018-07-09T05:38:40Z","updated_at":"2018-07-09T05:38:40Z"}}'}
+     headers:
+Index: 
python-lexicon/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_with_record_set_name_remove_all.yaml
+===================================================================
+--- 
python-lexicon.orig/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_with_record_set_name_remove_all.yaml
++++ 
python-lexicon/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_delete_record_with_record_set_name_remove_all.yaml
+@@ -112,7 +112,7 @@ interactions:
+       Content-Type: [application/json]
+       User-Agent: [python-requests/2.19.1]
+     method: POST
+-    uri: https://api.sandbox.dnsimple.com/v2731/zones/lexicontest.us/records
++    uri: https://api.sandbox.dnsimple.com/v2/731/zones/lexicontest.us/records
+   response:
+     body: {string: 
'{"data":{"id":502892,"zone_id":"lexicontest.us","parent_id":null,"name":"_acme-challenge.deleterecordset","content":"challengetoken1","ttl":3600,"priority":null,"type":"TXT","regions":["global"],"system_record":false,"created_at":"2018-07-09T05:38:46Z","updated_at":"2018-07-09T05:38:46Z"}}'}
+     headers:
+@@ -180,7 +180,7 @@ interactions:
+       Content-Type: [application/json]
+       User-Agent: [python-requests/2.19.1]
+     method: POST
+-    uri: https://api.sandbox.dnsimple.com/v2731/zones/lexicontest.us/records
++    uri: https://api.sandbox.dnsimple.com/v2/731/zones/lexicontest.us/records
+   response:
+     body: {string: 
'{"data":{"id":502893,"zone_id":"lexicontest.us","parent_id":null,"name":"_acme-challenge.deleterecordset","content":"challengetoken2","ttl":3600,"priority":null,"type":"TXT","regions":["global"],"system_record":false,"created_at":"2018-07-09T05:38:48Z","updated_at":"2018-07-09T05:38:48Z"}}'}
+     headers:
+Index: 
python-lexicon/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_update_record_with_fqdn_name_should_modify_record.yaml
+===================================================================
+--- 
python-lexicon.orig/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_update_record_with_fqdn_name_should_modify_record.yaml
++++ 
python-lexicon/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_update_record_with_fqdn_name_should_modify_record.yaml
+@@ -112,7 +112,7 @@ interactions:
+       Content-Type: [application/json]
+       User-Agent: [python-requests/2.19.1]
+     method: POST
+-    uri: https://api.sandbox.dnsimple.com/v2731/zones/lexicontest.us/records
++    uri: https://api.sandbox.dnsimple.com/v2/731/zones/lexicontest.us/records
+   response:
+     body: {string: 
'{"data":{"id":502895,"zone_id":"lexicontest.us","parent_id":null,"name":"orig.testfqdn","content":"challengetoken","ttl":3600,"priority":null,"type":"TXT","regions":["global"],"system_record":false,"created_at":"2018-07-09T05:46:57Z","updated_at":"2018-07-09T05:46:57Z"}}'}
+     headers:
+Index: 
python-lexicon/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_update_record_with_full_name_should_modify_record.yaml
+===================================================================
+--- 
python-lexicon.orig/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_update_record_with_full_name_should_modify_record.yaml
++++ 
python-lexicon/tests/fixtures/cassettes/dnsimple/IntegrationTests/test_Provider_when_calling_update_record_with_full_name_should_modify_record.yaml
+@@ -112,7 +112,7 @@ interactions:
+       Content-Type: [application/json]
+       User-Agent: [python-requests/2.19.1]
+     method: POST
+-    uri: https://api.sandbox.dnsimple.com/v2731/zones/lexicontest.us/records
++    uri: https://api.sandbox.dnsimple.com/v2/731/zones/lexicontest.us/records
+   response:
+     body: {string: 
'{"data":{"id":502896,"zone_id":"lexicontest.us","parent_id":null,"name":"orig.testfull","content":"challengetoken","ttl":3600,"priority":null,"type":"TXT","regions":["global"],"system_record":false,"created_at":"2018-07-09T05:47:01Z","updated_at":"2018-07-09T05:47:01Z"}}'}
+     headers:
diff -Nru lexicon-3.0.8/debian/patches/series 
lexicon-3.0.8/debian/patches/series
--- lexicon-3.0.8/debian/patches/series 2019-01-06 09:24:20.000000000 -0500
+++ lexicon-3.0.8/debian/patches/series 2019-04-08 18:02:36.000000000 -0400
@@ -1,3 +1,4 @@
 0001-disable-easyname.patch
 0002-disable-hetzner.patch
 0003-disable-localzone.patch
+0004-fix-dnsimple-creates.patch

--- End Message ---
--- Begin Message ---
Hi,

On Mon, Apr 08, 2019 at 06:20:10PM -0400, Harlan Lieberman-Berg wrote:
> Subject: unblock: python3-lexicon/3.0.8-2

Unblocked.

Thanks,

Ivo

--- End Message ---

Reply via email to