From f8f54dc8d358963deaf1521f68d2c3d01fb6d664 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Sun, 25 Nov 2012 23:57:49 +0400 Subject: Allow to skip more options to update-walker in simple cases. Now just an URL can work if everything is set up in default way --- .../upstream-updater/update-walker.sh | 24 +++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'pkgs/build-support/upstream-updater') diff --git a/pkgs/build-support/upstream-updater/update-walker.sh b/pkgs/build-support/upstream-updater/update-walker.sh index ce0e1403f2e..78c61dd2b82 100755 --- a/pkgs/build-support/upstream-updater/update-walker.sh +++ b/pkgs/build-support/upstream-updater/update-walker.sh @@ -3,6 +3,7 @@ own_dir="$(cd "$(dirname "$0")"; pwd)" CURRENT_URL= +NEED_TO_CHOOSE_URL=1 url () { CURRENT_URL="$1" @@ -45,12 +46,14 @@ matching_links () { link () { CURRENT_URL="$(matching_links "$1" | position_choice "$2" "$3")" + unset NEED_TO_CHOOSE_URL echo "Linked by: $*" echo "URL: $CURRENT_URL" >&2 } version_link () { CURRENT_URL="$(matching_links "$1" | version_sort | position_choice "$2" "$3")" + unset NEED_TO_CHOOSE_URL echo "Linked version by: $*" echo "URL: $CURRENT_URL" >&2 } @@ -86,6 +89,23 @@ ensure_target () { [ -z "$CURRENT_TARGET" ] && target default.nix } +ensure_name () { + [ -z "$CURRENT_NAME" ] && name "$(basename "$CONFIG_DIR")" + echo "Resulting name: $CURRENT_NAME" +} + +ensure_choice () { + [ -n "NEED_TO_CHOOSE_URL" ] && { + version_link '[.]tar[.]([^./])+$' + unset NEED_TO_CHOOSE_URL + } + [ -z "$CURRENT_URL" ] && { + echo "Error: empty CURRENT_URL" + echo "Error: empty CURRENT_URL" >&2 + exit 1 + } +} + hash () { CURRENT_HASH="$(nix-prefetch-url "$CURRENT_URL")" } @@ -183,9 +203,11 @@ do_overwrite () { process_config () { CONFIG_DIR="$(directory_of "$1")" - source "$CONFIG_DIR/$(basename "$1")" BEGIN_EXPRESSION='# Generated upstream information'; + source "$CONFIG_DIR/$(basename "$1")" + ensure_name retrieve_version + ensure_choice ensure_version ensure_target update_found && do_overwrite "$CURRENT_TARGET" -- cgit 1.4.1