From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id D0A9E138335 for ; Mon, 11 Mar 2019 05:02:49 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 0E618E0C78; Mon, 11 Mar 2019 05:02:49 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id CA255E0C37 for ; Mon, 11 Mar 2019 05:02:48 +0000 (UTC) Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 33CAC335D31 for ; Mon, 11 Mar 2019 05:02:46 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id CC9F9566 for ; Mon, 11 Mar 2019 05:02:44 +0000 (UTC) From: "Thomas Deutschmann" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Thomas Deutschmann" Message-ID: <1552277913.5799b7ee8492860b6dfc5542d04a2d2a2e3f7d56.whissi@gentoo> Subject: [gentoo-commits] proj/eselect-rust:master commit in: / X-VCS-Repository: proj/eselect-rust X-VCS-Files: rust.eselect.in X-VCS-Directories: / X-VCS-Committer: whissi X-VCS-Committer-Name: Thomas Deutschmann X-VCS-Revision: 5799b7ee8492860b6dfc5542d04a2d2a2e3f7d56 X-VCS-Branch: master Date: Mon, 11 Mar 2019 05:02:44 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: f9de93f3-2bd3-4cac-952d-361a84b1676b X-Archives-Hash: 7ba7f0a057935fbfe1251a78e2a07803 commit: 5799b7ee8492860b6dfc5542d04a2d2a2e3f7d56 Author: Thomas Deutschmann gentoo org> AuthorDate: Sun Mar 10 03:33:35 2019 +0000 Commit: Thomas Deutschmann gentoo org> CommitDate: Mon Mar 11 04:18:33 2019 +0000 URL: https://gitweb.gentoo.org/proj/eselect-rust.git/commit/?id=5799b7ee Use variables for common used paths Signed-off-by: Thomas Deutschmann gentoo.org> rust.eselect.in | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/rust.eselect.in b/rust.eselect.in index 96fba74..02f7b75 100644 --- a/rust.eselect.in +++ b/rust.eselect.in @@ -5,17 +5,20 @@ DESCRIPTION="Manage the Rust compiler versions" MAINTAINER="rust@gentoo.org" VERSION="@VERSION@" +ENV_D_PATH="${EROOT%/}/etc/env.d" +BIN_DIR="${EROOT%/}/usr/bin" + inherit package-manager path-manipulation # find a list of installed rust compilers # each compiler provider should install # a config file named provider-$pkgname-$pkgver -# in "${EROOT}"/etc/env.d/rust directory +# in "${ENV_D_PATH}/rust" directory # this function prints list of $pkgname-$pkgver values find_targets() { local f local -a providers - for f in "${EROOT}"/etc/env.d/rust/provider-*; do + for f in "${ENV_D_PATH}"/rust/provider-*; do [[ -f ${f} ]] || continue providers=("${providers[@]}" "${f##*/provider-}") done @@ -33,7 +36,7 @@ get_current_target() { local i targets=( $(find_targets) ) for (( i = 0; i < ${#targets[@]}; i++ )); do [[ rustc-$(get_postfix ${targets[i]}) = \ - $(basename "$(canonicalise "${EROOT}/usr/bin/rustc")") ]] \ + $(basename "$(canonicalise "${BIN_DIR}/rustc")") ]] \ && echo $i && return 0 done echo "NOT_SET" @@ -60,7 +63,7 @@ get_symlinks_from_file() { #get last set symlinks get_last_set_symlinks() { - local symlinks=( $(get_symlinks_from_file "${EROOT}/etc/env.d/rust/last-set") ) + local symlinks=( $(get_symlinks_from_file "${ENV_D_PATH}/rust/last-set") ) echo "${symlinks[@]}" } @@ -76,7 +79,7 @@ get_symlinks() { target=${targets[target]} fi - local symlinks=( $(get_symlinks_from_file "${EROOT}/etc/env.d/rust/provider-${target}") ) + local symlinks=( $(get_symlinks_from_file "${ENV_D_PATH}/rust/provider-${target}") ) echo "${symlinks[@]}" } @@ -112,17 +115,17 @@ set_symlink() { unset_version() { local symlinks=( $(get_last_set_symlinks) ) for i in "${symlinks[@]}"; do - remove_symlink "${EROOT}${i}" + remove_symlink "${EROOT%/}${i}" done - remove_symlink "${EROOT}/usr/bin/rustc" - rm -f "${EROOT}/etc/env.d/rust/last-set" \ - || die -q "rm -f ${EROOT}/etc/env.d/rust/last-set failed" + remove_symlink "${BIN_DIR}/rustc" + rm -f "${ENV_D_PATH}/rust/last-set" \ + || die -q "rm -f ${ENV_D_PATH}/rust/last-set failed" } # set the rust version # each compiler provider should install # files named rustc-$postfix and rustdoc-$postfix -# in ${EROOT}/usr/bin directory +# in ${BIN_DIR} directory # $postfix is defined as the part of $pkgname-$pkgver after the first - # for dev-lang/rust-bin-9999 ebuild it would be bin-9999 set_version() { @@ -135,20 +138,20 @@ set_version() { target_postfix=$(get_postfix ${target}) - [[ -z ${target_postfix} || ! -x "${EROOT}/usr/bin/rustc-${target_postfix}" ]] \ + [[ -z ${target_postfix} || ! -x "${BIN_DIR}/rustc-${target_postfix}" ]] \ && die -q "Target \"$1\" doesn't appear to be valid!" unset_version - set_symlink "${EROOT}/usr/bin/rustc-${target_postfix}" "${EROOT}/usr/bin/rustc" + set_symlink "${BIN_DIR}/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 "${EROOT%/}${i}-${target_postfix}" "${EROOT%/}${i}" done - cp "${EROOT}/etc/env.d/rust/provider-${target}" \ - "${EROOT}/etc/env.d/rust/last-set" || \ + cp "${ENV_D_PATH}/rust/provider-${target}" \ + "${ENV_D_PATH}/rust/last-set" || \ die -q "symlink list copying failed" } @@ -216,7 +219,7 @@ do_update() { shift done - if [[ "${if_unset}" == "1" && -f "${EROOT}"/usr/bin/rustc ]]; then + if [[ "${if_unset}" == "1" && -f "${BIN_DIR}/rustc" ]]; then return fi @@ -248,7 +251,7 @@ do_unset() { shift done - if [[ "${if_invalid}" == "1" && -e "${EROOT}"/usr/bin/rustc ]]; then + if [[ "${if_invalid}" == "1" && -e "${BIN_DIR}/rustc" ]]; then return fi