Files
minideb/snapshot
T

38 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
set -e
set -u
set -o pipefail
snapshot_list_tmp_dir=$(mktemp -d)
mkdir -p "${snapshot_list_tmp_dir}"
get_latest_month_query(){
snapshot_archive_tmp_file="${snapshot_list_tmp_dir}/archive.html"
! curl -sSfL "https://snapshot.debian.org/archive/debian/" > "$snapshot_archive_tmp_file" && echo "Error when accessing https://snapshot.debian.org/archive/debian/" && return 1
month_query=$(grep -Po "(\?year=\d\d\d\d&month=\d+)" "${snapshot_archive_tmp_file}" | tail -1)
[[ -z "$month_query" ]] && echo "Not found snapshots using the following regex: (?year=\d\d\d\d&month=\d+)" && return 1
echo "$month_query" && return 0
}
get_latest_debian_snapshot_id() {
! month_query=$(get_latest_month_query) && return 1
snapshot_list_tmp_file="${snapshot_list_tmp_dir}/month-snapshots.html"
! curl -sSfL "https://snapshot.debian.org/archive/debian/$month_query" > "$snapshot_list_tmp_file" && echo "Not found snapshots for these parameters: query=${month_query}" && return 1
snapshot_id=$(grep -Po "(\d+T.*Z)" "${snapshot_list_tmp_file}" | tail -1)
[[ -z "$snapshot_id" ]] && echo "Not found snapshot id using the following regex: (\d+T.*Z)" && return 1
mkdir -p build
echo "$snapshot_id" > build/snapshot_id && return 0
}
get_latest_debian_snapshot_id