Select Git revision
make.sh 2.68 KiB
#!/bin/bash
# Prikaz pro stazeni baliku
# wget -O build.zip "https://gitlab.cesnet.cz/api/v4/projects/586/jobs/artifacts/master/download?job=build:bullseye"
set -x
# Nastaveni promennych, pokud je SINVERSION zakomentovana, pokusime se odhadnout nejnovejsi
export DEBIAN_FRONTEND=noninteractive
export GOVERSION=1.17.5 OS=linux ARCH=amd64
#export SINVERSION=3.9.2
# Nacteni promennych o bezicim systemu vcetne verzi
. /etc/os-release
# Od Debian 11 Bullseye ma debian-security trochu jinou cestu, abychom mohli pouzit heredoc, rozskocime si pres funkci
function get_debian_security() {
if [ "${VERSION_ID}" -lt "11" ]; then echo "${VERSION_CODENAME}/updates"; else echo "${VERSION_CODENAME}-security"; fi
}
# Vygenerovani sources.list podle verze Debianu
cat > /etc/apt/sources.list << EOSOURCES
deb http://ftp.zcu.cz/pub/linux/debian ${VERSION_CODENAME} main contrib non-free
deb http://ftp.zcu.cz/pub/linux/debian ${VERSION_CODENAME}-updates main contrib non-free
deb http://ftp.zcu.cz/pub/linux/debian-security $(get_debian_security) main contrib non-free
deb-src http://ftp.zcu.cz/pub/linux/debian ${VERSION_CODENAME} main contrib non-free
deb-src http://ftp.zcu.cz/pub/linux/debian ${VERSION_CODENAME}-updates main contrib non-free
deb-src http://ftp.zcu.cz/pub/linux/debian-security $(get_debian_security) main contrib non-free
EOSOURCES
# Instalace buildovacich veci a zavislosti
apt update -qqq
apt install -yqqq build-essential dpkg-dev debhelper build-essential libssl-dev uuid-dev libseccomp-dev pkg-config squashfs-tools cryptsetup wget curl git devscripts dh-golang
# Automaticka detekce posledni releasnute verze
SINVERSION=${SINVERSION:-$(curl -s https://github.com/sylabs/singularity/releases/latest | grep -Po "\/v\K[^\"]+")}
# Priprava adresare pro hotove balicky a zapamatovani cesty
mkdir build
export BUILD=${PWD}/build
# Stazeni a instalace GO
wget -q -O /tmp/go${GOVERSION}.${OS}-${ARCH}.tar.gz https://dl.google.com/go/go${GOVERSION}.${OS}-${ARCH}.tar.gz && tar -C /usr/local -xzf /tmp/go${GOVERSION}.${OS}-${ARCH}.tar.gz
rm /tmp/go${GOVERSION}.${OS}-${ARCH}.tar.gz
# Nastaveni promennych GO
echo 'export GOPATH=${HOME}/go' >> ~/.bashrc
echo 'export PATH=/usr/local/go/bin:${PATH}:${GOPATH}/bin' >> ~/.bashrc
source ~/.bashrc
# Stazeni a rozbaleni zdrojovych kodu
mkdir -p ${GOPATH}/src/github.com/sylabs && cd ${GOPATH}/src/github.com/sylabs && wget -q -O singularity.tar.gz https://github.com/sylabs/singularity/releases/download/v${SINVERSION}/singularity-ce-${SINVERSION}.tar.gz && tar xvf singularity.tar.gz && cd singularity-ce-${SINVERSION}
# Build balicku
dpkg-buildpackage -uc -us -b
cd ..
# Presunuti balicku do spravneho adresare, aby ho gitlab vystavil jako artifact
mv *.deb ${BUILD}/