Your message dated Sun, 21 Jun 2009 21:48:30 +0000
with message-id <[email protected]>
and subject line Bug#516956: fixed in python2.6 2.6.2-1
has caused the Debian Bug report #516956,
regarding python2.5-dev: Py_DECREF macro doesn't compile cleanly
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
516956: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=516956
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: python2.5-dev
Version: 2.5.2-15
Severity: minor
Tags: upstream, patch

The macro Py_DECREF doesn't compile cleanly, proof of concept attached:

$ gcc -Wall -c example.c 
example.c: In function ‘main’:
example.c:8: warning: suggest explicit braces to avoid ambiguous ‘else’

The attached patch (adapted from [1]) may solve the problem.

[1] http://kernelnewbies.org/FAQ/DoWhile0

Kind regards,

Martin
#include <python2.5/Python.h>
#include <stdlib.h>

int main(void)
{
	PyObject *ptr = NULL;

	if (ptr != NULL)
		Py_DECREF(ptr);

	return 0;
}
diff -urN python2.5-2.5.4.orig/Include/object.h python2.5-2.5.4/Include/object.h
--- python2.5-2.5.4.orig/Include/object.h	2006-08-12 19:03:09.000000000 +0200
+++ python2.5-2.5.4/Include/object.h	2009-02-24 18:43:22.000000000 +0100
@@ -641,11 +641,13 @@
 	(op)->ob_refcnt++)
 
 #define Py_DECREF(op)					\
