diff options
Diffstat (limited to 'contrib')
| -rwxr-xr-x | contrib/cpt-fork | 27 | 
1 files changed, 14 insertions, 13 deletions
| diff --git a/contrib/cpt-fork b/contrib/cpt-fork index 8922f0d..0851d9a 100755 --- a/contrib/cpt-fork +++ b/contrib/cpt-fork @@ -1,21 +1,22 @@  #!/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." +case "$1" in ''|--help|-h) printf '\033[1;33m-> \033[m%s\n' "usage: ${0##*/} [pkg...]" ; exit 0 ; esac + +for pkg; do +    [ "$CPT_FORCE" != 1 ] && [ -d "$pkg" ] && { +        printf '\033[1;31m!> \033[m%s\n' \ +               "$pkg already exists on the current directory. You can set" \ +               "CPT_FORCE=1 to ignore this."          exit 1      } -} - -cpt-search "$1" >/dev/null +    cpt-search "$pkg" >/dev/null -cp -r "$(cpt-search --single "$1")" . +    cp -r "$(cpt-search --single "$pkg")" . -# 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" +    # Sometimes forked packages are from the database and not from a repository. +    # We should remove the manifest in such a case. +    rm -f "$pkg/manifest" -printf 'forked package to %s\n' "$PWD/$1" +    printf 'forked package to %s\n' "$PWD/$pkg" +done | 
