aboutsummaryrefslogtreecommitdiff
path: root/contrib/cpt-fork
blob: 8922f0d5ac3a8012deb6bdef9cdbf3648d568444 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#!/bin/sh -ef
# Fork a package to the current directory

case "$1" in ''|--help|-h) printf '\033[1;33m-> \033[m%s\n' "usage: ${0##*/} [pkg]" ; exit 0 ; esac
[ "$CPT_FORCE" ] || {
    [ -d "$1" ] && {
        printf '\033[1;31m!> \033[m%s\n' "$1 already exists on the current directory" \
               "You can set CPT_FORCE=1 to ignore this."
        exit 1
    }
}

cpt-search "$1" >/dev/null

cp -r "$(cpt-search --single "$1")" .

# Sometimes forked packages are from the database and not from a repository.
# We should remove the manifest in such a case.
rm -f "$1/manifest"

printf 'forked package to %s\n' "$PWD/$1"