X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/cfd/blobdiff_plain/ba4d97a46a046f5170b58a29c8f1c0524c63694c..1ae461fc60923796596972859e3bd2285eee2fd1:/mklinks.in diff --git a/mklinks.in b/mklinks.in index fd126f2..3435879 100755 --- a/mklinks.in +++ b/mklinks.in @@ -71,12 +71,16 @@ done [ $# = 0 ] && set .links cat "$@" | while read name; do - base="$(echo $name | sed 's:^.*/::')" - dir="$(echo $name | sed 's:^[^/]:./&:; s:/[^/]*$::')" - if [ -r "$pkgdatadir/$base" ]; then + case "$name" in + "" | "#"*) continue ;; + *=*) want=${name##*=}; name=${name%=*} ;; + *) want=${name##*/} ;; + esac + dir=${name%/*} + if [ -r "$pkgdatadir/$want" ]; then mkdir -p "$dir" rm -f "$name" - ln -sf "$pkgdatadir/$base" "$name" + ln -sf "$pkgdatadir/$want" "$name" fi done