Skip to content
Snippets Groups Projects
Select Git revision
  • master
1 result

test_files.py

Blame
  • make.sh 3.77 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"
    # unzip -j build.zip -d /storage/software/repository/packages/bullseye/main/
    # rm build.zip
    
    set -x
    
    # Nastaveni promennych, pokud je SINVERSION zakomentovana, pokusime se odhadnout nejnovejsi
    export DEBIAN_FRONTEND=noninteractive
    #export GOVERSION=go1.17.6
    export 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 libglib2.0-dev libfuse-dev dh-apparmor
    
    # Automaticka detekce posledni releasnute verze
    SINVERSION=${SINVERSION:-$(curl -L -s https://github.com/sylabs/singularity/releases/latest | grep -Po "\/v\K\d+\.\d+\.\d+" | head -1)}
    GOVERSION=${GOVERSION:-$(curl -s https://go.dev/VERSION?m=text | head -1)}
    
    # Priprava adresare pro hotove balicky a zapamatovani cesty
    mkdir build
    export BUILD=${PWD}/build
    export ROOTPWD=${PWD}
    
    # Stazeni a instalace GO
    wget -q -O /tmp/${GOVERSION}.${OS}-${ARCH}.tar.gz https://dl.google.com/go/${GOVERSION}.${OS}-${ARCH}.tar.gz && tar -C /usr/local -xzf /tmp/${GOVERSION}.${OS}-${ARCH}.tar.gz
    rm /tmp/${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}
    
    #sed 's#github.com/containers/image/v5 .*#github.com/containers/image/v5 v5.31.0#g' go.mod | diff go.mod -
    #sed 's#github.com/containers/image/v5 .*#github.com/containers/image/v5 v5.31.0#g' go.mod -i
    #
    #sed 's#github.com/containers/image/v5 .*#github.com/containers/image/v5 v5.31.0#g' vendor/modules.txt | diff vendor/modules.txt -
    #sed 's#github.com/containers/image/v5 .*#github.com/containers/image/v5 v5.31.0#g' vendor/modules.txt -i
    #
    #sed 's#\(.*\)#\1\+1#g' VERSION | diff VERSION -
    #sed 's#\(.*\)#\1\+1#g' VERSION -i
    
    # Stazeni PRoot a pridani do .install aby se includoval do balicku
    curl -LO https://proot.gitlab.io/proot/bin/proot
    chmod +x ./proot
    echo "proot usr/bin" >> debian/singularity-ce.install
    
    # Patch upraveneho cli.go kvuli logovani pouziti do syslogu
    #cp -v ${ROOTPWD}/cli.go cmd/singularity/cli.go
    cp -vr ${ROOTPWD}/debian/patches debian/
    
    # Build balicku
    dpkg-buildpackage -uc -us -b
    
    cd ..
    
    # Presunuti balicku do spravneho adresare, aby ho gitlab vystavil jako artifact
    mv *.deb ${BUILD}/