mirror of https://github.com/openwrt/docker.git
41 lines
1.4 KiB
Bash
41 lines
1.4 KiB
Bash
#!/bin/sh
|
|
|
|
TARGETS="${TARGETS:-x86-64}"
|
|
BRANCHES="${BRANCHES:-master}"
|
|
DOCKER_IMAGE="${DOCKER_IMAGE:-openwrt-rootfs}"
|
|
|
|
for TARGET in $TARGETS ; do
|
|
export ROOTFS_FILE="openwrt-*-rootfs.tar.gz"
|
|
for BRANCH in $BRANCHES; do
|
|
export ROOTFS_PATH="snapshots/targets/$(echo $TARGET | tr '-' '/')"
|
|
|
|
# download and verify checksums
|
|
curl "https://downloads.openwrt.org/$ROOTFS_PATH/sha256sums" -sS -o sha256sums
|
|
curl "https://downloads.openwrt.org/$ROOTFS_PATH/sha256sums.asc" -sS -o sha256sums.asc
|
|
gpg --with-fingerprint --verify sha256sums.asc sha256sums
|
|
|
|
# download file or skip if not available
|
|
rsync -av "downloads.openwrt.org::downloads/$ROOTFS_PATH/$ROOTFS_FILE" . || contine
|
|
|
|
# shrink checksum file to single desired file and verify downloaded archive
|
|
cat sha256sums | grep generic-rootfs > sha256sums_rootfs
|
|
sha256sum -c sha256sums_rootfs
|
|
|
|
mkdir -p ./rootfs-openwrt
|
|
tar xzf $ROOTFS_FILE -C ./rootfs-openwrt
|
|
rm -rf $ROOTFS_FILE
|
|
|
|
docker build -t $DOCKER_IMAGE:$TARGET-$BRANCH -f Dockerfile.rootfs .
|
|
|
|
rm -rf ./rootfs-openwrt
|
|
|
|
# snapshot don't get master attached to tag
|
|
if [ "$BRANCH" == "master" ]; then
|
|
docker tag $DOCKER_IMAGE:$TARGET-$BRANCH $DOCKER_IMAGE:$TARGET
|
|
docker push $DOCKER_IMAGE:$TARGET
|
|
else
|
|
docker push $DOCKER_IMAGE:$TARGET-$BRANCH
|
|
fi
|
|
done
|
|
done
|