From 005ac63a1910945086e40d197164a5aae4c38090 Mon Sep 17 00:00:00 2001 From: José Romildo Date: Mon, 21 Feb 2022 12:10:33 -0300 Subject: httpTwoLevelsUpdater: init --- .../scripts/list-archive-two-level-versions | 48 ------------------- .../scripts/list-archive-two-levels-versions | 54 ++++++++++++++++++++++ 2 files changed, 54 insertions(+), 48 deletions(-) delete mode 100755 pkgs/common-updater/scripts/list-archive-two-level-versions create mode 100755 pkgs/common-updater/scripts/list-archive-two-levels-versions (limited to 'pkgs/common-updater/scripts') diff --git a/pkgs/common-updater/scripts/list-archive-two-level-versions b/pkgs/common-updater/scripts/list-archive-two-level-versions deleted file mode 100755 index ae29d533fc3be..0000000000000 --- a/pkgs/common-updater/scripts/list-archive-two-level-versions +++ /dev/null @@ -1,48 +0,0 @@ -#!/usr/bin/env bash - -# lists all available versions listed for a package in a site (http) - -archive="$1" # archive url -pname="$2" # package name -file="$3" # file for writing debugging information - -while (( $# > 0 )); do - flag="$1" - shift 1 - case "$flag" in - --url=*) - archive="${flag#*=}" - ;; - --pname=*) - pname="${flag#*=}" - ;; - --file=*) - version="${flag#*=}" - ;; - *) - echo "$0: unknown option ‘${flag}’" - exit 1 - ;; - esac -done - -if [ -z "$archive" ]; then - echo "$scriptName: Missing archive url" - exit 1 -fi - -# print a debugging message -if [ -n "$file" ]; then - echo "# Listing versions for '$pname' at $archive" >> $file -fi - -# list all major-minor versions from archive -tags1=$(curl -sS "$archive/") -tags1=$(echo "$tags1" | sed -rne 's,^.*,\1,p') - -# print available versions -for tag in $tags1; do - tags2=$(curl -sS "$archive/$tag/") - tags2=$(echo "$tags2" | sed -rne "s,^.*,\\1,p") - echo "$tags2" -done diff --git a/pkgs/common-updater/scripts/list-archive-two-levels-versions b/pkgs/common-updater/scripts/list-archive-two-levels-versions new file mode 100755 index 0000000000000..4263a9de3ca3e --- /dev/null +++ b/pkgs/common-updater/scripts/list-archive-two-levels-versions @@ -0,0 +1,54 @@ +#!/usr/bin/env bash + +# lists all available versions listed for a package in a site (http) + +archive="" # archive url +pname="" # package name +file="" # file for writing debugging information + +while (( $# > 0 )); do + flag="$1" + shift 1 + case "$flag" in + --url=*) + archive="${flag#*=}" + ;; + --pname=*) + pname="${flag#*=}" + ;; + --file=*) + file="${flag#*=}" + ;; + *) + echo "$0: unknown option ‘${flag}’" + exit 1 + ;; + esac +done + +# by default set url to the base dir of the first url in src.urls +if [[ -z "$archive" ]]; then + archive="$(nix-instantiate $systemArg --eval -E \ + "with import ./. {}; dirOf (dirOf (lib.head $UPDATE_NIX_ATTR_PATH.src.urls))" \ + | tr -d '"')" +fi + +if [[ -z "$pname" ]]; then + pname="$UPDATE_NIX_ATTR_PATH" +fi + +# print a debugging message +if [[ -n "$file" ]]; then + echo "# Listing versions for '$pname' at $archive" >> $file +fi + +# list all major-minor versions from archive +tags1=$(curl -sS "$archive/") +tags1=$(echo "$tags1" | sed -rne 's,^.*,\1,p') + +# print available versions +for tag in $tags1; do + tags2=$(curl -sS "$archive/$tag/") + tags2=$(echo "$tags2" | sed -rne "s,^.*,\\1,p") + echo "$tags2" +done -- cgit 1.4.1