diff --git a/.template-helpers/variant-default-debian.md b/.template-helpers/variant-default-debian.md index b3f99fbc9..a272dcebf 100644 --- a/.template-helpers/variant-default-debian.md +++ b/.template-helpers/variant-default-debian.md @@ -1 +1 @@ -Some of these tags may have names like %%DEB-SUITES%% in them. These are the suite code names for releases of [Debian](https://wiki.debian.org/DebianReleases) and indicate which release the image is based on. +Some of these tags may have names like %%DEB-SUITES%% in them. These are the suite code names for releases of [Debian](https://wiki.debian.org/DebianReleases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Debian. diff --git a/.template-helpers/variant-default-ubuntu.md b/.template-helpers/variant-default-ubuntu.md index ef152548d..9d427092c 100644 --- a/.template-helpers/variant-default-ubuntu.md +++ b/.template-helpers/variant-default-ubuntu.md @@ -1 +1 @@ -Some of these tags may have names like %%DEB-SUITES%% in them. These are the suite code names for releases of [Ubuntu](https://wiki.ubuntu.com/Releases) and indicate which release the image is based on. +Some of these tags may have names like %%DEB-SUITES%% in them. These are the suite code names for releases of [Ubuntu](https://wiki.ubuntu.com/Releases) and indicate which release the image is based on. If your image needs to install any additional packages beyond what comes with the image, you'll likely want to specify one of these explicitly to minimize breakage when there are new releases of Ubuntu. diff --git a/.template-helpers/variant.sh b/.template-helpers/variant.sh index bafae6080..79c888532 100755 --- a/.template-helpers/variant.sh +++ b/.template-helpers/variant.sh @@ -20,7 +20,8 @@ join() { commaJoin() { local items=( $(xargs -n1 <<<"$1" | sort -u) ); shift - sep=', ' + + local sep=', ' case "${#items[@]}" in 0) return @@ -100,21 +101,6 @@ if [ -n "$text" ]; then default="$([ -f "$repoDir/variant.md" ] && cat "$repoDir/variant.md" || cat "$dir/variant.md")" default+=$'\n' # parameter expansion eats the trailing newline - # buildpack-deps text - potentialTags="$(bashbrew list --uniq "$bbRepo" | cut -d: -f2)" - for tag in $potentialTags; do - baseImage="$(bashbrew cat -f '{{ .ArchLastStageFrom (.TagEntry.Architectures | first) .TagEntry }}' "$bbRepo:$tag" 2>/dev/null)" - case "$baseImage" in - buildpack-deps:*-*) ;; # "scm", "curl" -- not large images - buildpack-deps:*) - default+=$'\n' # give a little space - default+="$(< "$dir/variant-default-buildpack-deps.md")" - default+=$'\n' # parameter expansion eats the trailing newline - break - ;; - esac - done - if [ "$repo" != 'debian' ] && [ "$repo" != 'ubuntu' ]; then # what is 'jessie', 'stretch' and 'sid' # https://github.com/docker-library/python/issues/343 @@ -151,6 +137,21 @@ if [ -n "$text" ]; then fi fi + # buildpack-deps text + potentialTags="$(bashbrew list --uniq "$bbRepo" | cut -d: -f2)" + for tag in $potentialTags; do + baseImage="$(bashbrew cat -f '{{ .ArchLastStageFrom (.TagEntry.Architectures | first) .TagEntry }}' "$bbRepo:$tag" 2>/dev/null)" + case "$baseImage" in + buildpack-deps:*-*) ;; # "scm", "curl" -- not large images + buildpack-deps:*) + default+=$'\n' # give a little space + default+="$(< "$dir/variant-default-buildpack-deps.md")" + default+=$'\n' # parameter expansion eats the trailing newline + break + ;; + esac + done + echo echo