summary refs log tree commit diff
path: root/pkgs/common-updater/scripts/list-archive-two-level-versions
blob: e46652820ad2b940959f6541693ee26b44a0684a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#! /bin/sh

# 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