From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1Qf5oo-0008AQ-6g for garchives@archives.gentoo.org; Fri, 08 Jul 2011 07:49:48 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 3205B21C07B; Fri, 8 Jul 2011 07:49:39 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id E25DE21C07B for ; Fri, 8 Jul 2011 07:49:38 +0000 (UTC) Received: from flycatcher.gentoo.org (flycatcher.gentoo.org [81.93.255.6]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 2F6C92AC0BA for ; Fri, 8 Jul 2011 07:49:38 +0000 (UTC) Received: by flycatcher.gentoo.org (Postfix, from userid 2256) id EF09E2004B; Fri, 8 Jul 2011 07:49:36 +0000 (UTC) From: "Dirkjan Ochtman (djc)" To: gentoo-commits@lists.gentoo.org Reply-To: gentoo-dev@lists.gentoo.org, djc@gentoo.org Subject: [gentoo-commits] gentoo-x86 commit in eclass: python.eclass X-VCS-Repository: gentoo-x86 X-VCS-Files: python.eclass X-VCS-Directories: eclass X-VCS-Committer: djc X-VCS-Committer-Name: Dirkjan Ochtman Content-Type: text/plain; charset=utf8 Message-Id: <20110708074936.EF09E2004B@flycatcher.gentoo.org> Date: Fri, 8 Jul 2011 07:49:36 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: fa5c8adadc58a7236fb1894ac31aa6ca djc 11/07/08 07:49:36 Modified: python.eclass Log: Fix handling of symlinks in python_merge_intermediate_installation_imag= es(). (Patch by Arfrever. Backported from python overlay.) Revision Changes Path 1.127 eclass/python.eclass file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/python.ecla= ss?rev=3D1.127&view=3Dmarkup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/python.ecla= ss?rev=3D1.127&content-type=3Dtext/plain diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/python.ecla= ss?r1=3D1.126&r2=3D1.127 Index: python.eclass =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /var/cvsroot/gentoo-x86/eclass/python.eclass,v retrieving revision 1.126 retrieving revision 1.127 diff -u -r1.126 -r1.127 --- python.eclass 8 Jul 2011 07:48:38 -0000 1.126 +++ python.eclass 8 Jul 2011 07:49:36 -0000 1.127 @@ -1,6 +1,6 @@ # Copyright 1999-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/eclass/python.eclass,v 1.126 2011/07/= 08 07:48:38 djc Exp $ +# $Header: /var/cvsroot/gentoo-x86/eclass/python.eclass,v 1.127 2011/07/= 08 07:49:36 djc Exp $ =20 # @ECLASS: python.eclass # @MAINTAINER: @@ -1424,7 +1424,7 @@ _python_check_python_pkg_setup_execution _python_initialize_prefix_variables =20 - local b file files=3D() intermediate_installation_images_directory PYTH= ON_ABI quiet=3D"0" regex shebang version_executable wrapper_scripts=3D() = wrapper_scripts_set=3D() + local absolute_file b file files=3D() intermediate_installation_images_= directory PYTHON_ABI quiet=3D"0" regex shebang version_executable wrapper= _scripts=3D() wrapper_scripts_set=3D() =20 while (($#)); do case "$1" in @@ -1516,9 +1516,26 @@ done fi =20 - [[ "${version_executable}" =3D=3D "0" || ! -x "${file}" ]] && continu= e + [[ "${version_executable}" =3D=3D "0" ]] && continue =20 - shebang=3D"$(head -n1 "${file}")" || die "Extraction of shebang from = '${file}' failed" + if [[ -L "${file}" ]]; then + absolute_file=3D"$(readlink "${file}")" + if [[ "${absolute_file}" =3D=3D /* ]]; then + absolute_file=3D"${intermediate_installation_images_directory}/${PY= THON_ABI}${EPREFIX}/${absolute_file##/}" + else + if [[ "${file}" =3D=3D */* ]]; then + absolute_file=3D"${intermediate_installation_images_directory}/${P= YTHON_ABI}${EPREFIX}/${file%/*}/${absolute_file}" + else + absolute_file=3D"${intermediate_installation_images_directory}/${P= YTHON_ABI}${EPREFIX}/${absolute_file}" + fi + fi + else + absolute_file=3D"${intermediate_installation_images_directory}/${PYT= HON_ABI}${EPREFIX}/${file}" + fi + + [[ ! -x "${absolute_file}" ]] && continue + + shebang=3D"$(head -n1 "${absolute_file}")" || die "Extraction of sheb= ang from '${absolute_file}' failed" =20 if [[ "${version_executable}" =3D=3D "2" ]]; then wrapper_scripts+=3D("${ED}${file}") @@ -1539,7 +1556,11 @@ mv "${file}" "${file}-${PYTHON_ABI}" || die "Renaming of '${file}' fa= iled" =20 if [[ "${shebang}" =3D~ ${_PYTHON_SHEBANG_BASE_PART_REGEX}[[:digit:]]= *($|[[:space:]]+) ]]; then - python_convert_shebangs $([[ "${quiet}" =3D=3D "1" ]] && echo --quie= t) "${PYTHON_ABI}" "${file}-${PYTHON_ABI}" + if [[ -L "${file}-${PYTHON_ABI}" ]]; then + python_convert_shebangs $([[ "${quiet}" =3D=3D "1" ]] && echo --qui= et) "${PYTHON_ABI}" "${absolute_file}" + else + python_convert_shebangs $([[ "${quiet}" =3D=3D "1" ]] && echo --qui= et) "${PYTHON_ABI}" "${file}-${PYTHON_ABI}" + fi fi done =20