49 lines
1.1 KiB
Bash
Executable File
49 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -Eeuo pipefail
|
|
|
|
cd "$(dirname "$(readlink -f "$BASH_SOURCE")")"
|
|
|
|
versions=( */ )
|
|
versions=( "${versions[@]%/}" )
|
|
|
|
# https://download.qemu.org/?C=M;O=D
|
|
urls="$(
|
|
wget -qO- 'https://www.qemu.org/download/' \
|
|
| grep -oE 'https://download[.]qemu[.]org/qemu-([^"]+)[.]tar[.]xz' \
|
|
| sort -ruV
|
|
)"
|
|
|
|
for version in "${versions[@]}"; do
|
|
rcGrepV='-v'
|
|
rcVersion="${version%-rc}"
|
|
if [ "$rcVersion" != "$version" ]; then
|
|
rcGrepV=
|
|
fi
|
|
|
|
url="$(
|
|
grep -E "qemu-$rcVersion([.-])" <<<"$urls" \
|
|
| grep $rcGrepV -E -- '-rc' \
|
|
| head -1
|
|
)"
|
|
fullVersion="${url##*/qemu-}"
|
|
fullVersion="${fullVersion%%.tar.*}"
|
|
|
|
echo "$version: $fullVersion"
|
|
|
|
sed -r \
|
|
-e 's/%%QEMU_VERSION%%/'"$fullVersion"'/g' \
|
|
-e 's!%%QEMU_URL%%!'"$url"'!g' \
|
|
Dockerfile.template > "$version/Dockerfile"
|
|
cp -a start-qemu "$version/"
|
|
|
|
case "$rcVersion" in
|
|
# https://github.com/qemu/qemu/commit/b10d49d7619e4957b4b971f816661b57e5061d71
|
|
3.0 | 3.1 | 4.0)
|
|
sed -ri \
|
|
-e 's/libssh-dev/libssh2-1-dev/g' \
|
|
-e 's/--enable-libssh/--enable-libssh2/g' \
|
|
"$version/Dockerfile"
|
|
;;
|
|
esac
|
|
done
|