diff options
Diffstat (limited to 'contrib/cpt-link')
-rwxr-xr-x | contrib/cpt-link | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/contrib/cpt-link b/contrib/cpt-link new file mode 100755 index 0000000..e5368bf --- /dev/null +++ b/contrib/cpt-link @@ -0,0 +1,18 @@ +#!/bin/sh -ef +# Link a forked package's files to the other repository + +case "$1" in ''|--help|-h) printf '\033[1;33m-> \033[musage: kiss-link [file...]\n' ; exit 0 ; esac + +# Check if the package exists in a repository and error out here +# if it does not. The error message from the package manager will +# be displayed. +kiss s "${PKG:=${PWD##*/}}" >/dev/null + +oPKG="$(kiss s "$PKG" | grep -v "^$PWD\$\|/var/db/kiss/installed/$PKG" | sed 1q)" + +for file in "$@" ; do + [ -e "${oPKG:?}/$file" ] + [ -d "$file" ] && rm -rf "$file" + ln -sf "$oPKG/$file" "$file" + printf 'linked %s to %s\n' "$oPKG/$file" "$PWD/$file" +done |