Skip to content

Commit

Permalink
Adjust "repo:<version>" text ordering to more explicitly recommend "-…
Browse files Browse the repository at this point in the history
…suite" variants

> ## `ruby:<version>`
>
> This is the defacto image. If you are unsure about what your needs are, you probably want to use this one. It is designed to be used both as a throw away container (mount your source code and start the container to start your app), as well as the base to build other images off of.
>
> Some of these tags may have names like buster or stretch 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.
>
> This tag is based off of [`buildpack-deps`](https://hub.docker.com/_/buildpack-deps/). `buildpack-deps` is designed for the average user of Docker who has many images on their system. It, by design, has a large number of extremely common Debian packages. This reduces the number of packages that images that derive from it need to install, thus reducing the overall size of all images on your system.
  • Loading branch information
tianon committed Sep 13, 2019
1 parent b641907 commit 9485550
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 18 deletions.
2 changes: 1 addition & 1 deletion .template-helpers/variant-default-debian.md
Original file line number Diff line number Diff line change
@@ -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.
2 changes: 1 addition & 1 deletion .template-helpers/variant-default-ubuntu.md
Original file line number Diff line number Diff line change
@@ -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.
33 changes: 17 additions & 16 deletions .template-helpers/variant.sh
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ join() {

commaJoin() {
local items=( $(xargs -n1 <<<"$1" | sort -u) ); shift
sep=', '

local sep=', '
case "${#items[@]}" in
0)
return
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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

Expand Down

0 comments on commit 9485550

Please sign in to comment.