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-08 22:44:18 +0400
committerMichael Raskin <7c6f434c@mail.ru>2012-11-08 23:15:33 +0400
commit8af08d0d363d03a890363f1cf42f0dfe729b4d68 (patch)
tree9b3666fe34ad6f23dbe61b2c1a27bdc5815c9461 /pkgs/build-support/upstream-updater
parentda5aecb73b6390b7bae8c1658ecc84faaffe9cd9 (diff)
downloadnixpkgs-8af08d0d363d03a890363f1cf42f0dfe729b4d68.tar
nixpkgs-8af08d0d363d03a890363f1cf42f0dfe729b4d68.tar.gz
nixpkgs-8af08d0d363d03a890363f1cf42f0dfe729b4d68.tar.bz2
nixpkgs-8af08d0d363d03a890363f1cf42f0dfe729b4d68.tar.lz
nixpkgs-8af08d0d363d03a890363f1cf42f0dfe729b4d68.tar.xz
nixpkgs-8af08d0d363d03a890363f1cf42f0dfe729b4d68.tar.zst
nixpkgs-8af08d0d363d03a890363f1cf42f0dfe729b4d68.zip
Allow relative paths in upstream expressions
Diffstat (limited to 'pkgs/build-support/upstream-updater')
-rwxr-xr-xpkgs/build-support/upstream-updater/update-walker.sh18
1 files changed, 13 insertions, 5 deletions
diff --git a/pkgs/build-support/upstream-updater/update-walker.sh b/pkgs/build-support/upstream-updater/update-walker.sh
index caec95f6998..6067cbfaebc 100755
--- a/pkgs/build-support/upstream-updater/update-walker.sh
+++ b/pkgs/build-support/upstream-updater/update-walker.sh
@@ -92,8 +92,19 @@ retrieve_version () {
   PACKAGED_VERSION="$(nix-instantiate --eval-only '<nixpkgs>' -A "$CURRENT_NAME".meta.version | xargs)"
 }
 
+directory_of () {
+  cd "$(dirname "$1")"; pwd
+}
+
+full_path () {
+  echo "$(directory_of "$1")/$(basename "$1")"
+}
+
 target () {
   CURRENT_TARGET="$1"
+  test -e "$CURRENT_TARGET" || 
+    { [ "$CURRENT_TARGET" = "${CURRENT_TARGET#/}" ] && CURRENT_TARGET="$CONFIG_DIR/$CURRENT_TARGET"; }
+  echo "Target set to: $CURRENT_TARGET"
 }
 
 update_found () {
@@ -118,12 +129,9 @@ do_overwrite () {
   mv "$1.new.tmp" "$1"
 }
 
-full_path () {
-  echo "$(cd "$(dirname "$1")"; pwd)/$(basename "$1")"
-}
-
 process_config () {
-  source "$(full_path "$1")"
+  CONFIG_DIR="$(directory_of "$1")"
+  source "$CONFIG_DIR/$(basename "$1")"
   retrieve_version
   ensure_version
   update_found && do_overwrite "$CURRENT_TARGET"