Skip to content

Commit 6df4442

Browse files
Added attestation for Gosu
1 parent e83b98d commit 6df4442

10 files changed

+63
-9
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
.jq-template.awk
2+
.template-helper-functions.jq

5.7/Dockerfile.oracle

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

8.0/Dockerfile.debian

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

8.0/Dockerfile.oracle

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

apply-templates.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,13 @@ elif [ "$BASH_SOURCE" -nt "$jqt" ]; then
1313
wget -qO "$jqt" 'https://github.com/docker-library/bashbrew/raw/9f6a35772ac863a0241f147c820354e4008edf38/scripts/jq-template.awk'
1414
fi
1515

16+
jqf='.template-helper-functions.jq'
17+
if [ -n "${BASHBREW_SCRIPTS:-}" ]; then
18+
jqf="$BASHBREW_SCRIPTS/template-helper-functions.jq"
19+
elif [ "$BASH_SOURCE" -nt "$jqf" ]; then
20+
wget -qO "$jqf" 'https://github.com/docker-library/bashbrew/raw/master/scripts/template-helper-functions.jq'
21+
fi
22+
1623
if [ "$#" -eq 0 ]; then
1724
versions="$(jq -r 'keys | map(@sh) | join(" ")' versions.json)"
1825
eval "set -- $versions"

innovation/Dockerfile.oracle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ RUN set -eux; \
2929
rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
3030
chmod +x /usr/local/bin/gosu; \
3131
gosu --version; \
32-
gosu nobody true
32+
gosu nobody true; \
33+
echo '{"spdxVersion":"SPDX-2.3","SPDXID":"SPDXRef-DOCUMENT","name":"gosu-sbom","packages":[{"name":"gosu","versionInfo":"1.16","SPDXID":"SPDXRef-Package--gosu","externalRefs":[{"referenceCategory":"PACKAGE-MANAGER","referenceType":"purl","referenceLocator":"pkg:generic/[email protected]?os_name=oraclelinux&os_version=8-slim"}],"licenseDeclared":"Apache-2.0"}]}' > /usr/local/gosu.spdx.json
3334

3435
RUN set -eux; \
3536
microdnf install -y \

template/Dockerfile.debian

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{{ include ".template-helper-functions" -}}
12
FROM debian:{{ .debian.suite }}-slim
23

34
# add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added
@@ -7,7 +8,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends gnupg && rm -rf
78

89
# add gosu for easy step-down from root
910
# https://github.com/tianon/gosu/releases
10-
ENV GOSU_VERSION 1.16
11+
ENV GOSU_VERSION {{ .gosu.version }}
1112
RUN set -eux; \
1213
savedAptMark="$(apt-mark showmanual)"; \
1314
apt-get update; \
@@ -26,7 +27,20 @@ RUN set -eux; \
2627
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
2728
chmod +x /usr/local/bin/gosu; \
2829
gosu --version; \
29-
gosu nobody true
30+
gosu nobody true; \
31+
echo {{
32+
{
33+
name: "gosu",
34+
version: .gosu.version,
35+
params: {
36+
os_name: "debian",
37+
os_version: .debian.suite
38+
},
39+
licenses: [
40+
"Apache-2.0"
41+
]
42+
} | sbom | tostring | @sh
43+
}} > /usr/local/gosu.spdx.json
3044

3145
RUN mkdir /docker-entrypoint-initdb.d
3246

template/Dockerfile.oracle

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{{
2+
include ".template-helper-functions";
23
def dnf:
34
if .oracle.variant | startswith("7") then
45
"yum"
@@ -21,7 +22,7 @@ RUN set -eux; \
2122

2223
# add gosu for easy step-down from root
2324
# https://github.com/tianon/gosu/releases
24-
ENV GOSU_VERSION 1.16
25+
ENV GOSU_VERSION {{ .gosu.version }}
2526
RUN set -eux; \
2627
# TODO find a better userspace architecture detection method than querying the kernel
2728
arch="$(uname -m)"; \
@@ -38,7 +39,20 @@ RUN set -eux; \
3839
rm -rf "$GNUPGHOME" /usr/local/bin/gosu.asc; \
3940
chmod +x /usr/local/bin/gosu; \
4041
gosu --version; \
41-
gosu nobody true
42+
gosu nobody true; \
43+
echo {{
44+
{
45+
name: "gosu",
46+
version: .gosu.version,
47+
params: {
48+
os_name: "oraclelinux",
49+
os_version: .oracle.variant
50+
},
51+
licenses: [
52+
"Apache-2.0"
53+
]
54+
} | sbom | tostring | @sh
55+
}} > /usr/local/gosu.spdx.json
4256

4357
RUN set -eux; \
4458
{{ if .oracle.variant | startswith("7") then ( -}}

versions.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
{
22
"5.7": {
3+
"gosu": {
4+
"version": "1.16"
5+
},
36
"mysql-shell": {
47
"version": "8.0.34-1.el7"
58
},
@@ -20,6 +23,9 @@
2023
"suite": "bullseye",
2124
"version": "8.0.34-1debian11"
2225
},
26+
"gosu": {
27+
"version": "1.16"
28+
},
2329
"mysql-shell": {
2430
"version": "8.0.34-1.el8"
2531
},
@@ -34,6 +40,9 @@
3440
"version": "8.0.34"
3541
},
3642
"innovation": {
43+
"gosu": {
44+
"version": "1.16"
45+
},
3746
"mysql-shell": {
3847
"version": "8.0.34-1.el8"
3948
},

versions.sh

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ declare -A bashbrewArchToRpmArch=(
1717
[arm64v8]='aarch64'
1818
)
1919

20+
gosuVersion='1.16'
21+
2022
fetch_rpm_versions() {
2123
local repo="$1"; shift
2224
local arch="$1"; shift
@@ -144,7 +146,7 @@ for version in "${versions[@]}"; do
144146
echo >&2 "error: Oracle and Debian version mismatch! ('$oracleBaseVersion' vs '$baseVersion')"
145147
exit 1
146148
fi
147-
export baseVersion rpmVersion shellVersion oracleVariant
149+
export baseVersion rpmVersion shellVersion oracleVariant gosuVersion
148150
doc="$(jq <<<"$doc" -c '
149151
. += {
150152
version: env.baseVersion,
@@ -155,6 +157,9 @@ for version in "${versions[@]}"; do
155157
"mysql-shell": {
156158
version: env.shellVersion,
157159
},
160+
"gosu": {
161+
version: env.gosuVersion
162+
}
158163
}
159164
')"
160165

0 commit comments

Comments
 (0)