Bug#506861: xz support for python-debian

Stefano Zacchiroli zack at debian.org
Tue Jan 14 18:58:02 UTC 2014


On Tue, Jan 14, 2014 at 11:17:14PM +1100, Stuart Prescott wrote:
> Neil: your simple patch stops debfile from crashing when it sees xz
> compressed packages but doesn't permit debfile to work with these
> files. A patch for this has now existed in the bts for a while now.

Ack.

> I've been very much hoping that someone would look over this patch and
> provide some feedback on it and/or merge it. Perhaps, at this stage,
> we should just upload it and deal with any bugs.
> 
> Perhaps I've not made it clear enough in the past, but I am quite
> willing to help out with python-debian maintenance. I would, however,
> be happier if there were some code review of contributions.

Stuart, thanks a lot for both your patch and your willingness to help
with python-debian maintenance. For one thing, I very much welcome your
help and I encourage you to add yourself to the Uploaders field and
proceed with an upload (see below for a review of your xz patch).

I can't speak for the python-debian team as a whole but, in fact, I
think we've been *lacking* such a team for the past few years. I'm still
on this list and follow it, but I don't expect to be able to be an
active maintainer for python-debian in the near future.  The most active
person over the past few years here has probably been John Wright, which
I'm now Cc:-ing explicitly. John, if you have objections to Stuart
adding himself to the Uploaders please say so.

> So, python-debian maintainers, any thoughts here? A review of this
> patch perhaps?

I've reviewed and tested your patch and (as the original author of the
debfile module) I'm fine with it. I've just one small doubt about the
Popen fallback in case tarfile throws an exception. I think---but
haven't thoroughly checked due to airplane-induced lack of Internet--it
might need the SIGPIPE workaround for the bug (which should be) here
http://bugs.python.org/issue1652 . Something like the following:

  import signal

  # [...]

  def _subprocess_setup():
      """SIGPIPE handling work-around. See http://bugs.python.org/issue1652

      """
      signal.signal(signal.SIGPIPE, signal.SIG_DFL)

  # [...]

  p = subprocess.Popen(['unxz', '--stdout'],
            stdin=subprocess.PIPE, stdout=subprocess.PIPE,
            universal_newlines=False,
	    preexec_fn=_subprocess_setup)

with the last 4 lines replacing your original Popen lines should do. If
you could double-check this and possibly amend your patch accordingly,
I'd (even more :-)) warmly encourage you to go ahead with an upload.

[ It is possible that other Popen/subprocess invocations throughout
  python-debian need this kind of fix, but that's a topic for another
  day. ]

Separately, and barring objections from John, please ping me on IRC in a
few days and I'll add you to the alioth group so that you can push to
the Git repo.

And many thanks for not giving up on us! :-)
Cheers.
-- 
Stefano Zacchiroli  . . . . . . .  zack at upsilon.cc . . . . o . . . o . o
Maître de conférences . . . . . http://upsilon.cc/zack . . . o . . . o o
Former Debian Project Leader  . . @zack on identi.ca . . o o o . . . o .
« the first rule of tautology club is the first rule of tautology club »
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 811 bytes
Desc: Digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-python-debian-maint/attachments/20140114/3150bedc/attachment.sig>


More information about the pkg-python-debian-maint mailing list