commit
f1143cb501
@ -0,0 +1,17 @@ |
||||
{ genericUpdater |
||||
, common-updater-scripts |
||||
}: |
||||
|
||||
{ pname |
||||
, version |
||||
, attrPath ? pname |
||||
, ignoredVersions ? "" |
||||
, rev-prefix ? "" |
||||
, odd-unstable ? false |
||||
, patchlevel-unstable ? false |
||||
}: |
||||
|
||||
genericUpdater { |
||||
inherit pname version attrPath ignoredVersions rev-prefix odd-unstable patchlevel-unstable; |
||||
versionLister = "${common-updater-scripts}/bin/list-git-tags"; |
||||
} |
@ -0,0 +1,19 @@ |
||||
{ lib |
||||
, genericUpdater |
||||
, common-updater-scripts |
||||
}: |
||||
|
||||
{ pname |
||||
, version |
||||
, attrPath ? pname |
||||
, ignoredVersions ? "" |
||||
, rev-prefix ? "" |
||||
, odd-unstable ? false |
||||
, patchlevel-unstable ? false |
||||
, url ? null |
||||
}: |
||||
|
||||
genericUpdater { |
||||
inherit pname version attrPath ignoredVersions rev-prefix odd-unstable patchlevel-unstable; |
||||
versionLister = "${common-updater-scripts}/bin/list-archive-two-levels-versions ${lib.optionalString (url != null) "--url=${url}"}"; |
||||
} |
@ -1,35 +0,0 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
# lists all available versions listed for a package in a site (http) |
||||
|
||||
scriptName=list-archive-two-level-versions # do not use the .wrapped name |
||||
|
||||
usage() { |
||||
echo "Usage: $scriptName <archive url> [<package name> [<debug file path>]]" |
||||
} |
||||
|
||||
archive="$1" # archive url |
||||
pname="$2" # package name |
||||
file="$3" # file for writing debugging information |
||||
|
||||
if [ -z "$archive" ]; then |
||||
echo "$scriptName: Missing archive url" |
||||
usage |
||||
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,^<a href="([0-9]+\.[0-9]+)/">.*,\1,p') |
||||
|
||||
# print available versions |
||||
for tag in $tags1; do |
||||
tags2=$(curl -sS "$archive/$tag/") |
||||
tags2=$(echo "$tags2" | sed -rne "s,^<a href=\"$pname-([0-9.]+)\\.[^0-9].*\">.*,\\1,p") |
||||
echo "$tags2" |
||||
done |
@ -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,^<a href="([0-9]+\.[0-9]+)/">.*,\1,p') |
||||
|
||||
# print available versions |
||||
for tag in $tags1; do |
||||
tags2=$(curl -sS "$archive/$tag/") |
||||
tags2=$(echo "$tags2" | sed -rne "s,^<a href=\"$pname-([0-9.]+)\\.[^0-9].*\">.*,\\1,p") |
||||
echo "$tags2" |
||||
done |
Loading…
Reference in new issue