CzADSB-Packages script

Z Poznámkový blok
Verze z 29. 1. 2026, 13:51, kterou vytvořil Tydyt (diskuse | příspěvky) (ReADSB)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Přejít na: navigace, hledání

Úvod

Zde uvádím vlastní skripty které zkompiluji do Debin balíčků následující programy:

Před spuštěním si nezapomeňte připravit root crom, viz CzADSB-Packages

ReADSB

#!/usr/bin/env bash

# Tohle musí být associative array
declare -A PL

url="https://github.com/wiedehopf/readsb.git"

# Cesta kam se ulozi jednotlive skompilovane balicky
DIR_DEB="install"

# Seznam distribuci a platforem pro kompilaci
PL["bullseye"]='i386 amd64 armhf arm64'
PL["bookworm"]='i386 amd64 armhf arm64'
PL["trixie"]='amd64 armhf arm64'


# Z url zjisteni adresare, kde se kompilace provadi a zacatek nazvu balicku
name="${url##*/}"      # Odstraníme vše před posledním '/' -> readsb.git
name="${name%.*}"      # Odstraníme příponu -> readsb

# Kontrola a pripadne vytvoreni adresare pro ulozeni jednotlivych deb balicku
cd ~
if [ ! -d ${DIR_DEB} ];then
    echo "Vytvarim adresar pro deb balicky ${DIR_DEB}"
    mkdir ${DIR_DEB}
fi

echo "Mazu z aktualniho adresare ${name}"
rm -r -f ${name}

echo "Stahuji z gitu repozitar ${url}"
git clone --depth 10 ${url}

echo
echo "Stazeno, presouvam se do adresare ${name}"
cd $name
# Postupne se bude provadet kompilace pro jednotliva distra a archytektury
export DEB_BUILD_OPTIONS="noautodbgsym nostrip"
for distro in "${!PL[@]}"; do
    for arch in ${PL[$distro]}; do
        echo
        echo "* * * * * *          Bude se kompilovat distribuce: $distro / Arch: $arch            * * * * * *"
        echo "------------------------------------------------------------------------------------------------"

        sbuild --arch=${arch} -d ${distro} -b --no-run-lintian --add-depends=python3-setuptools,python3-all --profiles=with_sdrs
        if [ "$?" == "0" ];then
            echo "Kompilace probehla v poradku, deb balicek presouvam do ${DIR_DEB}/${distro}/"
            if [ ! -d ../${DIR_DEB}/${distro} ];then
                echo "Vytvarim adresar ${DIR_DEB}/${distro}"
                mkdir ../${DIR_DEB}/${distro}
            fi
            if [ -e ../${DIR_DEB}/${distro}/${name}*${arch}* ];then
                echo "Mazu puvodni soubor ${name}* v adresari ${distro}"
                rm ../${DIR_DEB}/${distro}/${name}*${arch}*
            fi
            cp ../${name}_*.deb ../${DIR_DEB}/${distro}/
            rm ../${name}_*
            filedeb=$(ls ../${DIR_DEB}/${distro}/ | grep  -e "${name}_.*${arch}.deb")
            symlink="${filedeb/_*_/_last_}"
            echo "Pro ${filedeb} vytvarim symlink ${symlink}"
            ln -r -f -s ../${DIR_DEB}/${distro}/${filedeb} ../${DIR_DEB}/${distro}/${symlink}
        else
            echo "ERROR ! Pri kompilaci nastal problem, nic se nekopiruje !"
        fi
    done
done

cd ~
echo
echo "------------------------------------------------------------------------------------------------"
echo "* * * * * *          Kompilace je hotova. Doporucuji skopirovat na server.           * * * * * *"
echo "------------------------------------------------------------------------------------------------"
echo
echo "rsync -axv --progress ${DIR_DEB}/* webser1:/home/tydyt/rxw/dists/"

Zpět na úvod

Mlat-client

#!/usr/bin/env bash

# Tohle musí být associative array
declare -A PL

url="https://github.com/mutability/mlat-client.git"

# Cesta kam se ulozi jednotlive skompilovane balicky
DIR_DEB="install"

# Seznam distribuci a platforem pro kompilaci
PL["bullseye"]='i386 amd64 armhf arm64'
PL["bookworm"]='i386 amd64 armhf arm64'
PL["trixie"]='amd64 armhf arm64'


# Z url zjisteni adresare, kde se kompilace provadi a zacatek nazvu balicku
name="${url##*/}"      # Odstraníme vše před posledním '/' -> readsb.git
name="${name%.*}"      # Odstraníme příponu -> readsb

# Kontrola a pripadne vytvoreni adresare pro ulozeni jednotlivych deb balicku
cd ~
if [ ! -d ${DIR_DEB} ];then
    echo "Vytvarim adresar pro deb balicky ${DIR_DEB}"
    mkdir ${DIR_DEB}
fi

echo "Mazu z aktualniho adresare ${name}"
rm -r -f ${name}

echo "Stahuji z gitu repozitar ${url}"
git clone --depth 10 ${url}

