mirror of
https://github.com/bitnami/minideb.git
synced 2026-06-04 10:13:55 +08:00
56 lines
1.7 KiB
Bash
Executable File
56 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Build a minideb image for each supported dist
|
|
|
|
set -e
|
|
set -u
|
|
set -o pipefail
|
|
|
|
DISTS="buster-snapshot"
|
|
|
|
# is_snapshot() {
|
|
# local -r dist_snapshot_regex="^(jessie|stretch|buster|unstable)-snapshot"
|
|
# [[ $1 =~ $dist_snapshot_regex ]]
|
|
# }
|
|
|
|
get_latest_month_query(){
|
|
local -r snapshot_tmp_dir=$(mktemp -d)
|
|
local -r snapshot_archive_tmp_file="${snapshot_tmp_dir}/archive.html"
|
|
mkdir -p "${snapshot_tmp_dir}"
|
|
|
|
! curl -sSfL "https://snapshot.debian.org/archive/debian/" > "$snapshot_archive_tmp_file" && echo "Error when accessing https://snapshot.debian.org/archive/debian/" && return 1
|
|
|
|
local 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"
|
|
}
|
|
|
|
get_latest_debian_snapshot_id() {
|
|
local -r snapshot_tmp_dir=$(mktemp -d)
|
|
local -r snapshot_list_tmp_file="${snapshot_tmp_dir}/month-snapshots.html"
|
|
mkdir -p "${snapshot_tmp_dir}"
|
|
|
|
! month_query=$(get_latest_month_query) && return 1
|
|
|
|
! 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
|
|
|
|
local 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
|
|
|
|
echo "$snapshot_id"
|
|
}
|
|
|
|
! snapshot_id=$(get_latest_debian_snapshot_id) && exit 1
|
|
|
|
for DIST in $DISTS; do
|
|
DIST=${DIST%-*}
|
|
|
|
./buildone "$DIST" "$snapshot_id"
|
|
done
|
|
|
|
mkdir -p build
|
|
echo "$snapshot_id" > build/snapshot_id
|