Gentoo Archives: gentoo-commits

From: Mike Gilbert <floppym@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: eclass/
Date: Thu, 18 Jul 2019 15:13:33
Message-Id: 1563462794.983850f43b4354be3890f00556f884111ade5874.floppym@gentoo
1 commit: 983850f43b4354be3890f00556f884111ade5874
2 Author: Mike Gilbert <floppym <AT> gentoo <DOT> org>
3 AuthorDate: Mon Jul 15 17:16:13 2019 +0000
4 Commit: Mike Gilbert <floppym <AT> gentoo <DOT> org>
5 CommitDate: Thu Jul 18 15:13:14 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=983850f4
7
8 usr-ldscript.eclass: avoid duplicate slashes in file paths
9
10 Signed-off-by: Mike Gilbert <floppym <AT> gentoo.org>
11
12 eclass/usr-ldscript.eclass | 32 ++++++++++++++++----------------
13 1 file changed, 16 insertions(+), 16 deletions(-)
14
15 diff --git a/eclass/usr-ldscript.eclass b/eclass/usr-ldscript.eclass
16 index 4d503e7d6db..7e406267b64 100644
17 --- a/eclass/usr-ldscript.eclass
18 +++ b/eclass/usr-ldscript.eclass
19 @@ -84,27 +84,27 @@ gen_usr_ldscript() {
20 # Ensure /lib/${lib} exists to avoid dangling scripts/symlinks.
21 # This especially is for AIX where $(get_libname) can return ".a",
22 # so /lib/${lib} might be moved to /usr/lib/${lib} (by accident).
23 - [[ -r ${ED}/${libdir}/${lib} ]] || continue
24 + [[ -r ${ED%/}/${libdir}/${lib} ]] || continue
25 #TODO: better die here?
26 fi
27
28 case ${CTARGET:-${CHOST}} in
29 *-darwin*)
30 if ${auto} ; then
31 - tlib=$(scanmacho -qF'%S#F' "${ED}"/usr/${libdir}/${lib})
32 + tlib=$(scanmacho -qF'%S#F' "${ED%/}"/usr/${libdir}/${lib})
33 else
34 - tlib=$(scanmacho -qF'%S#F' "${ED}"/${libdir}/${lib})
35 + tlib=$(scanmacho -qF'%S#F' "${ED%/}"/${libdir}/${lib})
36 fi
37 [[ -z ${tlib} ]] && die "unable to read install_name from ${lib}"
38 tlib=${tlib##*/}
39
40 if ${auto} ; then
41 - mv "${ED}"/usr/${libdir}/${lib%${suffix}}.*${suffix#.} "${ED}"/${libdir}/ || die
42 + mv "${ED%/}"/usr/${libdir}/${lib%${suffix}}.*${suffix#.} "${ED%/}"/${libdir}/ || die
43 # some install_names are funky: they encode a version
44 if [[ ${tlib} != ${lib%${suffix}}.*${suffix#.} ]] ; then
45 - mv "${ED}"/usr/${libdir}/${tlib%${suffix}}.*${suffix#.} "${ED}"/${libdir}/ || die
46 + mv "${ED%/}"/usr/${libdir}/${tlib%${suffix}}.*${suffix#.} "${ED%/}"/${libdir}/ || die
47 fi
48 - rm -f "${ED}"/${libdir}/${lib}
49 + rm -f "${ED%/}"/${libdir}/${lib}
50 fi
51
52 # Mach-O files have an id, which is like a soname, it tells how
53 @@ -114,34 +114,34 @@ gen_usr_ldscript() {
54 # libdir=/lib because that messes up libtool files.
55 # Make sure we don't lose the specific version, so just modify the
56 # existing install_name
57 - if [[ ! -w "${ED}/${libdir}/${tlib}" ]] ; then
58 - chmod u+w "${ED}${libdir}/${tlib}" # needed to write to it
59 + if [[ ! -w "${ED%/}/${libdir}/${tlib}" ]] ; then
60 + chmod u+w "${ED%/}/${libdir}/${tlib}" # needed to write to it
61 local nowrite=yes
62 fi
63 install_name_tool \
64 -id "${EPREFIX}"/${libdir}/${tlib} \
65 - "${ED}"/${libdir}/${tlib} || die "install_name_tool failed"
66 - [[ -n ${nowrite} ]] && chmod u-w "${ED}${libdir}/${tlib}"
67 + "${ED%/}"/${libdir}/${tlib} || die "install_name_tool failed"
68 + [[ -n ${nowrite} ]] && chmod u-w "${ED%/}/${libdir}/${tlib}"
69 # Now as we don't use GNU binutils and our linker doesn't
70 # understand linker scripts, just create a symlink.
71 - pushd "${ED}/usr/${libdir}" > /dev/null
72 + pushd "${ED%/}/usr/${libdir}" > /dev/null
73 ln -snf "../../${libdir}/${tlib}" "${lib}"
74 popd > /dev/null
75 ;;
76 *)
77 if ${auto} ; then
78 - tlib=$(scanelf -qF'%S#F' "${ED}"/usr/${libdir}/${lib})
79 + tlib=$(scanelf -qF'%S#F' "${ED%/}"/usr/${libdir}/${lib})
80 [[ -z ${tlib} ]] && die "unable to read SONAME from ${lib}"
81 - mv "${ED}"/usr/${libdir}/${lib}* "${ED}"/${libdir}/ || die
82 + mv "${ED%/}"/usr/${libdir}/${lib}* "${ED%/}"/${libdir}/ || die
83 # some SONAMEs are funky: they encode a version before the .so
84 if [[ ${tlib} != ${lib}* ]] ; then
85 - mv "${ED}"/usr/${libdir}/${tlib}* "${ED}"/${libdir}/ || die
86 + mv "${ED%/}"/usr/${libdir}/${tlib}* "${ED%/}"/${libdir}/ || die
87 fi
88 - rm -f "${ED}"/${libdir}/${lib}
89 + rm -f "${ED%/}"/${libdir}/${lib}
90 else
91 tlib=${lib}
92 fi
93 - cat > "${ED}/usr/${libdir}/${lib}" <<-END_LDSCRIPT
94 + cat > "${ED%/}/usr/${libdir}/${lib}" <<-END_LDSCRIPT
95 /* GNU ld script
96 Since Gentoo has critical dynamic libraries in /lib, and the static versions
97 in /usr/lib, we need to have a "fake" dynamic lib in /usr/lib, otherwise we