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

make.sh

Blame
  • make.sh 2.17 KiB
    #!/bin/bash
    
    set -x
    
    # Nastaveni promennych, pokud je SINVERSION zakomentovana, pokusime se odhadnout nejnovejsi
    export DEBIAN_FRONTEND=noninteractive
    export DEBEMAIL="Pavel Vondruska <vondruska@cesnet.cz>"
    
    # 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 git devscripts build-essential
    
    ### linux-image
    apt download linux-image-amd64${CUSTOM_VER}
    LINFILE=$(find . -maxdepth 1 -name 'linux-image-amd64*' -type f)
    
    mkdir target
    dpkg-deb -R $LINFILE target
    
    cd target
    
    PVER=$(grep -Po "Version: \K.*" DEBIAN/control)
    sed -e "s/${PVER}/${PVER}+zs1/g" -e "s/\(linux-image-.*-amd64\)/\1-unsigned/g" -e "s/Version: /Version: 1/g" DEBIAN/control -i
    
    cd ..
    dpkg-deb -b target linux-image-amd64_1${PVER}+zs1_amd64.deb
    rm -v $LINFILE
    
    ### End of linux-image
    ### linux-headers
    apt download linux-headers-amd64${CUSTOM_VER}
    LINFILE=$(find . -maxdepth 1 -name 'linux-headers-amd64*' -type f)
    
    mkdir target2
    dpkg-deb -R $LINFILE target2
    
    cd target2
    
    PVER=$(grep -Po "Version: \K.*" DEBIAN/control)
    sed -e "s/${PVER}/${PVER}+zs1/g" -e "s/Version: /Version: 1/g" DEBIAN/control -i
    
    cd ..
    dpkg-deb -b target2 linux-headers-amd64_1${PVER}+zs1_amd64.deb
    rm -v $LINFILE
    
    ### End of linux-headers
    
    mkdir build
    mv *.deb build/