Path: csiph.com!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod From: Matthias Klose Newsgroups: linux.debian.maint.python,linux.debian.bugs.dist Subject: Re: Bug#866668: src:python-cryptography: Misbuild with more than one supported python3 version Date: Sat, 01 Jul 2017 12:50:01 +0200 Message-ID: References: X-Original-To: Tristan Seligmann , Scott Kitterman , debian-python X-Mailbox-Line: From debian-python-request@lists.debian.org Sat Jul 1 10:43:02 2017 Old-Return-Path: X-Amavis-Spam-Status: No, score=-7.5 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, FOURLA=0.1, LDO_WHITELIST=-5, MURPHY_SCAM3=0.1, RCVD_IN_DNSWL_LOW=-0.7] autolearn=ham autolearn_force=no X-Policyd-Weight: using cached result; rate: -5 Old-X-Envelope-From: doko@debian.org User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Mailing-List: archive/latest/14980 List-ID: List-URL: List-Archive: https://lists.debian.org/msgid-search/bc22aacf-e569-ee99-9e06-d73111d6acb3@debian.org Approved: robomod@news.nic.it Lines: 45 Organization: linux.* mail to news gateway Sender: robomod@news.nic.it X-Original-Cc: 866668@bugs.debian.org X-Original-Date: Sat, 1 Jul 2017 12:41:46 +0200 X-Original-Message-ID: X-Original-References: <20170630173101.20644.73967.reportbug@kitterma-E6430> Xref: csiph.com linux.debian.maint.python:9601 linux.debian.bugs.dist:832537 On 30.06.2017 22:00, Tristan Seligmann wrote: > Control: severity -1 important > > On Fri, 30 Jun 2017 at 19:33 Scott Kitterman wrote: > >> Technically, it builds, but in a way that's not useful. It would actually >> be >> better if it had failed (I noticed this from reviewing build logs after the >> python3 interpreter depends weren't generated correctly). >> > > In fact, the package works fine on python3.5 as well as python3.6 (the > module imports, and the full test suite passes against the installed > modules), thus I'm downgrading the severity of this bug. > > During the build, the extension modules are first built on python3.5, and > it is these modules that land in /usr/lib/python3, with the "abi3" ABI tag. > The extension modules are then built again on python3.6, but these don't > get moved into /usr/lib/python3 due to the files from the python3.5 build > having the same name, thus landing in an incorrect directory in the final > package and serving no useful purpose. > > The reason the package still works is the "abi3" ABI tag; these modules > (like all CFFI-built modules, by default) are using the Python 3 "stable > ABI"[1] so the modules built on python3.5 work fine when imported on > python3.6, and vice-versa. I think what this means is that we only need to > run the Python 3 build once (using the default version?); also, I think the > interpreter depends are in fact correct in light of this. I tested > downgrading to 1.7.1-3 and the module still imports and works on python3.6, > even though 1.7.1-3 was only ever built against python3.5. > > However, testing against all supported versions at build time is probably > still appropriate. > > I'm looping in debian-python here as others may be surprised by this > combination of effects as well, and we should probably be handling the > issue of modules using the stable ABI consistently. Also, I'm not 100% > certain what the best way forward is here; teach pybuild/dh_python3 about > the stable ABI? I think testing the build against all supported python versions makes sense. But how do we make sure that a package built against the new supported version end up in the archive for a release? Matthias