CzADSB-Packages: Porovnání verzí

Z Poznámkový blok
Přejít na: navigace, hledání
(chroot)
(chroot)
Řádka 66: Řádka 66:
 
  sudo rm -rf /srv/chroot/bookworm-arm64-sbuild
 
  sudo rm -rf /srv/chroot/bookworm-arm64-sbuild
 
  sudo sbuild-createchroot --arch=arm64 bookworm /srv/chroot/bookworm-arm64-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-adduser $USER
 
  sudo sbuild-adduser $USER
 
  cp /usr/share/doc/sbuild/examples/example.sbuildrc /home/$USER/.sbuildrc
 
  cp /usr/share/doc/sbuild/examples/example.sbuildrc /home/$USER/.sbuildrc
Řádka 72: Řádka 73:
 
   
 
   
 
  # Stahneme z gitu pozadovany zdroj
 
  # Stahneme z gitu pozadovany zdroj
  sbuild --arch=arm64 -d bookworm
+
 +
# Pro ARM 64-bit (misto prametru -b muze byt --debbuildopts="-b -us -uc -ui")
 +
  sbuild --arch=arm64 -d bookworm -b --no-run-lintian --add-depends=python3-setuptools,python3-all
 +
 +
# Pro ARM 32-bit (armhf)
 +
sbuild --arch=armhf -d bookworm -b --no-run-lintian --add-depends=python3-setuptools,python3-all
 +
 
 +
Parametry --add-depends by spravně měli být v uloženy v souboru `debian/control`, v sekci `Build-Depends`
  
 
== ReADSB ==
 
== ReADSB ==

Verze z 4. 1. 2026, 21:58

Ú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

Instalace podpory arm, 386

(amd64, arm64, armhf, i386)

Multiarchitektura

# Přidání architektury arm64
sudo dpkg --add-architecture arm64
sudo dpkg --add-architecture armhf
sudo dpkg --add-architecture i386
sudo apt update

# Instalace nástrojů pro sestavení a křížového překladače
sudo apt install -y git build-essential crossbuild-essential-arm64 devscripts debhelper help2man help2man pkg-config
sudo apt install -y crossbuild-essential-i386 libncurses-dev:i386 zlib1g-dev:i386 libzstd-dev:i386

# readsb vyžaduje několik knihoven. Musíme nainstalovat jejich vývojové verze (-dev) pro prislusnou architekturu.
sudo apt install -y libzstd-dev:arm64 libzstd-dev:armhf
sudo apt install -y libusb-1.0-0-dev:arm64 librtlsdr-dev:arm64 libncurses-dev:arm64 zlib1g-dev:arm64
sudo apt install -y libusb-1.0-0-dev:armhf librtlsdr-dev:armhf libncurses-dev:armhf zlib1g-dev:armhf
sudo apt install -y libusb-1.0-0-dev:i386  librtlsdr-dev:i386  libncurses-dev:i386  zlib1g-dev:i386
# Klonujeme repozitář z GitHubu:
git clone https://github.com/wiedehopf/readsb.git
cd readsb

export DEB_BUILD_OPTIONS="noautodbgsym nostrip"
dpkg-buildpackage -aarm64 -us -uc -b   # -ui 
dpkg-buildpackage -aarmhf -us -uc -b
dpkg-buildpackage -ai386  -us -uc -b

Hodnoty pro DEB_BUILD_OPTIONS:

  1. noautodbgsym: Zakáže vytváření -dbgsym balíčků.
  2. 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

  1. -aarm64 specifikuje cílovou architekturu
  2. -us -uc přeskočí podepisování balíčku
  3. -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 malt klienta je to složitější. Problém spočívá v python3-dev který nemůže být pro různé platformy na jednom PC sudo apt install -y python3-dev:arm64 python3-setuptools libpython3-dev:arm64 libpython3-dev:armhf libpython3-dev:i386

sudo apt install -y python3-dev python3-setuptools libpython3-dev:arm64 libpython3-dev:armhf libpython3-dev:i386

# .. standartne stahneme zdroj z gitu

export DEB_BUILD_OPTIONS="noautodbgsym nostrip"
dpkg-buildpackage -aarm64 -us -uc -b -d
dpkg-buildpackage -aarmhf -us -uc -b -d
dpkg-buildpackage -ai386  -us -uc -b -d

chroot

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

# Vycisteni adresare:
sudo rm -rf /srv/chroot/bookworm-arm64-sbuild
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-adduser $USER
cp /usr/share/doc/sbuild/examples/example.sbuildrc /home/$USER/.sbuildrc

# Nasledne je nutne se odhlasit a znovu prihlasit (mozna jde pouzit newgrp)

# Stahneme z gitu pozadovany zdroj

# Pro ARM 64-bit (misto prametru -b muze byt --debbuildopts="-b -us -uc -ui")
sbuild --arch=arm64 -d bookworm -b --no-run-lintian --add-depends=python3-setuptools,python3-all

# Pro ARM 32-bit (armhf)
sbuild --arch=armhf -d bookworm -b --no-run-lintian --add-depends=python3-setuptools,python3-all

Parametry --add-depends by spravně měli být v uloženy v souboru `debian/control`, v sekci `Build-Depends`

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}/