echo
echo "Stazeno, presouvam se do adresare ${name}"
cd $name
# Postupne se bude provadet kompilace pro jednotliva distra a archytektury
export DEB_BUILD_OPTIONS="noautodbgsym nostrip"
for distro in "${!PL[@]}"; do
    for arch in ${PL[$distro]}; do
        echo
        echo "* * * * * *          Bude se kompilovat distribuce: $distro / Arch: $arch            * * * * * *"
        echo "------------------------------------------------------------------------------------------------"

        sbuild --arch=${arch} -d ${distro} -b --no-run-lintian --add-depends=python3-setuptools,python3-all
        if [ "$?" == "0" ];then
            echo "Kompilace probehla v poradku, deb balicek presouvam do ${DIR_DEB}/${distro}/"
            if [ ! -d ../${DIR_DEB}/${distro} ];then
                echo "Vytvarim adresar ${DIR_DEB}/${distro}"
                mkdir ../${DIR_DEB}/${distro}
            fi
            if [ -e ../${DIR_DEB}/${distro}/${name}*${arch}* ];then
                echo "Mazu puvodni soubor ${name}* v adresari ${distro}"
                rm ../${DIR_DEB}/${distro}/${name}*${arch}*
            fi
            cp ../${name}_*.deb ../${DIR_DEB}/${distro}/
            rm ../${name}_*
            filedeb=$(ls ../${DIR_DEB}/${distro}/ | grep  -e "${name}_.*${arch}.deb")
            symlink="${filedeb/_*_/_last_}"
            echo "Pro ${filedeb} vytvarim symlink ${symlink}"
            ln -r -f -s ../${DIR_DEB}/${distro}/${filedeb} ../${DIR_DEB}/${distro}/${symlink}
        else
            echo "ERROR ! Pri kompilaci nastal problem, nic se nekopiruje !"
        fi
    done
done

cd ~
echo
echo "------------------------------------------------------------------------------------------------"
echo "* * * * * *          Kompilace je hotova. Doporucuji skopirovat na server.           * * * * * *"
echo "------------------------------------------------------------------------------------------------"
echo
echo "rsync -axv --progress ${DIR_DEB}/* webser1:/home/tydyt/rxw/dists/"

Zpět na úvod

PiAware

#!/usr/bin/env bash

# Tohle musí být associative array
declare -A PL

url="https://github.com/flightaware/piaware_builder.git"

# Cesta kam se ulozi jednotlive skompilovane balicky
DIR_DEB="install"

# Seznam distribuci a platforem pro kompilaci
PL["bullseye"]='i386 amd64 armhf arm64'
PL["bookworm"]='i386 amd64 armhf arm64'
#PL["trixie"]='amd64 armhf arm64'


# Z url zjisteni adresare, kde se kompilace provadi a zacatek nazvu balicku
name="${url##*/}"      # Odstraníme vše před posledním '/' -> readsb.git
name="${name%.*}"      # Odstraníme příponu -> readsb

# Kontrola a pripadne vytvoreni adresare pro ulozeni jednotlivych deb balicku
cd ~
if [ ! -d ${DIR_DEB} ];then
    echo "Vytvarim adresar pro deb balicky ${DIR_DEB}"
    mkdir ${DIR_DEB}
fi

echo "Mazu z aktualniho adresare ${name}"
rm -r -f ${name}

echo "Stahuji z gitu repozitar ${url}"
git clone --depth 10 ${url}

echo
echo "Stazeno, presouvam se do adresare ${name}"
cd $name

# Postupne se bude provadet kompilace pro jednotliva distra a archytektury
export DEB_BUILD_OPTIONS="noautodbgsym nostrip"
for distro in "${!PL[@]}"; do
    echo "Prepinam PiAware na ${distro}"
    ./sensible-build.sh ${distro}
    cd ./package-${distro}
    export DEB_BUILD_OPTIONS="noddebs noautodbgsym nostrip"

    for arch in ${PL[$distro]}; do
        echo
        echo "* * * * * *          Bude se kompilovat distribuce: $distro / Arch: $arch            * * * * * *"
        echo "------------------------------------------------------------------------------------------------"

        sbuild --arch=${arch} -d ${distro} -b --no-run-lintian --add-depends=python3-setuptools,python3-all
        if [ "$?" == "0" ];then
            echo "Kompilace probehla v poradku, deb balicek presouvam do ${DIR_DEB}/${distro}/"
            if [ ! -d ../../${DIR_DEB}/${distro} ];then
                echo "Vytvarim adresar ${DIR_DEB}/${distro}"
                mkdir ../../${DIR_DEB}/${distro}
            fi
            if [ -e ../../${DIR_DEB}/${distro}/piaware*${arch}* ];then
                echo "Mazu puvodni soubor piaware* v adresari ${distro}"
                rm ../../${DIR_DEB}/${distro}/piaware*${arch}*
            fi
            cp ../piaware_*.deb ../../${DIR_DEB}/${distro}/
            rm ../piaware_*
            filedeb=$(ls ../../${DIR_DEB}/${distro}/ | grep  -e "piaware_.*${arch}.deb")
            symlink="${filedeb/_*_/_last_}"
            echo "Pro ${filedeb} vytvarim symlink ${symlink}"
            ln -r -f -s ../../${DIR_DEB}/${distro}/${filedeb} ../../${DIR_DEB}/${distro}/${symlink}
        else
            echo "ERROR ! Pri kompilaci nastal problem, nic se nekopiruje !"
        fi
    done
    cd ..
done

cd ~
echo
echo "------------------------------------------------------------------------------------------------"
echo "* * * * * *          Kompilace je hotova. Doporucuji skopirovat na server.           * * * * * *"
echo "------------------------------------------------------------------------------------------------"
echo
echo "rsync -axv --progress ${DIR_DEB}/* webser1:/home/tydyt/rxw/dists/"

Zpět na úvod