aboutsummaryrefslogtreecommitdiff
path: root/contrib/cpt-link
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/cpt-link')
-rwxr-xr-xcontrib/cpt-link18
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