diff options
-rwxr-xr-x | src/cpt-build | 7 | ||||
-rwxr-xr-x | src/cpt-install | 7 | ||||
-rw-r--r-- | src/cpt-lib | 13 | ||||
-rwxr-xr-x | src/cpt-list | 7 | ||||
-rwxr-xr-x | src/cpt-remove | 8 | ||||
-rwxr-xr-x | src/cpt-search | 7 | ||||
-rwxr-xr-x | src/cpt-update | 8 |
7 files changed, 16 insertions, 41 deletions
diff --git a/src/cpt-build b/src/cpt-build index 389c824..d67f1a6 100755 --- a/src/cpt-build +++ b/src/cpt-build @@ -1,8 +1,6 @@ #!/bin/sh # Build a package -if [ -f ./cpt-lib ]; then . ./cpt-lib; else . cpt-lib; fi - parser_definition() { setup REST help:usage -- "usage: ${0##*/} [pkg...]" msg -- '' 'Options:' @@ -10,10 +8,7 @@ parser_definition() { global_options } -eval "$(getoptions parser_definition parse "$0")" - -parse "$@" -eval set -- "$REST" +if [ -f ./cpt-lib ]; then . ./cpt-lib; else . cpt-lib; fi [ "$1" ] || set -- "${PWD##*/}"; export CPT_PATH=${PWD%/*}:$CPT_PATH diff --git a/src/cpt-install b/src/cpt-install index 4dadcda..b046e02 100755 --- a/src/cpt-install +++ b/src/cpt-install @@ -1,8 +1,6 @@ #!/bin/sh # Install a package -if [ -f ./cpt-lib ]; then . ./cpt-lib; else . cpt-lib; fi - parser_definition() { setup REST help:usage -- "usage: ${0##*/} [pkg...]" msg -- '' 'Options:' @@ -10,10 +8,7 @@ parser_definition() { global_options } -eval "$(getoptions parser_definition parse "$0")" - -parse "$@" -eval set -- "$REST" +if [ -f ./cpt-lib ]; then . ./cpt-lib; else . cpt-lib; fi [ "$1" ] || set -- "${PWD##*/}"; export CPT_PATH=${PWD%/*}:$CPT_PATH diff --git a/src/cpt-lib b/src/cpt-lib index aba33ec..7b67f79 100644 --- a/src/cpt-lib +++ b/src/cpt-lib @@ -1788,9 +1788,18 @@ create_cache() { } -main() { +# main() +{ set -ef + # If a parser definition exists, let's run it ourselves. This makes sure we + # get the variables as soon as possible. + command -v parser_definition >/dev/null && { + eval "$(getoptions parser_definition parse "$0")" + parse "$@" + eval set -- "$REST" + } + # Create the cache directories for CPT and set the variables which point # to them. This is seperate from temporary directories created in # create_cache(). That's because we need these variables set on most @@ -1881,5 +1890,3 @@ main() { fi } - -main "$@" diff --git a/src/cpt-list b/src/cpt-list index aaef8d9..a161abf 100755 --- a/src/cpt-list +++ b/src/cpt-list @@ -1,8 +1,6 @@ #!/bin/sh -ef # List installed packages -if [ -f ./cpt-lib ]; then . ./cpt-lib; else . cpt-lib; fi - parser_definition() { setup REST help:usage -- "usage: ${0##*/} [-c] [pkg...]" msg -- '' 'Options:' @@ -10,10 +8,7 @@ parser_definition() { global_options } -eval "$(getoptions parser_definition parse "$0")" - -parse "$@" -eval set -- "$REST" +if [ -f ./cpt-lib ]; then . ./cpt-lib; else . cpt-lib; fi [ "$CURRENT" ] && set -- "${PWD##*/}" diff --git a/src/cpt-remove b/src/cpt-remove index b6fed58..bcf5047 100755 --- a/src/cpt-remove +++ b/src/cpt-remove @@ -1,8 +1,6 @@ #!/bin/sh -ef # Remove a package -if [ -f ./cpt-lib ]; then . ./cpt-lib; else . cpt-lib; fi - parser_definition() { setup REST help:usage -- "usage: ${0##*/} [pkg...]" msg -- '' 'Options:' @@ -10,10 +8,7 @@ parser_definition() { global_options } -eval "$(getoptions parser_definition parse "$0")" - -parse "$@" -eval set -- "$REST" +if [ -f ./cpt-lib ]; then . ./cpt-lib; else . cpt-lib; fi [ "$1" ] || set -- "${PWD##*/}"; export CPT_PATH=${PWD%/*}:$CPT_PATH @@ -23,6 +18,5 @@ eval set -- "$REST" } create_cache - pkg_order "$@" for pkg in $redro; do pkg_remove "$pkg" "${CPT_FORCE:-check}"; done diff --git a/src/cpt-search b/src/cpt-search index f943aca..df27761 100755 --- a/src/cpt-search +++ b/src/cpt-search @@ -1,8 +1,6 @@ #!/bin/sh -ef # Search for a package -if [ -f ./cpt-lib ]; then . ./cpt-lib; else . cpt-lib; fi - parser_definition() { setup REST help:usage -- "usage: ${0##*/} [pkg...]" msg -- '' 'Options:' @@ -12,10 +10,7 @@ parser_definition() { global_options } -eval "$(getoptions parser_definition parse "$0")" - -parse "$@" -eval set -- "$REST" +if [ -f ./cpt-lib ]; then . ./cpt-lib; else . cpt-lib; fi # The 'all' variable is set by the option parser. # shellcheck disable=2154 diff --git a/src/cpt-update b/src/cpt-update index b3884e3..a8f9616 100755 --- a/src/cpt-update +++ b/src/cpt-update @@ -1,8 +1,6 @@ #!/bin/sh -ef # Check for updates -if [ -f ./cpt-lib ]; then . ./cpt-lib; else . cpt-lib; fi - parser_definition() { setup REST help:usage -- "usage: ${0##*/} [options]" msg -- '' 'Options:' @@ -12,11 +10,7 @@ parser_definition() { global_options } -eval "$(getoptions parser_definition parse "$0")" - -parse "$@" -eval set -- "$REST" +if [ -f ./cpt-lib ]; then . ./cpt-lib; else . cpt-lib; fi create_cache - pkg_updates |