This package provides support for the Amateur Radio APRS network using aprsd the APRS daemon program. It builds on the previously submitted libax25, ax25-apps and ax25-tools packages
Signed-off-by: Ken Koster <[email protected]> --- Index: packages/net/aprsd/files/aprsd.init =================================================================== --- packages/net/aprsd/files/aprsd.init (revision 0) +++ packages/net/aprsd/files/aprsd.init (revision 0) @@ -0,0 +1,41 @@ +#!/bin/sh /etc/rc.common +# +# Starts or stops aprsd server. +# + + +START=91 + +. /etc/aprsd/aprsd.config + +APRSD_CONF="/etc/aprsd/aprsd.conf" + + +start() { + echo "Starting aprs server daemon. " + #Create log directory - uncomment if you want logging +# mkdir -p /var/log/aprsd + # Update aprsd.conf + sed -i "s/\(tncport\)\(.*\)/\1 $AX_APRSD_PORT/" $APRSD_CONF + sed -i "s/\(servercall\)\(.*\)/\1 $AX_APRSD_SERVERCALL/" $APRSD_CONF + sed -i "s/\(MyCall\)\(.*\)/\1 $AX_APRSD_MYCALL/" $APRSD_CONF + sed -i "s/\(MyLocation\)\(.*\)/\1 $AX_APRSD_MYLOCATION/" $APRSD_CONF + sed -i "s/\(MyEmail\)\(.*\)/\1 $AX_APRSD_MYEMAIL/" $APRSD_CONF + sed -i "s/\(aprspath\)\(.*\)/\1 $AX_APRSD_PATH/" $APRSD_CONF + sed -i "s/\(rf-allow\)\(.*\)/\1 $AX_APRSD_RFALLOW/" $APRSD_CONF + sed -i "s/\(aprsPath\)\(.*\)/\1 $AX_APRSD_APRSPASS/" $APRSD_CONF + sed -i "s/\(pass\)\(.*\)/\1 $AX_APRSD_PASS/" $APRSD_CONF + sed -i "s/\(Server\)\(.*\)/\1 $AX_APRSD_SERVER/" $APRSD_CONF + # start aprsd if enabled + eval aprsd=$AX_APRSD + if [ "$aprsd" = "TRUE" ]; then + /usr/bin/aprsd -d + fi + touch /var/lock/aprsd +} + +stop() { + echo "Stopping aprs server daemon. " + rm -f /var/lock/aprsd + killall -q -INT aprsd +} Property changes on: packages/net/aprsd/files/aprsd.init ___________________________________________________________________ Added: svn:executable + * Index: packages/net/aprsd/files/aprsd.config =================================================================== --- packages/net/aprsd/files/aprsd.config (revision 0) +++ packages/net/aprsd/files/aprsd.config (revision 0) @@ -0,0 +1,11 @@ +AX_APRSD="FALSE" +AX_APRSD_PORT="aprs" +AX_APRSD_SERVERCALL="nocall" +AX_APRSD_MYCALL="nocall" +AX_APRSD_MYLOCATION="West of the Rockies" +AX_APRSD_MYEMAIL="noc...@nowhere" +AX_APRSD_PATH="aprs v wide2-1" +AX_APRSD_RFALLOW="yes" +AX_APRSD_APRSPASS="yes" +AX_APRSD_PASS="12345" +AX_APRSD_SERVER="first.aprs.net 23 server-sr" Index: packages/net/aprsd/files/aprsd.conf =================================================================== --- packages/net/aprsd/files/aprsd.conf (revision 0) +++ packages/net/aprsd/files/aprsd.conf (revision 0) @@ -0,0 +1,270 @@ +# $Id: aprsd.conf,v 1.14 2003/05/29 03:09:39 kg4ijb Exp $ +#aprsd 2.2.5 server configuration file +# +#This file is read ONCE on server startup. +#You must restart aprsd for changes to take effect. +#eg: /etc/rc.d/init.d/aprsd.init stop (then start) +# +#Lines starting with "#" are comments and are ignored +#Key words such as "mycall" and "maxusers" are NOT case sensitive. +#MyCall is the same as mycall. +# +#*** There is no error checking so be careful ****** +# +# +#Servercall is the ax25 source call used in packets +#sent from the server to Internet users. (9 chars max) +#Note: Does not go out on the air. +# +servercall testCHO +# +#MyCall will be over written by the MYCALL string in INIT.TNC +#if "tncport" has been defined. +# +MyCall nocall +# +MyLocation West of the Rockies +# +#This email address will be sent in replies to ?IGATE? queries. +# Also, it will be on the status web pages on port 14501. +MyEmail [email protected] +# +#Set MaxUsers and MaxLoad to values that your Internet connection can support. +# Set MaxLoad in bytes/sec. If either value is exceeded +# new users can't connect. +MaxUsers 3 +MaxLoad 100000000000 +# +# +#Define beacon text. The server will supply the ax25 path header. +#The first number after "NetBeacon" is the time interval in minutes. +#Comment out the line or set time interval to 0 to disable beacon. +#The rest of the line can be any aprs protocol conforming packet. +# +#NetBeacon 10 !3802.21NI07830.61W& APRS Server +# +#Define the TNC beacon. The TNC will supply the ax25 path header. +#It's optional and you may use the TNC BTEXT in the INIT.TNC file instead. +# +#TncBeacon 10 !3802.21N/07830.61W& Linux APRS Server +# +# +#Send 2 extra message acks is addition to each received ack to TNC +#Range 0 to 9 +ackrepeats 2 +# +#Send extra acks at 5 second intervals +#Range 1 to 30 seconds +ackrepeattime 5 +# +#Set history list items to expire in 35 minutes +expire 15 +# +#Define the TNC serial port and baud rate. +#Note: This device must have write permissions +#If undefined all TNC related functions are disabled. +#Permissable baud rates are 1200,2400,4800,9600 and 19200. +# +#tncport /dev/ttyS0 +tncport radio +#tncbaud 1200 + +#Define the path for transmitted packets +#This is only used when using Linux sockets, not the TNC. +#For the TNC, set this in INIT.TNC. Note the format is +#slightly different to the TNC command. +aprspath APRS v WIDE + +# +# Allow Internet to RF message passing. +rf-allow yes +# +#Set filterNoGate "yes" to block RFONLY and NOGATE packets +filterNoGate yes +# +#Set history-allow to NO if you do not want users to get history dumps. +history-allow no +# +#TRACE causes the server to append its own callsign to the end +#of the AX25 path of every packet processed. +#To conserver bandwidth this should only be +#done for short periods to track sources of problems. +# +Trace no +# +#Set this to 'yes' if you want to log ALL PACKETS heard on RF to /home/aprsd2/rf.log +#If 'no' then only packets with your callsign will be logged. +logAllRF no +# +# Allow the insecure aprs passcodes to be used +# Note: "no" means all users need Linux user names and passwords +# and aprsd must be run as root for that to work. +aprsPass yes +# +#Set the minimum time between TNC transmit packets in milliseconds +TncPktSpacing 1500 +# +# Disallow packets transmitted from our own TNC from +# being igated back to the Internet after being digipeated. +igateMyCall no +# +#This determines if Mic-E packets are converted to classic APRS packets. +#Put 'no' unless you have a very good reason to do conversions. +#This option must also be enabled in the SOURCE CODE. To turn it on +#you must edit "constant.h" and change CONVERT_MIC_E from FALSE to TRUE. +#then recompile aprsd. +ConvertMicE no +# +# +#The PASS command. The callsign supplied in MyCall and this +# passcode allow you to send data to distant servers. +# PASS can be computed from MYCALL with the aprspass program. +# Note: This example is invalid. Use your passcode. +# +pass 12345 +# +#------------------------------- +#Server connection definitions +# +#usage: <Server> <host name> < host port> <TYPE-DIR> <optional OmniPort filter command> +# +#The TYPE-DIR field sets the connecton type and data flow. +# TYPE is either "SERVER" or "HUB" +# SERVER connections attempts to maintain a connection to the designated host +# HUB connections maintain a connection to only ONE hub and rotate to the next +# if the connectin fails. +# DIR is either "RO" or "SR" RO is Receive Only. SR is Send and Receive. +#Eamples: HUB-RO HUB-SR SERVER-RO SERVER-SR +# If you select -SR to send data you must also supply a passcode +# using the "PASS" command. See above. +# +#These commands are NOT case sensitive. +# ** Defaults to Server-RO if TYPE-DIR not specified. ** +# +# +#Example send-receive HUB connections +#Hub is like Server except only ONE hub connection is active at a time. +#If the hub connection fails the next hub is tried in rotation until one accepts a connection. +# +# NOTE: if you are using the OpenWRT aprsd package the startup scripts and web pages will +# capitalize the word Server. If you edit this file make sure the server entries you +# add do not capitalize the word 'server'. This will prevent the scripts from changing +# your new entries. +# +#server second.aprs.net 23 hub-sr +Server first.aprs.net 23 hub-sr +#server 128.143.202.191 23 hub-sr +#server third.aprs.net 23 hub-sr +#server rotate.aprs.net 23 hub-sr +# +# +#Example Receive-Only HUB connecton +#server first.aprs.net 23 hub-ro +# +#Example Send-Receive SERVER connection. The SERVER type maintains a connection to +#the specified server. No rotation. +#server first.aprs.net 23 server-sr +# +#Example of OmniPort connection to receive the local stream (tnc). +#Note: OmniPort is currently available only on aprsd 2.1.5 +# +#Server atlanta.aprs.net 14600 server-ro portfilter(local) +# +#Receive the full stream. +#server atlanta.aprs.net 14600 server-ro portfilter(full) +# +# +#These servers are provided as a reference. Some may no longer be active. +#You really only need the two or three HUB connections above unless +# you are doing something unusual. +# +#server second.aprs.net 1313 server-ro +#server third.aprs.net 1313 server-ro +#server socal-igate.aprs.claremont.edu 1313 server-ro +#server first.aprs.net 23 +#server atlanta.aprs.net 1313 server-ro +#server aprsdkw.dyndns.org 1313 +#server aprs.k9iu.ampr.org 1313 +#server atlanta.aprs.net 1313 +#server baltimore.aprs.net 1313 +#server calgary.aprs.net 1313 +#server concord.aprs.net 1313 +#server cosprings.aprs.net 1313 +#server dayton.aprs.net 14439 +#server elansing.aprs.net 1313 +#server gw.officine.it 1313 +#server hamgate.cs.usu.edu 1313 +#server kb2ear.aprs.net 1313 +#server kd6wxd.dynip.com 10148 +#server marconi.ece.cmu.edu 14579 +#server michigan.aprs.net 1313 +#server milwaukee.aprs.net 1313 +#server montreal.aprs.net 1313 +#server mulvey.dyndns.com 1313 +#server netherlands.aprs.net 1313 +#server newyork.aprs.net 1313 +#server ontario.aprs.net 1313 +#server orlando.aprs.net 1313 +#server radio.artsfac.csuohio.edu 1313 +#server radio-active.net.au 1313 +#server sandiego.aprs.net 1313 +#server santabarbara.aprs.net 1313 +#server saopaulo.aprs.net 1313 +#server swiss.aprs.net 14579 +#server temple.aprs.net 1313 +#server tucson.aprs.net 1313 +#server wv.aprs.net 1313 +#--------------------------------- +# +#Define server listen ports +#Read ports.html for more info. +# +rawtncport 14580 +localport 14579 +mainport 10151 +mainport-nh 10152 +linkport 1313 +msgport 1314 +udpport 1315 +sysopPort 14500 +httpport 14501 +ipwatchport 14502 +errorport 14503 +omniport 14600 +# +#define trusted users of the UDP port. +#usage: trust <ip address> <subnet mask> +#trust 208.148.145.151 +#trust 208.148.145.144 255.255.255.240 +# +#Selected call signs which are always gated to RF +#if they are not seen locally. All packets from +#these are gated in real time. Do not use unless +#you really need real time data. Consider posit2rf below. +#They are case sensitive! Use upper case. Up to 64 may be defined. +#As of version 2.1.5 the * wild card character is supported. +#All characters beyond the * are ignored. +#ie: WA4* would match ALL call signs beginning with "WA4" +# +gate2rf nocall* +#gate2rf W7LUS-14 +#gate2rf KG4IJB-5 +# +#Call signs of stations whose posits are gated +#to RF every 15 minutes. Only posit packets are +#gated. Posits are taken from the history list. +#They are case sensitive! Use upper case. +# +#posit2rf K4HG-8 +# +#Define a list of message destination call signs or aliases +#to gate to RF full time. Note: the CQGA example +#below is CQ GA (Georgia). Edit to suite your locale. +#Up to 64 of these may be defined. They are case sensitive. +# +#msgdest2rf +# +#end + + + Index: packages/net/aprsd/patches/100-debian_aprsd_2.2.5-13-5.patch =================================================================== --- packages/net/aprsd/patches/100-debian_aprsd_2.2.5-13-5.patch (revision 0) +++ packages/net/aprsd/patches/100-debian_aprsd_2.2.5-13-5.patch (revision 0) @@ -0,0 +1,935 @@ +--- aprsd-2.2.5-13.orig/debian/rules ++++ aprsd-2.2.5-13/debian/rules +@@ -0,0 +1,47 @@ ++#!/usr/bin/make -f ++ ++build: ++ dh_testdir ++ ./configure --prefix=/usr ++ $(MAKE) ++ touch build ++ ++clean: ++ dh_testdir ++ -rm -f build ++ [ ! -f Makefile ] || $(MAKE) distclean ++ -rm -f `find . -name "*~"` ++ dh_clean ++ ++binary-indep: build ++# nothing else to do ++ ++binary-arch: build ++ dh_clean ++ dh_installdirs ++ ++ cp src/aprsd debian/aprsd/usr/sbin ++ cp aprspass/aprspass debian/aprsd/usr/bin ++ cp admin/welcome.txt admin/aprsd.conf admin/INIT.TNC admin/RESTORE.TNC admin/user.deny debian/aprsd/etc/aprsd ++ ++ dh_installdocs ++ dh_installexamples admin/udp_example admin/chkaprsd ++ dh_installchangelogs ++ dh_installinit ++ dh_strip ++ dh_compress ++ dh_fixperms ++ dh_installdeb ++ dh_shlibdeps ++ dh_gencontrol ++ dh_makeshlibs ++ dh_md5sums ++ dh_builddeb ++ ++binary: binary-indep binary-arch ++ ++checkroot: ++ dh_testdir ++ dh_testroot ++ ++.PHONY: binary binary-arch binary-indep clean checkroot +--- aprsd-2.2.5-13.orig/debian/compat ++++ aprsd-2.2.5-13/debian/compat +@@ -0,0 +1 @@ ++4 +--- aprsd-2.2.5-13.orig/debian/control ++++ aprsd-2.2.5-13/debian/control +@@ -0,0 +1,18 @@ ++Source: aprsd ++Section: hamradio ++Priority: optional ++Maintainer: Debian Hamradio Maintainers <[email protected]> ++Uploaders: Jaime Robles <[email protected]>, Joop Stakenborg <[email protected]>, ++ Patrick Ouellette <[email protected]>, Hamish Moffatt <[email protected]> ++Standards-Version: 3.7.3 ++Build-Depends: libax25-dev, debhelper (>= 4) ++Homepage: http://sourceforge.net/projects/aprsd/ ++ ++Package: aprsd ++Architecture: any ++Depends: ${shlibs:Depends} ++Description: Internet Gateway for the Automatic Position Reporting System ++ aprsd is an internet to RF gateway (igate) for the APRS ++ Automatic Position Reporting System. It allows hams on the Internet ++ to send text messages to hams on RF, especially when linked to the ++ worldwide APRServe network (www.aprs.net). +--- aprsd-2.2.5-13.orig/debian/copyright ++++ aprsd-2.2.5-13/debian/copyright +@@ -0,0 +1,44 @@ ++ ++This is the Debian GNU/Linux package of aprsd. aprd was written ++originally by Dale Heatherington WA4DSY, <[email protected]> ++and is currently maintained by ++ ++ KG4IJB Chuck Byam <[email protected]> ++ N2YGK Alan Crosswell (original MIC-E code) ++ N5VFF Brian D Heaton <[email protected]> ++ VK3SB Hamish Moffatt <[email protected]> ++ ++The source code was obtained from http://sourceforge.net/projects/aprsd ++ ++The original copyright notice, from src/aprsd.cpp: ++ ++/* ++ * $Id: aprsd.cpp,v 1.72 2003/05/29 03:09:39 kg4ijb Exp $ ++ * ++ * aprsd, Automatic Packet Reporting System Daemon ++ * Copyright (C) 1997,2002 Dale A. Heatherington, WA4DSY ++ * Copyright (C) 2001-2002 aprsd Dev Team ++ * ++ * 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 2 ++ * 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, write to the Free Software Foundation, ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. ++ * ++ * Look at the README for more information on the program. ++ */ ++ ++ ++The Debian package of aprsd was created by Hamish Moffatt ++<[email protected]>. ++ ++A copy of the GNU General Public License is available as ++/usr/share/common-licenses/GPL in the Debian GNU/Linux distribution. +--- aprsd-2.2.5-13.orig/debian/postrm ++++ aprsd-2.2.5-13/debian/postrm +@@ -0,0 +1,10 @@ ++#! /bin/sh ++set -e ++ ++#DEBHELPER# ++ ++if [ "$1" = "purge" ]; then ++ if [ -d /var/log/aprsd ]; then ++ rm -r /var/log/aprsd ++ fi ++fi +--- aprsd-2.2.5-13.orig/debian/aprsd.docs ++++ aprsd-2.2.5-13/debian/aprsd.docs +@@ -0,0 +1,6 @@ ++AUTHORS ++README ++doc/aprsddoc.html ++doc/ports.html ++doc/qalgorithm.html ++doc/q.html +--- aprsd-2.2.5-13.orig/debian/aprsd.dirs ++++ aprsd-2.2.5-13/debian/aprsd.dirs +@@ -0,0 +1,6 @@ ++usr/sbin ++usr/bin ++etc/aprsd ++usr/share/doc/aprsd ++usr/share/doc/aprsd/examples ++var/log/aprsd +--- aprsd-2.2.5-13.orig/debian/aprsd.init ++++ aprsd-2.2.5-13/debian/aprsd.init +@@ -0,0 +1,44 @@ ++#!/bin/sh ++### BEGIN INIT INFO ++# Provides: aprsd ++# Required-Start: $remote_fs $syslog ++# Required-Stop: $remote_fs $syslog ++# Default-Start: 2 3 4 5 ++# Default-Stop: 0 1 6 ++# Short-Description: Start aprsd daemon. ++### END INIT INFO ++ ++PATH=/bin:/usr/bin:/sbin:/usr/sbin ++DAEMON=/usr/sbin/aprsd ++NAME=aprsd ++ ++test -f $DAEMON || exit 0 ++ ++case "$1" in ++ ++ start) ++ update-inetd --disable ftp ++ echo -n "Starting APRS gateway: " ++ start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid --exec $DAEMON -- -d ++ echo "$NAME." ++ ;; ++ ++ stop) ++ echo -n "Stopping APRS gateway: " ++ start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/$NAME.pid --exec $DAEMON ++ echo "$NAME." ++ ;; ++ ++ force-reload|restart) ++ $0 stop ++ $0 start ++ ;; ++ ++ *) ++ echo "Usage: /etc/init.d/$NAME {start|stop|restart}" ++ exit 1 ++ ;; ++ ++esac ++ ++exit 0 +--- aprsd-2.2.5-13.orig/debian/changelog ++++ aprsd-2.2.5-13/debian/changelog +@@ -0,0 +1,140 @@ ++aprsd (1:2.2.5-13-5) unstable; urgency=low ++ ++ * Patch for munging packets with non-print chars. Thanks Kevin, N8VNR. ++ Closes: #242497. ++ * Confirm NMU, FTBFS with GCC 4.3: missing #includes. Closes: #456059. ++ * Confirm NMU, LSB formatted dependency info in init.d script. ++ Closes: #469217. ++ * Fix http server output by using VALIGN="MIDDLE" instead of ++ VALIGN="CENTER". Thanks Jari, OH2LNA. Closes: #277788. ++ * Remove logfiles when purging the package. Closes: #319725. ++ * Fix count of connected users, thanks Iain, g7iii. ++ Closes: #356237. ++ * Patch by Iain to allow a JavAPRS filter to be specified when it ++ connects to servers/hubs/igates. Closes: #356081. ++ * Confirm NMU: FTBFS with G++ 4.1: extra qualifications. ++ Closes: #356110. ++ ++ -- Joop Stakenborg <[email protected]> Fri, 21 Mar 2008 13:02:55 +0100 ++ ++aprsd (1:2.2.5-13-4.1) unstable; urgency=low ++ ++ * Non-maintainer upload. ++ * Fix gcc-4.3 FTBFS, patch by KiBi (Closes: #456059) ++ * Add LSB init script header, patch by Petter Reinholdtsen (Closes: #469217) ++ ++ -- Marc 'HE' Brockschmidt <[email protected]> Sun, 16 Mar 2008 21:31:36 +0100 ++ ++aprsd (1:2.2.5-13-4) unstable; urgency=low ++ ++ * General cleanup ++ * Donate to debian-hams team. ++ * Fix FTBFS with g++ 4.3 (closes: #417092), thanks tbm. ++ ++ -- Hamish Moffatt <[email protected]> Thu, 18 Oct 2007 23:48:57 +1000 ++ ++aprsd (1:2.2.5-13-3.2) unstable; urgency=high ++ ++ * Non-maintainer upload. ++ * High urgency for RC bug fix. ++ * Fix FTBFS with linux-libc-dev with patch from Jose Luis Rivas Contreras ++ <[email protected]> (closes: #427265). ++ * Use make distclean instead of clean. ++ ++ -- Julien Cristau <[email protected]> Fri, 20 Jul 2007 15:21:22 +0200 ++ ++aprsd (1:2.2.5-13-3.1) unstable; urgency=low ++ ++ * NMU as part of the GCC 4.1 transition. ++ * Remove extra qualification from C++ header file (closes: #356110). ++ ++ -- Martin Michlmayr <[email protected]> Thu, 25 May 2006 18:22:50 +0200 ++ ++aprsd (1:2.2.5-13-3) unstable; urgency=low ++ ++ * Rebuild with g++ 4.0 ++ ++ -- Hamish Moffatt <[email protected]> Sun, 31 Jul 2005 08:30:17 +0000 ++ ++aprsd (1:2.2.5-13-2) unstable; urgency=low ++ ++ * Modify src/servers.cpp to compile with gcc-3.4 (closes: #268396) ++ Thanks to Andreas Jochens for the patch. ++ * Upgrade standards-revision to 3.6.1 ++ * Fix conflicting debhelper compat levels (debian/rules vs debian/compat) ++ ++ -- Hamish Moffatt <[email protected]> Mon, 9 May 2005 08:27:49 +1000 ++ ++aprsd (1:2.2.5-13-1) unstable; urgency=low ++ ++ * New upstream release ++ * Compiles with g++ 3.3 (closes: #195513) ++ ++ -- Hamish Moffatt <[email protected]> Fri, 20 Jun 2003 22:30:49 +1000 ++ ++aprsd (2.14.vk3sb.2-5) unstable; urgency=low ++ ++ * Fixed incorrect location of the configuration files ++ (/etc versus /etc/aprsd) ++ ++ -- Hamish Moffatt <[email protected]> Wed, 30 Jan 2002 23:49:41 +1100 ++ ++aprsd (2.14.vk3sb.2-4) unstable; urgency=low ++ ++ * Cleaned up lintian warnings ++ * Marked files in /etc/aprsd as conffiles (by upgrading ++ to DH_COMPAT=3) ++ ++ -- Hamish Moffatt <[email protected]> Wed, 30 Jan 2002 23:42:31 +1100 ++ ++aprsd (2.14.vk3sb.2-3) unstable; urgency=low ++ ++ * Fixed #includes in sockets.cpp due to changes in libax25-dev ++ (closes: #112671) ++ ++ -- Hamish Moffatt <[email protected]> Wed, 19 Sep 2001 00:00:32 +1000 ++ ++aprsd (2.14.vk3sb.2-2) unstable; urgency=low ++ ++ * Fixed missing #include in aprspass.cpp; thanks to Randolph ++ Chung for the patch (closes: #110180) ++ ++ -- Hamish Moffatt <[email protected]> Mon, 27 Aug 2001 08:11:07 +1000 ++ ++aprsd (2.14.vk3sb.2-1) unstable; urgency=low ++ ++ * New upstream release ++ ++ -- Hamish Moffatt <[email protected]> Thu, 28 Jun 2001 00:25:14 +1000 ++ ++aprsd (2.14.vk3sb.1-1) unstable; urgency=low ++ ++ * New upstream release ++ ++ -- Hamish Moffatt <[email protected]> Tue, 7 Nov 2000 18:14:33 +1100 ++ ++aprsd (2.13.vk3sb.1-2) unstable; urgency=low ++ ++ * Recompiled with correct version of libax25 (closes: #74192) ++ * Added debhelper to build-depends ++ ++ -- Hamish Moffatt <[email protected]> Sat, 7 Oct 2000 12:03:47 +1100 ++ ++aprsd (2.13.vk3sb.1-1) unstable; urgency=low ++ ++ * New upstream version ++ ++ -- Hamish Moffatt <[email protected]> Tue, 1 Aug 2000 22:10:12 +1000 ++ ++aprsd (2.10.vk3sb.5-2) unstable; urgency=low ++ ++ * Updated copyright file with upstream author information ++ ++ -- Hamish Moffatt <[email protected]> Sun, 16 Apr 2000 22:36:13 +1000 ++ ++aprsd (2.10.vk3sb.5-1) unstable; urgency=low ++ ++ * Initial upload ++ ++ -- Hamish Moffatt <[email protected]> Wed, 12 Apr 2000 23:16:09 +1000 ++ +--- aprsd-2.2.5-13.orig/patch ++++ aprsd-2.2.5-13/patch +@@ -0,0 +1,38 @@ ++diff -uprN aprsd-2.2.5-13/src/aprsd.cpp aprsd-2.2.5-13-iii/src/aprsd.cpp ++--- aprsd-2.2.5-13/src/aprsd.cpp 2006-02-28 16:11:08.456814872 +0000 +++++ aprsd-2.2.5-13-iii/src/aprsd.cpp 2006-03-09 15:55:54.583576320 +0000 ++@@ -395,6 +395,9 @@ int serverConfig(const string& cf) ++ if (nTokens >= 5) ++ cpIGATE[m].pass = strdup(token[4].c_str()); //Get Passcode ++ +++ if (nTokens >= 6) +++ cpIGATE[m].filter = strdup(token[5].c_str()); //Get Filter String +++ ++ /* If passcode is valid allow the this server to send data up stream */ ++ if ((validate(cpIGATE[m].user, cpIGATE[m].pass,APRSGROUP, APRS_PASS_ALLOW) == 0)){ ++ cpIGATE[m].mode = MODE_RECV_SEND; ++diff -uprN aprsd-2.2.5-13/src/servers.cpp aprsd-2.2.5-13-iii/src/servers.cpp ++--- aprsd-2.2.5-13/src/servers.cpp 2006-02-28 16:11:08.520805144 +0000 +++++ aprsd-2.2.5-13-iii/src/servers.cpp 2006-03-09 15:54:39.679963400 +0000 ++@@ -2715,6 +2715,8 @@ ConnectParams* getNextHub(ConnectParams* ++ << pcp->pass ++ << " vers " ++ << VERS +++ << " filter " +++ << pcp->filter ++ << "\r\n"; ++ ++ //Send logon string to IGATE or Hub ++diff -uprN aprsd-2.2.5-13/src/servers.h aprsd-2.2.5-13-iii/src/servers.h ++--- aprsd-2.2.5-13/src/servers.h 2003-05-29 04:09:39.000000000 +0100 +++++ aprsd-2.2.5-13-iii/src/servers.h 2006-03-09 15:54:39.685962488 +0000 ++@@ -71,6 +71,7 @@ struct ConnectParams { ++ string user; ++ //char* pass; ++ string pass; +++ string filter; ++ //char* remoteIgateInfo; ++ string remoteIgateInfo; ++ int nCmds; ++ ++ +--- aprsd-2.2.5-13.orig/src/ax25socket.cpp ++++ aprsd-2.2.5-13/src/ax25socket.cpp +@@ -231,12 +231,16 @@ + //--------------------------------------------------------------------- + // fmt converts a received packet into a TNC message string + +-void fmt(const unsigned char *buf, int len, unsigned char **outbuf) ++void fmt(unsigned char const *buf, int len, unsigned char **outbuf) ++//void fmt(const unsigned char *buf, int len, char **outbuf) + { + static unsigned char buf1[1000]; + char from[10], to[10], digis[100]; + int i, hadlast, l; + char tmp[15]; ++ char prebuf[1000]; ++ ++ prebuf[0] = '\0'; + + *buf1 = '\0'; + *outbuf = buf1; +@@ -286,16 +290,29 @@ + } + + // No rewriting for mic-e frames because aprsd does this later +- sprintf ((char*)buf1, "%s>%s%s:", from, to, digis); +- l = strlen ((char*)buf1); +- for (i = 0; i < len; i++, l++) { +- buf1[l] = (isprint (buf[i])) ? buf[i] : ' '; // keep it clean ++ sprintf ((char*)prebuf, "%s>%s%s:", from, to, digis); ++ l = strlen ((char*)prebuf); ++ for (i = 0; i < len; i++) { ++ if (buf[i] == 0x00) ++ /* we don't like nulls so we just throw the packet away */ ++ return; ++ else if (buf[i] == 0x0a || buf[i] == 0x0d) ++ /* truncate the packet at the first CR or LF */ ++ break; ++ else { ++ /* let everything else pass */ ++ prebuf[l] = buf[i]; ++ l++; ++ } + } + +- buf1[l++] = 0x0d; +- buf1[l++] = 0x0a; ++ prebuf[l++] = 0x0d; ++ prebuf[l++] = 0x0a; ++ prebuf[l] = '\0'; ++ ++ strncpy((char *)buf1, prebuf, 999); ++ buf1[999] = '\0'; + +- buf1[l] = '\0'; + return; + } + +--- aprsd-2.2.5-13.orig/src/aprsd.cpp ++++ aprsd-2.2.5-13/src/aprsd.cpp +@@ -59,7 +59,6 @@ + + #ifdef linux + #include <linux/kernel.h> +-#include <linux/sys.h> + #endif + #include <sys/resource.h> + +@@ -88,6 +87,8 @@ + #include "servers.h" + #include "exceptionguard.h" + ++#include <cstring> ++ + using namespace aprsd; + using namespace std; + +@@ -97,9 +98,10 @@ + string szAprsPath; + int msgsn; + +-const string HOMEDIR("/home/aprsd2"); +-const string CONFPATH(""); ++const string HOMEDIR("/var/log/aprsd"); ++const string CONFPATH("/etc/aprsd/"); + const string CONFFILE("aprsd.conf"); ++const string LOGPATH("/var/log/aprsd/"); + const string MAINLOG("aprsd.log"); + const string STSMLOG("thirdparty.log"); + const string RFLOG("rf.log"); +@@ -123,17 +125,15 @@ + timespec ts; + + cout << "\nBeginning shutdown..." << endl; +- WriteLog(string("Server Shutdown"), MAINLOG); ++ WriteLog(string("Server Shutdown"), LOGPATH + MAINLOG); + tcsetattr(fileno(stdin),TCSANOW,&initial_settings); //restore terminal mode + +- string outFile = CONFPATH; +- outFile += SAVE_HISTORY; +- int n = SaveHistory(outFile); ++ int n = SaveHistory(LOGPATH + SAVE_HISTORY); + + cout << "Saved " + << n + << " history items in " +- << outFile ++ << LOGPATH + SAVE_HISTORY + << endl; + + string ShutDown = szServerCall; +@@ -396,6 +396,9 @@ + if (nTokens >= 5) + cpIGATE[m].pass = strdup(token[4].c_str()); //Get Passcode + ++ if (nTokens >= 6) ++ cpIGATE[m].filter = strdup(token[5].c_str()); //Get Filter String ++ + /* If passcode is valid allow the this server to send data up stream */ + if ((validate(cpIGATE[m].user, cpIGATE[m].pass,APRSGROUP, APRS_PASS_ALLOW) == 0)){ + cpIGATE[m].mode = MODE_RECV_SEND; +@@ -977,9 +980,7 @@ + + //fdump = fopen("dump.txt","w+"); //debug + +- string histFile = CONFPATH; +- histFile += SAVE_HISTORY; +- ReadHistory(histFile); ++ ReadHistory(LOGPATH + SAVE_HISTORY); + + string sConfFile = CONFPATH; + sConfFile += CONFFILE; //default server configuration file +@@ -1049,7 +1050,7 @@ + + serverInit(); //Initialize Server - start threads + +- WriteLog(string("Server Start"), MAINLOG); ++ WriteLog(string("Server Start"), LOGPATH + MAINLOG); + cout << "Server Started" << endl; + + Time = time(NULL); +--- aprsd-2.2.5-13.orig/src/osdep.h ++++ aprsd-2.2.5-13/src/osdep.h +@@ -50,6 +50,8 @@ + #endif // !defined(HAVE_LIBPTHREAD) && defined(HAVE_LIBDCE) && + // defined(HAVE_LIBCMA) + ++#include <cstring> ++ + #ifndef __GLIBC__ + extern int h_errno; + #endif // __GLIBC__ +--- aprsd-2.2.5-13.orig/src/servers.cpp ++++ aprsd-2.2.5-13/src/servers.cpp +@@ -46,7 +46,6 @@ + + #ifdef linux + #include <linux/kernel.h> +-#include <linux/sys.h> + #endif + #include <sys/resource.h> + +@@ -449,7 +448,7 @@ + if (cpIGATE[i].RemoteSocket == 0) { + string warn = string(cpIGATE[i].RemoteName) + ": Error: No socket number specified for Server/Hub\n"; + cerr << warn ; +- WriteLog(warn, string(MAINLOG)); ++ WriteLog(warn, string(LOGPATH + MAINLOG)); + } else { + if (!firstHub) { + if ((rc = pthread_create(&cpIGATE[i].tid, NULL,TCPConnectThread,&cpIGATE[i])) == 0) +@@ -503,7 +502,7 @@ + + for (int i = 0; i < nIGATES; i++) + if (!cpIGATE[i].connected) +- count--; ++ count++; + + + return count; +@@ -653,7 +652,7 @@ + } + + if ((p->aprsType == APRSREJECT) && (!dup)) +- WriteLog(p->raw, string(REJECTLOG)); // Log rejected packets ++ WriteLog(p->raw, string(LOGPATH + REJECTLOG)); // Log rejected packets + + sendLock.get(); + addDelLock.get(); +@@ -858,7 +857,7 @@ + #ifdef DEBUGTHIRDPARTY + if (abuff->aprsType == APRS3RDPARTY){ + string logEntry = abuff->call + ": " + *abuff; +- WriteLog(logEntry, DEBUGLOG); // DEBUG CODE ++ WriteLog(logEntry, LOGPATH + DEBUGLOG); // DEBUG CODE + } + #endif + if ((abuff->hasBeenIgated()) && (abuff->aprsType == APRS3RDPARTY)) +@@ -959,7 +958,7 @@ + + abuff->aprsType = APRSREJECT; //Looped packet, REJECT + string log_str = abuff->srcHeader + *abuff; +- WriteLog(log_str, LOOPLOG); //Write offending packet to loop.log ++ WriteLog(log_str, LOGPATH + LOOPLOG); //Write offending packet to loop.log + countLOOP++; + } // End loop detect #1 + +@@ -971,7 +970,7 @@ + if (rc != (unsigned)(abuff->pathSize - 1)){ + abuff->aprsType = APRSREJECT; //Looped packet, REJECT + string log_str = abuff->srcHeader + *abuff; +- WriteLog(log_str, LOOPLOG); //Write offending packet to loop.log ++ WriteLog(log_str, LOGPATH + LOOPLOG); //Write offending packet to loop.log + countLOOP++; + } + } // End loop detect #2 +@@ -1173,7 +1172,7 @@ + // << ": " + // << abuff->getChar(); + // Save the station-to-station message in the log +- WriteLog(szUserMsg, STSMLOG); ++ WriteLog(szUserMsg, LOGPATH + STSMLOG); + } + //WriteCom(rfbuf); // <- Send string out on RF via TNC + rfWrite(rfbuf); +@@ -1255,7 +1254,7 @@ + sprintf(timeStr, "%3d:%02d:%02d", iHour, iMinute, iSecond); + sLog << timeStr; // time already adds CFLF + +- WriteLog(sLog.str(), MAINLOG); ++ WriteLog(sLog.str(), LOGPATH + MAINLOG); + + /*{ + memset(infomsg, 0, MAX); +@@ -1463,7 +1462,7 @@ + /* << " " << aprsString::getObjCount() << "/" << ItemCount */ //Debug + //<< ends; + +- WriteLog(msg.str(), MAINLOG); ++ WriteLog(msg.str(), LOGPATH + MAINLOG); + } + + data = 1; //Set socket for non-blocking +@@ -1492,7 +1491,7 @@ + << " aborted during history dump on " + << serverport; + +- WriteLog(msg.str(), MAINLOG); ++ WriteLog(msg.str(), LOGPATH + MAINLOG); + endSession(session, szPeer, userCall, starttime); + } + +@@ -1517,7 +1516,7 @@ + << " aborted welcome msg on " + << serverport; + +- WriteLog(msg.str(), MAINLOG); ++ WriteLog(msg.str(), LOGPATH + MAINLOG); + delete pWelcome; + endSession(session, szPeer, userCall, starttime); + } +@@ -1528,10 +1527,10 @@ + if (sp == NULL) { + if (serverLoad_s < MaxLoad){ + rc = SendSessionStr(session,szErrorUsers); +- WriteLog(string("Error, too many users "), MAINLOG); ++ WriteLog(string("Error, too many users "), LOGPATH + MAINLOG); + } else { + rc = SendSessionStr(session,szErrorLoad); +- WriteLog(string("Error, max server load exceeded"), MAINLOG); ++ WriteLog(string("Error, max server load exceeded"), LOGPATH + MAINLOG); + } + + if (rc == -1) +@@ -1692,7 +1691,7 @@ + << " Exited TNC remote sysop mode." + << endl; + +- WriteLog(log.str(), MAINLOG); ++ WriteLog(log.str(), LOGPATH + MAINLOG); + } + tncMute = false; + TncSysopMode = false; +@@ -1855,7 +1854,7 @@ + << ends ; + + conQueue.write(cp,0); //cp deleted by queue reader +- WriteLog(cp,MAINLOG); ++ WriteLog(cp,LOGPATH + MAINLOG); + } + } + +@@ -1920,7 +1919,7 @@ + << " " << atemp.pgmVers + << " " << szUserStatus; + +- WriteLog(msg.str(), MAINLOG); ++ WriteLog(msg.str(), LOGPATH + MAINLOG); + } + + +@@ -2140,7 +2139,7 @@ + << ends ; + + conQueue.write(cp,0); //cp deleted by queue reader +- WriteLog(cp,MAINLOG); ++ WriteLog(cp,LOGPATH + MAINLOG); + } + } + +@@ -2161,7 +2160,7 @@ + << " Entered TNC remote sysop mode." + << endl; + +- WriteLog(log.str(), MAINLOG); ++ WriteLog(log.str(), LOGPATH + MAINLOG); + } else { + if ((rc = SendSessionStr(session,"\r\n550 Login failed, TNC is busy\r\n")) < 0) + endSession(session,szPeer,userCall,starttime); +@@ -2172,7 +2171,7 @@ + << " Login failed: TNC busy." + << endl; + +- WriteLog(log.str(), MAINLOG); ++ WriteLog(log.str(), LOGPATH + MAINLOG); + + State = BASE; + +@@ -2194,7 +2193,7 @@ + << " Login failed: Invalid user or password." + << endl; + +- WriteLog(log.str(), MAINLOG); ++ WriteLog(log.str(), LOGPATH + MAINLOG); + State = BASE; + + if (sp) { +@@ -2404,7 +2403,7 @@ + log << inet_ntoa(client.sin_addr) + << ": " << buf; + +- WriteLog(log.str(), UDPLOG); ++ WriteLog(log.str(), LOGPATH + UDPLOG); + + aprsString* abuff = new aprsString(buf, SRC_UDP, srcUDP, inet_ntoa(client.sin_addr), "UDP"); + +@@ -2621,7 +2620,7 @@ + memset(cp, 0, 256); + ostrstream msg(cp, 255); + msg << "Can't resolve igate host name: " << pcp->RemoteName << endl << ends; +- WriteLog(cp, MAINLOG); ++ WriteLog(cp, LOGPATH + MAINLOG); + conQueue.write(cp, 0); + } else + state = 1; +@@ -2653,7 +2652,7 @@ + os << "Connection attempt failed " << pcp->RemoteName + << " " << pcp->RemoteSocket; + +- WriteLog(os.str(), MAINLOG); ++ WriteLog(os.str(), LOGPATH + MAINLOG); + + { + char* cp = new char[256]; +@@ -2675,7 +2674,7 @@ + os << "Connected to " << pcp->RemoteName + << " " << pcp->RemoteSocket; + +- WriteLog(os.str(), MAINLOG); ++ WriteLog(os.str(), LOGPATH + MAINLOG); + + char* cp = new char[256]; + memset(cp, 0, 256); +@@ -2715,6 +2714,8 @@ + << pcp->pass + << " vers " + << VERS ++ << " filter " ++ << pcp->filter + << "\r\n"; + + //Send logon string to IGATE or Hub +@@ -2742,7 +2743,7 @@ + + if (sp == NULL){ + cerr << "Can't add Server or Hub to session list ."; +- WriteLog("Failed to add Server or Hub to session list", MAINLOG); ++ WriteLog("Failed to add Server or Hub to session list", LOGPATH + MAINLOG); + } else { + AddSessionInfo(clientSocket, "*", "To SERVER", -1, "*"); + } +@@ -2910,7 +2911,7 @@ + << " " << pcp->RemoteSocket + << ends; + +- WriteLog(szLog, MAINLOG); ++ WriteLog(szLog, LOGPATH + MAINLOG); + + { + char* cp = new char[256]; +@@ -3267,7 +3268,7 @@ + + //---------------------------------------------------------------------- + +-inline string convertUpTime(int dTime) ++string convertUpTime(int dTime) + { + std::ostringstream ostr; + int x; +--- aprsd-2.2.5-13.orig/src/aprsd.log ++++ aprsd-2.2.5-13/src/aprsd.log +@@ -0,0 +1,4 @@ ++Fri Jun 20 22:53:42 2003 Server Start ++Fri Jun 20 22:53:42 2003 Connected to aprs.net.au 10153 ++Fri Jun 20 22:53:43 2003 Disconnected aprs.net.au 10153 ++Fri Jun 20 22:54:02 2003 Server Shutdown +--- aprsd-2.2.5-13.orig/src/servers.h ++++ aprsd-2.2.5-13/src/servers.h +@@ -71,6 +71,7 @@ + string user; + //char* pass; + string pass; ++ string filter; + //char* remoteIgateInfo; + string remoteIgateInfo; + int nCmds; +--- aprsd-2.2.5-13.orig/src/utils.cpp ++++ aprsd-2.2.5-13/src/utils.cpp +@@ -316,8 +316,8 @@ + + } + catch(exception& error) { +- WriteLog(string("split function error"), ERRORLOG); +- WriteLog(s, ERRORLOG); ++ WriteLog(string("split function error"), LOGPATH + ERRORLOG); ++ WriteLog(s, LOGPATH + ERRORLOG); + return 0; + } + //if(sa[wordcount-1].length() == 0) wordcount--; +--- aprsd-2.2.5-13.orig/src/aprsd.h ++++ aprsd-2.2.5-13/src/aprsd.h +@@ -21,6 +21,7 @@ + + extern const std::string CONFPATH; + extern const std::string CONFFILE; ++extern const std::string LOGPATH; + extern const std::string MAINLOG; + extern const std::string STSMLOG; + extern const std::string RFLOG; +--- aprsd-2.2.5-13.orig/src/httpserver.cpp ++++ aprsd-2.2.5-13/src/httpserver.cpp +@@ -22,6 +22,7 @@ + * Look at the README for more information on the program. + */ + ++#include <cstdlib> + #include <sys/ioctl.h> + #include <sys/types.h> // send() + #include <sys/socket.h> // send() +@@ -319,7 +320,7 @@ + } // Token 1 is remote igate program name and token 2 is the version number. + } + +- igateinfo << "<TR VALIGN=\"CENTER\" BGCOLOR=" << bgcolor << "><TD>"; ++ igateinfo << "<TR VALIGN=\"MIDDLE\" BGCOLOR=" << bgcolor << "><TD>"; + + // See if this client/server supports a status page + if (isAPRSD(infoTokens[1]) || isJAVAAprsSrv(infoTokens[1])) +@@ -405,7 +406,7 @@ + + ostringstream userinfo; + +- userinfo << "<TR VALIGN=\"CENTER\" BGCOLOR=\"#C0C0C0\"> <TD>"; ++ userinfo << "<TR VALIGN=\"MIDDLE\" BGCOLOR=\"#C0C0C0\"> <TD>"; + + if (isAPRSD(TpgmVers) || isJAVAAprsSrv(TpgmVers)) + userinfo << "<A HREF=\"http://" +--- aprsd-2.2.5-13.orig/src/aprsString.cpp ++++ aprsd-2.2.5-13/src/aprsString.cpp +@@ -299,7 +299,7 @@ + << endl + << ends ; + +- WriteLog(errormsg,ERRORLOG); ++ WriteLog(errormsg,LOGPATH + ERRORLOG); + cerr << errormsg; + delete errormsg; + aprsType = APRSREJECT; +@@ -802,8 +802,8 @@ + rv = true; + }catch(exception& error) { + rv = false; +- WriteLog("AEA to TAPR conversion error",ERRORLOG); +- WriteLog(s.c_str(),ERRORLOG); ++ WriteLog("AEA to TAPR conversion error",LOGPATH + ERRORLOG); ++ WriteLog(s.c_str(),LOGPATH + ERRORLOG); + } + return rv; + } +@@ -1417,8 +1417,8 @@ + } + } catch(exception& error) { + rc = false; +- WriteLog("aprsString changePath error",ERRORLOG); +- WriteLog(oldPath,ERRORLOG); ++ WriteLog("aprsString changePath error",LOGPATH + ERRORLOG); ++ WriteLog(oldPath,LOGPATH + ERRORLOG); + } + return rc; + } +--- aprsd-2.2.5-13.orig/src/aprsString.h ++++ aprsd-2.2.5-13/src/aprsString.h +@@ -195,7 +195,7 @@ + void parseLogon(void); + bool parseCommand(void); + bool parsePortFilter(void); +- void aprsString::getMsgText(string& msg); ++ void getMsgText(string& msg); + void print(ostream& os); + string getAX25Source(void); + string getAX25Dest(void); +--- aprsd-2.2.5-13.orig/src/validate.cpp ++++ aprsd-2.2.5-13/src/validate.cpp +@@ -55,6 +55,8 @@ + + #include "validate.h" + ++#include <cstring> ++ + using namespace std; + + +--- aprsd-2.2.5-13.orig/admin/aprsd.conf ++++ aprsd-2.2.5-13/admin/aprsd.conf +@@ -66,7 +66,7 @@ + #Permissable baud rates are 1200,2400,4800,9600 and 19200. + # + #tncport /dev/ttyS0 +-tncport radio ++#tncport radio + #tncbaud 1200 + + #Define the path for transmitted packets +@@ -217,7 +217,7 @@ + rawtncport 14580 + localport 14579 + mainport 10151 +-mainport-nh 23 ++mainport-nh 10152 + linkport 1313 + msgport 1314 + udpport 1315 Index: packages/net/aprsd/Makefile =================================================================== --- packages/net/aprsd/Makefile (revision 0) +++ packages/net/aprsd/Makefile (revision 0) @@ -0,0 +1,55 @@ +# +# Copyright (C) 2009 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=aprsd +PKG_VERSION:=2.2.5-13 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION).orig.tar.gz +PKG_SOURCE_URL:=http://ftp.debian.org/debian/pool/main/a/aprsd/ +PKG_MD5SUM:=721967534a572cc7ae0914252349271d +PKG_CAT:=zcat +PKG_BUILD_DEPENDS:=libax25 + +include $(INCLUDE_DIR)/package.mk + +define Package/aprsd + SECTION:=net + CATEGORY:=Amateur Radio + TITLE:=AX.25 configuration tools + URL:=http://packages.debian.org/unstable/source/ax25-tools/ + DEPENDS:=libax25 +endef + +define Build/Configure +#Disable yamdrv hdlcutil and dmascc - not supported with this hardware + + $(call Build/Configure/Default) +endef + +define Package/aprsd/install + + $(INSTALL_DIR) $(1)/usr/bin + $(CP) $(PKG_BUILD_DIR)/src/aprsd $(1)/usr/bin/ ; \ + $(CP) $(PKG_BUILD_DIR)/aprspass/aprspass $(1)/usr/bin/ ; + $(INSTALL_DIR) $(1)/etc/aprsd + list='user.deny welcome.txt INIT.TNC RESTORE.TNC chkaprsd'; \ + for p in $$$$list; do \ + if test -f $(PKG_BUILD_DIR)/admin/$$$$p \ + ; then \ + $(CP) $(PKG_BUILD_DIR)/admin/$$$$p $(1)/etc/aprsd/ || exit 1; \ + else :; fi; \ + done + $(INSTALL_BIN) ./files/aprsd.config $(1)/etc/aprsd/aprsd.config + $(INSTALL_BIN) ./files/aprsd.conf $(1)/etc/aprsd/aprsd.conf + $(INSTALL_DIR) $(1)/etc/init.d + $(INSTALL_BIN) ./files/aprsd.init $(1)/etc/init.d/aprsd +endef + +$(eval $(call BuildPackage,aprsd)) Property changes on: packages/net/aprsd/Makefile ___________________________________________________________________ Added: svn:executable + * _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
