summary refs log tree commit diff
path: root/pkgs/build-support/upstream-updater
diff options
context:
space:
mode:
authorMichael Raskin <7c6f434c@mail.ru>2012-11-25 23:57:49 +0400
committerMichael Raskin <7c6f434c@mail.ru>2012-11-25 23:57:49 +0400
commitf8f54dc8d358963deaf1521f68d2c3d01fb6d664 (patch)
treeea1fde2c76d02d0d734840326dd70ce384973bc5 /pkgs/build-support/upstream-updater
parentfdf3ff7a21c5d0b5c45bc889ea1d3a33f9b48c7b (diff)
downloadnixpkgs-f8f54dc8d358963deaf1521f68d2c3d01fb6d664.tar
nixpkgs-f8f54dc8d358963deaf1521f68d2c3d01fb6d664.tar.gz
nixpkgs-f8f54dc8d358963deaf1521f68d2c3d01fb6d664.tar.bz2
nixpkgs-f8f54dc8d358963deaf1521f68d2c3d01fb6d664.tar.lz
nixpkgs-f8f54dc8d358963deaf1521f68d2c3d01fb6d664.tar.xz
nixpkgs-f8f54dc8d358963deaf1521f68d2c3d01fb6d664.tar.zst
nixpkgs-f8f54dc8d358963deaf1521f68d2c3d01fb6d664.zip
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
Diffstat (limited to 'pkgs/build-support/upstream-updater')
-rwxr-xr-xpkgs/build-support/upstream-updater/update-walker.sh24
1 files changed, 23 insertions, 1 deletions
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"