Gentoo Archives: gentoo-dev

From: Benda Xu <heroxbd@g.o>
To: gentoo-dev@l.g.o
Cc: Benda Xu <heroxbd@g.o>
Subject: [gentoo-dev] [PATCH 3/7] toolchain.eclass: D->ED ROOT->EROOT replacements.
Date: Sun, 08 Jan 2017 05:46:16
Message-Id: 1483854247-10948-4-git-send-email-heroxbd@gentoo.org
In Reply to: [gentoo-dev] [PATCH 0/7] RFC1: toolchain.eclass prefix support by Benda Xu
1 Directory prefixify part 1.
2
3 In addition, E/D and E/ROOT has trailing slashes. No need to write
4 an additional slash.
5 ---
6 eclass/toolchain.eclass | 29 +++++++++++++++--------------
7 1 file changed, 15 insertions(+), 14 deletions(-)
8
9 diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass
10 index 8e04864..40759f5 100644
11 --- a/eclass/toolchain.eclass
12 +++ b/eclass/toolchain.eclass
13 @@ -1735,7 +1735,7 @@ toolchain_src_install() {
14
15 cd "${S}"
16 if is_crosscompile; then
17 - rm -rf "${D}"/usr/share/{man,info}
18 + rm -rf "${ED}"usr/share/{man,info}
19 rm -rf "${D}"${DATAPATH}/{man,info}
20 else
21 if tc_version_is_at_least 3.0 ; then
22 @@ -1849,8 +1849,8 @@ gcc_movelibs() {
23 # that you want to link against when building tools rather than building
24 # code to run on the target.
25 if tc_version_is_at_least 5 && is_crosscompile ; then
26 - dodir "${HOSTLIBPATH}"
27 - mv "${D}"/usr/$(get_libdir)/libcc1* "${D}${HOSTLIBPATH}" || die
28 + dodir "${HOSTLIBPATH#${EPREFIX}}"
29 + mv "${ED}"usr/$(get_libdir)/libcc1* "${D}${HOSTLIBPATH}" || die
30 fi
31
32 # For all the libs that are built for CTARGET, move them into the
33 @@ -1935,7 +1935,7 @@ create_gcc_env_entry() {
34 local gcc_envd_base="/etc/env.d/gcc/${CTARGET}-${GCC_CONFIG_VER}"
35
36 local gcc_specs_file
37 - local gcc_envd_file="${D}${gcc_envd_base}"
38 + local gcc_envd_file="${ED}${gcc_envd_base}"
39 if [[ -z $1 ]] ; then
40 # I'm leaving the following commented out to remind me that it
41 # was an insanely -bad- idea. Stuff broke. GCC_SPECS isnt unset
42 @@ -2059,16 +2059,17 @@ toolchain_pkg_postinst() {
43 echo
44
45 # Clean up old paths
46 - rm -f "${ROOT}"/*/rcscripts/awk/fixlafiles.awk "${ROOT}"/sbin/fix_libtool_files.sh
47 - rmdir "${ROOT}"/*/rcscripts{/awk,} 2>/dev/null
48 + rm -f "${EROOT}"*/rcscripts/awk/fixlafiles.awk "${EROOT}"sbin/fix_libtool_files.sh
49 + rmdir "${EROOT}"*/rcscripts{/awk,} 2>/dev/null
50
51 - mkdir -p "${ROOT}"/usr/{share/gcc-data,sbin,bin}
52 - cp "${ROOT}/${DATAPATH}"/fixlafiles.awk "${ROOT}"/usr/share/gcc-data/ || die
53 - cp "${ROOT}/${DATAPATH}"/fix_libtool_files.sh "${ROOT}"/usr/sbin/ || die
54 + mkdir -p "${EROOT}"usr/{share/gcc-data,sbin,bin}
55 + # DATAPATH has EPREFIX already, use ROOT with it
56 + cp "${ROOT}${DATAPATH}"/fixlafiles.awk "${EROOT}"usr/share/gcc-data/ || die
57 + cp "${ROOT}${DATAPATH}"/fix_libtool_files.sh "${EROOT}"usr/sbin/ || die
58
59 # Since these aren't critical files and portage sucks with
60 # handling of binpkgs, don't require these to be found
61 - cp "${ROOT}/${DATAPATH}"/c{89,99} "${ROOT}"/usr/bin/ 2>/dev/null
62 + cp "${ROOT}${DATAPATH}"/c{89,99} "${EROOT}"usr/bin/ 2>/dev/null
63 fi
64
65 if use regression-test ; then
66 @@ -2091,10 +2092,10 @@ toolchain_pkg_postrm() {
67
68 # clean up the cruft left behind by cross-compilers
69 if is_crosscompile ; then
70 - if [[ -z $(ls "${ROOT}"/etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then
71 - rm -f "${ROOT}"/etc/env.d/gcc/config-${CTARGET}
72 - rm -f "${ROOT}"/etc/env.d/??gcc-${CTARGET}
73 - rm -f "${ROOT}"/usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64}
74 + if [[ -z $(ls "${EROOT}"etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then
75 + rm -f "${EROOT}"etc/env.d/gcc/config-${CTARGET}
76 + rm -f "${EROOT}"etc/env.d/??gcc-${CTARGET}
77 + rm -f "${EROOT}"usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64}
78 fi
79 return 0
80 fi
81 --
82 2.8.3