Re: Salvaging python-cassandra for Stretch

2017-04-06 Thread Thomas Goirand
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

2017-04-06 Thread Ondrej Novy
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

2017-04-06 Thread Ondrej Novy
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: Heads up about file name changes

2017-04-06 Thread Dmitry Shachnev
Hi Barry!

On Wed, Apr 05, 2017 at 04:53:54PM -0400, Barry Warsaw wrote:
> So far, I've seen this problem in python-babel and python-pika.  In both
> packages, d/rules tries to remove redundant files.  In babel's case it's
> license.txt[1] and in pika's case it's version_history.txt (same path
> pattern).  In both cases, these d/rules commands fail because the files now
> end in .rst.txt, not .txt.
>
> The fixes are easy of course, but this will probably affect many packages in
> DPMT so I wanted to give a heads up.

Thanks for this heads up! This is a change in Sphinx 1.5, added in
https://github.com/sphinx-doc/sphinx/pull/2454.

Sphinx now uses the original file name + sourcelink_suffix (.txt by default)
for files in _sources directory.

Another effect of the same change is that the projects with custom Sphinx
themes and templates now need to add SOURCELINK_SUFFIX option to
DOCUMENTATION_OPTIONS JS object, otherwise the search will not work (like it
is done in https://github.com/rtfd/sphinx_rtd_theme/commit/a5e0e304).

Sphinx 1.5 will be in experimental until the freeze ends, so we still have
time to file and/or fix the bugs.

--
Dmitry Shachnev


signature.asc
Description: PGP signature


Re: Salvaging python-cassandra for Stretch

2017-04-06 Thread Simon McVittie
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

2017-04-06 Thread Dmitry Shachnev
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

2017-04-06 Thread Thomas Goirand
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 Goirand   Thu, 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