Use jq over file for more resilient tarball discovery

pull/167/head
thespad 2024-05-24 18:20:24 +01:00
rodzic e6bac5537f
commit c0a1a64d03
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 08F06191F4587860
2 zmienionych plików z 24 dodań i 10 usunięć

Wyświetl plik

@ -12,16 +12,23 @@ RUN \
apk add --no-cache \
bash \
curl \
file \
git \
jq \
tzdata \
xz
# grab base tarball
RUN \
git clone --depth=1 https://git.launchpad.net/cloud-images/+oci/ubuntu-base -b ${TAG} /build && \
cd /build/oci && \
DIGEST=$(jq -r '.manifests[0].digest[7:]' < index.json) && \
cd /build/oci/blobs/sha256 && \
for i in ./*; do if $(file -b $i | grep -q 'gzip'); then TARBALL=$i;fi; done && \
if jq -e '.layers // empty' < "${DIGEST}" >/dev/null 2>&1; then \
TARBALL=$(jq -r '.layers[0].digest[7:]' < ${DIGEST}); \
else \
MULTIDIGEST=$(jq -r ".manifests[] | select(.platform.architecture == \"${ARCH}\") | .digest[7:]" < ${DIGEST}) && \
TARBALL=$(jq -r '.layers[0].digest[7:]' < ${MULTIDIGEST}); \
fi && \
mkdir /root-out && \
tar xf \
${TARBALL} -C \

Wyświetl plik

@ -9,19 +9,26 @@ ENV TAG=dist-noble-arm64v8-20240429-4129f303
# install packages
RUN \
apk add --no-cache \
bash \
curl \
file \
git \
tzdata \
xz
apk add --no-cache \
bash \
curl \
git \
jq \
tzdata \
xz
# grab base tarball
RUN \
git clone --depth=1 https://git.launchpad.net/cloud-images/+oci/ubuntu-base -b ${TAG} /build && \
cd /build/oci && \
DIGEST=$(jq -r '.manifests[0].digest[7:]' < index.json) && \
cd /build/oci/blobs/sha256 && \
for i in ./*; do if $(file -b $i | grep -q 'gzip'); then TARBALL=$i;fi; done && \
if jq -e '.layers // empty' < "${DIGEST}" >/dev/null 2>&1; then \
TARBALL=$(jq -r '.layers[0].digest[7:]' < ${DIGEST}); \
else \
MULTIDIGEST=$(jq -r ".manifests[] | select(.platform.architecture == \"${ARCH}\") | .digest[7:]" < ${DIGEST}) && \
TARBALL=$(jq -r '.layers[0].digest[7:]' < ${MULTIDIGEST}); \
fi && \
mkdir /root-out && \
tar xf \
${TARBALL} -C \