aboutsummaryrefslogtreecommitdiff
path: root/contrib/cpt-link
blob: b6a0c5757670bc1f32f81da0b02328cb1d29ac1b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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: %s [file...]\n' "${0##*/}" ; 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.
cpt-search "${PKG:=${PWD##*/}}" >/dev/null

oPKG="$(cpt-search "$PKG" | grep -v "^$PWD\$\|/var/db/cpt/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