Unverified Commit 3f7e0398 by Antonio Terceiro Committed by Stéphane Graber

lxc-debian: don't hardcode valid releases

This avoids the dance of updating the list of valid releases every time Debian makes a new release. It also fixes the following bug: even though lxc-debian will default to creating containers of the latest stable by querying the archive, it won't allow you to explicitly request `stable` because the current list of valid releases don't include it. Last, but not least, avoid hitting the mirror in the case the desired release is one of the ones we know will always be there, i.e. stable, testing, sid, and unstable. Signed-off-by: 's avatarAntonio Terceiro <terceiro@debian.org>
parent a6b81a7d
......@@ -587,12 +587,13 @@ if [ "$(id -u)" != "0" ]; then
exit 1
fi
current_release=`wget ${MIRROR}/dists/stable/Release -O - 2> /dev/null | head |awk '/^Codename: (.*)$/ { print $2; }'`
release=${release:-${current_release}}
valid_releases=('wheezy' 'jessie' 'stretch' 'buster' 'testing' 'sid' 'unstable')
if [[ ! "${valid_releases[*]}" =~ (^|[^[:alpha:]])$release([^[:alpha:]]|$) ]]; then
echo "Invalid release ${release}, valid ones are: ${valid_releases[*]}"
exit 1
release=${release:-stable}
permanent_releases=('stable' 'testing' 'sid' 'unstable')
if [[ ! "${permanent_releases[*]}" =~ (^|[^[:alpha:]])$release([^[:alpha:]]|$) ]]; then
if ! wget "${MIRROR}/dists/${release}/Release" -O /dev/null 2> /dev/null; then
echo "Invalid release ${release} (not found in mirror)"
exit 1
fi
fi
# detect rootfs
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment