aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2009-12-09 17:47:34 -0500
committerMike Frysinger <vapier@gentoo.org>2009-12-09 19:26:33 -0500
commit7cae558c82e46ebda5cdc56b2a6d891766a95494 (patch)
treebb00cd092828f65eecd51dc29a75d40b0d59c345
parentcrossdev: add win64 targets (diff)
downloadcrossdev-7cae558c82e46ebda5cdc56b2a6d891766a95494.tar.gz
crossdev-7cae558c82e46ebda5cdc56b2a6d891766a95494.tar.bz2
crossdev-7cae558c82e46ebda5cdc56b2a6d891766a95494.zip
crossdev: let people make their own cross dirs
URL: http://bugs.gentoo.org/211386 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rwxr-xr-xcrossdev26
1 files changed, 16 insertions, 10 deletions
diff --git a/crossdev b/crossdev
index 2252716..50d955a 100755
--- a/crossdev
+++ b/crossdev
@@ -542,16 +542,22 @@ set_use() {
}
set_links() {
local cat=$1 pkg=$2
- local s srcdir=${PORTDIR}
- rm -f "${PORTDIR_OVERLAY}"/cross-${CTARGET}/${pkg}
- for s in ${PORTDIR_OVERLAYS} ; do
- if [[ -d ${s}/${cat}/${pkg} ]] ; then
- einfo "Using ${cat}/${pkg} from ${s} instead of ${PORTDIR}"
- srcdir=${s}
- break
- fi
- done
- ln -s "${srcdir}"/${cat}/${pkg} "${PORTDIR_OVERLAY}"/cross-${CTARGET}/${pkg}
+ local s srcdir=${PORTDIR} d
+
+ d="${PORTDIR_OVERLAY}"/cross-${CTARGET}/${pkg}
+ if [[ ! -L ${d} && -d ${d} ]] ; then #211386
+ einfo "Leaving existing dir alone: ${d}"
+ else
+ rm -f "${d}"
+ for s in ${PORTDIR_OVERLAYS} ; do
+ if [[ -d ${s}/${cat}/${pkg} ]] ; then
+ einfo "Using ${cat}/${pkg} from ${s} instead of ${PORTDIR}"
+ srcdir=${s}
+ break
+ fi
+ done
+ ln -s "${srcdir}"/${cat}/${pkg} "${d}"
+ fi
}
set_portage() {
local cat=$1 pkg=$2 ver=$3