Gentoo Archives: gentoo-commits

From: "Mike Frysinger (vapier)" <vapier@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in eclass: eutils.eclass
Date: Tue, 03 Dec 2013 08:09:58
Message-Id: 20131203080950.2BAD02004B@flycatcher.gentoo.org
1 vapier 13/12/03 08:09:50
2
3 Modified: eutils.eclass
4 Log:
5 add prefix support by Christoph Junghans #485438
6
7 Revision Changes Path
8 1.428 eclass/eutils.eclass
9
10 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/eutils.eclass?rev=1.428&view=markup
11 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/eutils.eclass?rev=1.428&content-type=text/plain
12 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/eclass/eutils.eclass?r1=1.427&r2=1.428
13
14 Index: eutils.eclass
15 ===================================================================
16 RCS file: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v
17 retrieving revision 1.427
18 retrieving revision 1.428
19 diff -u -r1.427 -r1.428
20 --- eutils.eclass 14 Sep 2013 19:00:10 -0000 1.427
21 +++ eutils.eclass 3 Dec 2013 08:09:49 -0000 1.428
22 @@ -1,6 +1,6 @@
23 # Copyright 1999-2013 Gentoo Foundation
24 # Distributed under the terms of the GNU General Public License v2
25 -# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.427 2013/09/14 19:00:10 mgorny Exp $
26 +# $Header: /var/cvsroot/gentoo-x86/eclass/eutils.eclass,v 1.428 2013/12/03 08:09:49 vapier Exp $
27
28 # @ECLASS: eutils.eclass
29 # @MAINTAINER:
30 @@ -948,6 +948,14 @@
31 ) || die "installing desktop file failed"
32 }
33
34 +# @FUNCTION: _eutils_eprefix_init
35 +# @INTERNAL
36 +# @DESCRIPTION:
37 +# Initialized prefix variables for EAPI<3.
38 +_eutils_eprefix_init() {
39 + has "${EAPI:-0}" 0 1 2 && : ${ED:=${D}} ${EPREFIX:=} ${EROOT:=${ROOT}}
40 +}
41 +
42 # @FUNCTION: validate_desktop_entries
43 # @USAGE: [directories]
44 # @MAINTAINER:
45 @@ -955,11 +963,12 @@
46 # @DESCRIPTION:
47 # Validate desktop entries using desktop-file-utils
48 validate_desktop_entries() {
49 - if [[ -x /usr/bin/desktop-file-validate ]] ; then
50 + _eutils_eprefix_init
51 + if [[ -x "${EPREFIX}"/usr/bin/desktop-file-validate ]] ; then
52 einfo "Checking desktop entry validity"
53 local directories=""
54 for d in /usr/share/applications $@ ; do
55 - [[ -d ${D}${d} ]] && directories="${directories} ${D}${d}"
56 + [[ -d ${ED}${d} ]] && directories="${directories} ${ED}${d}"
57 done
58 if [[ -n ${directories} ]] ; then
59 for FILE in $(find ${directories} -name "*\.desktop" \
60 @@ -967,7 +976,7 @@
61 do
62 local temp=$(desktop-file-validate ${FILE} | grep -v "warning:" | \
63 sed -e "s|error: ||" -e "s|${FILE}:|--|g" )
64 - [[ -n $temp ]] && elog ${temp/--/${FILE/${D}/}:}
65 + [[ -n $temp ]] && elog ${temp/--/${FILE/${ED}/}:}
66 done
67 fi
68 echo ""
69 @@ -1227,6 +1236,7 @@
70 # solution, so instead you can call this from pkg_preinst. See also the
71 # preserve_old_lib_notify function.
72 preserve_old_lib() {
73 + _eutils_eprefix_init
74 if [[ ${EBUILD_PHASE} != "preinst" ]] ; then
75 eerror "preserve_old_lib() must be called from pkg_preinst() only"
76 die "Invalid preserve_old_lib() usage"
77 @@ -1238,11 +1248,11 @@
78
79 local lib dir
80 for lib in "$@" ; do
81 - [[ -e ${ROOT}/${lib} ]] || continue
82 + [[ -e ${EROOT}/${lib} ]] || continue
83 dir=${lib%/*}
84 dodir ${dir} || die "dodir ${dir} failed"
85 - cp "${ROOT}"/${lib} "${D}"/${lib} || die "cp ${lib} failed"
86 - touch "${D}"/${lib}
87 + cp "${EROOT}"/${lib} "${ED}"/${lib} || die "cp ${lib} failed"
88 + touch "${ED}"/${lib}
89 done
90 }
91
92 @@ -1259,9 +1269,11 @@
93 # let portage worry about it
94 has preserve-libs ${FEATURES} && return 0
95
96 + _eutils_eprefix_init
97 +
98 local lib notice=0
99 for lib in "$@" ; do
100 - [[ -e ${ROOT}/${lib} ]] || continue
101 + [[ -e ${EROOT}/${lib} ]] || continue
102 if [[ ${notice} -eq 0 ]] ; then
103 notice=1
104 ewarn "Old versions of installed libraries were detected on your system."
105 @@ -1297,6 +1309,7 @@
106 # Remember that this function isn't terribly intelligent so order of optional
107 # flags matter.
108 built_with_use() {
109 + _eutils_eprefix_init
110 local hidden="no"
111 if [[ $1 == "--hidden" ]] ; then
112 hidden="yes"
113 @@ -1320,8 +1333,8 @@
114 [[ -z ${PKG} ]] && die "Unable to resolve $1 to an installed package"
115 shift
116
117 - local USEFILE=${ROOT}/var/db/pkg/${PKG}/USE
118 - local IUSEFILE=${ROOT}/var/db/pkg/${PKG}/IUSE
119 + local USEFILE=${EROOT}/var/db/pkg/${PKG}/USE
120 + local IUSEFILE=${EROOT}/var/db/pkg/${PKG}/IUSE
121
122 # if the IUSE file doesn't exist, the read will error out, we need to handle
123 # this gracefully
124 @@ -1401,24 +1414,31 @@
125 # first optionally setting LD_LIBRARY_PATH to the colon-delimited
126 # libpaths followed by optionally changing directory to chdir.
127 make_wrapper() {
128 + _eutils_eprefix_init
129 local wrapper=$1 bin=$2 chdir=$3 libdir=$4 path=$5
130 local tmpwrapper=$(emktemp)
131
132 (
133 echo '#!/bin/sh'
134 - [[ -n ${chdir} ]] && printf 'cd "%s"\n' "${chdir}"
135 + [[ -n ${chdir} ]] && printf 'cd "%s"\n' "${EPREFIX}${chdir}"
136 if [[ -n ${libdir} ]] ; then
137 + local var
138 + if [[ ${CHOST} == *-darwin* ]] ; then
139 + var=DYLD_LIBRARY_PATH
140 + else
141 + var=LD_LIBRARY_PATH
142 + fi
143 cat <<-EOF
144 - if [ "\${LD_LIBRARY_PATH+set}" = "set" ] ; then
145 - export LD_LIBRARY_PATH="\${LD_LIBRARY_PATH}:${libdir}"
146 + if [ "\${${var}+set}" = "set" ] ; then
147 + export ${var}="\${${var}}:${EPREFIX}${libdir}"
148 else
149 - export LD_LIBRARY_PATH="${libdir}"
150 + export ${var}="${EPREFIX}${libdir}"
151 fi
152 EOF
153 fi
154 # We don't want to quote ${bin} so that people can pass complex
155 # things as ${bin} ... "./someprog --args"
156 - printf 'exec %s "$@"\n' "${bin}"
157 + printf 'exec %s "$@"\n' "${bin/#\//${EPREFIX}\/}"
158 ) > "${tmpwrapper}"
159 chmod go+rx "${tmpwrapper}"
160
161 @@ -1529,6 +1549,7 @@
162 debug-print-function ${FUNCNAME} "$@"
163
164 local removing_all removing_modules opt
165 + _eutils_eprefix_init
166 for opt; do
167 case "${opt}" in
168 --all)
169 @@ -1638,7 +1659,7 @@
170 einfo "Removing unnecessary ${f#${D%/}} (${reason})"
171 queue+=( "${f}" )
172 fi
173 - done < <(find "${D}" -xtype f -name '*.la' -print0)
174 + done < <(find "${ED}" -xtype f -name '*.la' -print0)
175
176 if [[ ${queue[@]} ]]; then
177 rm -f "${queue[@]}"