Merge lp:~logan/ubuntu/raring/pyvorbis/debian-merge into lp:ubuntu/raring/pyvorbis

Proposed by Logan Rosen
Status: Merged
Merge reported by: Dimitri John Ledkov
Merged at revision: not available
Proposed branch: lp:~logan/ubuntu/raring/pyvorbis/debian-merge
Merge into: lp:ubuntu/raring/pyvorbis
Diff against target: 230 lines (+123/-24)
6 files modified
.pc/applied-patches (+1/-0)
debian/changelog (+16/-0)
debian/control (+2/-1)
debian/patches/03_fix_call_to_ov_read.patch (+90/-0)
debian/patches/series (+1/-0)
src/pyvorbisfile.c (+13/-23)
To merge this branch: bzr merge lp:~logan/ubuntu/raring/pyvorbis/debian-merge
Reviewer Review Type Date Requested Status
Ubuntu branches Pending
Review via email: mp+141443@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Logan Rosen (logan) wrote :

I have forwarded the Ubuntu delta to Debian here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=696902

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

.pc/03_fix_call_to_ov_read.patch is missing from the branch, yet is actually patched in the tree & present in .pc/applied-patches.
Hence the branch is broken, the merge is fine though. Will upload that, but not merge this branch =(

One should always do
$ quilt push -a && bzr add .pc
before commiting =/

Oh well, bzr-bd workflow sometimes sucks.

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

i am so sorry, it looks like cjwatson uploaded this merge in the mean time.

Revision history for this message
Logan Rosen (logan) wrote :

There are still some kinks to work out with UDD, I'm afraid. :/

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file '.pc/applied-patches'
--- .pc/applied-patches 2011-08-17 17:47:50 +0000
+++ .pc/applied-patches 2012-12-29 00:24:23 +0000
@@ -1,2 +1,3 @@
101_previous_changes.patch101_previous_changes.patch
202_whrandom_gone.patch202_whrandom_gone.patch
303_fix_call_to_ov_read.patch
34
=== modified file 'debian/changelog'
--- debian/changelog 2012-10-08 22:00:21 +0000
+++ debian/changelog 2012-12-29 00:24:23 +0000
@@ -1,3 +1,19 @@
1pyvorbis (1.5-2ubuntu1) raring; urgency=low
2
3 * Merge from Debian unstable. Remaining changes:
4 - Build using dh_python2.
5
6 -- Logan Rosen <logatronico@gmail.com> Fri, 28 Dec 2012 19:12:53 -0500
7
8pyvorbis (1.5-2) unstable; urgency=low
9
10 * debian/patches/03_fix_call_to_ov_read.patch
11 - fix a crash ("Floating point exception") when calling read(); thanks to
12 Alessio Gaeta for the report and to Emmanuel Anne for the patch;
13 Closes: #696640
14
15 -- Sandro Tosi <morph@debian.org> Wed, 26 Dec 2012 12:37:57 +0100
16
1pyvorbis (1.5-1ubuntu2) quantal; urgency=low17pyvorbis (1.5-1ubuntu2) quantal; urgency=low
218
3 * Rebuild for new armel compiler default of ARMv5t.19 * Rebuild for new armel compiler default of ARMv5t.
420
=== modified file 'debian/control'
--- debian/control 2011-12-17 14:30:48 +0000
+++ debian/control 2012-12-29 00:24:23 +0000
@@ -1,7 +1,8 @@
1Source: pyvorbis1Source: pyvorbis
2Section: python2Section: python
3Priority: optional3Priority: optional
4Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>4Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
5XSBC-Original-Maintainer: Debian Python Modules Team <python-modules-team@lists.alioth.debian.org>
5Uploaders: Sandro Tosi <morph@debian.org>6Uploaders: Sandro Tosi <morph@debian.org>
6Build-Depends: debhelper (>= 5.0.37.2), python-all-dev (>= 2.6.6-3~),7Build-Depends: debhelper (>= 5.0.37.2), python-all-dev (>= 2.6.6-3~),
7 python-all-dbg, python-ogg-dbg (>= 1.3-1.1), 8 python-all-dbg, python-ogg-dbg (>= 1.3-1.1),
89
=== added file 'debian/patches/03_fix_call_to_ov_read.patch'
--- debian/patches/03_fix_call_to_ov_read.patch 1970-01-01 00:00:00 +0000
+++ debian/patches/03_fix_call_to_ov_read.patch 2012-12-29 00:24:23 +0000
@@ -0,0 +1,90 @@
1Description: Fix the crash/no sound while trying to play fofix/guitar hero
2 This mod was trying to force a prototype on an array of callbacks, it's a
3 miracle that it ever worked, maybe older versions of python were more
4 forgiving, or recent versions of libc don't let this kind of thing to
5 pass...
6 .
7 Also changed the memory allocation of py_ov_read to something simpler
8Origin: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=670062#10
9Bug-Debian: http://bugs.debian.org/696640
10Forwarded: https://groups.google.com/d/topic/pyogg/IuvxXV5UgP4/discussion
11
12--- pyvorbis-1.5.orig/src/pyvorbisfile.c
13+++ pyvorbis-1.5/src/pyvorbisfile.c
14@@ -35,7 +35,7 @@ length is the number of bytes to read\n\
15 \tbigendian is the endianness you want (defaults to host endianness)\n\
16 \tword is the word size\n\tnot sure what signed does\n";
17
18-static PyObject *py_ov_read(PyObject *, PyObject *, PyObject *);
19+static PyObject *py_ov_read(PyObject *, PyObject *); // , PyObject *);
20
21 FDEF(ov_streams) "Returns the number of logical streams in this VorbisFile";
22 FDEF(ov_seekable) "Returns whether this VorbisFile is seekable.";
23@@ -119,7 +119,7 @@ PyTypeObject py_vorbisfile_type = {
24
25
26 static PyMethodDef OggVorbis_File_methods[] = {
27- {"read", (PyCFunction) py_ov_read,
28+ {"read", py_ov_read,
29 METH_VARARGS | METH_KEYWORDS, py_ov_read_doc},
30 {"info", py_ov_info,
31 METH_VARARGS, py_ov_info_doc},
32@@ -288,7 +288,7 @@ static int is_big_endian() {
33 }
34
35 static PyObject *
36-py_ov_read(PyObject *self, PyObject *args, PyObject *kwdict)
37+py_ov_read(PyObject *self, PyObject *args) // , PyObject *kwdict)
38 {
39 py_vorbisfile * ov_self = (py_vorbisfile *) self;
40 PyObject *retobj;
41@@ -298,7 +298,7 @@ py_ov_read(PyObject *self, PyObject *arg
42 PyObject *tuple;
43 char *buff;
44
45- int length, word, sgned, bitstream;
46+ int length, word, sgned, bitstream = 0;
47 int bigendianp;
48
49 // Default to host order
50@@ -307,33 +307,23 @@ py_ov_read(PyObject *self, PyObject *arg
51 word = 2;
52 sgned = 1;
53
54- if (!PyArg_ParseTupleAndKeywords(args, kwdict, "|llll", read_kwlist,
55+/* if (!PyArg_ParseTupleAndKeywords(args, kwdict, "|llll", read_kwlist,
56 &length, &bigendianp, &word, &sgned))
57- return NULL;
58-
59- buffobj = PyBuffer_New(length);
60-
61- tuple = PyTuple_New(1);
62- Py_INCREF(buffobj);
63- PyTuple_SET_ITEM(tuple, 0, buffobj);
64+ return NULL; */
65
66- if (!(PyArg_ParseTuple(tuple, "t#", &buff, &length))) {
67- return NULL;
68- }
69- Py_DECREF(tuple);
70+ buff = malloc(length);
71+ if (!buff) return NULL;
72
73- Py_BEGIN_ALLOW_THREADS
74 retval = ov_read(ov_self->ovf, buff, length,
75 bigendianp, word, sgned, &bitstream);
76- Py_END_ALLOW_THREADS
77
78 if (retval < 0) {
79- Py_DECREF(buffobj);
80+ free(buff);
81 return v_error_from_code(retval, "Error reading file: ");
82 }
83
84- retobj = Py_BuildValue("Oii", buffobj, retval, bitstream);
85- Py_DECREF(buffobj);
86+ retobj = Py_BuildValue("s#ii", buff, retval, retval, bitstream);
87+ free(buff);
88 return retobj;
89 }
90
091
=== modified file 'debian/patches/series'
--- debian/patches/series 2011-08-17 17:47:50 +0000
+++ debian/patches/series 2012-12-29 00:24:23 +0000
@@ -1,2 +1,3 @@
101_previous_changes.patch101_previous_changes.patch
202_whrandom_gone.patch202_whrandom_gone.patch
303_fix_call_to_ov_read.patch
34
=== modified file 'src/pyvorbisfile.c'
--- src/pyvorbisfile.c 2011-08-17 17:47:50 +0000
+++ src/pyvorbisfile.c 2012-12-29 00:24:23 +0000
@@ -35,7 +35,7 @@
35\tbigendian is the endianness you want (defaults to host endianness)\n\35\tbigendian is the endianness you want (defaults to host endianness)\n\
36\tword is the word size\n\tnot sure what signed does\n";36\tword is the word size\n\tnot sure what signed does\n";
3737
38static PyObject *py_ov_read(PyObject *, PyObject *, PyObject *);38static PyObject *py_ov_read(PyObject *, PyObject *); // , PyObject *);
3939
40FDEF(ov_streams) "Returns the number of logical streams in this VorbisFile";40FDEF(ov_streams) "Returns the number of logical streams in this VorbisFile";
41FDEF(ov_seekable) "Returns whether this VorbisFile is seekable.";41FDEF(ov_seekable) "Returns whether this VorbisFile is seekable.";
@@ -119,7 +119,7 @@
119119
120120
121static PyMethodDef OggVorbis_File_methods[] = {121static PyMethodDef OggVorbis_File_methods[] = {
122 {"read", (PyCFunction) py_ov_read, 122 {"read", py_ov_read,
123 METH_VARARGS | METH_KEYWORDS, py_ov_read_doc},123 METH_VARARGS | METH_KEYWORDS, py_ov_read_doc},
124 {"info", py_ov_info, 124 {"info", py_ov_info,
125 METH_VARARGS, py_ov_info_doc},125 METH_VARARGS, py_ov_info_doc},
@@ -288,7 +288,7 @@
288}288}
289289
290static PyObject *290static PyObject *
291py_ov_read(PyObject *self, PyObject *args, PyObject *kwdict)291py_ov_read(PyObject *self, PyObject *args) // , PyObject *kwdict)
292{292{
293 py_vorbisfile * ov_self = (py_vorbisfile *) self;293 py_vorbisfile * ov_self = (py_vorbisfile *) self;
294 PyObject *retobj;294 PyObject *retobj;
@@ -298,7 +298,7 @@
298 PyObject *tuple;298 PyObject *tuple;
299 char *buff;299 char *buff;
300 300
301 int length, word, sgned, bitstream;301 int length, word, sgned, bitstream = 0;
302 int bigendianp;302 int bigendianp;
303303
304 // Default to host order304 // Default to host order
@@ -307,33 +307,23 @@
307 word = 2;307 word = 2;
308 sgned = 1;308 sgned = 1;
309309
310 if (!PyArg_ParseTupleAndKeywords(args, kwdict, "|llll", read_kwlist,310/* if (!PyArg_ParseTupleAndKeywords(args, kwdict, "|llll", read_kwlist,
311 &length, &bigendianp, &word, &sgned))311 &length, &bigendianp, &word, &sgned))
312 return NULL;312 return NULL; */
313313
314 buffobj = PyBuffer_New(length);314 buff = malloc(length);
315315 if (!buff) return NULL;
316 tuple = PyTuple_New(1);316
317 Py_INCREF(buffobj);
318 PyTuple_SET_ITEM(tuple, 0, buffobj);
319
320 if (!(PyArg_ParseTuple(tuple, "t#", &buff, &length))) {
321 return NULL;
322 }
323 Py_DECREF(tuple);
324
325 Py_BEGIN_ALLOW_THREADS
326 retval = ov_read(ov_self->ovf, buff, length, 317 retval = ov_read(ov_self->ovf, buff, length,
327 bigendianp, word, sgned, &bitstream);318 bigendianp, word, sgned, &bitstream);
328 Py_END_ALLOW_THREADS
329319
330 if (retval < 0) {320 if (retval < 0) {
331 Py_DECREF(buffobj);321 free(buff);
332 return v_error_from_code(retval, "Error reading file: ");322 return v_error_from_code(retval, "Error reading file: ");
333 }323 }
334324
335 retobj = Py_BuildValue("Oii", buffobj, retval, bitstream);325 retobj = Py_BuildValue("s#ii", buff, retval, retval, bitstream);
336 Py_DECREF(buffobj);326 free(buff);
337 return retobj;327 return retobj;
338}328}
339329

Subscribers

People subscribed via source and target branches

to all changes: