CzADSB-Packages: Porovnání verzí

Z Poznámkový blok
Přejít na: navigace, hledání
(ReADSB)
(Chroot)
 
(Není zobrazeno 34 mezilehlých verzí od stejného uživatele.)
Řádka 5: Řádka 5:
 
  sudo apt update && sudo apt upgrade -y
 
  sudo apt update && sudo apt upgrade -y
 
  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
+
   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 32: Řádka 35:
  
 
== Mlat klient ==
 
== 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

Aktuální verze z 6. 1. 2026, 10:10

Ú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