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.
IUT/vdn/tools/create-singularity-distrib.sh

68 lines
1.6 KiB

#!/bin/bash
#DIST=debian/bullseye
DIST=ubuntu/jammy
ID=$(echo $DIST|cut -d '/' -f 1)
VERSION_CODENAME=$(echo $DIST|cut -d '/' -f 2)
ID=$(echo $DIST|cut -d '/' -f 1)
VERSION_CODENAME=$(echo $DIST|cut -d '/' -f 2)
case $ID in
debian) DEB_SRC=http://deb.debian.org/debian
DEB_SRC_SEC=http://ftp.fr.debian.org/debian/
DEB_SRC_LIST="
deb-src $DEB_SRC $VERSION_CODENAME main contrib non-free
deb-src $DEB_SRC_SEC $VERSION_CODENAME-updates main contrib non-free
"
;;
ubuntu) DEB_SRC=http://archive.ubuntu.com/ubuntu
DEB_SRC_SEC=http://security.ubuntu.com/ubuntu/
DEB_SRC_SEC_NAME= $VERSION_CODENAME-security
DEB_SRC_LIST="
deb-src $DEB_SRC $VERSION_CODENAME main restricted universe
deb-src $DEB_SRC $VERSION_CODENAME-updates main restricted universe
deb-src $DEB_SRC_SEC $VERSION_CODENAME-security main restricted universe
"
;;
esac
CACHE=/tmp/vte/$DIST
[ ! -d $CACHE ] && mkdir -p $CACHE
echo "CACHE: $CACHE"
cat << EOF > $CACHE/build.def
Bootstrap: docker
From: $ID:$VERSION_CODENAME
%post
echo "$DEB_SRC_LIST" >> /etc/apt/sources.list
cat /etc/apt/sources.list
export DEBIAN_FRONTEND=noninteractive
apt-get -y update
apt-get -y install lsb-release vim
%environment
export LC_ALL=C
EOF
set -x
export SINGULARITY_CACHEDIR=$CACHE
# (userns not supported by buil !
singularity build -F --fakeroot $CACHE/out.sif $CACHE/build.def
echo "out : $CACHE/out.sif"
echo "singularity exec --fakeroot --writable $CACHE/out.sif /bin/bash"