1 |
These variables may or may not have the trailing slash. Additionally, |
2 |
avoid leading double slash (a network location for Cygwin) with ROOT and |
3 |
EROOT because they may be empty, while D and ED never should be empty |
4 |
and there is no reason so far to avoid double slashes in between. |
5 |
On the other hand, eclass variables like DATAPATH and LIBPATH do contain |
6 |
the leading slash, so an extra slash reduces readability for no reason. |
7 |
--- |
8 |
eclass/toolchain.eclass | 36 ++++++++++++++++++------------------ |
9 |
1 file changed, 18 insertions(+), 18 deletions(-) |
10 |
|
11 |
diff --git a/eclass/toolchain.eclass b/eclass/toolchain.eclass |
12 |
index 68e4ce15b37..3916555cb21 100644 |
13 |
--- a/eclass/toolchain.eclass |
14 |
+++ b/eclass/toolchain.eclass |
15 |
@@ -1793,13 +1793,13 @@ toolchain_src_install() { |
16 |
|
17 |
cd "${S}" |
18 |
if is_crosscompile; then |
19 |
- rm -rf "${ED}"usr/share/{man,info} |
20 |
+ rm -rf "${ED}"/usr/share/{man,info} |
21 |
rm -rf "${D}"${DATAPATH}/{man,info} |
22 |
else |
23 |
if tc_version_is_at_least 3.0 ; then |
24 |
local cxx_mandir=$(find "${WORKDIR}/build/${CTARGET}/libstdc++-v3" -name man) |
25 |
if [[ -d ${cxx_mandir} ]] ; then |
26 |
- cp -r "${cxx_mandir}"/man? "${D}/${DATAPATH}"/man/ |
27 |
+ cp -r "${cxx_mandir}"/man? "${D}${DATAPATH}"/man/ |
28 |
fi |
29 |
fi |
30 |
has noinfo ${FEATURES} \ |
31 |
@@ -1850,7 +1850,7 @@ toolchain_src_install() { |
32 |
# libvtv.la: gcc itself handles linkage correctly. |
33 |
# lib*san.la: Sanitizer linkage is handled internally by gcc, and they |
34 |
# do not support static linking. #487550 #546700 |
35 |
- find "${D}/${LIBPATH}" \ |
36 |
+ find "${D}${LIBPATH}" \ |
37 |
'(' \ |
38 |
-name libstdc++.la -o \ |
39 |
-name libstdc++fs.la -o \ |
40 |
@@ -1916,7 +1916,7 @@ gcc_movelibs() { |
41 |
# code to run on the target. |
42 |
if tc_version_is_at_least 5 && is_crosscompile ; then |
43 |
dodir "${HOSTLIBPATH#${EPREFIX}}" |
44 |
- mv "${ED}"usr/$(get_libdir)/libcc1* "${D}${HOSTLIBPATH}" || die |
45 |
+ mv "${ED}"/usr/$(get_libdir)/libcc1* "${D}${HOSTLIBPATH}" || die |
46 |
fi |
47 |
|
48 |
# For all the libs that are built for CTARGET, move them into the |
49 |
@@ -2113,7 +2113,7 @@ gcc_slot_java() { |
50 |
|
51 |
toolchain_pkg_postinst() { |
52 |
do_gcc_config |
53 |
- if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then |
54 |
+ if [[ ! ${ROOT%/} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then |
55 |
eselect compiler-shadow update all |
56 |
fi |
57 |
|
58 |
@@ -2128,17 +2128,17 @@ toolchain_pkg_postinst() { |
59 |
echo |
60 |
|
61 |
# Clean up old paths |
62 |
- rm -f "${EROOT}"*/rcscripts/awk/fixlafiles.awk "${EROOT}"sbin/fix_libtool_files.sh |
63 |
- rmdir "${EROOT}"*/rcscripts{/awk,} 2>/dev/null |
64 |
+ rm -f "${EROOT%/}"/*/rcscripts/awk/fixlafiles.awk "${EROOT%/}"/sbin/fix_libtool_files.sh |
65 |
+ rmdir "${EROOT%/}"/*/rcscripts{/awk,} 2>/dev/null |
66 |
|
67 |
- mkdir -p "${EROOT}"usr/{share/gcc-data,sbin,bin} |
68 |
+ mkdir -p "${EROOT%/}"/usr/{share/gcc-data,sbin,bin} |
69 |
# DATAPATH has EPREFIX already, use ROOT with it |
70 |
- cp "${ROOT}${DATAPATH}"/fixlafiles.awk "${EROOT}"usr/share/gcc-data/ || die |
71 |
- cp "${ROOT}${DATAPATH}"/fix_libtool_files.sh "${EROOT}"usr/sbin/ || die |
72 |
+ cp "${ROOT%/}${DATAPATH}"/fixlafiles.awk "${EROOT%/}"/usr/share/gcc-data/ || die |
73 |
+ cp "${ROOT%/}${DATAPATH}"/fix_libtool_files.sh "${EROOT%/}"/usr/sbin/ || die |
74 |
|
75 |
# Since these aren't critical files and portage sucks with |
76 |
# handling of binpkgs, don't require these to be found |
77 |
- cp "${ROOT}${DATAPATH}"/c{89,99} "${EROOT}"usr/bin/ 2>/dev/null |
78 |
+ cp "${ROOT%/}${DATAPATH}"/c{89,99} "${EROOT%/}"/usr/bin/ 2>/dev/null |
79 |
fi |
80 |
|
81 |
if use regression-test ; then |
82 |
@@ -2154,7 +2154,7 @@ toolchain_pkg_postinst() { |
83 |
} |
84 |
|
85 |
toolchain_pkg_postrm() { |
86 |
- if [[ ${ROOT} == / && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then |
87 |
+ if [[ ! ${ROOT%/} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then |
88 |
eselect compiler-shadow clean all |
89 |
fi |
90 |
|
91 |
@@ -2165,16 +2165,16 @@ toolchain_pkg_postrm() { |
92 |
|
93 |
# clean up the cruft left behind by cross-compilers |
94 |
if is_crosscompile ; then |
95 |
- if [[ -z $(ls "${EROOT}"etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then |
96 |
- rm -f "${EROOT}"etc/env.d/gcc/config-${CTARGET} |
97 |
- rm -f "${EROOT}"etc/env.d/??gcc-${CTARGET} |
98 |
- rm -f "${EROOT}"usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64} |
99 |
+ if [[ -z $(ls "${EROOT%/}"/etc/env.d/gcc/${CTARGET}* 2>/dev/null) ]] ; then |
100 |
+ rm -f "${EROOT%/}"/etc/env.d/gcc/config-${CTARGET} |
101 |
+ rm -f "${EROOT%/}"/etc/env.d/??gcc-${CTARGET} |
102 |
+ rm -f "${EROOT%/}"/usr/bin/${CTARGET}-{gcc,{g,c}++}{,32,64} |
103 |
fi |
104 |
return 0 |
105 |
fi |
106 |
|
107 |
# ROOT isnt handled by the script |
108 |
- [[ ${ROOT} != "/" ]] && return 0 |
109 |
+ [[ ${ROOT%/} ]] && return 0 |
110 |
|
111 |
if [[ ! -e ${LIBPATH}/libstdc++.so ]] ; then |
112 |
# make sure the profile is sane during same-slot upgrade #289403 |
113 |
@@ -2207,7 +2207,7 @@ do_gcc_config() { |
114 |
[[ -n ${current_specs} ]] && use_specs=-${current_specs} |
115 |
|
116 |
if [[ -n ${use_specs} ]] && \ |
117 |
- [[ ! -e ${ROOT}/etc/env.d/gcc/${CTARGET}-${GCC_CONFIG_VER}${use_specs} ]] |
118 |
+ [[ ! -e ${ROOT%/}/etc/env.d/gcc/${CTARGET}-${GCC_CONFIG_VER}${use_specs} ]] |
119 |
then |
120 |
ewarn "The currently selected specs-specific gcc config," |
121 |
ewarn "${current_specs}, doesn't exist anymore. This is usually" |
122 |
-- |
123 |
2.16.1 |