March 22, 2020, 8:49 p.m.

Installing Piaware Debian 10 amd64

I am migrating from my Pi 3B+ to my HP Thin Client T610, I need to migrate my Piaware flight feeder program too.

Clone the official flightaware repo and prepare the package, select buster in the sensible-build:

$ git clone https://github.com/flightaware/piaware_builder
$ piaware_builder/sensible-build.sh 

Sample output:

Retrieving v3.8.0 from https://github.com/flightaware/piaware.git
Cloning into './package-buster/piaware'...
remote: Enumerating objects: 54, done.
remote: Counting objects: 100% (54/54), done.
remote: Compressing objects: 100% (32/32), done.
remote: Total 4029 (delta 36), reused 38 (delta 22), pack-reused 3975
Receiving objects: 100% (4029/4029), 1018.57 KiB | 361.00 KiB/s, done.
Resolving deltas: 100% (2884/2884), done.
9995a04 (HEAD, tag: v3.8.0, origin/master, origin/HEAD, master) Stage 3.8.0 release
Retrieving v1.8 from https://github.com/flightaware/tcllauncher.git
Cloning into './package-buster/tcllauncher'...
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Compressing objects: 100% (4/4), done.
remote: Total 488 (delta 0), reused 2 (delta 0), pack-reused 484
Receiving objects: 100% (488/488), 276.15 KiB | 262.00 KiB/s, done.
Resolving deltas: 100% (266/266), done.
969e44d (HEAD, tag: v1.8) Remove configure since it's a generated file.
Retrieving v3.8.0 from https://github.com/flightaware/dump1090.git
Cloning into './package-buster/dump1090'...
remote: Enumerating objects: 12, done.
remote: Counting objects: 100% (12/12), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 9429 (delta 4), reused 7 (delta 3), pack-reused 9417
Receiving objects: 100% (9429/9429), 29.35 MiB | 309.00 KiB/s, done.
Resolving deltas: 100% (6714/6714), done.
c3541bc (HEAD, tag: v3.8.0, origin/master, origin/HEAD, master) Release 3.8.0
Retrieving v0.2.11 from https://github.com/mutability/mlat-client.git
Cloning into './package-buster/mlat-client'...
remote: Enumerating objects: 32, done.
remote: Counting objects: 100% (32/32), done.
remote: Compressing objects: 100% (25/25), done.
remote: Total 1300 (delta 11), reused 21 (delta 7), pack-reused 1268
Receiving objects: 100% (1300/1300), 365.23 KiB | 132.00 KiB/s, done.
Resolving deltas: 100% (853/853), done.
5dc5bda (HEAD, tag: v0.2.11, origin/staging, origin/master, origin/dev, origin/HEAD, master) Release 0.2.11
Retrieving v3.8.0 from https://github.com/flightaware/dump978.git
Cloning into './package-buster/dump978'...
remote: Enumerating objects: 315, done.
remote: Counting objects: 100% (315/315), done.
remote: Compressing objects: 100% (277/277), done.
remote: Total 2673 (delta 52), reused 175 (delta 38), pack-reused 2358
Receiving objects: 100% (2673/2673), 5.64 MiB | 475.00 KiB/s, done.
Resolving deltas: 100% (1541/1541), done.
5421a45 (HEAD, tag: v3.8.0, origin/master, origin/HEAD, master) Release 3.8.0
Retrieving cxfreeze
2020-03-22 20:44:25 URL:https://codeload.github.com/anthony-tuininga/cx_Freeze/tar.gz/6.0 [89326] -> "-" [1]
Ok, package is ready to be built in ./package-buster
run 'dpkg-buildpackage -b' there (or move it to a Pi and do so there, or use pbuilder, etc)

Install the required debian packages:

$ sudo apt install build-essential debhelper tcl8.6-dev autoconf python3-dev python3-venv dh-systemd libz-dev libboost-regex-dev

Output:

