Sat Apr 23 08:53:53 2011 UTC ()
Update python24 to 2.4.6.

What's New in Python 2.4.6?
===========================

*Release date: 19-Dec-2008*

What's New in Python 2.4.6c1?
=============================

*Release date: 13-Dec-2008*

Core and builtins
-----------------

- Issue #4469: Prevent expandtabs() on string and unicode
  objects from causing a segfault when a large width is passed
  on 32-bit platforms. CVE-2008-5031.

- Issue #4317: Fixed a crash in the imageop.rgb2rgb8() function.

- Issue #4230: Fix a crash when a class has a custom __getattr__ and an
  __getattribute__ method that deletes the __getattr__ attribute.

- Apply security patches from Apple. CVE-2008-2315.

- Issue #2620: Overflow checking when allocating or reallocating memory
  was not always being done properly in some python types and extension
  modules.  PyMem_MALLOC, PyMem_REALLOC, PyMem_NEW and PyMem_RESIZE have
  all been updated to perform better checks and places in the code that
  would previously leak memory on the error path when such an allocation
  failed have been fixed.

- Issue #1179: Fix CVE-2007-4965 and CVE-2008-1679, multiple integer
  overflows in the imageop and rgbimgmodule modules.

- Issue #2586: Fix CVE-2008-1721, zlib crash from
  zlib.decompressobj().flush(val) when val is not positive.

- Issues #2588, #2589: Fix potential integer underflow and overflow
  conditions in the PyOS_vsnprintf C API function. CVE-2008-3144.

- Issue #2587: In the C API, PyString_FromStringAndSize() takes a signed size
  parameter but was not verifying that it was greater than zero.  Values
  less than zero will now raise a SystemError and return NULL to indicate a
  bug in the calling C code. CVE-2008-1887.

- Security Issue #2: imageop did not validate arguments correctly and could
  segfault as a result. CVE-2008-4864.

Extension Modules
-----------------

Library
-------

Tests
-----

Build
-----

Tools/Demos
-----------

- Tools/faqwiz/move-faqwiz.sh: Fix unsecure use of temporary files.


(obache)
diff -r1.55 -r1.56 pkgsrc/lang/python24/Makefile
diff -r1.11 -r1.12 pkgsrc/lang/python24/PLIST.common
diff -r1.1 -r1.2 pkgsrc/lang/python24/dist.mk
diff -r1.33 -r1.34 pkgsrc/lang/python24/distinfo
diff -r1.1 -r1.2 pkgsrc/lang/python24/patches/patch-aq
diff -r1.1 -r0 pkgsrc/lang/python24/patches/patch-au
diff -r1.1 -r0 pkgsrc/lang/python24/patches/patch-ba
diff -r1.1 -r0 pkgsrc/lang/python24/patches/patch-bb
diff -r1.1 -r0 pkgsrc/lang/python24/patches/patch-bc
diff -r1.1 -r0 pkgsrc/lang/python24/patches/patch-bd
diff -r1.1 -r0 pkgsrc/lang/python24/patches/patch-be
diff -r1.1 -r0 pkgsrc/lang/python24/patches/patch-bf
diff -r1.1 -r0 pkgsrc/lang/python24/patches/patch-bg
diff -r1.1 -r0 pkgsrc/lang/python24/patches/patch-bh
diff -r1.1 -r0 pkgsrc/lang/python24/patches/patch-bi
diff -r1.1 -r0 pkgsrc/lang/python24/patches/patch-bj
diff -r1.1 -r0 pkgsrc/lang/python24/patches/patch-bk
diff -r1.1 -r0 pkgsrc/lang/python24/patches/patch-bl
diff -r1.1 -r0 pkgsrc/lang/python24/patches/patch-bm

cvs diff -r1.55 -r1.56 pkgsrc/lang/python24/Attic/Makefile (expand / switch to unified diff)

