Re: Salvaging python-cassandra for Stretch
On 04/06/2017 09:36 PM, Thomas Goirand wrote: > On 04/06/2017 08:39 PM, Ondrej Novy wrote: >> And auto -dbgsym doesn't support python-dbg. So it's wrong for Python C >> modules. > > I guess I need to read more about this then. > > On 04/06/2017 06:31 PM, Dmitry Shachnev wrote: >> In my opinion a better solution (for Stretch) would be just adding an >> Architecture: field to the -dbg packages (and for Buster, porting the >> code to support big endian architectures). > > This looks like the most reasonable solution to me. Thoughts anyone? Does anyone oppose to an upload with this change? Cheers, Thomas Goirand (zigo)
Re: Salvaging python-cassandra for Stretch
On 04/06/2017 08:39 PM, Ondrej Novy wrote: > And auto -dbgsym doesn't support python-dbg. So it's wrong for Python C > modules. I guess I need to read more about this then. On 04/06/2017 06:31 PM, Dmitry Shachnev wrote: > In my opinion a better solution (for Stretch) would be just adding an > Architecture: field to the -dbg packages (and for Buster, porting the > code to support big endian architectures). This looks like the most reasonable solution to me. Thoughts anyone? Cheers, Thomas Goirand (zigo)
Re: Salvaging python-cassandra for Stretch
Hi, sry for second email. 2017-04-06 17:49 GMT+02:00 Thomas Goirand: > Attached is the debdiff. As you can see, I'm attempting to use the new > system that creates -dbgsym, and transitioning to it. cite from: https://release.debian.org/stretch/freeze_policy.html Some examples of changes that are undesirable during a freeze: dropping a -dbg package in favour of -dbgsym I guess FTP masters will reject this unblock request. And auto -dbgsym doesn't support python-dbg. So it's wrong for Python C modules. -- Best regards Ondřej Nový Email: n...@ondrej.org PGP: 3D98 3C52 EB85 980C 46A5 6090 3573 1255 9D1E 064B
Re: Salvaging python-cassandra for Stretch
Hi, 2017-04-06 17:49 GMT+02:00 Thomas Goirand: > I'll NMU. > because you are part of DPMT, why are you going to do NMU and not team upload? -- Best regards Ondřej Nový Email: n...@ondrej.org PGP: 3D98 3C52 EB85 980C 46A5 6090 3573 1255 9D1E 064B
Re: Salvaging python-cassandra for Stretch
On Thu, 06 Apr 2017 at 17:49:15 +0200, Thomas Goirand wrote: > Attached is the debdiff. As you can see, I'm attempting to use the new > system that creates -dbgsym, and transitioning to it. Sorry, I don't think this is a correct solution. For non-Python packages, foo-dbg traditionally contained detached debug symbols for the "production" version of foo (for example libglib2.0-0-dbg contained debug symbols that were stripped from the libraries and binaries in libglib2.0-0 and libglib2.0-bin). This can easily be superseded by -dbgsym packages. However, for Python packages, python[3]-foo-dbg has traditionally contained two distinct types of content: * Detached debug symbols as above * A version of the same Python libraries as python[3]-foo, but recompiled with different options such that they can be imported into the debug interpreter python[3]-dbg (whose ABI is not the same as python[3]) You're keeping the first but losing the second. Is this intentional? Is this correct? It is certainly not correct to keep the -dbg packages and make them transitional. I'm not sure whether this is considered to be a Policy violation (-dbgsym packages are not in the main archive), but it's certainly unconventional; and in this case, the -dbgsym package does not correctly provide (all the functionality of) the -dbg package, because the -dbg package contained libraries for the debug interpreter and the -dbgsym package does not. With hindsight, Python packages should probably not have ended with -dbg, because that misleads developers like you into thinking they are basically the same thing as libglib2.0-0-dbg - they aren't. Perhaps they should have been like python[3]-dbg-cassandra instead, which would make it a little clearer that they are a plugin for python[3]-dbg. Normally, dropping -dbg packages looks like this: https://anonscm.debian.org/cgit/pkg-games/ioquake3.git/commit/?id=87594a58b03b850569357543b3823954b4fb0e73 > Also, does #857298 really deserves severity "grave"? Are others sharing > the view that it could be downgraded to "important"? It is grave for the binary package, because on the affected architectures, python-cassandra-dbg is useless: it fails to meet its intended purpose (letting users of python-dbg "import cassandra"). Unfortunately, autoremovals act on source packages, not binary packages, because we don't want to remove individual binary packages from testing. Perhaps removing the binary package is the best resolution - I don't know. It's certainly the easiest. However, you need to be aware that this is what you're doing: deliberately removing functionality. S
Re: Salvaging python-cassandra for Stretch
Hi Thomas! On Thu, Apr 06, 2017 at 05:49:15PM +0200, Thomas Goirand wrote: > Hi Sandro and others, > > Sandro Tosi has left python-cassandra-driver in a bad state, which leads > me to attempt to salvage it before it's too late. No harsh feeling, this > happened to everyone of us, and we can all be busy. Though something > must be done. Indeed, python-cassandra-driver suffers from #857298, > which is an RC bug that will lead to AUTORM in 16 days. This will also > remove openstack-trove, which I would like to avoid. > > As I don't want to repeat history and get a flame war started by an NMU, > I'm in advance of a possible NMU upload, sharing the debdiff with the > debian-python list. If Sandro agrees, or if there's a consensus in this > list that it's appropriate, I'll NMU. Best would be if Sandro himself > fixes the issue though. > > Attached is the debdiff. As you can see, I'm attempting to use the new > system that creates -dbgsym, and transitioning to it. Of course, for > this to happen, we will need the FTP masters to approve such change in a > timely manner, and likewise with the release team unblock. If someone > believe he has a better approach, let me know, though what I did is > probably the safest way to fix #857298. To be honest, I do not like your patch. The -dbg package currently contains not only debug symbols, but also the C extensions built for debug Python interpreter. And you are removing them even on the platforms where they are successfully built. In my opinion a better solution (for Stretch) would be just adding an Architecture: field to the -dbg packages (and for Buster, porting the code to support big endian architectures). Also, even if you really wanted to switch to -dbgsym, there is no need to keep the old -dbg packages for transition. You could use --dbgsym-migration option of dh_strip instead. -- Dmitry Shachnev signature.asc Description: PGP signature
Salvaging python-cassandra for Stretch
Hi Sandro and others, Sandro Tosi has left python-cassandra-driver in a bad state, which leads me to attempt to salvage it before it's too late. No harsh feeling, this happened to everyone of us, and we can all be busy. Though something must be done. Indeed, python-cassandra-driver suffers from #857298, which is an RC bug that will lead to AUTORM in 16 days. This will also remove openstack-trove, which I would like to avoid. As I don't want to repeat history and get a flame war started by an NMU, I'm in advance of a possible NMU upload, sharing the debdiff with the debian-python list. If Sandro agrees, or if there's a consensus in this list that it's appropriate, I'll NMU. Best would be if Sandro himself fixes the issue though. Attached is the debdiff. As you can see, I'm attempting to use the new system that creates -dbgsym, and transitioning to it. Of course, for this to happen, we will need the FTP masters to approve such change in a timely manner, and likewise with the release team unblock. If someone believe he has a better approach, let me know, though what I did is probably the safest way to fix #857298. Also, does #857298 really deserves severity "grave"? Are others sharing the view that it could be downgraded to "important"? Cheers, Thomas Goirand (zigo) diff -Nru python-cassandra-driver-3.7.1/debian/changelog python-cassandra-driver-3.7.1/debian/changelog --- python-cassandra-driver-3.7.1/debian/changelog 2017-01-08 16:28:48.0 + +++ python-cassandra-driver-3.7.1/debian/changelog 2017-04-06 15:17:46.0 + @@ -1,3 +1,11 @@ +python-cassandra-driver (3.7.1-2.1) unstable; urgency=medium + + * Non-maintainer upload. + * python{3,}-cassandra-dbg are now transition packages to *-dbgsym +packages than are handled automatically (Closes: #857298). + + -- Thomas GoirandThu, 06 Apr 2017 15:17:46 + + python-cassandra-driver (3.7.1-2) unstable; urgency=medium * debian/rules diff -Nru python-cassandra-driver-3.7.1/debian/control python-cassandra-driver-3.7.1/debian/control --- python-cassandra-driver-3.7.1/debian/control2017-01-08 16:28:48.0 + +++ python-cassandra-driver-3.7.1/debian/control2017-04-06 15:17:46.0 + @@ -32,10 +32,9 @@ Package: python-cassandra-dbg Section: debug Priority: extra -Architecture: any -Depends: ${python:Depends}, ${misc:Depends}, ${shlibs:Depends}, python-cassandra (= ${binary:Version}), -Suggests: python-snappy, python-lz4, python-blist -Description: Python driver for Apache Cassandra (debug) +Architecture: all +Depends: ${misc:Depends}, python-cassandra-dbgsym +Description: Python driver for Apache Cassandra (transition package) A modern, feature-rich and highly-tunable Python client library for Apache Cassandra (1.2+) and DataStax Enterprise (3.1+) using exclusively Cassandra's binary protocol and Cassandra Query Language v3. @@ -51,7 +50,7 @@ * Concurrent execution utilities * Object mapper . - This package contains the debug extension for python-cassandra + This empty package is a transition package to the python-cassandra-dbgsym. Package: python3-cassandra Architecture: any @@ -78,10 +77,9 @@ Package: python3-cassandra-dbg Section: debug Priority: extra -Architecture: any -Depends: ${python3:Depends}, ${misc:Depends}, ${shlibs:Depends}, python3-cassandra (= ${binary:Version}) -Suggests: python3-blist -Description: Python driver for Apache Cassandra (Python 3 debug) +Architecture: all +Depends: ${misc:Depends}, python3-cassandra-dbgsym +Description: Python 3 driver for Apache Cassandra (transition package) A modern, feature-rich and highly-tunable Python client library for Apache Cassandra (1.2+) and DataStax Enterprise (3.1+) using exclusively Cassandra's binary protocol and Cassandra Query Language v3. @@ -97,4 +95,4 @@ * Concurrent execution utilities * Object mapper . - This package contains the debug extensions for python3-cassandra + This empty package is a transition package to the python3-cassandra-dbgsym. diff -Nru python-cassandra-driver-3.7.1/debian/rules python-cassandra-driver-3.7.1/debian/rules --- python-cassandra-driver-3.7.1/debian/rules 2017-01-08 16:28:48.0 + +++ python-cassandra-driver-3.7.1/debian/rules 2017-04-06 15:17:46.0 + @@ -11,17 +11,7 @@ override_dh_auto_install: python setup.py install --install-layout=deb --root $(CURDIR)/debian/python-cassandra - python-dbg setup.py install --install-layout=deb --root $(CURDIR)/debian/python-cassandra-dbg python3 setup.py install --install-layout=deb --root $(CURDIR)/debian/python3-cassandra - python3-dbg setup.py install --install-layout=deb --root $(CURDIR)/debian/python3-cassandra-dbg - - rm -rf debian/python*-dbg/usr/lib/python*/dist-packages/cassandra/numpyFlags.h - -override_dh_strip: -ifeq (,$(filter nostrip,$(DEB_BUILD_OPTIONS))) - dh_strip -ppython-cassandra