mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-10-05 19:07:10 +00:00
Remove the image and the intermediate images. Otherwise, especially for the initial runs, the disk fills up quickly. Signed-off-by: Rolf Neugebauer <rolf.neugebauer@docker.com>
58 lines
2.0 KiB
Bash
Executable File
58 lines
2.0 KiB
Bash
Executable File
#! /bin/sh
|
|
|
|
REPO="linuxkit/kernel-mainline"
|
|
BASE_URL=http://kernel.ubuntu.com/~kernel-ppa/mainline
|
|
|
|
TAGS=$(curl --silent -f -lSL https://registry.hub.docker.com/v1/repositories/${REPO}/tags)
|
|
|
|
build_image() {
|
|
VERSION=$1
|
|
KDIR=$2
|
|
ARCH=amd64
|
|
|
|
LINKS=$(curl -s ${BASE_URL}/${KDIR}/ | \
|
|
sed -n 's/.*href="\([^"]*\).*/\1/p')
|
|
|
|
IMAGE=$(echo $LINKS | \
|
|
grep -o "linux-image[^ ]\+-generic[^ ]\+${ARCH}.deb" | head -1)
|
|
[ -z "${IMAGE}" ] && return 1
|
|
HDR_GEN=$(echo $LINKS | grep -o "linux-headers[^ ]\+_all.deb" | head -1)
|
|
[ -z "${HDR_GEN}" ] && return 1
|
|
HDR_ARCH=$(echo $LINKS | \
|
|
grep -o "linux-headers[^ ]\+-generic[^ ]\+${ARCH}.deb" | head -1)
|
|
[ -z "${HDR_ARCH}" ] && return 1
|
|
|
|
DEB_URL=${BASE_URL}/${KDIR}/${IMAGE}
|
|
HDR_GEN_URL=${BASE_URL}/${KDIR}/${HDR_GEN}
|
|
HDR_ARCH_URL=${BASE_URL}/${KDIR}/${HDR_ARCH}
|
|
echo "Trying to fetch ${VERSION} from ${DEB_URL}"
|
|
|
|
docker build -t ${REPO}:${VERSION} -f Dockerfile.deb --no-cache \
|
|
--build-arg DEB_URLS="${DEB_URL} ${HDR_GEN_URL} ${HDR_ARCH_URL}" .
|
|
}
|
|
|
|
LINKS=$(curl -s ${BASE_URL}/ | sed -n 's/.*href="\([^"]*\).*/\1/p')
|
|
# Extract all kernel versions (drop RCs, ckt(?) and other links)
|
|
VERSIONS=$(echo $LINKS | grep -o "v[0-9]\+\.[0-9]\+\.[0-9]\+[^ ]*" | \
|
|
grep -ve '-rc' | grep -ve '-ckt' | uniq)
|
|
|
|
# Extract 3.16.x and 4.x.x
|
|
THREES=$(echo $VERSIONS | grep -o "v3\.16\.[0-9]\+[^ ]*")
|
|
FOURS=$(echo $VERSIONS | grep -o "v4\.[0-9]\+\.[0-9]\+[^ ]*")
|
|
KDIRS="${THREES} ${FOURS}"
|
|
|
|
for KDIR in $KDIRS; do
|
|
# Strip the Ubuntu release name for the tag and also the 'v' like with
|
|
# the other kernel packages
|
|
VERSION=$(echo $KDIR | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+")
|
|
if echo $TAGS | grep -q "\"${VERSION}\""; then
|
|
echo "${REPO}:${VERSION} exists"
|
|
continue
|
|
fi
|
|
build_image ${VERSION} ${KDIR} && \
|
|
DOCKER_CONTENT_TRUST=1 docker push ${REPO}:${VERSION}
|
|
|
|
docker rmi ${REPO}:${VERSION}
|
|
docker system prune -f
|
|
done
|