Need to get 4,291 kB of archives.
After this operation, 14.7 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://httpredir.debian.org/debian buster/main amd64 autopoint all 0.19.8.1-9 [434 kB]
Get:2 http://httpredir.debian.org/debian buster/main amd64 dh-autoreconf all 19 [16.9 kB]
Get:3 http://httpredir.debian.org/debian buster/main amd64 libfile-stripnondeterminism-perl all 1.1.2-1 [19.8 kB]
Get:4 http://httpredir.debian.org/debian buster/main amd64 dh-strip-nondeterminism all 1.1.2-1 [13.0 kB]
Get:5 http://httpredir.debian.org/debian buster/main amd64 dwz amd64 0.12-3 [78.0 kB]
Get:6 http://httpredir.debian.org/debian buster/main amd64 gettext amd64 0.19.8.1-9 [1,303 kB]
Get:7 http://httpredir.debian.org/debian buster/main amd64 intltool-debian all 0.35.0+20060710.5 [26.8 kB]
Get:8 http://httpredir.debian.org/debian buster/main amd64 po-debconf all 1.0.21 [248 kB]
Get:9 http://httpredir.debian.org/debian buster/main amd64 debhelper all 12.1.1 [1,016 kB]
Get:10 http://httpredir.debian.org/debian buster/main amd64 dh-systemd all 12.1.1 [122 kB]
Get:11 http://httpredir.debian.org/debian buster/main amd64 libarchive-cpio-perl all 0.10-1 [10.3 kB]
Get:12 http://httpredir.debian.org/debian buster/main amd64 tcl8.6-dev amd64 8.6.9+dfsg-2 [1,001 kB]
Fetched 4,291 kB in 49s (86.7 kB/s)                                            
Selecting previously unselected package autopoint.
(Reading database ... 564822 files and directories currently installed.)
Preparing to unpack .../00-autopoint_0.19.8.1-9_all.deb ...
Unpacking autopoint (0.19.8.1-9) ...
Selecting previously unselected package dh-autoreconf.
Preparing to unpack .../01-dh-autoreconf_19_all.deb ...
Unpacking dh-autoreconf (19) ...
Selecting previously unselected package libfile-stripnondeterminism-perl.
Preparing to unpack .../02-libfile-stripnondeterminism-perl_1.1.2-1_all.deb ...
Unpacking libfile-stripnondeterminism-perl (1.1.2-1) ...
Selecting previously unselected package dh-strip-nondeterminism.
Preparing to unpack .../03-dh-strip-nondeterminism_1.1.2-1_all.deb ...
Unpacking dh-strip-nondeterminism (1.1.2-1) ...
Selecting previously unselected package dwz.
Preparing to unpack .../04-dwz_0.12-3_amd64.deb ...
Unpacking dwz (0.12-3) ...
Selecting previously unselected package gettext.
Preparing to unpack .../05-gettext_0.19.8.1-9_amd64.deb ...
Unpacking gettext (0.19.8.1-9) ...
Selecting previously unselected package intltool-debian.
Preparing to unpack .../06-intltool-debian_0.35.0+20060710.5_all.deb ...
Unpacking intltool-debian (0.35.0+20060710.5) ...
Selecting previously unselected package po-debconf.
Preparing to unpack .../07-po-debconf_1.0.21_all.deb ...
Unpacking po-debconf (1.0.21) ...
Selecting previously unselected package debhelper.
Preparing to unpack .../08-debhelper_12.1.1_all.deb ...
Unpacking debhelper (12.1.1) ...
Selecting previously unselected package dh-systemd.
Preparing to unpack .../09-dh-systemd_12.1.1_all.deb ...
Unpacking dh-systemd (12.1.1) ...
Selecting previously unselected package libarchive-cpio-perl.
Preparing to unpack .../10-libarchive-cpio-perl_0.10-1_all.deb ...
Unpacking libarchive-cpio-perl (0.10-1) ...
Selecting previously unselected package tcl8.6-dev:amd64.
Preparing to unpack .../11-tcl8.6-dev_8.6.9+dfsg-2_amd64.deb ...
Unpacking tcl8.6-dev:amd64 (8.6.9+dfsg-2) ...
Setting up libfile-stripnondeterminism-perl (1.1.2-1) ...
Setting up gettext (0.19.8.1-9) ...
Setting up tcl8.6-dev:amd64 (8.6.9+dfsg-2) ...
Setting up intltool-debian (0.35.0+20060710.5) ...
Setting up autopoint (0.19.8.1-9) ...
Setting up dwz (0.12-3) ...
Setting up libarchive-cpio-perl (0.10-1) ...
Setting up po-debconf (1.0.21) ...
Setting up debhelper (12.1.1) ...
Setting up dh-autoreconf (19) ...
Setting up dh-strip-nondeterminism (1.1.2-1) ...
Setting up dh-systemd (12.1.1) ...
Processing triggers for libc-bin (2.28-10) ...
Processing triggers for man-db (2.8.5-2) ...
Processing triggers for install-info (6.5.0.dfsg.1-4+b1) ...

Build the deb package:

$ cd package-buster
$ dpkg-buildpackage -b

Output:

...
    chown 0:0 -- debian/piaware/DEBIAN/control
   dh_md5sums
    cd debian/piaware >/dev/null && xargs -r0 md5sum | perl -pe 'if (s@^\\@@) { s/\\\\/\\/g; }' > DEBIAN/md5sums
    chmod 0644 -- debian/piaware/DEBIAN/md5sums
    chown 0:0 -- debian/piaware/DEBIAN/md5sums
    cd debian/.debhelper/piaware/dbgsym-root >/dev/null && xargs -r0 md5sum | perl -pe 'if (s@^\\@@) { s/\\\\/\\/g; }' > DEBIAN/md5sums
    chmod 0644 -- debian/.debhelper/piaware/dbgsym-root/DEBIAN/md5sums
    chown 0:0 -- debian/.debhelper/piaware/dbgsym-root/DEBIAN/md5sums
   dh_builddeb
    dpkg-deb --build debian/piaware ..
    dpkg-deb --build debian/.debhelper/piaware/dbgsym-root ..
dpkg-deb: building package 'piaware' in '../piaware_3.8.0_amd64.deb'.
dpkg-deb: building package 'piaware-dbgsym' in '../piaware-dbgsym_3.8.0_amd64.deb'.
 dpkg-genbuildinfo --build=binary
 dpkg-genchanges --build=binary >../piaware_3.8.0_amd64.changes
dpkg-genchanges: info: binary-only upload (no source code included)
 dpkg-source --after-build .
dpkg-buildpackage: info: binary-only upload (no source included)
 signfile piaware_3.8.0_amd64.buildinfo
gpg: skipped "Oliver Jowett <oliver.jowett@flightaware.com>": No secret key
gpg: dpkg-sign.DTcXsZTc/piaware_3.8.0_amd64.buildinfo: clear-sign failed: No secret key

dpkg-buildpackage: error: failed to sign .buildinfo fil

Install piaware and fix dependencies:

$ sudo dpkg -i ../piaware_3.8.0_amd64.deb
$ sudo apt-get install -fy

Selecting previously unselected package piaware.
(Reading database ... 560535 files and directories currently installed.)
Preparing to unpack ../piaware_3.8.0_amd64.deb ...
Unpacking piaware (3.8.0) ...
dpkg: dependency problems prevent configuration of piaware:
 piaware depends on tclx8.4; however:
  Package tclx8.4 is not installed.
 piaware depends on tcl-tls; however:
  Package tcl-tls is not installed.

dpkg: error processing package piaware (--install):
 dependency problems - leaving unconfigured
Processing triggers for systemd (241-7~deb10u3) ...
Processing triggers for rsyslog (8.1901.0-1) ...
Processing triggers for man-db (2.8.5-2) ...
Errors were encountered while processing:
 piaware


Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following additional packages will be installed:
  tcl-tls tclx8.4
Suggested packages:
  tclx8.4-doc
