From 2e53cbd7f340c13cb13c28f9133bc1c9cd4f408e Mon Sep 17 00:00:00 2001 From: Joseph Prochazka Date: Sat, 20 Jul 2024 00:30:22 -0400 Subject: [PATCH 01/12] Added support for Pixie and Noble. --- pixie/control | 16 ++++ pixie/piaware.docs | 1 + pixie/piaware.install | 3 + pixie/piaware.logrotate | 9 +++ pixie/piaware.postinst | 155 +++++++++++++++++++++++++++++++++++++ pixie/rsyslog/piaware.conf | 2 + pixie/rules | 148 +++++++++++++++++++++++++++++++++++ sensible-build.sh | 41 ++++++++++ 8 files changed, 375 insertions(+) create mode 100644 pixie/control create mode 100644 pixie/piaware.docs create mode 100644 pixie/piaware.install create mode 100644 pixie/piaware.logrotate create mode 100644 pixie/piaware.postinst create mode 100644 pixie/rsyslog/piaware.conf create mode 100644 pixie/rules diff --git a/pixie/control b/pixie/control new file mode 100644 index 0000000..a8912b4 --- /dev/null +++ b/pixie/control @@ -0,0 +1,16 @@ +Source: piaware +Section: embedded +Priority: extra +Maintainer: FlightAware Developers +Build-Depends: debhelper(>=10), tcl8.6-dev, autoconf, python3-dev(>=3.9), python3-venv, python3-setuptools (>=62.6), python3-wheel (>=0.38.4), python3-build, python3-pip, libz-dev, openssl, libboost-system-dev, libboost-program-options-dev, libboost-regex-dev, libboost-filesystem-dev, patchelf +Standards-Version: 3.9.3 +Homepage: https://github.com/flightaware + +Package: piaware +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, net-tools, iproute2, tclx8.4, tcl8.6, tcllib, tcl-tls (>= 1.7.22-2+fa1), itcl3 +Suggests: dump1090-fa, dump978-fa +Conflicts: fa-mlat-client +Replaces: fa-mlat-client +Description: Open Aviation Data Exchange Protocol for ADS-B FlightFeeders + The client-side portion of fa_adept that sends aviation data via TCL sockets. diff --git a/pixie/piaware.docs b/pixie/piaware.docs new file mode 100644 index 0000000..9299e67 --- /dev/null +++ b/pixie/piaware.docs @@ -0,0 +1 @@ +piaware/MLAT-RESULTS-LICENSE.md diff --git a/pixie/piaware.install b/pixie/piaware.install new file mode 100644 index 0000000..c37c34e --- /dev/null +++ b/pixie/piaware.install @@ -0,0 +1,3 @@ +debian/rsyslog/piaware.conf etc/rsyslog.d/ +debian/upgrade-config.tcl usr/share/piaware/ +debian/piaware.conf etc/ diff --git a/pixie/piaware.logrotate b/pixie/piaware.logrotate new file mode 100644 index 0000000..0343881 --- /dev/null +++ b/pixie/piaware.logrotate @@ -0,0 +1,9 @@ +/var/log/piaware.log { + weekly + rotate 4 + missingok + notifempty + postrotate + invoke-rc.d rsyslog rotate >/dev/null 2>&1 || true + endscript +} diff --git a/pixie/piaware.postinst b/pixie/piaware.postinst new file mode 100644 index 0000000..4848be9 --- /dev/null +++ b/pixie/piaware.postinst @@ -0,0 +1,155 @@ +#!/bin/sh +# postinst script for piaware +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + +NAME=piaware +RUNAS=piaware + +upgrade_piaware2_config() { + if [ ! -f /boot/piaware-config.txt -a -d /boot ] + then + # write an initial piaware-config.txt so it can be updated in a moment. + cat >/boot/piaware-config.txt <&2 <&2 + ;; + *) + # keep this + if [ -z "$new_mlat_config" ] + then + new_mlat_config="$part" + else + new_mlat_config="$new_mlat_config $part" + fi + ;; + esac + done + + if [ "$old_mlat_config" != "$new_mlat_config" ] + then + echo "Updating mlat results config to: $new_mlat_config" >&2 + piaware-config mlat-results-format "$new_mlat_config" + fi +} + +remove_user_and_password() { + for f in /boot/piaware-config.txt /etc/piaware.conf + do + if [ -e $f ] + then + sed -e 's@^\s*flightaware-user\s+@#flightaware-user @g' \ + -e 's@^\s*flightaware-password\s+.*$@#flightware-password [removed on upgrade]@g' <$f >$f.new + mv $f.new $f + fi + done +} + +case "$1" in + configure) + if ! getent passwd "$RUNAS" >/dev/null + then + useradd --system --home-dir /usr/share/$NAME --user-group "$RUNAS" + fi + + if [ ! -d /var/cache/piaware ] + then + mkdir -p /var/cache/piaware + chown $RUNAS:root /var/cache/piaware + chmod 0755 /var/cache/piaware + fi + + if test -n "$2" && dpkg --compare-versions "$2" lt "3.0" + then + # it's an upgrade from 2.x + # convert the old-format config files + upgrade_piaware2_config + + # put something in /tmp/piaware.out to alert the user + if [ -e /tmp/piaware.out ] + then + cat <>/tmp/piaware.out +=============================================================== + + PiAware 3 writes logging information to /var/log/piaware.log + Please see that file for future PiAware logging. + +=============================================================== +EOF + fi + fi + + if test -n "$2" && dpkg --compare-versions "$2" lt "3.5.1" + then + # it's an upgrade from pre-3.5.1 + # strip out mlat-forwarding configurations + update_mlat_config + fi + + if dpkg --compare-versions "$2" lt-nl "3.8.0" + then + # it's an upgrade from pre-3.8.0 + # strip out flightaware-user / flightaware-password + remove_user_and_password + fi + + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/pixie/rsyslog/piaware.conf b/pixie/rsyslog/piaware.conf new file mode 100644 index 0000000..bb4f871 --- /dev/null +++ b/pixie/rsyslog/piaware.conf @@ -0,0 +1,2 @@ +if $programname == 'piaware' then /var/log/piaware.log +& stop diff --git a/pixie/rules b/pixie/rules new file mode 100644 index 0000000..3b9999e --- /dev/null +++ b/pixie/rules @@ -0,0 +1,148 @@ +#!/usr/bin/make -f +# -*- makefile -*- + +export DH_VERBOSE=1 + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all +DPKG_EXPORT_BUILDFLAGS = 1 +include /usr/share/dpkg/default.mk + +PYTHON3 := /usr/bin/$(shell py3versions -d) + +VENV=$(CURDIR)/debian/venv + +CHANGELOG_VERSION=$(shell dpkg-parsechangelog | sed -n 's/^Version: //p') + +# ensure that setuptools doesn't try to retrieve anything off the network: +override http_proxy := http://127.0.0.1:9/ +override https_proxy := http://127.0.0.1:9/ +export http_proxy https_proxy + +# When building/installing wheels we need to ensure that the target +# platform is set to the correct platform for the Python we're running on; +# setuptools gets this wrong and looks at "uname -m" which might not match +# the running Python platform in 32-bit-userspace-on-64-bit-kernel cases +# (This is fixed in newer wheel releases but we don't have that, so..) + +ifeq (arm,$(DEB_HOST_GNU_CPU)) +PYTHON_HOST_PLATFORM=linux-armv7l +else ifeq (i686,$(DEB_HOST_GNU_CPU)) +PYTHON_HOST_PLATFORM=linux-i686 +else +PYTHON_HOST_PLATFORM=$(shell $(PYTHON3) -c "import sysconfig; print(sysconfig.get_platform())") +endif + +override_dh_auto_clean: clean_tcllauncher clean_dump1090 clean_mlat-client clean_piaware clean_dump978 + +override_dh_auto_configure: check_versions configure_tcllauncher + +override_dh_auto_build: build_tcllauncher build_dump1090 build_mlat-client build_dump978 + +override_dh_auto_install: install_tcllauncher install_dump1090 install_mlat-client install_piaware install_dump978 + +override_dh_strip: + # cxfreeze produces a launcher executable with a zipfile appended + # attempting to strip it will damage the zipfile + dh_strip -X debian/piaware/usr/lib/piaware/helpers/fa-mlat-client + +override_dh_installinit: + dh_installinit --no-stop-on-upgrade --no-restart-after-upgrade + +override_dh_systemd_enable: + dh_systemd_enable --name=piaware piaware.service + dh_systemd_enable --name=generate-pirehose-cert generate-pirehose-cert.service + +override_dh_systemd_start: + dh_systemd_start --no-stop-on-upgrade --no-restart-after-upgrade --name=piaware piaware.service + dh_systemd_start --name=generate-pirehose-cert generate-pirehose-cert.service + +check_versions: + debian/check_versions + +configure_tcllauncher: + cd tcllauncher && autoconf -f && ./configure --with-tcl=/usr/lib/tcl8.6 + +build_dump1090: + make -C dump1090 RTLSDR=no BLADERF=no DUMP1090_VERSION="piaware-$(CHANGELOG_VERSION)" faup1090 + +install_dump1090: + install -d $(CURDIR)/debian/piaware/usr/lib/piaware/helpers + install -t $(CURDIR)/debian/piaware/usr/lib/piaware/helpers dump1090/faup1090 + +build_dump978: + make -C dump978 faup978 VERSION=$(DEB_VERSION) + +install_dump978: + install -d $(CURDIR)/debian/piaware/usr/lib/piaware/helpers + install -t $(CURDIR)/debian/piaware/usr/lib/piaware/helpers dump978/faup978 + +build_mlat-client: + # setup venv for mlat-client build + $(PYTHON3) -m venv --system-site-packages --without-pip $(VENV) + # build setuptools_scm + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels setuptools_scm-8.1.0 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/setuptools_scm-8.1.0*.whl + # build trove_classifiers + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels trove_classifiers-2024.7.2 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/trove_classifiers-0.0.0-*.whl + # build pluggy + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels pluggy-1.5.0 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/pluggy-1.5.0-*.whl + # build flit_core + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels flit_core-3.9.0 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/flit_core-3.9.0-*.whl + # build pathspec + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels pathspec-0.12.1 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/pathspec-0.12.1-*.whl + # build hatchling + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels hatchling-1.25.0 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/hatchling-1.25.0-*.whl + # build hatch-vcs + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels hatch_vcs-0.4.0 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/hatch_vcs-0.4.0-*.whl + # build filelock + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels filelock-3.15.4 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/filelock-3.15.4-*.whl + # build cxfreeze for later packaging of mlat-client + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels cx_freeze-7.2.0 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/cx_Freeze-7.2.0*.whl + # build mlat-client proper + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels mlat-client + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/MlatClient-*.whl + +install_mlat-client: + # newer cxfreeze deletes --target-dir (see cxfreeze issue #1300), so we have to freeze to a temporary directory and + # install from there + $(VENV)/bin/python $(VENV)/bin/cxfreeze --target-dir=$(CURDIR)/freeze-mlat-client $(VENV)/bin/fa-mlat-client + cp -a $(CURDIR)/freeze-mlat-client/* $(CURDIR)/debian/piaware/usr/lib/piaware/helpers/ + +clean_mlat-client: + rm -fr mlat-client/build mlat-client/dist + rm -fr setuptools_scm-8.1.0/build + rm -fr trove_classifiers-2024.7.2/build + rm -fr pluggy-1.5.0/build pluggy-1.5.0/dist + rm -fr flit_core-3.9.0/build flit_core-3.9.0/dist + rm -fr pathspec-0.12.1/build pathspec-0.12.1/dist + rm -fr hatchling-1.25.0/build hatchling-1.25.0/dist + rm -fr hatch_vcs-0.4.0/build hatch_vcs-0.4.0/dist + rm -fr filelock-3.15.4/build filelock-3.15.4/dist + rm -fr cx_freeze-7.2.0/build cx_Freeze-6.15.9/dist + rm -fr $(VENV) $(CURDIR)/wheels + +install_piaware: + make -C piaware DESTDIR=$(CURDIR)/debian/piaware install INSTALL_SUDOERS=1 SYSTEMD= SYSVINIT= TCLLAUNCHER=$(CURDIR)/debian/piaware/usr/bin/tcllauncher + +configure_%: + dh_auto_configure -D $* + +build_%: + dh_auto_build -D $* + +install_%: + dh_auto_install -D $* + +clean_%: + dh_auto_clean -D $* + +%: + dh $@ --with=systemd \ No newline at end of file diff --git a/sensible-build.sh b/sensible-build.sh index feccc0a..43197bd 100755 --- a/sensible-build.sh +++ b/sensible-build.sh @@ -53,6 +53,11 @@ case $dist in targetdist=bookworm extraversion="" ;; + pixie) + debdist=pixie + targetdist=pixie + extraversion="" + ;; xenial) # not tested debdist=stretch @@ -71,6 +76,12 @@ case $dist in targetdist=disco extraversion="~ubuntu1904+" ;; + noble) + # not tested + debdist=pixie + targetdist=noble + extraversion="~ubuntu2404+" + ;; *) echo "unknown build distribution $1" >&2 usage @@ -173,6 +184,36 @@ case $debdist in https://github.com/marcelotduarte/cx_Freeze/archive/refs/tags/6.15.9.tar.gz \ d32b309b355f2b377dae585a839e39e3251b3f9716f2b4983be92972c2863000 ;; + + pixie) + fetch_archive setuptools_scm-8.1.0 \ + https://files.pythonhosted.org/packages/4f/a4/00a9ac1b555294710d4a68d2ce8dfdf39d72aa4d769a7395d05218d88a42/setuptools_scm-8.1.0.tar.gz \ + 42dea1b65771cba93b7a515d65a65d8246e560768a66b9106a592c8e7f26c8a7 + fetch_archive trove_classifiers-2024.7.2 \ + https://files.pythonhosted.org/packages/78/c9/83f915c3f6f94f4c862c7470284fd714f312cce8e3cf98361312bc02493d/trove_classifiers-2024.7.2.tar.gz \ + 8328f2ac2ce3fd773cbb37c765a0ed7a83f89dc564c7d452f039b69249d0ac35 + fetch_archive pluggy-1.5.0 \ + https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz \ + 2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1 + fetch_archive flit_core-3.9.0 \ + https://files.pythonhosted.org/packages/c4/e6/c1ac50fe3eebb38a155155711e6e864e254ce4b6e17fe2429b4c4d5b9e80/flit_core-3.9.0.tar.gz \ + 72ad266176c4a3fcfab5f2930d76896059851240570ce9a98733b658cb786eba + fetch_archive pathspec-0.12.1 \ + https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz \ + a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712 + fetch_archive hatchling-1.25.0 \ + https://files.pythonhosted.org/packages/a3/51/8a4a67a8174ce59cf49e816e38e9502900aea9b4af672d0127df8e10d3b0/hatchling-1.25.0.tar.gz \ + 7064631a512610b52250a4d3ff1bd81551d6d1431c4eb7b72e734df6c74f4262 + fetch_archive hatch_vcs-0.4.0 \ + https://files.pythonhosted.org/packages/f5/c9/54bb4fa27b4e4a014ef3bb17710cdf692b3aa2cbc7953da885f1bf7e06ea/hatch_vcs-0.4.0.tar.gz \ + 093810748fe01db0d451fabcf2c1ac2688caefd232d4ede967090b1c1b07d9f7 + fetch_archive filelock-3.15.4 \ + https://files.pythonhosted.org/packages/08/dd/49e06f09b6645156550fb9aee9cc1e59aba7efbc972d665a1bd6ae0435d4/filelock-3.15.4.tar.gz \ + 2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb + fetch_archive cx_freeze-7.2.0 \ + https://files.pythonhosted.org/packages/6e/23/6947cd90cfe87712099fbeab2061309ab1d2a95d54f3453cb6bb21b00034/cx_freeze-7.2.0.tar.gz \ + c57f7101b4d35132464b1ec88cb8948c3b7c5b4ece4bb354c16091589cb33583 + ;; esac # copy our control files From e091e6335c2e87c213d51d91b1c437ca1356304d Mon Sep 17 00:00:00 2001 From: jprochazka Date: Sat, 20 Jul 2024 04:46:00 +0000 Subject: [PATCH 02/12] Replaced spaces with tabs. --- pixie/rules | 138 +++++++++++++++++++++++----------------------- sensible-build.sh | 2 +- 2 files changed, 70 insertions(+), 70 deletions(-) diff --git a/pixie/rules b/pixie/rules index 3b9999e..026f01f 100644 --- a/pixie/rules +++ b/pixie/rules @@ -41,108 +41,108 @@ override_dh_auto_build: build_tcllauncher build_dump1090 build_mlat-client build override_dh_auto_install: install_tcllauncher install_dump1090 install_mlat-client install_piaware install_dump978 override_dh_strip: - # cxfreeze produces a launcher executable with a zipfile appended - # attempting to strip it will damage the zipfile - dh_strip -X debian/piaware/usr/lib/piaware/helpers/fa-mlat-client + # cxfreeze produces a launcher executable with a zipfile appended + # attempting to strip it will damage the zipfile + dh_strip -X debian/piaware/usr/lib/piaware/helpers/fa-mlat-client override_dh_installinit: - dh_installinit --no-stop-on-upgrade --no-restart-after-upgrade + dh_installinit --no-stop-on-upgrade --no-restart-after-upgrade override_dh_systemd_enable: - dh_systemd_enable --name=piaware piaware.service - dh_systemd_enable --name=generate-pirehose-cert generate-pirehose-cert.service + dh_systemd_enable --name=piaware piaware.service + dh_systemd_enable --name=generate-pirehose-cert generate-pirehose-cert.service override_dh_systemd_start: - dh_systemd_start --no-stop-on-upgrade --no-restart-after-upgrade --name=piaware piaware.service - dh_systemd_start --name=generate-pirehose-cert generate-pirehose-cert.service + dh_systemd_start --no-stop-on-upgrade --no-restart-after-upgrade --name=piaware piaware.service + dh_systemd_start --name=generate-pirehose-cert generate-pirehose-cert.service check_versions: - debian/check_versions + debian/check_versions configure_tcllauncher: - cd tcllauncher && autoconf -f && ./configure --with-tcl=/usr/lib/tcl8.6 + cd tcllauncher && autoconf -f && ./configure --with-tcl=/usr/lib/tcl8.6 build_dump1090: - make -C dump1090 RTLSDR=no BLADERF=no DUMP1090_VERSION="piaware-$(CHANGELOG_VERSION)" faup1090 + make -C dump1090 RTLSDR=no BLADERF=no DUMP1090_VERSION="piaware-$(CHANGELOG_VERSION)" faup1090 install_dump1090: - install -d $(CURDIR)/debian/piaware/usr/lib/piaware/helpers - install -t $(CURDIR)/debian/piaware/usr/lib/piaware/helpers dump1090/faup1090 + install -d $(CURDIR)/debian/piaware/usr/lib/piaware/helpers + install -t $(CURDIR)/debian/piaware/usr/lib/piaware/helpers dump1090/faup1090 build_dump978: - make -C dump978 faup978 VERSION=$(DEB_VERSION) + make -C dump978 faup978 VERSION=$(DEB_VERSION) install_dump978: - install -d $(CURDIR)/debian/piaware/usr/lib/piaware/helpers - install -t $(CURDIR)/debian/piaware/usr/lib/piaware/helpers dump978/faup978 + install -d $(CURDIR)/debian/piaware/usr/lib/piaware/helpers + install -t $(CURDIR)/debian/piaware/usr/lib/piaware/helpers dump978/faup978 build_mlat-client: - # setup venv for mlat-client build - $(PYTHON3) -m venv --system-site-packages --without-pip $(VENV) - # build setuptools_scm - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels setuptools_scm-8.1.0 - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/setuptools_scm-8.1.0*.whl - # build trove_classifiers - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels trove_classifiers-2024.7.2 - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/trove_classifiers-0.0.0-*.whl - # build pluggy - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels pluggy-1.5.0 - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/pluggy-1.5.0-*.whl - # build flit_core - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels flit_core-3.9.0 - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/flit_core-3.9.0-*.whl - # build pathspec - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels pathspec-0.12.1 - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/pathspec-0.12.1-*.whl - # build hatchling - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels hatchling-1.25.0 - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/hatchling-1.25.0-*.whl - # build hatch-vcs - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels hatch_vcs-0.4.0 - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/hatch_vcs-0.4.0-*.whl - # build filelock - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels filelock-3.15.4 - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/filelock-3.15.4-*.whl - # build cxfreeze for later packaging of mlat-client - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels cx_freeze-7.2.0 - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/cx_Freeze-7.2.0*.whl - # build mlat-client proper - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels mlat-client - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/MlatClient-*.whl + # setup venv for mlat-client build + $(PYTHON3) -m venv --system-site-packages --without-pip $(VENV) + # build setuptools_scm + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels setuptools_scm-8.1.0 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/setuptools_scm-8.1.0*.whl + # build trove_classifiers + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels trove_classifiers-2024.7.2 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/trove_classifiers-0.0.0-*.whl + # build pluggy + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels pluggy-1.5.0 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/pluggy-1.5.0-*.whl + # build flit_core + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels flit_core-3.9.0 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/flit_core-3.9.0-*.whl + # build pathspec + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels pathspec-0.12.1 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/pathspec-0.12.1-*.whl + # build hatchling + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels hatchling-1.25.0 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/hatchling-1.25.0-*.whl + # build hatch-vcs + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels hatch_vcs-0.4.0 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/hatch_vcs-0.4.0-*.whl + # build filelock + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels filelock-3.15.4 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/filelock-3.15.4-*.whl + # build cxfreeze for later packaging of mlat-client + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels cx_freeze-7.2.0 + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/cx_Freeze-7.2.0*.whl + # build mlat-client proper + $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels mlat-client + $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/MlatClient-*.whl install_mlat-client: - # newer cxfreeze deletes --target-dir (see cxfreeze issue #1300), so we have to freeze to a temporary directory and - # install from there - $(VENV)/bin/python $(VENV)/bin/cxfreeze --target-dir=$(CURDIR)/freeze-mlat-client $(VENV)/bin/fa-mlat-client - cp -a $(CURDIR)/freeze-mlat-client/* $(CURDIR)/debian/piaware/usr/lib/piaware/helpers/ + # newer cxfreeze deletes --target-dir (see cxfreeze issue #1300), so we have to freeze to a temporary directory and + # install from there + $(VENV)/bin/python $(VENV)/bin/cxfreeze --target-dir=$(CURDIR)/freeze-mlat-client $(VENV)/bin/fa-mlat-client + cp -a $(CURDIR)/freeze-mlat-client/* $(CURDIR)/debian/piaware/usr/lib/piaware/helpers/ clean_mlat-client: - rm -fr mlat-client/build mlat-client/dist - rm -fr setuptools_scm-8.1.0/build - rm -fr trove_classifiers-2024.7.2/build - rm -fr pluggy-1.5.0/build pluggy-1.5.0/dist - rm -fr flit_core-3.9.0/build flit_core-3.9.0/dist - rm -fr pathspec-0.12.1/build pathspec-0.12.1/dist - rm -fr hatchling-1.25.0/build hatchling-1.25.0/dist - rm -fr hatch_vcs-0.4.0/build hatch_vcs-0.4.0/dist - rm -fr filelock-3.15.4/build filelock-3.15.4/dist - rm -fr cx_freeze-7.2.0/build cx_Freeze-6.15.9/dist - rm -fr $(VENV) $(CURDIR)/wheels + rm -fr mlat-client/build mlat-client/dist + rm -fr setuptools_scm-8.1.0/build + rm -fr trove_classifiers-2024.7.2/build + rm -fr pluggy-1.5.0/build pluggy-1.5.0/dist + rm -fr flit_core-3.9.0/build flit_core-3.9.0/dist + rm -fr pathspec-0.12.1/build pathspec-0.12.1/dist + rm -fr hatchling-1.25.0/build hatchling-1.25.0/dist + rm -fr hatch_vcs-0.4.0/build hatch_vcs-0.4.0/dist + rm -fr filelock-3.15.4/build filelock-3.15.4/dist + rm -fr cx_freeze-7.2.0/build cx_Freeze-6.15.9/dist + rm -fr $(VENV) $(CURDIR)/wheels install_piaware: - make -C piaware DESTDIR=$(CURDIR)/debian/piaware install INSTALL_SUDOERS=1 SYSTEMD= SYSVINIT= TCLLAUNCHER=$(CURDIR)/debian/piaware/usr/bin/tcllauncher + make -C piaware DESTDIR=$(CURDIR)/debian/piaware install INSTALL_SUDOERS=1 SYSTEMD= SYSVINIT= TCLLAUNCHER=$(CURDIR)/debian/piaware/usr/bin/tcllauncher configure_%: - dh_auto_configure -D $* + dh_auto_configure -D $* build_%: - dh_auto_build -D $* + dh_auto_build -D $* install_%: - dh_auto_install -D $* + dh_auto_install -D $* clean_%: - dh_auto_clean -D $* + dh_auto_clean -D $* %: - dh $@ --with=systemd \ No newline at end of file + dh $@ --with=systemd diff --git a/sensible-build.sh b/sensible-build.sh index 43197bd..4b0a7e3 100755 --- a/sensible-build.sh +++ b/sensible-build.sh @@ -19,7 +19,7 @@ shallow_clone() { } usage() { - echo "syntax: $0 " >&2 + echo "syntax: $0 " >&2 exit 1 } From 7f610d67bf56362c6aec7e2e7eee8dba52726726 Mon Sep 17 00:00:00 2001 From: jprochazka Date: Sat, 20 Jul 2024 05:51:14 +0000 Subject: [PATCH 03/12] Trixie not Pixie... --- sensible-build.sh | 12 ++++++------ {pixie => trixie}/control | 0 {pixie => trixie}/piaware.docs | 0 {pixie => trixie}/piaware.install | 0 {pixie => trixie}/piaware.logrotate | 0 {pixie => trixie}/piaware.postinst | 0 {pixie => trixie}/rsyslog/piaware.conf | 0 {pixie => trixie}/rules | 0 8 files changed, 6 insertions(+), 6 deletions(-) rename {pixie => trixie}/control (100%) rename {pixie => trixie}/piaware.docs (100%) rename {pixie => trixie}/piaware.install (100%) rename {pixie => trixie}/piaware.logrotate (100%) rename {pixie => trixie}/piaware.postinst (100%) rename {pixie => trixie}/rsyslog/piaware.conf (100%) rename {pixie => trixie}/rules (100%) diff --git a/sensible-build.sh b/sensible-build.sh index 4b0a7e3..3ccf894 100755 --- a/sensible-build.sh +++ b/sensible-build.sh @@ -19,7 +19,7 @@ shallow_clone() { } usage() { - echo "syntax: $0 " >&2 + echo "syntax: $0 " >&2 exit 1 } @@ -53,9 +53,9 @@ case $dist in targetdist=bookworm extraversion="" ;; - pixie) - debdist=pixie - targetdist=pixie + trixie) + debdist=trixie + targetdist=trixie extraversion="" ;; xenial) @@ -78,7 +78,7 @@ case $dist in ;; noble) # not tested - debdist=pixie + debdist=trixie targetdist=noble extraversion="~ubuntu2404+" ;; @@ -185,7 +185,7 @@ case $debdist in d32b309b355f2b377dae585a839e39e3251b3f9716f2b4983be92972c2863000 ;; - pixie) + trixie) fetch_archive setuptools_scm-8.1.0 \ https://files.pythonhosted.org/packages/4f/a4/00a9ac1b555294710d4a68d2ce8dfdf39d72aa4d769a7395d05218d88a42/setuptools_scm-8.1.0.tar.gz \ 42dea1b65771cba93b7a515d65a65d8246e560768a66b9106a592c8e7f26c8a7 diff --git a/pixie/control b/trixie/control similarity index 100% rename from pixie/control rename to trixie/control diff --git a/pixie/piaware.docs b/trixie/piaware.docs similarity index 100% rename from pixie/piaware.docs rename to trixie/piaware.docs diff --git a/pixie/piaware.install b/trixie/piaware.install similarity index 100% rename from pixie/piaware.install rename to trixie/piaware.install diff --git a/pixie/piaware.logrotate b/trixie/piaware.logrotate similarity index 100% rename from pixie/piaware.logrotate rename to trixie/piaware.logrotate diff --git a/pixie/piaware.postinst b/trixie/piaware.postinst similarity index 100% rename from pixie/piaware.postinst rename to trixie/piaware.postinst diff --git a/pixie/rsyslog/piaware.conf b/trixie/rsyslog/piaware.conf similarity index 100% rename from pixie/rsyslog/piaware.conf rename to trixie/rsyslog/piaware.conf diff --git a/pixie/rules b/trixie/rules similarity index 100% rename from pixie/rules rename to trixie/rules From ed27f07e7439773879c755f54d731d57ebc5e086 Mon Sep 17 00:00:00 2001 From: jprochazka Date: Sat, 20 Jul 2024 13:07:29 +0000 Subject: [PATCH 04/12] Added python3-pyasyncore --- trixie/control | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trixie/control b/trixie/control index a8912b4..be34e58 100644 --- a/trixie/control +++ b/trixie/control @@ -2,7 +2,7 @@ Source: piaware Section: embedded Priority: extra Maintainer: FlightAware Developers -Build-Depends: debhelper(>=10), tcl8.6-dev, autoconf, python3-dev(>=3.9), python3-venv, python3-setuptools (>=62.6), python3-wheel (>=0.38.4), python3-build, python3-pip, libz-dev, openssl, libboost-system-dev, libboost-program-options-dev, libboost-regex-dev, libboost-filesystem-dev, patchelf +Build-Depends: debhelper(>=10), tcl8.6-dev, autoconf, python3-dev(>=3.9), python3-venv, python3-setuptools (>=62.6), python3-wheel (>=0.38.4), python3-build, python3-pip, libz-dev, openssl, libboost-system-dev, libboost-program-options-dev, libboost-regex-dev, libboost-filesystem-dev, patchelf, python3-pyasyncore Standards-Version: 3.9.3 Homepage: https://github.com/flightaware From 2d7aebdd95301de468885b8850aa7fe492d6ae92 Mon Sep 17 00:00:00 2001 From: jprochazka Date: Sat, 20 Jul 2024 22:04:21 +0000 Subject: [PATCH 05/12] Use Python packages instead of source. --- README.md | 2 +- sensible-build.sh | 24 ------------------------ trixie/control | 2 +- trixie/rules | 24 ------------------------ 4 files changed, 2 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index 8bd936d..e33a2ae 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ package/debian/control. Something like this: # apt install build-essential git devscripts debhelper tcl8.6-dev autoconf \ python3-dev python3-venv python3-setuptools libz-dev openssl \ libboost-system-dev libboost-program-options-dev libboost-regex-dev \ - libboost-filesystem-dev patchelf + libboost-filesystem-dev patchelf python3-pyasyncore python3-filelock ``` If you use pdebuild it will do most of this for you. diff --git a/sensible-build.sh b/sensible-build.sh index 3ccf894..02625a1 100755 --- a/sensible-build.sh +++ b/sensible-build.sh @@ -186,30 +186,6 @@ case $debdist in ;; trixie) - fetch_archive setuptools_scm-8.1.0 \ - https://files.pythonhosted.org/packages/4f/a4/00a9ac1b555294710d4a68d2ce8dfdf39d72aa4d769a7395d05218d88a42/setuptools_scm-8.1.0.tar.gz \ - 42dea1b65771cba93b7a515d65a65d8246e560768a66b9106a592c8e7f26c8a7 - fetch_archive trove_classifiers-2024.7.2 \ - https://files.pythonhosted.org/packages/78/c9/83f915c3f6f94f4c862c7470284fd714f312cce8e3cf98361312bc02493d/trove_classifiers-2024.7.2.tar.gz \ - 8328f2ac2ce3fd773cbb37c765a0ed7a83f89dc564c7d452f039b69249d0ac35 - fetch_archive pluggy-1.5.0 \ - https://files.pythonhosted.org/packages/96/2d/02d4312c973c6050a18b314a5ad0b3210edb65a906f868e31c111dede4a6/pluggy-1.5.0.tar.gz \ - 2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1 - fetch_archive flit_core-3.9.0 \ - https://files.pythonhosted.org/packages/c4/e6/c1ac50fe3eebb38a155155711e6e864e254ce4b6e17fe2429b4c4d5b9e80/flit_core-3.9.0.tar.gz \ - 72ad266176c4a3fcfab5f2930d76896059851240570ce9a98733b658cb786eba - fetch_archive pathspec-0.12.1 \ - https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz \ - a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712 - fetch_archive hatchling-1.25.0 \ - https://files.pythonhosted.org/packages/a3/51/8a4a67a8174ce59cf49e816e38e9502900aea9b4af672d0127df8e10d3b0/hatchling-1.25.0.tar.gz \ - 7064631a512610b52250a4d3ff1bd81551d6d1431c4eb7b72e734df6c74f4262 - fetch_archive hatch_vcs-0.4.0 \ - https://files.pythonhosted.org/packages/f5/c9/54bb4fa27b4e4a014ef3bb17710cdf692b3aa2cbc7953da885f1bf7e06ea/hatch_vcs-0.4.0.tar.gz \ - 093810748fe01db0d451fabcf2c1ac2688caefd232d4ede967090b1c1b07d9f7 - fetch_archive filelock-3.15.4 \ - https://files.pythonhosted.org/packages/08/dd/49e06f09b6645156550fb9aee9cc1e59aba7efbc972d665a1bd6ae0435d4/filelock-3.15.4.tar.gz \ - 2207938cbc1844345cb01a5a95524dae30f0ce089eba5b00378295a17e3e90cb fetch_archive cx_freeze-7.2.0 \ https://files.pythonhosted.org/packages/6e/23/6947cd90cfe87712099fbeab2061309ab1d2a95d54f3453cb6bb21b00034/cx_freeze-7.2.0.tar.gz \ c57f7101b4d35132464b1ec88cb8948c3b7c5b4ece4bb354c16091589cb33583 diff --git a/trixie/control b/trixie/control index be34e58..66df92d 100644 --- a/trixie/control +++ b/trixie/control @@ -2,7 +2,7 @@ Source: piaware Section: embedded Priority: extra Maintainer: FlightAware Developers -Build-Depends: debhelper(>=10), tcl8.6-dev, autoconf, python3-dev(>=3.9), python3-venv, python3-setuptools (>=62.6), python3-wheel (>=0.38.4), python3-build, python3-pip, libz-dev, openssl, libboost-system-dev, libboost-program-options-dev, libboost-regex-dev, libboost-filesystem-dev, patchelf, python3-pyasyncore +Build-Depends: debhelper(>=10), tcl8.6-dev, autoconf, python3-dev(>=3.9), python3-venv, python3-setuptools (>=62.6), python3-wheel (>=0.38.4), python3-build, python3-pip, libz-dev, openssl, libboost-system-dev, libboost-program-options-dev, libboost-regex-dev, libboost-filesystem-dev, patchelf, python3-filelock, python3-pyasyncore Standards-Version: 3.9.3 Homepage: https://github.com/flightaware diff --git a/trixie/rules b/trixie/rules index 026f01f..f44bf77 100644 --- a/trixie/rules +++ b/trixie/rules @@ -79,30 +79,6 @@ install_dump978: build_mlat-client: # setup venv for mlat-client build $(PYTHON3) -m venv --system-site-packages --without-pip $(VENV) - # build setuptools_scm - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels setuptools_scm-8.1.0 - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/setuptools_scm-8.1.0*.whl - # build trove_classifiers - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels trove_classifiers-2024.7.2 - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/trove_classifiers-0.0.0-*.whl - # build pluggy - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels pluggy-1.5.0 - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/pluggy-1.5.0-*.whl - # build flit_core - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels flit_core-3.9.0 - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/flit_core-3.9.0-*.whl - # build pathspec - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels pathspec-0.12.1 - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/pathspec-0.12.1-*.whl - # build hatchling - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels hatchling-1.25.0 - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/hatchling-1.25.0-*.whl - # build hatch-vcs - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels hatch_vcs-0.4.0 - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/hatch_vcs-0.4.0-*.whl - # build filelock - $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels filelock-3.15.4 - $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/filelock-3.15.4-*.whl # build cxfreeze for later packaging of mlat-client $(VENV)/bin/python -m build --skip-dependency-check --no-isolation --wheel -C="--build-option=--plat-name" -C="--build-option=$(PYTHON_HOST_PLATFORM)" --outdir $(CURDIR)/wheels cx_freeze-7.2.0 $(VENV)/bin/python -m pip install --no-index --no-deps --ignore-installed --require-virtualenv $(CURDIR)/wheels/cx_Freeze-7.2.0*.whl From 65f4d5706cf427dc171258a62729679483f42c3d Mon Sep 17 00:00:00 2001 From: Joseph Prochazka Date: Sat, 20 Jul 2024 19:27:15 -0400 Subject: [PATCH 06/12] Moved Trixie specific packages --- README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e33a2ae..ad4ecca 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,13 @@ package/debian/control. Something like this: # apt install build-essential git devscripts debhelper tcl8.6-dev autoconf \ python3-dev python3-venv python3-setuptools libz-dev openssl \ libboost-system-dev libboost-program-options-dev libboost-regex-dev \ - libboost-filesystem-dev patchelf python3-pyasyncore python3-filelock + libboost-filesystem-dev patchelf +``` + +Additional packages are needed in order to build PiAware on Debian Trixie: + +``` +sudo apt install python3-build python3-pyasyncore python3-filelock ``` If you use pdebuild it will do most of this for you. From 636c81758b46555eadb10fa581b36d94798f72e0 Mon Sep 17 00:00:00 2001 From: Joseph Prochazka Date: Sat, 20 Jul 2024 19:28:29 -0400 Subject: [PATCH 07/12] Formatted command. --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ad4ecca..07d2306 100644 --- a/README.md +++ b/README.md @@ -27,8 +27,8 @@ Ensure that your build machine has the build dependencies mentioned in package/debian/control. Something like this: ``` -# apt install build-essential git devscripts debhelper tcl8.6-dev autoconf \ - python3-dev python3-venv python3-setuptools libz-dev openssl \ +$ sudo apt install build-essential git devscripts debhelper tcl8.6-dev \ + autoconf python3-dev python3-venv python3-setuptools libz-dev openssl \ libboost-system-dev libboost-program-options-dev libboost-regex-dev \ libboost-filesystem-dev patchelf ``` @@ -36,7 +36,7 @@ package/debian/control. Something like this: Additional packages are needed in order to build PiAware on Debian Trixie: ``` -sudo apt install python3-build python3-pyasyncore python3-filelock +$ sudo apt install python3-build python3-pyasyncore python3-filelock ``` If you use pdebuild it will do most of this for you. From 1718a17ffd88fb933d18091bd2907f60b3024552 Mon Sep 17 00:00:00 2001 From: Joseph Prochazka Date: Sat, 20 Jul 2024 22:30:56 -0400 Subject: [PATCH 08/12] Removed strings so GitHub users can utilize the copy button. --- README.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 07d2306..2001683 100644 --- a/README.md +++ b/README.md @@ -27,16 +27,16 @@ Ensure that your build machine has the build dependencies mentioned in package/debian/control. Something like this: ``` -$ sudo apt install build-essential git devscripts debhelper tcl8.6-dev \ - autoconf python3-dev python3-venv python3-setuptools libz-dev openssl \ - libboost-system-dev libboost-program-options-dev libboost-regex-dev \ - libboost-filesystem-dev patchelf +sudo apt install build-essential git devscripts debhelper tcl8.6-dev \ +autoconf python3-dev python3-venv python3-setuptools libz-dev openssl \ +libboost-system-dev libboost-program-options-dev libboost-regex-dev \ +libboost-filesystem-dev patchelf ``` Additional packages are needed in order to build PiAware on Debian Trixie: ``` -$ sudo apt install python3-build python3-pyasyncore python3-filelock +sudo apt install python3-build python3-pyasyncore python3-filelock ``` If you use pdebuild it will do most of this for you. @@ -69,19 +69,19 @@ Change to the package directory on your build machine and build with a debian package building tool of your choice: ``` - $ dpkg-buildpackage -b +dpkg-buildpackage -b ``` or ``` - $ debuild +debuild ``` or ``` - $ pdebuild +pdebuild ``` etc. From ba10b65746e8be2957f65ac99f65b3ac5e157f90 Mon Sep 17 00:00:00 2001 From: Joseph Prochazka Date: Sat, 20 Jul 2024 22:49:40 -0400 Subject: [PATCH 09/12] Formatting. --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 2001683..968295e 100644 --- a/README.md +++ b/README.md @@ -28,9 +28,9 @@ package/debian/control. Something like this: ``` sudo apt install build-essential git devscripts debhelper tcl8.6-dev \ -autoconf python3-dev python3-venv python3-setuptools libz-dev openssl \ -libboost-system-dev libboost-program-options-dev libboost-regex-dev \ -libboost-filesystem-dev patchelf + autoconf python3-dev python3-venv python3-setuptools libz-dev openssl \ + libboost-system-dev libboost-program-options-dev libboost-regex-dev \ + libboost-filesystem-dev patchelf ``` Additional packages are needed in order to build PiAware on Debian Trixie: From 4a01f287933a001140e79bc5023244fa2bf97b5a Mon Sep 17 00:00:00 2001 From: Joseph Prochazka Date: Sat, 20 Jul 2024 23:10:01 -0400 Subject: [PATCH 10/12] Added --no-sign to dpkg-buildpackage command. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 968295e..49571c9 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ Change to the package directory on your build machine and build with a debian package building tool of your choice: ``` -dpkg-buildpackage -b +dpkg-buildpackage -b --no-sign ``` or From d30926b9389d7fb503a7e9a76bdc6c301492c38e Mon Sep 17 00:00:00 2001 From: Joseph Prochazka Date: Sun, 21 Jul 2024 01:25:17 -0400 Subject: [PATCH 11/12] Forgot to remove rm -fr commands. --- trixie/rules | 8 -------- 1 file changed, 8 deletions(-) diff --git a/trixie/rules b/trixie/rules index f44bf77..1592c0c 100644 --- a/trixie/rules +++ b/trixie/rules @@ -94,14 +94,6 @@ install_mlat-client: clean_mlat-client: rm -fr mlat-client/build mlat-client/dist - rm -fr setuptools_scm-8.1.0/build - rm -fr trove_classifiers-2024.7.2/build - rm -fr pluggy-1.5.0/build pluggy-1.5.0/dist - rm -fr flit_core-3.9.0/build flit_core-3.9.0/dist - rm -fr pathspec-0.12.1/build pathspec-0.12.1/dist - rm -fr hatchling-1.25.0/build hatchling-1.25.0/dist - rm -fr hatch_vcs-0.4.0/build hatch_vcs-0.4.0/dist - rm -fr filelock-3.15.4/build filelock-3.15.4/dist rm -fr cx_freeze-7.2.0/build cx_Freeze-6.15.9/dist rm -fr $(VENV) $(CURDIR)/wheels From 69df69b37c2cf776b5fde9337ae27789b7b8dee8 Mon Sep 17 00:00:00 2001 From: Joseph Prochazka Date: Sun, 21 Jul 2024 01:52:00 -0400 Subject: [PATCH 12/12] Changed version in rm -fr command. --- trixie/rules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/trixie/rules b/trixie/rules index 1592c0c..1256522 100644 --- a/trixie/rules +++ b/trixie/rules @@ -94,7 +94,7 @@ install_mlat-client: clean_mlat-client: rm -fr mlat-client/build mlat-client/dist - rm -fr cx_freeze-7.2.0/build cx_Freeze-6.15.9/dist + rm -fr cx_freeze-7.2.0/build cx_Freeze-7.2.0/dist rm -fr $(VENV) $(CURDIR)/wheels install_piaware: