You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tde-packaging/redhat/docker/opensuse32.sh

89 lines
2.0 KiB

#!/bin/bash -e
if [ "$(whoami)" != "root" ]; then
sudo exec $0 $@
fi
VERSION="$1" # E.g: '42.3'
if [ "${VERSION}" = "tumbleweed" ]; then
URL="https://download.opensuse.org/ports/i586/tumbleweed"
NAME="opensuse32/tumbleweed"
else
URL="http://download.opensuse.org/distribution/leap/${VERSION}"
NAME="opensuse32/leap"
fi
IMAGE="${NAME}:latest"
INSTALLROOT="/dev/shm/${IMAGE}"
[ -x /usr/bin/pigz ] && GZIP=pigz || GZIP=gzip
for dir in dev proc sys; do
if [ -d "${INSTALLROOT}/${dir}" ]; then
umount "${INSTALLROOT}/${dir}"
fi
done
rm -rf "${INSTALLROOT}"
mkdir -p "${INSTALLROOT}"
for dir in dev proc sys; do
mkdir -p "${INSTALLROOT}/${dir}"
mount --bind "/${dir}" "${INSTALLROOT}/${dir}"
done
zypper --root "${INSTALLROOT}" \
ar "${URL}/repo/oss/" "oss"
zypper --root "${INSTALLROOT}" \
ar "${URL}/repo/non-oss/" "non-oss"
if [ "${VERSION}" != "tumbleweed" ]; then
zypper --root "${INSTALLROOT}" \
ar "http://download.opensuse.org/update/leap/${VERSION}/oss/" "update-oss"
zypper --root "${INSTALLROOT}" \
ar "http://download.opensuse.org/update/leap/${VERSION}/non-oss/" "update-non-oss"
fi
zypper --root "${INSTALLROOT}" \
--gpg-auto-import-keys ref
setarch i686 zypper --root "${INSTALLROOT}" \
install --download-only -y \
bash \
ca-certificates \
curl \
docbook-utils \
filesystem \
gawk \
glibc \
glibc-extra \
grep \
gzip \
libpcre1 \
libselinux1 \
openSUSE-release \
system-user-root \
util-linux vim \
xz \
zlib \
zypper
rpm -Uvh --root "${INSTALLROOT}" "${INSTALLROOT}/var/cache/zypp/packages/oss/"*"/"*".rpm"
chroot "${INSTALLROOT}" rpmdb --rebuilddb
for dir in dev proc sys; do
umount "${INSTALLROOT}/${dir}"
done
rm -rfv "${INSTALLROOT}/var/cache/zypp/packages/"*
FILE="${IMAGE//\//_}.tar"
tar -C "${INSTALLROOT}" -c . >"${FILE}"
rm -rf "${INSTALLROOT}"
docker rmi -f "${IMAGE}"
docker import "${FILE}" "${IMAGE}"
${GZIP} "${FILE}"
mkdir -p "/home/${SUDO_USER}/tde/docker"
mv -fv "${FILE}.gz" "/home/${SUDO_USER}/tde/docker"