The following NEW packages will be installed:
  tcl-tls tclx8.4
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
Need to get 160 kB of archives.
After this operation, 445 kB of additional disk space will be used.
Get:1 http://httpredir.debian.org/debian buster/main amd64 tclx8.4 amd64 8.4.1-3 [90.1 kB]
Get:2 http://httpredir.debian.org/debian buster/main amd64 tcl-tls amd64 1.7.16-1 [69.8 kB]
Fetched 160 kB in 1s (190 kB/s)   
Selecting previously unselected package tclx8.4.
(Reading database ... 560878 files and directories currently installed.)
Preparing to unpack .../tclx8.4_8.4.1-3_amd64.deb ...
Unpacking tclx8.4 (8.4.1-3) ...
Selecting previously unselected package tcl-tls:amd64.
Preparing to unpack .../tcl-tls_1.7.16-1_amd64.deb ...
Unpacking tcl-tls:amd64 (1.7.16-1) ...
Setting up tcl-tls:amd64 (1.7.16-1) ...
Setting up tclx8.4 (8.4.1-3) ...
Setting up piaware (3.8.0) ...
Created symlink /etc/systemd/system/default.target.wants/piaware.service → /lib/systemd/system/piaware.service.
Created symlink /etc/systemd/system/piaware.service.wants/generate-pirehose-cert.service → /lib/systemd/system/generate-pirehose-cert.service.
Processing triggers for libc-bin (2.28-10) ...
Processing triggers for systemd (241-7~deb10u3) ...
Processing triggers for rsyslog (8.1901.0-1) ...

Building dump1090-fa:

Install dependencies:

$ sudo apt-get install build-essential debhelper librtlsdr-dev pkg-config dh-systemd libncurses5-dev libbladerf-dev

Git clone and build deb package:

$ git clone https://github.com/flightaware/dump1090
$ cd dump1090
$  dpkg-buildpackage -b

Output:

Cloning into 'dump1090'...
remote: Enumerating objects: 12, done.
remote: Counting objects: 100% (12/12), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 9429 (delta 4), reused 7 (delta 3), pack-reused 9417
Receiving objects: 100% (9429/9429), 29.35 MiB | 500.00 KiB/s, done.
Resolving deltas: 100% (6713/6713), done.
Checking out files: 100% (639/639), done.

cd dump1090

dpkg-buildpackage: info: source package dump1090-fa
dpkg-buildpackage: info: source version 3.8.0
dpkg-buildpackage: info: source distribution stable
dpkg-buildpackage: info: source changed by Oliver Jowett <oliver.jowett@flightaware.com>
dpkg-buildpackage: info: host architecture amd64
 dpkg-source --before-build .
 fakeroot debian/rules clean
dh clean --with=systemd
   dh_auto_clean
    make -j1 clean
...
   dh_builddeb
    dpkg-deb --build debian/.debhelper/dump1090-fa/dbgsym-root ..
    dpkg-deb --build debian/dump1090 ..
dpkg-deb: building package 'dump1090' in '../dump1090_3.8.0_all.deb'.
dpkg-deb: building package 'dump1090-fa-dbgsym' in '../dump1090-fa-dbgsym_3.8.0_amd64.deb'.
    dpkg-deb --build debian/dump1090-fa ..
dpkg-deb: building package 'dump1090-fa' in '../dump1090-fa_3.8.0_amd64.deb'.

Install the dump1090 package:

$ sudo dpkg -i ../dump1090-fa_3.8.0_amd64.deb

Output:

Selecting previously unselected package dump1090-fa.
(Reading database ... 560945 files and directories currently installed.)
Preparing to unpack ../dump1090-fa_3.8.0_amd64.deb ...
Unpacking dump1090-fa (3.8.0) ...
Setting up dump1090-fa (3.8.0) ...
Adding user `dump1090' to group `plugdev' ...
Adding user dump1090 to group plugdev
Done.
Enabling lighttpd integration..
Enabling dump1090-fa: ok
Run "service lighttpd force-reload" to enable changes
Enabling lighttpd integration (stat cache)..
Enabling dump1090-fa-statcache: ok
Run "service lighttpd force-reload" to enable changes
Restarting lighttpd..
Created symlink /etc/systemd/system/default.target.wants/dump1090-fa.service → /lib/systemd/system/dump1090-fa.service.

Preserving your Piaware site stats:

Login to your account to get your feeder ID: https://flightaware.com/adsb/stats/user/

$ sudo piaware-config feeder-id xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
$ sudo systemctl restart piaware

References:

https://discussions.flightaware.com/t/piaware-amd64-x86-64/18813/11
https://github.com/flightaware/piaware_builder
https://github.com/flightaware/dump1090
https://discussions.flightaware.com/t/for-beginners-how-to-get-back-existing-station-number-in-a-fresh-install/30981