From ebd066d8833a59a75f7162bce92888ddd00d698f Mon Sep 17 00:00:00 2001 From: Oliver Jowett Date: Mon, 11 Jul 2016 18:49:52 +0100 Subject: [PATCH] wheezy packaging and initscript --- .gitignore | 1 + debian-wheezy/control | 30 ++++++ debian-wheezy/dump1090-fa.init | 78 ++++++++++++++++ debian-wheezy/dump1090-fa.modprobe | 5 + debian-wheezy/dump1090-fa.udev | 142 +++++++++++++++++++++++++++++ debian-wheezy/rules | 30 ++++++ debian/copyright | 4 +- prepare-wheezy-tree.sh | 20 ++++ 8 files changed, 308 insertions(+), 2 deletions(-) create mode 100644 debian-wheezy/control create mode 100644 debian-wheezy/dump1090-fa.init create mode 100644 debian-wheezy/dump1090-fa.modprobe create mode 100644 debian-wheezy/dump1090-fa.udev create mode 100755 debian-wheezy/rules create mode 100755 prepare-wheezy-tree.sh diff --git a/.gitignore b/.gitignore index d3aca82..9e6cd7e 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ frames.js untrackedDeveloperSettings.js view1090 faup1090 +package-wheezy diff --git a/debian-wheezy/control b/debian-wheezy/control new file mode 100644 index 0000000..a2b522f --- /dev/null +++ b/debian-wheezy/control @@ -0,0 +1,30 @@ +Source: dump1090-fa +Section: embedded +Priority: extra +Maintainer: Oliver Jowett +Build-Depends: debhelper(>=9), librtlsdr-dev, libusb-1.0-0-dev, pkg-config +Standards-Version: 3.9.3 +Homepage: https://github.com/mutability/dump1090 +Vcs-Git: https://github.com/mutability/dump1090.git + +Package: dump1090 +Architecture: all +Depends: dump1090-fa, ${misc:Depends} +Priority: extra +Section: oldlibs +Description: transitional dummy package for dump1090 + This is a transitional dummy package to handle upgrades from + the old package name of "dump1090" to the new package name of + "dump1090-fa". It can safely be removed. + +Package: dump1090-fa +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends}, adduser, lighttpd +Replaces: dump1090 (<< 3.0) +Breaks: dump1090 (<< 3.0) +Description: ADS-B Ground Station System for RTL-SDR + Networked Aviation Mode S / ADS-B decoder/translator with RTL-SDR software + defined radio USB device support. + . + This is FlightAware's packaging of dump1090-mutability, customized for use + in the PiAware sdcard images. diff --git a/debian-wheezy/dump1090-fa.init b/debian-wheezy/dump1090-fa.init new file mode 100644 index 0000000..86b797f --- /dev/null +++ b/debian-wheezy/dump1090-fa.init @@ -0,0 +1,78 @@ +#!/bin/bash +### BEGIN INIT INFO +# +# Provides: dump1090-fa +# Required-Start: $remote_fs +# Required-Stop: $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: dump1090-fa initscript +# +### END INIT INFO + +. /lib/lsb/init-functions + +DAEMON=/usr/bin/dump1090-fa +PIDFILE=/run/dump1090-fa.pid +WORKDIR=/run/dump1090-fa +RUNAS=dump1090 + +test -x $DAEMON || exit 5 + +. /etc/default/dump1090-fa + +if [ -f /var/cache/piaware/location.env ] +then + . /var/cache/piaware/location.env +fi + +PROG_ARGS="$RECEIVER_OPTIONS $DECODER_OPTIONS $NET_OPTIONS $JSON_OPTIONS $PIAWARE_DUMP1090_LOCATION_OPTIONS \ + --write-json /run/dump1090-fa --quiet" + +start() { + log_daemon_msg "Starting dump1090-fa server" "dump1090-fa" + mkdir -p $WORKDIR + chown $RUNAS $WORKDIR + /sbin/start-stop-daemon --start --oknodo --background --make-pidfile --pidfile $PIDFILE --user $RUNAS --chuid $RUNAS --exec $DAEMON -- $PROG_ARGS + status=$? + log_begin_msg $status + return +} + +stop() { + log_daemon_msg "Stopping dump1090-fa server" "dump1090-fa" + /sbin/start-stop-daemon --stop --quiet --oknodo --pidfile $PIDFILE --user $RUNAS + log_end_msg $? + rm -f $PIDFILE + return +} + +status() { + echo "no status yet" + return +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status + ;; + restart|force-reload) + stop && sleep 2 && start + ;; + reload) + exit 3 + ;; + status) + status_of_proc $DAEMON "dump1090-fa server" + ;; + *) + echo "Usage: $0 {start|stop|restart|try-restart|force-reload|status}" + exit 2 + ;; +esac diff --git a/debian-wheezy/dump1090-fa.modprobe b/debian-wheezy/dump1090-fa.modprobe new file mode 100644 index 0000000..17f2606 --- /dev/null +++ b/debian-wheezy/dump1090-fa.modprobe @@ -0,0 +1,5 @@ +# This system has dump1090-fa installed, which wants to use RTL2832-based +# digital video dongles in SDR mode via librtlsdr. This file prevents the kernel +# video4linux drivers from loading. +blacklist dvb_usb_rtl28xxu +blacklist rtl2832 diff --git a/debian-wheezy/dump1090-fa.udev b/debian-wheezy/dump1090-fa.udev new file mode 100644 index 0000000..737f413 --- /dev/null +++ b/debian-wheezy/dump1090-fa.udev @@ -0,0 +1,142 @@ +# Extracted from the librtlsdr0 package +# because we statically link and don't want the package dependency. + +# +# Copyright 2012-2013 Osmocom rtl-sdr project +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +# + +# original RTL2832U vid/pid (hama nano, for example) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2832", MODE:="0666" + +# RTL2832U OEM vid/pid, e.g. ezcap EzTV668 (E4000), Newsky TV28T (E4000/R820T) etc. +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0bda", ATTRS{idProduct}=="2838", MODE:="0666" + +# DigitalNow Quad DVB-T PCI-E card (4x FC0012?) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0413", ATTRS{idProduct}=="6680", MODE:="0666" + +# Leadtek WinFast DTV Dongle mini D (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0413", ATTRS{idProduct}=="6f0f", MODE:="0666" + +# Genius TVGo DVB-T03 USB dongle (Ver. B) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0458", ATTRS{idProduct}=="707f", MODE:="0666" + +# Terratec Cinergy T Stick Black (rev 1) (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00a9", MODE:="0666" + +# Terratec NOXON rev 1 (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b3", MODE:="0666" + +# Terratec Deutschlandradio DAB Stick (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b4", MODE:="0666" + +# Terratec NOXON DAB Stick - Radio Energy (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b5", MODE:="0666" + +# Terratec Media Broadcast DAB Stick (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b7", MODE:="0666" + +# Terratec BR DAB Stick (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b8", MODE:="0666" + +# Terratec WDR DAB Stick (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00b9", MODE:="0666" + +# Terratec MuellerVerlag DAB Stick (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00c0", MODE:="0666" + +# Terratec Fraunhofer DAB Stick (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00c6", MODE:="0666" + +# Terratec Cinergy T Stick RC (Rev.3) (E4000) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00d3", MODE:="0666" + +# Terratec T Stick PLUS (E4000) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00d7", MODE:="0666" + +# Terratec NOXON rev 2 (E4000) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="0ccd", ATTRS{idProduct}=="00e0", MODE:="0666" + +# PixelView PV-DT235U(RN) (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1554", ATTRS{idProduct}=="5020", MODE:="0666" + +# Astrometa DVB-T/DVB-T2 (R828D) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="15f4", ATTRS{idProduct}=="0131", MODE:="0666" + +# Compro Videomate U620F (E4000) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0620", MODE:="0666" + +# Compro Videomate U650F (E4000) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0650", MODE:="0666" + +# Compro Videomate U680F (E4000) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="185b", ATTRS{idProduct}=="0680", MODE:="0666" + +# GIGABYTE GT-U7300 (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d393", MODE:="0666" + +# DIKOM USB-DVBT HD +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d394", MODE:="0666" + +# Peak 102569AGPK (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d395", MODE:="0666" + +# KWorld KW-UB450-T USB DVB-T Pico TV (TUA9001) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d397", MODE:="0666" + +# Zaapa ZT-MINDVBZP (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d398", MODE:="0666" + +# SVEON STV20 DVB-T USB & FM (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d39d", MODE:="0666" + +# Twintech UT-40 (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3a4", MODE:="0666" + +# ASUS U3100MINI_PLUS_V2 (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3a8", MODE:="0666" + +# SVEON STV27 DVB-T USB & FM (FC0013) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3af", MODE:="0666" + +# SVEON STV21 DVB-T USB & FM +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1b80", ATTRS{idProduct}=="d3b0", MODE:="0666" + +# Dexatek DK DVB-T Dongle (Logilink VG0002A) (FC2580) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1101", MODE:="0666" + +# Dexatek DK DVB-T Dongle (MSI DigiVox mini II V3.0) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1102", MODE:="0666" + +# Dexatek DK 5217 DVB-T Dongle (FC2580) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1103", MODE:="0666" + +# MSI DigiVox Micro HD (FC2580) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1d19", ATTRS{idProduct}=="1104", MODE:="0666" + +# Sweex DVB-T USB (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="a803", MODE:="0666" + +# GTek T803 (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="b803", MODE:="0666" + +# Lifeview LV5TDeluxe (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="c803", MODE:="0666" + +# MyGica TD312 (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="d286", MODE:="0666" + +# PROlectrix DV107669 (FC0012) +SUBSYSTEMS=="usb", ATTRS{idVendor}=="1f4d", ATTRS{idProduct}=="d803", MODE:="0666" diff --git a/debian-wheezy/rules b/debian-wheezy/rules new file mode 100755 index 0000000..3138fba --- /dev/null +++ b/debian-wheezy/rules @@ -0,0 +1,30 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +export DH_VERBOSE=1 + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +DPKG_EXPORT_BUILDFLAGS = 1 +include /usr/share/dpkg/buildflags.mk + +export DUMP1090_VERSION=$(shell dpkg-parsechangelog | sed -n 's/^Version: /v/p') +SRCNAME=$(shell dpkg-parsechangelog | sed -n 's/^Source: //p') + +override_dh_auto_build: + dh_auto_build -- 'EXTRACFLAGS=-DHTMLPATH=\"/usr/share/$(SRCNAME)/html\" -DMODES_DUMP1090_VARIANT=\"$(SRCNAME)\"' STATIC=yes + +override_dh_install: + dh_install + install -d debian/dump1090-fa/usr/bin + cp -a dump1090 debian/dump1090-fa/usr/bin/dump1090-fa + cp -a view1090 debian/dump1090-fa/usr/bin/view1090-fa + +%: + dh $@ diff --git a/debian/copyright b/debian/copyright index 46bf1ef..421033c 100644 --- a/debian/copyright +++ b/debian/copyright @@ -56,11 +56,11 @@ Copyright: Matt Walker License: MIT Source: https://github.com/walkermatt/ol3-layerswitcher -Files: debian/* +Files: debian/* debian-wheezy/* Copyright: 2014,2015 Oliver Jowett License: BSD-3-Clause -Files: debian/dump1090-fa.udev +Files: debian-wheezy/dump1090-fa.udev Copyright: 2012-2013 Osmocom rtl-sdr project License: GPL-3+ diff --git a/prepare-wheezy-tree.sh b/prepare-wheezy-tree.sh new file mode 100755 index 0000000..13755ec --- /dev/null +++ b/prepare-wheezy-tree.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +# This is a nasty hack that prepares a separate package tree suitable for +# building the package for wheezy + +TOP=`dirname $0` +OUT=$TOP/package-wheezy + +rm -fr $OUT + +FILES=$(find $TOP -mindepth 1 -maxdepth 1 -name 'debian-wheezy' -prune -o -print) +mkdir $OUT +cp -a $FILES $OUT + +cp -a $TOP/debian-wheezy/* $OUT/debian/ + +echo "Updating changelog for wheezy backport build" +dch --changelog $OUT/debian/changelog --bpo --distribution wheezy-backports "Automated backport build for wheezy" + +echo "OK, ready to go in $OUT"