CzADSB-Packages: Porovnání verzí
(→PiAware) |
(→Chroot) |
||
| (Není zobrazeno 29 mezilehlých verzí od stejného uživatele.) | |||
| Řádka 6: | Řádka 6: | ||
sudo apt install --no-install-recommends --no-install-suggests -y \ | sudo apt install --no-install-recommends --no-install-suggests -y \ | ||
git build-essential debhelper libusb-1.0-0-dev pkg-config fakeroot libncurses-dev zlib1g-dev libzstd-dev librtlsdr-dev help2man rsync | git build-essential debhelper libusb-1.0-0-dev pkg-config fakeroot libncurses-dev zlib1g-dev libzstd-dev librtlsdr-dev help2man rsync | ||
| + | sudo apt install --no-install-recommends --no-install-suggests -y \ | ||
| + | devscripts tcl8.6-dev autoconf python3-dev python3-venv python3-setuptools python3-build python3-pip python3-wheel \ | ||
| + | libz-dev openssl libboost-system-dev libboost-program-options-dev libboost-regex-dev libboost-filesystem-dev patchelf | ||
== ReADSB == | == ReADSB == | ||
| Řádka 43: | Řádka 46: | ||
rsync ../mlat-client_*.deb webser1:/home/tydyt/rxw/dists/${VERSION_CODENAME}/ | rsync ../mlat-client_*.deb webser1:/home/tydyt/rxw/dists/${VERSION_CODENAME}/ | ||
== PiAware == | == PiAware == | ||
| − | Zdroj https://github.com/flightaware/piaware_builder | + | Zdroj https://github.com/flightaware/piaware_builder - bohužel k dnešnímu dni nepodporuje pořád trixie ! |
cd | cd | ||
git clone https://github.com/flightaware/piaware_builder.git | git clone https://github.com/flightaware/piaware_builder.git | ||
| Řádka 50: | Řádka 53: | ||
cd ./piaware_builder/package-${VERSION_CODENAME} | cd ./piaware_builder/package-${VERSION_CODENAME} | ||
| − | + | export DEB_BUILD_OPTIONS=noddebs | |
dpkg-buildpackage -b -ui -uc -us --no-sign | dpkg-buildpackage -b -ui -uc -us --no-sign | ||
| − | ls -l ../ | + | ls -l ../piaware*.deb |
| − | rsync ../ | + | rsync ../piaware*.deb webser1:/home/tydyt/rxw/dists/${VERSION_CODENAME}/ |
| + | == Archytektury == | ||
| + | (amd64, arm64, armhf, i386) | ||
| + | === Multiarchitektura === | ||
| + | Jde o jednodušší veriantu z možností kompilace deb balíčků pro různé platformy. Problém je v případě potřeby python3-dev, který je potřeba pro jednotlivé platformy, ale ty jsou vzájemném konfliktu. To se obchází přidáním parametru -d při bildování. | ||
| + | |||
| + | Příprava: | ||
| + | |||
| + | # Upgradujeme system, aktivujeme pozadovane platformy a aktualizujeme seznam balicku | ||
| + | sudo apt update && sudo apt upgrade -y | ||
| + | sudo dpkg --add-architecture arm64 | ||
| + | sudo dpkg --add-architecture armhf | ||
| + | sudo dpkg --add-architecture i386 | ||
| + | sudo apt update | ||
| + | |||
| + | # Doinstalujeme potrebne balicky | ||
| + | sudo apt install -y git build-essential devscripts debhelper help2man help2man pkg-config | ||
| + | sudo apt install -y crossbuild-essential-i386 libncurses-dev:i386 zlib1g-dev:i386 | ||
| + | sudo apt install -y python3-all python3-dev python3-setuptools gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf | ||
| + | sudo apt install -y libpython3-dev:* libzstd-dev:* | ||
| + | |||
| + | # Vlastni projekty pak vyzaduji knihovny. Musi se nainstalovat jejich vyvojove verze (-dev) pro jednotlive platformy. Pokud o tom vime, rovnou doinstalujeme. | ||
| + | sudo apt install -y libusb-1.0-0-dev:* librtlsdr-dev:* libncurses-dev:* zlib1g-dev:* | ||
| + | |||
| + | Následně se můžeme pustit do vlatní kompilace. Stáhneme projekt z gitu a postupně spustíme kompilaci. Pro mlat-client musíme ještě přidat parametr "-d" aby se ignoroval problem z python3-dev. | ||
| + | |||
| + | # Stahneme projekt z gitu a prepneme se do projektu | ||
| + | git clone https://github.com/wiedehopf/readsb.git | ||
| + | cd readsb | ||
| + | |||
| + | # Nastavime options a postupne spustime bildovani | ||
| + | export DEB_BUILD_OPTIONS="noautodbgsym nostrip" | ||
| + | dpkg-buildpackage -aamd64 -us -uc -b | ||
| + | dpkg-buildpackage -aarm64 -us -uc -b | ||
| + | dpkg-buildpackage -aarmhf -us -uc -b | ||
| + | dpkg-buildpackage -ai386 -us -uc -b | ||
| + | |||
| + | Hodnoty pro DEB_BUILD_OPTIONS: | ||
| + | * noautodbgsym: Zakáže vytváření -dbgsym balíčků. | ||
| + | * nostrip: Zabrání debhelperu v ořezávání binárek, což často vyřeší konflikt s křížovými nástroji. | ||
| + | |||
| + | Hodnoty pro dpkg-buildpackage | ||
| + | * -aarm64 > specifikuje cílovou architekturu | ||
| + | * -us -uc > přeskočí podepisování balíčku | ||
| + | * -b > znamená sestavit pouze binární balíček (ne source balíček) | ||
| + | |||
| + | Poznamka: Pokud při kompilaci budou chybět nějaké balíčky, zobrazí se v chybové správě. Většinou je stačí doinstalovat s příponou dle archytektury [ :arm64 | :armhf | ... ] | ||
| + | |||
| + | Pro mlat klienta pouzijeme jeste parametr -d: | ||
| + | dpkg-buildpackage -aarm64 -us -uc -b -d | ||
| + | |||
| + | === Chroot === | ||
| + | Jedná se o emulaci konkrétní platformy. Jde o složitější způsob, ale měl by být "čistčí". Přesto i zde nastavájí specifické problémy v závislosti na projektu. | ||
| + | |||
| + | Příprava: | ||
| + | # Upgradujeme system a nainstalujeme potrebne balicky | ||
| + | sudo apt update && sudo apt upgrade -y | ||
| + | sudo apt install -y sbuild debian-archive-keyring schroot debootstrap qemu-user-static binfmt-support python3-setuptools python3-all dh-python | ||
| + | |||
| + | # Pro jistotu vycistine adresare a doinstalujeme pozadovane platformy: | ||
| + | sudo rm -rf /srv/chroot/*-sbuild | ||
| + | sudo sbuild-createchroot --arch=amd64 bookworm /srv/chroot/bookworm-amd64-sbuild http://deb.debian.org/debian/ | ||
| + | sudo sbuild-createchroot --arch=arm64 bookworm /srv/chroot/bookworm-arm64-sbuild http://deb.debian.org/debian/ | ||
| + | sudo sbuild-createchroot --arch=armhf bookworm /srv/chroot/bookworm-armhf-sbuild http://deb.debian.org/debian/ | ||
| + | sudo sbuild-createchroot --arch=i386 bookworm /srv/chroot/bookworm-i386-sbuild http://deb.debian.org/debian/ | ||
| + | sudo sbuild-createchroot --arch=amd64 trixie /srv/chroot/trixie-amd64-sbuild http://deb.debian.org/debian/ | ||
| + | sudo sbuild-createchroot --arch=arm64 trixie /srv/chroot/trixie-arm64-sbuild http://deb.debian.org/debian/ | ||
| + | sudo sbuild-createchroot --arch=armhf trixie /srv/chroot/trixie-armhf-sbuild http://deb.debian.org/debian/ | ||
| + | |||
| + | # Nastavime prava na uzivatele, odhlasime se a znovu prihlasime aby se prava aplikovali (mozna jde pouzit newgrp) | ||
| + | sudo sbuild-adduser $USER | ||
| + | cp /usr/share/doc/sbuild/examples/example.sbuildrc /home/$USER/.sbuildrc | ||
| + | logout | ||
| + | |||
| + | Po opětovném přihlášení se mužeme spustit do bildování. Pokud je repozitář správně připraven, tak by mělo být vše v pořádku. Často se stává že v souboru `debian/control` chybí v sekci `Build-Depends` potřebné knihovny. To lze pořešit přidáním parametru `--add-depends`. | ||
| + | |||
| + | # Stahneme z gitu pozadovany zdroj | ||
| + | |||
| + | # Pro ARM 64-bit (misto prametru -b muze byt --debbuildopts="-b -us -uc -ui") | ||
| + | export DEB_BUILD_OPTIONS="noautodbgsym nostrip" | ||
| + | sbuild --arch=arm64 -d bookworm -b --no-run-lintian --add-depends=python3-setuptools,python3-all | ||
| + | |||
| + | # Pro ARM 32-bit (armhf) | ||
| + | export DEB_BUILD_OPTIONS="noautodbgsym nostrip" | ||
| + | sbuild --arch=armhf -d bookworm -b --no-run-lintian --add-depends=python3-setuptools,python3-all | ||
| + | == Mlat Server == | ||
| + | Zdroj: https://github.com/fabian-stettler/mlat-server-wiedehopf-wipro | ||
Aktuální verze z 6. 1. 2026, 10:10
Obsah
Úvod
Na následující stránce je postup na vytvoření balíčků pro Debian pro snadnou instalaci. Samozřejmě se časem může něco změnit, ale to teď nevím.
Instalace podpory
Prvně provedeme aktualizaci a nainstalujeme potřebné programy a moduly:
sudo apt update && sudo apt upgrade -y sudo apt install --no-install-recommends --no-install-suggests -y \ git build-essential debhelper libusb-1.0-0-dev pkg-config fakeroot libncurses-dev zlib1g-dev libzstd-dev librtlsdr-dev help2man rsync sudo apt install --no-install-recommends --no-install-suggests -y \ devscripts tcl8.6-dev autoconf python3-dev python3-venv python3-setuptools python3-build python3-pip python3-wheel \ libz-dev openssl libboost-system-dev libboost-program-options-dev libboost-regex-dev libboost-filesystem-dev patchelf
ReADSB
Zdroj: https://github.com/wiedehopf/readsb
cd git clone --depth 20 https://github.com/wiedehopf/readsb.git cd readsb rm -f ../readsb_*.deb export DEB_BUILD_OPTIONS=noddebs # Sestaveni bez podpory zavislosti na dalsi prijimace # dpkg-buildpackage -b -ui -uc -us # # Seatvani s podporou rtlsdr # dpkg-buildpackage -b -ui -uc -us --build-profiles=rtlsdr # # Sestaveni s podporou vsech zarizeni # dpkg-buildpackage -b -ui -uc -us --build-profiles=with_sdrs # dpkg-buildpackage -b -ui -uc -us ls -l ../readsb_*.deb . /etc/os-release rsync ../readsb_*.deb webser1:/home/tydyt/rxw/dists/${VERSION_CODENAME}/
Mlat klient
Zdroj https://github.com/mutability/mlat-client
cd git clone https://github.com/mutability/mlat-client.git cd mlat-client export DEB_BUILD_OPTIONS=noddebs dpkg-buildpackage -b -ui -uc -us ls -l ../mlat-client_*.deb . /etc/os-release rsync ../mlat-client_*.deb webser1:/home/tydyt/rxw/dists/${VERSION_CODENAME}/
PiAware
Zdroj https://github.com/flightaware/piaware_builder - bohužel k dnešnímu dni nepodporuje pořád trixie !
cd git clone https://github.com/flightaware/piaware_builder.git . /etc/os-release ./piaware_builder/sensible-build.sh ${VERSION_CODENAME} cd ./piaware_builder/package-${VERSION_CODENAME} export DEB_BUILD_OPTIONS=noddebs dpkg-buildpackage -b -ui -uc -us --no-sign ls -l ../piaware*.deb rsync ../piaware*.deb webser1:/home/tydyt/rxw/dists/${VERSION_CODENAME}/
Archytektury
(amd64, arm64, armhf, i386)
Multiarchitektura
Jde o jednodušší veriantu z možností kompilace deb balíčků pro různé platformy. Problém je v případě potřeby python3-dev, který je potřeba pro jednotlivé platformy, ale ty jsou vzájemném konfliktu. To se obchází přidáním parametru -d při bildování.
Příprava:
# Upgradujeme system, aktivujeme pozadovane platformy a aktualizujeme seznam balicku sudo apt update && sudo apt upgrade -y sudo dpkg --add-architecture arm64 sudo dpkg --add-architecture armhf sudo dpkg --add-architecture i386 sudo apt update # Doinstalujeme potrebne balicky sudo apt install -y git build-essential devscripts debhelper help2man help2man pkg-config sudo apt install -y crossbuild-essential-i386 libncurses-dev:i386 zlib1g-dev:i386 sudo apt install -y python3-all python3-dev python3-setuptools gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf sudo apt install -y libpython3-dev:* libzstd-dev:* # Vlastni projekty pak vyzaduji knihovny. Musi se nainstalovat jejich vyvojove verze (-dev) pro jednotlive platformy. Pokud o tom vime, rovnou doinstalujeme. sudo apt install -y libusb-1.0-0-dev:* librtlsdr-dev:* libncurses-dev:* zlib1g-dev:*
Následně se můžeme pustit do vlatní kompilace. Stáhneme projekt z gitu a postupně spustíme kompilaci. Pro mlat-client musíme ještě přidat parametr "-d" aby se ignoroval problem z python3-dev.
# Stahneme projekt z gitu a prepneme se do projektu git clone https://github.com/wiedehopf/readsb.git cd readsb # Nastavime options a postupne spustime bildovani export DEB_BUILD_OPTIONS="noautodbgsym nostrip" dpkg-buildpackage -aamd64 -us -uc -b dpkg-buildpackage -aarm64 -us -uc -b dpkg-buildpackage -aarmhf -us -uc -b dpkg-buildpackage -ai386 -us -uc -b
Hodnoty pro DEB_BUILD_OPTIONS:
- noautodbgsym: Zakáže vytváření -dbgsym balíčků.
- nostrip: Zabrání debhelperu v ořezávání binárek, což často vyřeší konflikt s křížovými nástroji.
Hodnoty pro dpkg-buildpackage
- -aarm64 > specifikuje cílovou architekturu
- -us -uc > přeskočí podepisování balíčku
- -b > znamená sestavit pouze binární balíček (ne source balíček)
Poznamka: Pokud při kompilaci budou chybět nějaké balíčky, zobrazí se v chybové správě. Většinou je stačí doinstalovat s příponou dle archytektury [ :arm64 | :armhf | ... ]
Pro mlat klienta pouzijeme jeste parametr -d:
dpkg-buildpackage -aarm64 -us -uc -b -d
Chroot
Jedná se o emulaci konkrétní platformy. Jde o složitější způsob, ale měl by být "čistčí". Přesto i zde nastavájí specifické problémy v závislosti na projektu.
Příprava:
# Upgradujeme system a nainstalujeme potrebne balicky sudo apt update && sudo apt upgrade -y sudo apt install -y sbuild debian-archive-keyring schroot debootstrap qemu-user-static binfmt-support python3-setuptools python3-all dh-python # Pro jistotu vycistine adresare a doinstalujeme pozadovane platformy: sudo rm -rf /srv/chroot/*-sbuild sudo sbuild-createchroot --arch=amd64 bookworm /srv/chroot/bookworm-amd64-sbuild http://deb.debian.org/debian/ sudo sbuild-createchroot --arch=arm64 bookworm /srv/chroot/bookworm-arm64-sbuild http://deb.debian.org/debian/ sudo sbuild-createchroot --arch=armhf bookworm /srv/chroot/bookworm-armhf-sbuild http://deb.debian.org/debian/ sudo sbuild-createchroot --arch=i386 bookworm /srv/chroot/bookworm-i386-sbuild http://deb.debian.org/debian/ sudo sbuild-createchroot --arch=amd64 trixie /srv/chroot/trixie-amd64-sbuild http://deb.debian.org/debian/ sudo sbuild-createchroot --arch=arm64 trixie /srv/chroot/trixie-arm64-sbuild http://deb.debian.org/debian/ sudo sbuild-createchroot --arch=armhf trixie /srv/chroot/trixie-armhf-sbuild http://deb.debian.org/debian/ # Nastavime prava na uzivatele, odhlasime se a znovu prihlasime aby se prava aplikovali (mozna jde pouzit newgrp) sudo sbuild-adduser $USER cp /usr/share/doc/sbuild/examples/example.sbuildrc /home/$USER/.sbuildrc logout
Po opětovném přihlášení se mužeme spustit do bildování. Pokud je repozitář správně připraven, tak by mělo být vše v pořádku. Často se stává že v souboru `debian/control` chybí v sekci `Build-Depends` potřebné knihovny. To lze pořešit přidáním parametru `--add-depends`.
# Stahneme z gitu pozadovany zdroj # Pro ARM 64-bit (misto prametru -b muze byt --debbuildopts="-b -us -uc -ui") export DEB_BUILD_OPTIONS="noautodbgsym nostrip" sbuild --arch=arm64 -d bookworm -b --no-run-lintian --add-depends=python3-setuptools,python3-all # Pro ARM 32-bit (armhf) export DEB_BUILD_OPTIONS="noautodbgsym nostrip" sbuild --arch=armhf -d bookworm -b --no-run-lintian --add-depends=python3-setuptools,python3-all
Mlat Server
Zdroj: https://github.com/fabian-stettler/mlat-server-wiedehopf-wipro