--- pkgsrc/lang/python24/Attic/Makefile 2011/04/22 13:42:00 1.55
+++ pkgsrc/lang/python24/Attic/Makefile 2011/04/23 08:53:53 1.56
@@ -1,19 +1,18 @@ @@ -1,19 +1,18 @@
1# $NetBSD: Makefile,v 1.55 2011/04/22 13:42:00 obache Exp $ 1# $NetBSD: Makefile,v 1.56 2011/04/23 08:53:53 obache Exp $
2 2
3.include "dist.mk" 3.include "dist.mk"
4 4
5PKGNAME= python24-${PY_DISTVERSION} 5PKGNAME= python24-${PY_DISTVERSION}
6PKGREVISION= 7 
7CATEGORIES= lang python 6CATEGORIES= lang python
8 7
9MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= http://www.python.org/ 9HOMEPAGE= http://www.python.org/
11COMMENT= Interpreted, interactive, object-oriented programming language 10COMMENT= Interpreted, interactive, object-oriented programming language
12LICENSE= python-software-foundation 11LICENSE= python-software-foundation
13 12
14PKG_DESTDIR_SUPPORT= user-destdir 13PKG_DESTDIR_SUPPORT= user-destdir
15 14
16CONFLICTS+= python-[0-9]* 15CONFLICTS+= python-[0-9]*
17 16
18GNU_CONFIGURE= yes 17GNU_CONFIGURE= yes
19CONFIGURE_ARGS+= --with-threads 18CONFIGURE_ARGS+= --with-threads
@@ -129,26 +128,28 @@ MAKE_ENV+= PY_BDB_TRANSFORM=${BUILDLINK_ @@ -129,26 +128,28 @@ MAKE_ENV+= PY_BDB_TRANSFORM=${BUILDLINK_
129.endif 128.endif
130 129
131PLIST_SUBST+= PY_VER_SUFFIX=${PY_VER_SUFFIX:Q} 130PLIST_SUBST+= PY_VER_SUFFIX=${PY_VER_SUFFIX:Q}
132 131
133TEST_TARGET= test 132TEST_TARGET= test
134INSTALL_TARGET= altinstall 133INSTALL_TARGET= altinstall
135 134
136REPLACE_INTERPRETER+= py24 135REPLACE_INTERPRETER+= py24
137REPLACE.py24.old= .*python[^ ]* 136REPLACE.py24.old= .*python[^ ]*
138REPLACE.py24.new= ${PREFIX}/bin/python${PY_VER_SUFFIX} 137REPLACE.py24.new= ${PREFIX}/bin/python${PY_VER_SUFFIX}
139REPLACE_FILES.py24= Lib/cgi.py # explicitly demanded to be patched 138REPLACE_FILES.py24= Lib/cgi.py # explicitly demanded to be patched
140REPLACE_FILES.py24+= Lib/bsddb/dbshelve.py Lib/test/test_bz2.py 139REPLACE_FILES.py24+= Lib/bsddb/dbshelve.py Lib/test/test_bz2.py
141REPLACE_FILES.py24+= Lib/test/test_largefile.py Lib/test/test_optparse.py 140REPLACE_FILES.py24+= Lib/test/test_largefile.py Lib/test/test_optparse.py
 141REPLACE_FILES.py24+= Lib/*.py
 142REPLACE_FILES.py24+= Lib/test/*.py
142 143
143post-extract: 144post-extract:
144 ${MV} ${WRKSRC}/Lib/smtpd.py ${WRKSRC}/Lib/smtpd${PY_VER_SUFFIX}.py 145 ${MV} ${WRKSRC}/Lib/smtpd.py ${WRKSRC}/Lib/smtpd${PY_VER_SUFFIX}.py
145 ${MV} ${WRKSRC}/Tools/scripts/pydoc ${WRKSRC}/Tools/scripts/pydoc${PY_VER_SUFFIX} 146 ${MV} ${WRKSRC}/Tools/scripts/pydoc ${WRKSRC}/Tools/scripts/pydoc${PY_VER_SUFFIX}
146 147
147.if ${OPSYS} == "Darwin" 148.if ${OPSYS} == "Darwin"
148post-build: 149post-build:
149 cd ${WRKSRC} && \ 150 cd ${WRKSRC} && \
150 ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} libpython2.4.2.dylib 151 ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} libpython2.4.2.dylib
151 152
152post-install: 153post-install:
153 ${LN} -fs ${DESTDIR}${PREFIX}/lib/libpython2.4.2.dylib \ 154 ${LN} -fs ${DESTDIR}${PREFIX}/lib/libpython2.4.2.dylib \
154 ${DESTDIR}${PREFIX}/lib/libpython2.4.dylib 155 ${DESTDIR}${PREFIX}/lib/libpython2.4.dylib

cvs diff -r1.11 -r1.12 pkgsrc/lang/python24/Attic/PLIST.common (expand / switch to unified diff)

--- pkgsrc/lang/python24/Attic/PLIST.common 2008/04/13 11:03:33 1.11
+++ pkgsrc/lang/python24/Attic/PLIST.common 2011/04/23 08:53:53 1.12
@@ -1,18 +1,19 @@ @@ -1,18 +1,19 @@
1@comment $NetBSD: PLIST.common,v 1.11 2008/04/13 11:03:33 tnn Exp $ 1@comment $NetBSD: PLIST.common,v 1.12 2011/04/23 08:53:53 obache Exp $
2bin/pydoc${PY_VER_SUFFIX} 2bin/pydoc${PY_VER_SUFFIX}
3bin/python${PY_VER_SUFFIX} 3bin/python${PY_VER_SUFFIX}
4bin/smtpd${PY_VER_SUFFIX}.py 4bin/smtpd${PY_VER_SUFFIX}.py
5include/python${PY_VER_SUFFIX}/Python.h 5include/python${PY_VER_SUFFIX}/Python.h
 6include/python${PY_VER_SUFFIX}/Python-ast.h
6include/python${PY_VER_SUFFIX}/abstract.h 7include/python${PY_VER_SUFFIX}/abstract.h
7include/python${PY_VER_SUFFIX}/bitset.h 8include/python${PY_VER_SUFFIX}/bitset.h
8include/python${PY_VER_SUFFIX}/boolobject.h 9include/python${PY_VER_SUFFIX}/boolobject.h
9include/python${PY_VER_SUFFIX}/bufferobject.h 10include/python${PY_VER_SUFFIX}/bufferobject.h
10include/python${PY_VER_SUFFIX}/cStringIO.h 11include/python${PY_VER_SUFFIX}/cStringIO.h
11include/python${PY_VER_SUFFIX}/cellobject.h 12include/python${PY_VER_SUFFIX}/cellobject.h
12include/python${PY_VER_SUFFIX}/ceval.h 13include/python${PY_VER_SUFFIX}/ceval.h
13include/python${PY_VER_SUFFIX}/classobject.h 14include/python${PY_VER_SUFFIX}/classobject.h
14include/python${PY_VER_SUFFIX}/cobject.h 15include/python${PY_VER_SUFFIX}/cobject.h
15include/python${PY_VER_SUFFIX}/codecs.h 16include/python${PY_VER_SUFFIX}/codecs.h
16include/python${PY_VER_SUFFIX}/compile.h 17include/python${PY_VER_SUFFIX}/compile.h
17include/python${PY_VER_SUFFIX}/complexobject.h 18include/python${PY_VER_SUFFIX}/complexobject.h
18include/python${PY_VER_SUFFIX}/datetime.h 19include/python${PY_VER_SUFFIX}/datetime.h

cvs diff -r1.1 -r1.2 pkgsrc/lang/python24/Attic/dist.mk (expand / switch to unified diff)

--- pkgsrc/lang/python24/Attic/dist.mk 2010/09/17 07:11:41 1.1
+++ pkgsrc/lang/python24/Attic/dist.mk 2011/04/23 08:53:53 1.2
@@ -1,8 +1,8 @@ @@ -1,8 +1,8 @@
1# $NetBSD: dist.mk,v 1.1 2010/09/17 07:11:41 obache Exp $ 1# $NetBSD: dist.mk,v 1.2 2011/04/23 08:53:53 obache Exp $
2 2
3PY_DISTVERSION= 2.4.5 3PY_DISTVERSION= 2.4.6
4DISTNAME= Python-${PY_DISTVERSION} 4DISTNAME= Python-${PY_DISTVERSION}
5EXTRACT_SUFX= .tar.bz2 5EXTRACT_SUFX= .tar.bz2
6DISTINFO_FILE= ${.CURDIR}/../../lang/python24/distinfo 6DISTINFO_FILE= ${.CURDIR}/../../lang/python24/distinfo
7PATCHDIR= ${.CURDIR}/../../lang/python24/patches 7PATCHDIR= ${.CURDIR}/../../lang/python24/patches
8MASTER_SITES= http://www.python.org/ftp/python/${PY_DISTVERSION}/ 8MASTER_SITES= http://www.python.org/ftp/python/${PY_DISTVERSION}/

cvs diff -r1.33 -r1.34 pkgsrc/lang/python24/Attic/distinfo (expand / switch to unified diff)

--- pkgsrc/lang/python24/Attic/distinfo 2009/09/19 09:30:41 1.33
+++ pkgsrc/lang/python24/Attic/distinfo 2011/04/23 08:53:53 1.34
@@ -1,38 +1,24 @@ @@ -1,38 +1,24 @@
1$NetBSD: distinfo,v 1.33 2009/09/19 09:30:41 obache Exp $ 1$NetBSD: distinfo,v 1.34 2011/04/23 08:53:53 obache Exp $
2 2
3SHA1 (Python-2.4.5.tar.bz2) = 6e9e1ac2b70cc10c36063a25ab5a5ddb53177107 3SHA1 (Python-2.4.6.tar.bz2) = cb1972a554a458f6a26d3e047b359251865d7c96
4RMD160 (Python-2.4.5.tar.bz2) = b43f2114697be751f03ec7cfb46f8c4946a73097 4RMD160 (Python-2.4.6.tar.bz2) = 0687989193dec2ac108142759281be7ddcf7f31e
5Size (Python-2.4.5.tar.bz2) = 8159705 bytes 5Size (Python-2.4.6.tar.bz2) = 8154677 bytes
6SHA1 (patch-aa) = 310309e6778fd809b7758efa8db7333ed498e5e5 6SHA1 (patch-aa) = 310309e6778fd809b7758efa8db7333ed498e5e5
7SHA1 (patch-ab) = 98b94620baf5d9d5e8681529297124c2d07a901b 7SHA1 (patch-ab) = 98b94620baf5d9d5e8681529297124c2d07a901b
8SHA1 (patch-ac) = 4a7a83c9a7bb26254d17907fe15f895276910364 8SHA1 (patch-ac) = 4a7a83c9a7bb26254d17907fe15f895276910364
9SHA1 (patch-ad) = 44a13d3f9814d471f266ab641024ad74be046ec1 9SHA1 (patch-ad) = 44a13d3f9814d471f266ab641024ad74be046ec1
10SHA1 (patch-ae) = 7e00d719044fa0f205692392d9ebe87146715206 10SHA1 (patch-ae) = 7e00d719044fa0f205692392d9ebe87146715206
11SHA1 (patch-af) = f468e8c172fc5aaae1bf843898a30c00ec753537 11SHA1 (patch-af) = f468e8c172fc5aaae1bf843898a30c00ec753537
12SHA1 (patch-ag) = 0cdc08af9d37ae7d00a06ab81c30efa021ef28ac 12SHA1 (patch-ag) = 0cdc08af9d37ae7d00a06ab81c30efa021ef28ac
13SHA1 (patch-ah) = 154b40eec926a6dcc968c635467807766d1cfaa3 13SHA1 (patch-ah) = 154b40eec926a6dcc968c635467807766d1cfaa3
14SHA1 (patch-ai) = 6435c5a7269c14d94eab6fb9777b9d059507e7b8 14SHA1 (patch-ai) = 6435c5a7269c14d94eab6fb9777b9d059507e7b8
15SHA1 (patch-aj) = e471737ade95423039661b475f2dd0fc27aa9dac 15SHA1 (patch-aj) = e471737ade95423039661b475f2dd0fc27aa9dac
16SHA1 (patch-ak) = 4c6708eb29757179e6855d8fbe78cab92c5a18d5 16SHA1 (patch-ak) = 4c6708eb29757179e6855d8fbe78cab92c5a18d5
17SHA1 (patch-al) = 10acea9003d856d2663a4b5bbecbd801eca8c0c8 17SHA1 (patch-al) = 10acea9003d856d2663a4b5bbecbd801eca8c0c8
18SHA1 (patch-am) = 31158eee32363963e2f6d0bd528f0b291453de74 18SHA1 (patch-am) = 31158eee32363963e2f6d0bd528f0b291453de74
19SHA1 (patch-an) = 0ae5b3d547c7dbe1366c5ae6c60c11516e4550b8 19SHA1 (patch-an) = 0ae5b3d547c7dbe1366c5ae6c60c11516e4550b8
20SHA1 (patch-ao) = 1ef48142acd8b591b11013b46048d9145f235843 20SHA1 (patch-ao) = 1ef48142acd8b591b11013b46048d9145f235843
21SHA1 (patch-ap) = 8fbfecdb80ee851db569b64201ccd94bd3552a81 21SHA1 (patch-ap) = 8fbfecdb80ee851db569b64201ccd94bd3552a81
22SHA1 (patch-aq) = 10f1964892763e0d1b2345bd053d7929dd4b317e 22SHA1 (patch-aq) = 3d13cd79d50b70302d1b6ee598759a51f0b98532
23SHA1 (patch-ar) = f132998e3e81f3093f9bddf32fe6dcb40fcfa76f 23SHA1 (patch-ar) = f132998e3e81f3093f9bddf32fe6dcb40fcfa76f
24SHA1 (patch-at) = 9d66115cc561c99dcc3478678aa286c1c0c3df6b 24SHA1 (patch-at) = 9d66115cc561c99dcc3478678aa286c1c0c3df6b
25SHA1 (patch-au) = d0a234efabe7d6a1f2b1dcbf26780fdc6b452214 
26SHA1 (patch-ba) = c9b88da8efc334771eff578585e2e9e7e21a0634 
27SHA1 (patch-bb) = 89829819c5a38f3bbd8be1737568f87b9ffbd598 
28SHA1 (patch-bc) = e72dc346087f78760e623344e9eff147283c202c 
29SHA1 (patch-bd) = f760e4995888e22997d27598872fcf25cb89cbfe 
30SHA1 (patch-be) = ce192dc8ec7b53b691288f1fecc8abbd9b61e9ea 
31SHA1 (patch-bf) = c0ae4152a0991d1c814462a5a8e925c9a9a6c254 
32SHA1 (patch-bg) = 30a6d65a10bc0e6df5229635ad89a27e1093a347 
33SHA1 (patch-bh) = 4eee3ae6ff7ea9ca5c599dd782d78fb35a0562f4 
34SHA1 (patch-bi) = 735906d3fb35bfe0d3b8d410b3a240e358215e05 
35SHA1 (patch-bj) = ee23fac376746e48ee00e73b9ecc688086b7bc98 
36SHA1 (patch-bk) = 4af3c66a3f6b773dc5fc14943a36b0906024e885 
37SHA1 (patch-bl) = 9a192f5f4afd4296493599414a714bba6085d897 
38SHA1 (patch-bm) = bd8a9f5b2cc3909bc69d9b585b42643057dae646 

cvs diff -r1.1 -r1.2 pkgsrc/lang/python24/patches/Attic/patch-aq (expand / switch to unified diff)

--- pkgsrc/lang/python24/patches/Attic/patch-aq 2006/10/11 18:20:37 1.1
+++ pkgsrc/lang/python24/patches/Attic/patch-aq 2011/04/23 08:53:53 1.2
@@ -1,22 +1,22 @@ @@ -1,22 +1,22 @@
1$NetBSD: patch-aq,v 1.1 2006/10/11 18:20:37 rillig Exp $ 1$NetBSD: patch-aq,v 1.2 2011/04/23 08:53:53 obache Exp $
2 2
3--- Tools/faqwiz/move-faqwiz.sh.orig 2006-10-11 20:11:32.000000000 +0200 3--- Tools/faqwiz/move-faqwiz.sh.orig 2008-11-30 13:33:28.000000000 +0000
4+++ Tools/faqwiz/move-faqwiz.sh 2006-10-11 20:12:11.000000000 +0200 4+++ Tools/faqwiz/move-faqwiz.sh
5@@ -9,7 +9,7 @@ 5@@ -9,7 +9,7 @@
6 # blackjesus:~> ./move-faqwiz.sh 2\.1 3\.2 6 # blackjesus:~> ./move-faqwiz.sh 2\.1 3\.2
7 # Moving FAQ question 02.001 to 03.002 7 # Moving FAQ question 02.001 to 03.002
8  8
9-if [ x$2 == x ]; then 9-if [ x$2 = x ]; then
10+if [ $# -ne 2 ]; then 10+if [ $# -ne 2 ]; then
11 echo "Need 2 args: original_version final_version." 11 echo "Need 2 args: original_version final_version."
12 exit 2 12 exit 2
13 fi 13 fi
14@@ -28,7 +28,7 @@ cut_n_pad $1 1 prefix1 14@@ -31,7 +31,7 @@ cut_n_pad $2 2 suffix2
15 cut_n_pad $1 2 suffix1 15 if which tempfile >/dev/null; then
16 cut_n_pad $2 1 prefix2 16 tmpfile=$(tempfile -d .)
17 cut_n_pad $2 2 suffix2 17 elif [ -n "$RANDOM" ]; then
18-tmpfile=tmp$RANDOM.tmp 18- tmpfile=tmp$RANDOM.tmp
19+tmpfile=tmp-$$-$RANDOM.tmp 19+ tmpfile=tmp-$$-$RANDOM.tmp
20 file1=faq$prefix1.$suffix1.htp 20 else
21 file2=faq$prefix2.$suffix2.htp 21 tmpfile=tmp$$.tmp
22  22 fi

File Deleted: pkgsrc/lang/python24/patches/Attic/patch-au

File Deleted: pkgsrc/lang/python24/patches/Attic/patch-ba

File Deleted: pkgsrc/lang/python24/patches/Attic/patch-bb

File Deleted: pkgsrc/lang/python24/patches/Attic/patch-bc

File Deleted: pkgsrc/lang/python24/patches/Attic/patch-bd

File Deleted: pkgsrc/lang/python24/patches/Attic/patch-be

File Deleted: pkgsrc/lang/python24/patches/Attic/patch-bf

File Deleted: pkgsrc/lang/python24/patches/Attic/patch-bg

File Deleted: pkgsrc/lang/python24/patches/Attic/patch-bh

File Deleted: pkgsrc/lang/python24/patches/Attic/patch-bi

File Deleted: pkgsrc/lang/python24/patches/Attic/patch-bj

File Deleted: pkgsrc/lang/python24/patches/Attic/patch-bk

File Deleted: pkgsrc/lang/python24/patches/Attic/patch-bl

File Deleted: pkgsrc/lang/python24/patches/Attic/patch-bm