diff options
author | Rob Cakebread <pythonhead@gentoo.org> | 2005-03-19 17:51:20 +0000 |
---|---|---|
committer | Rob Cakebread <pythonhead@gentoo.org> | 2005-03-19 17:51:20 +0000 |
commit | fd5c44653fe2346a5e045586d3f11caa0a38feb6 (patch) | |
tree | 0a6071f6c78f36e5d14a617278ebef6d5687b80d /dev-lang | |
parent | Added ~sparc keyword wrt bug #84791. (diff) | |
download | gentoo-2-fd5c44653fe2346a5e045586d3f11caa0a38feb6.tar.gz gentoo-2-fd5c44653fe2346a5e045586d3f11caa0a38feb6.tar.bz2 gentoo-2-fd5c44653fe2346a5e045586d3f11caa0a38feb6.zip |
Removed multiple dirs in sys path. bug# 83109
(Portage version: 2.0.51.19)
Diffstat (limited to 'dev-lang')
-rw-r--r-- | dev-lang/python/ChangeLog | 8 | ||||
-rw-r--r-- | dev-lang/python/Manifest | 34 | ||||
-rw-r--r-- | dev-lang/python/files/digest-python-2.4-r3 | 1 | ||||
-rw-r--r-- | dev-lang/python/files/python-2.4-libdir.patch | 15 | ||||
-rw-r--r-- | dev-lang/python/python-2.4-r3.ebuild | 213 |
5 files changed, 249 insertions, 22 deletions
diff --git a/dev-lang/python/ChangeLog b/dev-lang/python/ChangeLog index 8661042c0562..a4e6e94b5644 100644 --- a/dev-lang/python/ChangeLog +++ b/dev-lang/python/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-lang/python # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/ChangeLog,v 1.133 2005/03/15 12:17:58 liquidx Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/ChangeLog,v 1.134 2005/03/19 17:51:20 pythonhead Exp $ + +*python-2.4-r3 (19 Mar 2005) + + 19 Mar 2005; Rob Cakebread <pythonhead@gentoo.org> + files/python-2.4-libdir.patch, +python-2.4-r3.ebuild: + Removed multiple dirs in sys path. bug# 83109 15 Mar 2005; Alastair Tse <liquidx@gentoo.org> python-2.3.5.ebuild: more multilib fixes (#76791) diff --git a/dev-lang/python/Manifest b/dev-lang/python/Manifest index ae0dd0698046..3833e0b9d47f 100644 --- a/dev-lang/python/Manifest +++ b/dev-lang/python/Manifest @@ -1,7 +1,7 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 -MD5 1cf518ba1a25ad51e308bd66524c811f ChangeLog 22456 +MD5 5f7686df9198fc62cc786786b09f2794 ChangeLog 22644 MD5 8145ce0144332d6caca98fa5fb648741 metadata.xml 221 MD5 b0dabb5b661c34b2054f5ae852c2fd45 python-2.1.3-r1.ebuild 2329 MD5 1e424541a26b4d5785a6e830e6a14fe8 python-2.2.3-r6.ebuild 4498 @@ -10,8 +10,11 @@ MD5 4e13cc454dfecb01c82c17fe161de115 python-2.3.4-r1.ebuild 7160 MD5 5cc96c3709ae06baddee984d80cfee3c python-2.4-r1.ebuild 6804 MD5 1bc0f485e700a65e4b15c87a21b85154 python-2.4-r2.ebuild 6777 MD5 9d5c4d3d984eb3a54ffe705d8e68f197 python-2.3.5.ebuild 7383 +MD5 ba06758b5e7d2b9d7e1ba3c25ed81624 python-2.4-r3.ebuild 6679 MD5 1c5cd53cb89c821a549968bac31df0f1 files/depreorder.py 2235 MD5 f3f370c8d1382c1a7571cfc1cbb196d9 files/digest-python-2.1.3-r1 62 +MD5 55af7ba61954f03e09bcafbce1227c61 files/python-2.2.3-xmlrpc.patch 3659 +MD5 e8c8ffd37f007b6ee62180d31b2100fe files/python-2.3-xmlrpc.patch 4228 MD5 5f2361b3e770981b737a9ad3d2863931 files/python-2.2.1-r5-gentoo.diff 4152 MD5 11aa066154fe2e0a4c306124c7e5dd4a files/python-2.2.2-tk-8.4.x.patch 2997 MD5 96d4207fb41391c70d5f02e1785c9527 files/python-2.2.3-db4.patch 1220 @@ -19,38 +22,37 @@ MD5 7480e63a1ff3aff7eaf8718424add7f8 files/python-2.2.3-disable_modules_and_ssl. MD5 9fe31aedbbc7e8ea1847ed6dd70bf15b files/python-2.2.3-fPIC.patch 767 MD5 07398060a831f18193315973df204cbf files/python-2.2.3-gentoo_py_dontcompile.patch 732 MD5 46588eb4b2cfdd8277153e8e6f728eca files/python-2.3-add_portage_search_path.patch 607 -MD5 4b9922f74b1076d82d1fdb653fa5769a files/python-2.3-add_portage_search_path_take_2.patch 614 MD5 7a12ce3bbe0961cf1533fcf838e17fa9 files/python-2.3-db4.2.patch 1015 MD5 7808762bbf53647c7cd597be4044e9f7 files/python-2.3-gentoo_py_dontcompile.patch 478 MD5 ec16631b538a7481f0537191d5f23b27 files/python-2.3-mimetypes_apache.patch 454 MD5 2b953054102d344834597bc73b209e12 files/python-2.3.2-disable_modules_and_ssl.patch 1285 -MD5 a387f41bfc6767b90a51daaa0c0aac45 files/python-2.3.4-lib64.patch 11779 MD5 b530d6f9dbcf30239061be3de80932cc files/python-config-2.2 178 MD5 b530d6f9dbcf30239061be3de80932cc files/python-config-2.2.1 178 MD5 b530d6f9dbcf30239061be3de80932cc files/python-config-2.2.2 178 MD5 201acd1cfd5124f25c58a8db3f78a502 files/python-config-2.3 178 MD5 1cf4c21ad3b0aafc571b05b9a9e54594 files/python-updater 8761 -MD5 5bee9fa15d4effc7423e76d2f7f47655 files/python-2.4-add_portage_search_path.patch 556 +MD5 e8c8ffd37f007b6ee62180d31b2100fe files/python-2.4-xmlrpc.patch 4228 +MD5 fccf57b8c47164b676517e516898dc46 files/digest-python-2.4-r2 64 MD5 7a12ce3bbe0961cf1533fcf838e17fa9 files/python-2.4-db4.2.patch 1015 +MD5 4b9922f74b1076d82d1fdb653fa5769a files/python-2.3-add_portage_search_path_take_2.patch 614 +MD5 a387f41bfc6767b90a51daaa0c0aac45 files/python-2.3.4-lib64.patch 11779 +MD5 5bee9fa15d4effc7423e76d2f7f47655 files/python-2.4-add_portage_search_path.patch 556 MD5 2b953054102d344834597bc73b209e12 files/python-2.4-disable_modules_and_ssl.patch 1285 MD5 2121d3986faa4b6c2c3ed472f77f2a9d files/python-2.4-gentoo_py_dontcompile.patch 477 -MD5 7ed8f8f52ed392ef28dd320b130e3c6b files/python-2.4-lib64.patch 9941 MD5 ec16631b538a7481f0537191d5f23b27 files/python-2.4-mimetypes_apache.patch 454 MD5 d74e7f0fd47f00e8b3fe7ca36b7eb629 files/python-config-2.4 179 -MD5 f11f5d528c570ef739ea10806cebfa9f files/digest-python-2.2.3-r6 62 +MD5 7ed8f8f52ed392ef28dd320b130e3c6b files/python-2.4-lib64.patch 9941 MD5 d5e1334ddcc639401001d01f26ce0af5 files/digest-python-2.3.3-r2 66 -MD5 849ff6337b70ef28009c90021dfae0da files/digest-python-2.3.5 66 -MD5 fccf57b8c47164b676517e516898dc46 files/digest-python-2.4-r1 64 -MD5 fccf57b8c47164b676517e516898dc46 files/digest-python-2.4-r2 64 -MD5 55af7ba61954f03e09bcafbce1227c61 files/python-2.2.3-xmlrpc.patch 3659 -MD5 e8c8ffd37f007b6ee62180d31b2100fe files/python-2.3-xmlrpc.patch 4228 -MD5 2b561d7e687d43260b6c5b324998a151 files/python-2.4-libdir.patch 8200 -MD5 e8c8ffd37f007b6ee62180d31b2100fe files/python-2.4-xmlrpc.patch 4228 MD5 c2e3a6ed5d700a7976f5b763cd935599 files/digest-python-2.3.4-r1 66 +MD5 fccf57b8c47164b676517e516898dc46 files/digest-python-2.4-r1 64 +MD5 f11f5d528c570ef739ea10806cebfa9f files/digest-python-2.2.3-r6 62 +MD5 3c77f8f9d55bbedacd9476a428088250 files/python-2.4-libdir.patch 8358 +MD5 849ff6337b70ef28009c90021dfae0da files/digest-python-2.3.5 66 +MD5 fccf57b8c47164b676517e516898dc46 files/digest-python-2.4-r3 64 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux) -iD8DBQFCNtMXRkyva5PS18kRAsyDAJwO+2v+z+1hDrth8ZqLB29S/TTwwgCgp4fa -k2ONaZjlhHeVYkogFJyN6P4= -=lF7Y +iD8DBQFCPGZWz2gxt1z4IGYRAipJAKC+4ORml7IRczA8p+xd2OmWNhJO9QCeIkCE +uSQD+K4wV2EEZklmQ9/E9vc= +=nMX/ -----END PGP SIGNATURE----- diff --git a/dev-lang/python/files/digest-python-2.4-r3 b/dev-lang/python/files/digest-python-2.4-r3 new file mode 100644 index 000000000000..f096fae6214a --- /dev/null +++ b/dev-lang/python/files/digest-python-2.4-r3 @@ -0,0 +1 @@ +MD5 44c2226eff0f3fc1f2fedaa1ce596533 Python-2.4.tar.bz2 7840762 diff --git a/dev-lang/python/files/python-2.4-libdir.patch b/dev-lang/python/files/python-2.4-libdir.patch index 61ca31f58a53..d60605c4416d 100644 --- a/dev-lang/python/files/python-2.4-libdir.patch +++ b/dev-lang/python/files/python-2.4-libdir.patch @@ -35,10 +35,9 @@ diff -Naurp Python-2.4.orig/Lib/distutils/sysconfig.py Python-2.4/Lib/distutils/ if standard_lib: return libpython else: -diff -Naurp Python-2.4.orig/Lib/site.py Python-2.4/Lib/site.py ---- Python-2.4.orig/Lib/site.py 2004-07-19 19:28:28.000000000 -0700 -+++ Python-2.4/Lib/site.py 2005-02-07 12:17:13.000000000 -0800 -@@ -179,9 +179,14 @@ def addsitepackages(known_paths): +--- ./Lib/site.py 2005-03-17 09:55:19.295156312 -0800 ++++ ./orgLib/site.py 2005-03-17 09:59:42.009217704 -0800 +@@ -179,10 +179,20 @@ sitedirs = [os.path.join(prefix, "Lib", "site-packages")] elif os.sep == '/': sitedirs = [os.path.join(prefix, @@ -49,8 +48,14 @@ diff -Naurp Python-2.4.orig/Lib/site.py Python-2.4/Lib/site.py "lib", "python" + sys.version[:3], "site-packages"), -+ os.path.join(prefix, "lib64", "site-python"), ++ os.path.join(prefix, "lib64", "site-python"), os.path.join(prefix, "lib", "site-python")] ++ tmp_sitedirs = [] ++ for sdir in sitedirs: ++ if sdir not in tmp_sitedirs: ++ tmp_sitedirs.append(sdir) ++ sitedirs = tmp_sitedirs + sitedirs = [os.path.join(prefix,"lib","portage","pym")] + sitedirs else: sitedirs = [prefix, os.path.join(prefix, "lib", "site-packages")] diff -Naurp Python-2.4.orig/Makefile.pre.in Python-2.4/Makefile.pre.in diff --git a/dev-lang/python/python-2.4-r3.ebuild b/dev-lang/python/python-2.4-r3.ebuild new file mode 100644 index 000000000000..be1a9539cc6f --- /dev/null +++ b/dev-lang/python/python-2.4-r3.ebuild @@ -0,0 +1,213 @@ +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/python/python-2.4-r3.ebuild,v 1.1 2005/03/19 17:51:20 pythonhead Exp $ + +# NOTE about python-portage interactions : +# - Do not add a pkg_setup() check for a certain version of portage +# in dev-lang/python. It _WILL_ stop people installing from +# Gentoo 1.4 images. + +inherit eutils flag-o-matic python multilib + +PYVER_MAJOR="`echo ${PV%_*} | cut -d '.' -f 1`" +PYVER_MINOR="`echo ${PV%_*} | cut -d '.' -f 2`" +PYVER="${PYVER_MAJOR}.${PYVER_MINOR}" +MY_P="Python-${PV}" +S="${WORKDIR}/${MY_P}" +DESCRIPTION="A really great language" +SRC_URI="http://www.python.org/ftp/python/${PYVER}/${MY_P}.tar.bz2" +HOMEPAGE="http://www.python.org" + +IUSE="ncurses gdbm ssl readline tcltk berkdb bootstrap ipv6 build ucs2 doc X" +LICENSE="PSF-2.2" +SLOT="2.4" + +KEYWORDS="~x86 ~ppc ~sparc ~arm ~hppa ~amd64 ~s390 ~alpha ~ia64 ~mips" + +DEPEND="virtual/libc + >=sys-libs/zlib-1.1.3 + !build? ( + X? ( tcltk? ( >=dev-lang/tk-8.0 ) ) + ncurses? ( >=sys-libs/ncurses-5.2 readline? ( >=sys-libs/readline-4.1 ) ) + berkdb? ( >=sys-libs/db-3.1 ) + gdbm? ( sys-libs/gdbm ) + ssl? ( dev-libs/openssl ) + doc? ( =dev-python/python-docs-${PV}* ) + dev-libs/expat + )" + +RDEPEND="${DEPEND} dev-python/python-fchksum" + +# The dev-python/python-fchksum RDEPEND is needed to that this python provides +# the functionality expected from previous pythons. + +PROVIDE="virtual/python" + +src_unpack() { + unpack ${A} + cd ${S} + #Fixes security vulnerability in XML-RPC server - pythonhead (06 Feb 05) + #http://www.python.org/security/PSF-2005-001/ + epatch ${FILESDIR}/${PN}-2.4-xmlrpc.patch + # adds support for PYTHON_DONTCOMPILE shell environment to + # supress automatic generation of .pyc and .pyo files - liquidx (08 Oct 03) + epatch ${FILESDIR}/${PN}-${PYVER}-gentoo_py_dontcompile.patch + epatch ${FILESDIR}/${PN}-${PYVER}-disable_modules_and_ssl.patch + epatch ${FILESDIR}/${PN}-${PYVER}-mimetypes_apache.patch + epatch ${FILESDIR}/${PN}-${PYVER}-db4.2.patch + + # prepends /usr/lib/portage/pym to sys.path + epatch ${FILESDIR}/${PN}-${PYVER}-add_portage_search_path.patch + + epatch ${FILESDIR}/python-${PYVER}-libdir.patch + sed -i -e "s:@@GENTOO_LIBDIR@@:$(get_libdir):g" \ + Lib/distutils/command/install.py \ + Lib/distutils/sysconfig.py \ + Lib/site.py \ + Makefile.pre.in \ + Modules/Setup.dist \ + Modules/getpath.c \ + setup.py +} + +src_configure() { + # disable extraneous modules with extra dependencies + if use build; then + export PYTHON_DISABLE_MODULES="readline pyexpat dbm gdbm bsddb _curses _curses_panel _tkinter" + export PYTHON_DISABLE_SSL=1 + else + use gdbm \ + || PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} gdbm" + use berkdb \ + || PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} dbm bsddb" + use readline \ + || PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} readline" + ( use !X || use !tcltk ) \ + && PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _tkinter" + use ncurses \ + || PYTHON_DISABLE_MODULES="${PYTHON_DISABLE_MODULES} _curses _curses_panel" + use ssl \ + || export PYTHON_DISABLE_SSL=1 + export PYTHON_DISABLE_MODULES + echo $PYTHON_DISABLE_MODULES + fi +} + +src_compile() { + filter-flags -malign-double + + [ "${ARCH}" = "alpha" ] && append-flags -fPIC + [ "${ARCH}" = "amd64" ] && append-flags -fPIC + + # http://bugs.gentoo.org/show_bug.cgi?id=50309 + if is-flag -O3; then + is-flag -fstack-protector-all && replace-flags -O3 -O2 + use hardened && replace-flags -O3 -O2 + fi + + export OPT="${CFLAGS}" + + local myconf + #if we are creating a new build image, we remove the dependency on g++ + if use build && ! use bootstrap; then + myconf="--with-cxx=no" + fi + + # super-secret switch. don't use this unless you know what you're + # doing. enabling UCS2 support will break your existing python + # modules + use ucs2 \ + && myconf="${myconf} --enable-unicode=ucs2" \ + || myconf="${myconf} --enable-unicode=ucs4" + + src_configure + + econf --with-fpectl \ + --enable-shared \ + `use_enable ipv6` \ + --infodir='${prefix}'/share/info \ + --mandir='${prefix}'/share/man \ + --with-threads \ + ${myconf} || die + emake || die "Parallel make failed" +} + +src_install() { + dodir /usr + src_configure + make DESTDIR="${D}" altinstall || die + + # install our own custom python-config + exeinto /usr/bin + newexe ${FILESDIR}/python-config-${PYVER} python-config + + # The stuff below this line extends from 2.1, and should be deprecated + # in 2.3, or possibly can wait till 2.4 + + # seems like the build do not install Makefile.pre.in anymore + # it probably shouldn't - use DistUtils, people! + insinto /usr/$(get_libdir)/python${PYVER}/config + doins ${S}/Makefile.pre.in + + # While we're working on the config stuff... Let's fix the OPT var + # so that it doesn't have any opts listed in it. Prevents the problem + # with compiling things with conflicting opts later. + dosed -e 's:^OPT=.*:OPT=-DNDEBUG:' \ + /usr/$(get_libdir)/python${PYVER}/config/Makefile + + # install python-updater in /usr/sbin + dosbin ${FILESDIR}/python-updater + + if use build ; then + rm -rf ${D}/usr/lib/python${PYVER}/{test,encodings,email,lib-tk,bsddb/test} + else + use uclibc && rm -rf ${D}/usr/lib/python${PYVER}/{test,bsddb/test} + use berkdb || rm -rf ${D}/usr/lib/python${PYVER}/bsddb + ( use !X || use !tcltk ) && rm -rf ${D}/usr/lib/python${PYVER}/lib-tk + fi + + prep_ml_includes usr/include/python${PYVER} +} + +pkg_postrm() { + python_makesym + python_mod_cleanup /usr/lib/python${PYVER} + [[ "$(get_libdir)" == "lib" ]] || python_mod_cleanup /usr/$(get_libdir)/python${PYVER} +} + +pkg_postinst() { + local myroot + myroot=$(echo $ROOT | sed 's:/$::') + + + python_makesym + python_mod_optimize + python_mod_optimize -x site-packages -x test ${myroot}/usr/lib/python${PYVER} + [[ "$(get_libdir)" == "lib" ]] || python_mod_optimize -x site-packages -x test ${myroot}/usr/$(get_libdir)/python${PYVER} + + + # workaround possible python-upgrade-breaks-portage situation + if [ ! -f ${myroot}/usr/lib/portage/pym/portage.py ]; then + if [ -f ${myroot}/usr/lib/python2.3/site-packages/portage.py ]; then + einfo "Working around possible python-portage upgrade breakage" + mkdir -p ${myroot}/usr/lib/portage/pym + cp ${myroot}/usr/lib/python2.4/site-packages/{portage,xpak,output,cvstree,getbinpkg,emergehelp,dispatch_conf}.py ${myroot}/usr/lib/portage/pym + python_mod_optimize ${myroot}/usr/lib/portage/pym + fi + fi + + echo + ewarn + ewarn "If you have just upgraded from an older version of python you will need to run:" + ewarn + ewarn "/usr/sbin/python-updater" + ewarn + ewarn "This will automatically rebuild all the python dependent modules" + ewarn "to run with python-${PYVER}." + ewarn + ewarn "Your original Python is still installed and can be accessed via" + ewarn "/usr/bin/python2.x." + ewarn + ebeep 5 +} + |