aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Michael <fedora.dm0@gmail.com>2021-05-14 10:16:57 -0400
committerGeorgy Yakovlev <gyakovlev@gentoo.org>2021-07-03 00:48:56 -0700
commit7ac58a21d2fd6e66852c7ae2e6c09f3b836b73a1 (patch)
tree6c514550ed66ce1716d57707d73c2faeb1b8bc5a
parentrust.eselect.in: make shellcheck happy (diff)
downloadeselect-rust-7ac58a21d2fd6e66852c7ae2e6c09f3b836b73a1.tar.gz
eselect-rust-7ac58a21d2fd6e66852c7ae2e6c09f3b836b73a1.tar.bz2
eselect-rust-7ac58a21d2fd6e66852c7ae2e6c09f3b836b73a1.zip
Stop using absolute symlinksHEADeselect-rust-20210703master
Prefixing everything with ${EROOT} produces invalid paths on the target system. All of the symlinks point to files in the same directory, so there is no reason to specify directories at all. Bug: https://bugs.gentoo.org/790305 Signed-off-by: David Michael <fedora.dm0@gmail.com> Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
-rw-r--r--README.md4
-rw-r--r--rust.eselect.in8
2 files changed, 4 insertions, 8 deletions
diff --git a/README.md b/README.md
index 6ae99cf..ac3a34d 100644
--- a/README.md
+++ b/README.md
@@ -75,7 +75,3 @@ then `/etc/env.d/rust/provider-TARGET` should contain:
```
Note, that `/usr/bin/rustc` should not be listed, as it is always managed by eselect.
-
-### Notes
-
-**eselect-rust** automatically prepends every path with `${EROOT}` variable.
diff --git a/rust.eselect.in b/rust.eselect.in
index c3ee046..7ab845b 100644
--- a/rust.eselect.in
+++ b/rust.eselect.in
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
DESCRIPTION="Manage the Rust compiler versions"
@@ -157,7 +157,7 @@ set_symlink() {
remove_symlink "${dest}"
- if [[ -e ${source} ]]; then
+ if [[ -e ${dest%/*}/${source} ]]; then
mkdir -p "$(dirname ${dest})" || die -q "directory creation failed for $(dirname ${dest})"
ln -s "${source}" "${dest}" || die -q "${dest} symlink setting failed"
else
@@ -197,11 +197,11 @@ set_version() {
unset_version
- set_symlink "${BIN_DIR}/rustc-${target_postfix}" "${BIN_DIR}/rustc"
+ set_symlink "rustc-${target_postfix}" "${BIN_DIR}/rustc"
local symlinks=( $(get_symlinks ${target}) )
for i in "${symlinks[@]}"; do
- set_symlink "${EROOT%/}${i}-${target_postfix}" "${EROOT%/}${i}"
+ set_symlink "${i##*/}-${target_postfix}" "${EROOT%/}${i}"
done
cp "${ENV_D_PATH}/rust/provider-${target}" \