+	do {						\
 	if (_Py_DEC_REFTOTAL  _Py_REF_DEBUG_COMMA	\
 	    --(op)->ob_refcnt != 0)			\
 		_Py_CHECK_REFCNT(op)			\
 	else						\
-		_Py_Dealloc((PyObject *)(op))
+		_Py_Dealloc((PyObject *)(op));		\
+	} while (0)
 
 /* Safely decref `op` and set `op` to NULL, especially useful in tp_clear
  * and tp_dealloc implementatons.

--- End Message ---
--- Begin Message ---
Source: python2.6
Source-Version: 2.6.2-1

We believe that the bug you reported is fixed in the latest version of
python2.6, which is due to be installed in the Debian FTP archive:

idle-python2.6_2.6.2-1_all.deb
  to pool/main/p/python2.6/idle-python2.6_2.6.2-1_all.deb
libpython2.6_2.6.2-1_i386.deb
  to pool/main/p/python2.6/libpython2.6_2.6.2-1_i386.deb
python2.6-dbg_2.6.2-1_i386.deb
  to pool/main/p/python2.6/python2.6-dbg_2.6.2-1_i386.deb
python2.6-dev_2.6.2-1_i386.deb
  to pool/main/p/python2.6/python2.6-dev_2.6.2-1_i386.deb
python2.6-doc_2.6.2-1_all.deb
  to pool/main/p/python2.6/python2.6-doc_2.6.2-1_all.deb
python2.6-examples_2.6.2-1_all.deb
  to pool/main/p/python2.6/python2.6-examples_2.6.2-1_all.deb
python2.6-minimal_2.6.2-1_i386.deb
  to pool/main/p/python2.6/python2.6-minimal_2.6.2-1_i386.deb
python2.6_2.6.2-1.diff.gz
  to pool/main/p/python2.6/python2.6_2.6.2-1.diff.gz
python2.6_2.6.2-1.dsc
  to pool/main/p/python2.6/python2.6_2.6.2-1.dsc
python2.6_2.6.2-1_i386.deb
  to pool/main/p/python2.6/python2.6_2.6.2-1_i386.deb
python2.6_2.6.2.orig.tar.gz
  to pool/main/p/python2.6/python2.6_2.6.2.orig.tar.gz



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Matthias Klose <[email protected]> (supplier of updated python2.6 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Sun, 21 Jun 2009 16:12:15 +0200
Source: python2.6
Binary: python2.6 python2.6-minimal libpython2.6 python2.6-examples 
python2.6-dev idle-python2.6 python2.6-doc python2.6-dbg
Architecture: source all i386
Version: 2.6.2-1
Distribution: experimental
Urgency: low
Maintainer: Matthias Klose <[email protected]>
Changed-By: Matthias Klose <[email protected]>
Description: 
 idle-python2.6 - An IDE for Python (v2.6) using Tkinter
 libpython2.6 - Shared Python runtime library (version 2.6)
 python2.6  - An interactive high-level object-oriented language (version 2.6)
 python2.6-dbg - Debug Build of the Python Interpreter (version 2.6)
 python2.6-dev - Header files and a static library for Python (v2.6)
 python2.6-doc - Documentation for the high-level object-oriented language 
Python 
 python2.6-examples - Examples for the Python language (v2.6)
 python2.6-minimal - A minimal subset of the Python language (version 2.6)
Closes: 516956 523482 526797
Changes: 
 python2.6 (2.6.2-1) experimental; urgency=low
 .
   * Final Python 2.6.2 release.
     - Update Doc/tools/sphinxext/download.html. Closes: #526797.
   * Update to 20090621, taken from the 2.6 release branch.
 .
   * Address issues when working with PYTHONUSERBASE and non standard prefix
     (pointed out by Larry Hastings):
     - distutils.sysconfig.get_python_lib(): Only return ".../dist-packages" if
       prefix is the default prefix and if PYTHONUSERBASE is not set in the
       environment.
     - site.addusersitepackages(): Add USER_BASE/.../dist-packages to sys.path.
   * Always use the `unix_prefix' scheme for setup.py install in a virtualenv
     setup. LP: #339904.
   * Don't make the setup.py install options --install-layout=deb and --prefix
     conflict with each other.
   * distutils: Always install into `/usr/local/lib/python2.6/dist-packages'
     if an option `--prefix=/usr/local' is present (except for virtualenv
     and PYTHONUSERBASE installations). LP: #362570.
   * Always use `site-packages' as site directory name in virtualenv.
 .
   * Do not add /usr/lib/pythonXY.zip on sys.path.
   * Add symbols files for libpython2.6 and python2.6-dbg, don't include symbols
     from builtins, which can either be built as builtins or extensions.
   * Keep an empty lib-dynload in python2.6-minimal to avoid a warning on
     startup.
   * Build a shared library configured --with-pydebug. LP: #322580.
   * Fix some lintian warnings.
   * Use the information in /etc/lsb-release for platform.dist(). LP: #196526.
   * Move the bdist_wininst files into the -dev package (only needed to build
     windows installers).
   * Document changes to the site directory name in the installation manual.
   * Fix issue #1113244: Py_XINCREF, Py_DECREF, Py_XDECREF: Add
    `do { ... } while (0)' to avoid compiler warnings. Closes: #516956.
   * debian/pyhtml2devhelp.py: update for python 2.6 (Marc Deslauriers).
   * debian/rules: re-enable documentation files for devhelp. LP: #338791.
   * python2.6-doc: Depend on libjs-jquery, use jquery.js from this package.
     Closes: #523482.
Checksums-Sha1: 
 22d7556e9f12607e9684e1b30c8f669448ca83e8 1725 python2.6_2.6.2-1.dsc
 934e6005c0707f1039b28aebf3989c3f907c9ae6 13430321 python2.6_2.6.2.orig.tar.gz
 2165e19d97f9348585a36c916b4e2330f9397697 381257 python2.6_2.6.2-1.diff.gz
 fe1eb22e733cf24c633d304040d975ba55a342af 669282 
python2.6-examples_2.6.2-1_all.deb
 91729a5cd46c25dfdf258818ed46405f989e82de 286412 idle-python2.6_2.6.2-1_all.deb
 aed48648ad437ef225d9480acf6fb607c86f9ceb 5388884 python2.6-doc_2.6.2-1_all.deb
 87e68017881a527bb600db6220a5688bc36216e3 2463362 python2.6_2.6.2-1_i386.deb
 022e194eebc5871fa7ae4b9aab94d0d21b0a9cff 1344298 
python2.6-minimal_2.6.2-1_i386.deb
 3c52d770cb98179dab5252f6e3fcaff4c501059c 971024 libpython2.6_2.6.2-1_i386.deb
 40b2666077b0630882b9aeca1909bb62da01d7c1 4319556 python2.6-dev_2.6.2-1_i386.deb
 01be336c953f34c94f0fafbc191b5c323b21d82a 11007422 
python2.6-dbg_2.6.2-1_i386.deb
Checksums-Sha256: 
 e04f9068ad5fdfbc5b447f88b8c34b1eef3643469abcf73e9525e7da0aaed15c 1725 
python2.6_2.6.2-1.dsc
 5d63c69fb5dbd482265e7e1ba9316afc047e074fdb25085195c53c215505b85d 13430321 
python2.6_2.6.2.orig.tar.gz
 95aa9c2c4e31afebab313d01189fc7a925b0017248b5830da7a1558565f952ef 381257 
python2.6_2.6.2-1.diff.gz
 b4346a8a1f2721a868a8678e2ed4518829cea7e3faa72c97a557831e7be3edf6 669282 
python2.6-examples_2.6.2-1_all.deb
 92bdea1628c16f045c66151f9138ffc62989266bb6880da6e968ab9bc350e17f 286412 
idle-python2.6_2.6.2-1_all.deb
 95a9409be1473453fc458edc1af9506ea11db35030bcd5e5b48188c837ca5b39 5388884 
python2.6-doc_2.6.2-1_all.deb
 8c8173b6f8f83bd6d3420b306611ac997dec56610830c7831ce18b42612abfd0 2463362 
python2.6_2.6.2-1_i386.deb
 40091431914d94e9269ed4db8c89ddfdb2a15fd6e5bd2d86829f7298b9442d6b 1344298 
python2.6-minimal_2.6.2-1_i386.deb
 8256bbdd4fba6eda41748acd9fcaf05d68b12edb3429f4749afe2a6da35d9dae 971024 
libpython2.6_2.6.2-1_i386.deb
 5485bdedff12a3277825663c8cb4091e1910fa583126a8243dafa8524ebef24e 4319556 
python2.6-dev_2.6.2-1_i386.deb
 b3622f35448dc685dc50786cb25366a544364a8893dd84c2b856870a898cb915 11007422 
python2.6-dbg_2.6.2-1_i386.deb
Files: 
 9d1ba3709c06bc8590b652145beacd4f 1725 python optional python2.6_2.6.2-1.dsc
 db737c8890545a51812f5b7141f03f66 13430321 python optional 
python2.6_2.6.2.orig.tar.gz
 2f2594feaeaaeb21fda6e19071782ec6 381257 python optional 
python2.6_2.6.2-1.diff.gz
 4f88a2927f3b3934186a007a98e8390b 669282 python optional 
python2.6-examples_2.6.2-1_all.deb
 a725322fcf6d100bcbe7e13ef376570c 286412 python optional 
idle-python2.6_2.6.2-1_all.deb
 cc2b2b82ddb2e20979c814eb455086fb 5388884 doc optional 
python2.6-doc_2.6.2-1_all.deb
 441476296e294d9e5bff4d91802cb063 2463362 python optional 
python2.6_2.6.2-1_i386.deb
 3a081b938898de7ab9214b1a46c2d90a 1344298 python optional 
python2.6-minimal_2.6.2-1_i386.deb
 e985899b247969c116c7eb546732928f 971024 libs optional 
libpython2.6_2.6.2-1_i386.deb
 df2b0e77d40a3ea45a878dfd95d45835 4319556 python optional 
python2.6-dev_2.6.2-1_i386.deb
 c3d94641464bf6edbdb5525040b0f2a2 11007422 python extra 
python2.6-dbg_2.6.2-1_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iEYEARECAAYFAko+kbUACgkQStlRaw+TLJwQ7gCcDYTmxH7Q5YnMDVUy1MTjMI2p
iZIAoKjnCJRhN+4HUvm8FxwVTv5g34Iy
=h+C0
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to