mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-04 20:06:43 +02:00
testing/qpage: new aport - Simple SNPP Client/Server
This commit is contained in:
parent
a0164a7362
commit
fc9682d362
47
testing/qpage/APKBUILD
Normal file
47
testing/qpage/APKBUILD
Normal file
@ -0,0 +1,47 @@
|
||||
# Contributor: Francesco Colista <francesco.colista@gmail.com>
|
||||
# Maintainer: Francesco Colista <francesco.colista@gmail.com>
|
||||
pkgname=qpage
|
||||
pkgver=3.3
|
||||
pkgrel=0
|
||||
pkgdesc="Sends messages to an alphanumeric pager via TAP protocol."
|
||||
url="http://www.qpage.org/"
|
||||
arch="all"
|
||||
license="Custom"
|
||||
depends=""
|
||||
depends_dev=
|
||||
makedepends="$depends_dev"
|
||||
install="$pkgname.pre-install $pkgname.post-install"
|
||||
source="saveas-http://archive.debian.org/debian/pool/non-free/q/$pkgname/"$pkgname"_3.3final.orig.tar.gz/$pkgname-$pkgver.tar.gz
|
||||
config.input
|
||||
qpage.initd
|
||||
qpage.patch
|
||||
"
|
||||
_builddir="$srcdir"/$pkgname-$pkgver
|
||||
prepare() {
|
||||
cd "$_builddir"
|
||||
for i in $source; do
|
||||
case $i in
|
||||
*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
build() {
|
||||
cd "$_builddir"
|
||||
cp -f "$srcdir"/config.input "$_builddir" || return 1
|
||||
./configure --prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--localstatedir=/var
|
||||
make || return 1
|
||||
}
|
||||
package() {
|
||||
mkdir -p "$pkgdir"/usr/bin
|
||||
mkdir -p "$pkgdir"/etc/qpage
|
||||
install -m755 "$_builddir"/$pkgname "$pkgdir"/usr/bin/"$pkgname"
|
||||
install -Dm644 "$_builddir"/example.cf "$pkgdir"/etc/qpage/qpage.conf.example
|
||||
}
|
||||
|
||||
|
||||
md5sums="eb98faaa51f89db68ecf7668f5294309 qpage-3.3.tar.gz
|
||||
3ac8c6e2aede9e195eba2555eb3b4645 config.input
|
||||
f439315da04ebdd1e1cc2840171d45d3 qpage.initd
|
||||
e8a4a6926973c940fe34dc6c4e892606 qpage.patch"
|
||||
83
testing/qpage/config.input
Normal file
83
testing/qpage/config.input
Normal file
@ -0,0 +1,83 @@
|
||||
#########################################################
|
||||
# #
|
||||
# Almost all of the QuickPage configuration options #
|
||||
# can be controlled at run-time by keywords in the #
|
||||
# configuration file. However, there is a small #
|
||||
# set of options that must be defined at compile #
|
||||
# time. #
|
||||
# #
|
||||
# Here are the compile-time configuration options. #
|
||||
# Edit these as appropriate for your environment. #
|
||||
# #
|
||||
# Note: This file is sourced by the configure script. #
|
||||
# Do not make any changes incompatible with /bin/sh. #
|
||||
# #
|
||||
#########################################################
|
||||
|
||||
|
||||
#
|
||||
# QPAGE_CONFIG defines the location of the configuration file.
|
||||
# See the QuickPage documentation for complete details about
|
||||
# the syntax of the configuration file.
|
||||
#
|
||||
QPAGE_CONFIG="/etc/qpage/qpage.cf"
|
||||
|
||||
|
||||
#
|
||||
# SNPP_SERVER defines the default name of the SNPP server.
|
||||
# The default is localhost. This is probably not appropriate
|
||||
# for most network configurations; change this to the machine
|
||||
# where you intend to run the QuickPage daemon. Multiple
|
||||
# hostnames can be specified by separating them with commas.
|
||||
#
|
||||
SNPP_SERVER="localhost"
|
||||
|
||||
|
||||
#
|
||||
# SNPP_SERVER_FILE defines a filename containing one or
|
||||
# more hostnames of SNPP servers. QuickPage clients
|
||||
# read this file (if it exists) to locate a server. All
|
||||
# servers listed in this file are assumed to have identical
|
||||
# copies of the configuration file. Only one filename
|
||||
# may be specified.
|
||||
#
|
||||
SNPP_SERVER_FILE="/etc/qpage/qpage.servers"
|
||||
|
||||
|
||||
#
|
||||
# DAEMON_USER specifies which user the QuickPage daemon
|
||||
# should run as after dropping root privileges. If a
|
||||
# userid or UID is specified and a password entry exists
|
||||
# for that user, QuickPage will assume all group privileges
|
||||
# assigned to that user.
|
||||
#
|
||||
DAEMON_USER="qpage"
|
||||
|
||||
|
||||
#
|
||||
# SYSLOG_FACILITY defines which syslog facility should be
|
||||
# used by QuickPage to log messages. See the syslog
|
||||
# documentation (i.e. "man syslog") for more information.
|
||||
#
|
||||
SYSLOG_FACILITY=LOG_DAEMON
|
||||
|
||||
|
||||
#
|
||||
# SENDMAIL_PATH defines where sendmail (or equivalent) is
|
||||
# located on your system. QuickPage uses sendmail to send
|
||||
# status messages about failed and/or high-priority pages.
|
||||
# Whatever you specify here will be invoked with exactly
|
||||
# three arguments:
|
||||
#
|
||||
# arg1: "-f"
|
||||
# arg2: "<>"
|
||||
# arg3: user@host
|
||||
#
|
||||
# The first two arguments tell sendmail to use a null return
|
||||
# path (see RFC1123 section 5.2.9) so that bogus e-mail
|
||||
# addresses will not annoy the postmaster.
|
||||
#
|
||||
# If you leave this variable commented out, "configure" will
|
||||
# attempt to locate the correct path for your system automatically.
|
||||
#
|
||||
#SENDMAIL_PATH=/usr/lib/sendmail
|
||||
25
testing/qpage/qpage.initd
Normal file
25
testing/qpage/qpage.initd
Normal file
@ -0,0 +1,25 @@
|
||||
#!/sbin/runscript
|
||||
#
|
||||
# Startup for QuickPage
|
||||
#
|
||||
|
||||
OPTS_ARGS="q10"
|
||||
|
||||
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
||||
|
||||
start() {
|
||||
ebegin "Starting QuickPage daemon"
|
||||
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec qpage -- ${OPTS_ARGS} >/dev/null
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping QuickPage daemon"
|
||||
|
||||
pid=`ps -e | grep qpage | awk '{print $1}'`
|
||||
if [ ! -z "$pid" ]; then
|
||||
kill $pid > /dev/null 2>&1
|
||||
fi
|
||||
eend $?
|
||||
}
|
||||
exit 0
|
||||
231
testing/qpage/qpage.patch
Normal file
231
testing/qpage/qpage.patch
Normal file
@ -0,0 +1,231 @@
|
||||
diff -crB a/CHANGES b/CHANGES
|
||||
*** a/CHANGES 1999-01-02 16:15:03.000000000 +1300
|
||||
--- b/CHANGES 2011-01-27 09:56:40.202300708 +1300
|
||||
***************
|
||||
*** 1,4 ****
|
||||
--- 1,15 ----
|
||||
+ Changes to QuickPage from v3.3 to v3.3.1-unleash
|
||||
+ ------------------------------------------------
|
||||
+ Patch by Michael Fincham <michael@unleash.co.nz>
|
||||
|
||||
+ - The new "-b" option has been added to specify a bind address
|
||||
+ for the qpage daemon.
|
||||
+
|
||||
+ - The default user the daemon runs as is now "qpage" instead
|
||||
+ of "nobody".
|
||||
+
|
||||
+ - To be honest, the "-b" option doesn't sanitise input very well
|
||||
+ so don't setuid root the qpage binary or anything dumb like that.
|
||||
|
||||
Changes to QuickPage from v3.2 to v3.3
|
||||
---------------------------------------
|
||||
diff -crB a/qpage.c b/qpage.c
|
||||
*** a/qpage.c 1999-05-09 09:47:23.000000000 +1200
|
||||
--- b/qpage.c 2011-01-21 14:50:55.995162759 +1300
|
||||
***************
|
||||
*** 17,22 ****
|
||||
--- 17,23 ----
|
||||
static char sccsid[] = "@(#)qpage.c 3.36 07/26/98 tomiii@qpage.org";
|
||||
#endif
|
||||
char *ConfigFile = NULL;
|
||||
+ char *BindAddress = NULL;
|
||||
int Debug = 0;
|
||||
int Interactive = FALSE;
|
||||
int Silent = FALSE;
|
||||
***************
|
||||
*** 29,35 ****
|
||||
do_version(void)
|
||||
{
|
||||
printf("\n");
|
||||
! printf("QuickPage v%s, Copyright 1995-98 by Thomas Dwyer III\n",
|
||||
VERSION);
|
||||
printf("\n");
|
||||
}
|
||||
--- 30,36 ----
|
||||
do_version(void)
|
||||
{
|
||||
printf("\n");
|
||||
! printf("QuickPage v%s, Copyright 1995-98 by Thomas Dwyer III. Modified for Unleash by Michael Fincham <michael@unleash.co.nz>.\n",
|
||||
VERSION);
|
||||
printf("\n");
|
||||
}
|
||||
***************
|
||||
*** 46,51 ****
|
||||
--- 47,55 ----
|
||||
printf("\n");
|
||||
printf("Options:\n");
|
||||
printf(" -a [+]hhmm send the page at the specified time\n");
|
||||
+ #ifndef CLIENT_ONLY
|
||||
+ printf(" -b address bind only to this address (default: 0.0.0.0)\n");
|
||||
+ #endif
|
||||
printf(" -c coverage coverage area (service name) for pager\n");
|
||||
printf(" -C config use an alternate configuration file\n");
|
||||
printf(" -d debug mode\n");
|
||||
***************
|
||||
*** 339,345 ****
|
||||
|
||||
(void)memset((char *)&p, 0, sizeof(p));
|
||||
|
||||
! while ((c = getopt(argc, argv, "a:c:C:df:hil:mp:P:q:Qs:t:v")) != -1) {
|
||||
switch (c) {
|
||||
case 'a':
|
||||
case 't':
|
||||
--- 343,349 ----
|
||||
|
||||
(void)memset((char *)&p, 0, sizeof(p));
|
||||
|
||||
! while ((c = getopt(argc, argv, "a:b:c:C:df:hil:mp:P:q:Qs:t:v")) != -1) {
|
||||
switch (c) {
|
||||
case 'a':
|
||||
case 't':
|
||||
***************
|
||||
*** 353,358 ****
|
||||
--- 357,367 ----
|
||||
needpager = TRUE;
|
||||
break;
|
||||
|
||||
+ #ifndef CLIENT_ONLY
|
||||
+ case 'b':
|
||||
+ BindAddress = strdup(optarg);
|
||||
+ break;
|
||||
+ #endif
|
||||
case 'c':
|
||||
my_free(coverage);
|
||||
coverage = strdup(optarg);
|
||||
***************
|
||||
*** 503,509 ****
|
||||
if (optind < argc)
|
||||
port = atoi(argv[optind]);
|
||||
|
||||
! (void)become_daemon(sleeptime, port);
|
||||
|
||||
/* NOT REACHED */
|
||||
return(-1);
|
||||
--- 512,518 ----
|
||||
if (optind < argc)
|
||||
port = atoi(argv[optind]);
|
||||
|
||||
! (void)become_daemon(sleeptime, port, BindAddress);
|
||||
|
||||
/* NOT REACHED */
|
||||
return(-1);
|
||||
diff -crB a/qpage.h b/qpage.h
|
||||
*** a/qpage.h 1998-10-26 08:55:02.000000000 +1300
|
||||
--- b/qpage.h 2011-01-21 14:51:22.682302352 +1300
|
||||
***************
|
||||
*** 26,32 ****
|
||||
#define fprintf (void)fprintf
|
||||
#endif
|
||||
|
||||
! #define VERSION "3.3"
|
||||
#define COMMENTS_ANYWHERE
|
||||
|
||||
#ifndef QPAGE_CONFIG
|
||||
--- 26,32 ----
|
||||
#define fprintf (void)fprintf
|
||||
#endif
|
||||
|
||||
! #define VERSION "3.3.1-unleash"
|
||||
#define COMMENTS_ANYWHERE
|
||||
|
||||
#ifndef QPAGE_CONFIG
|
||||
***************
|
||||
*** 51,57 ****
|
||||
#endif
|
||||
|
||||
#ifndef DAEMON_USER
|
||||
! #define DAEMON_USER "nobody"
|
||||
#endif
|
||||
|
||||
#define SNPP_SVC_NAME "snpp"
|
||||
--- 51,57 ----
|
||||
#endif
|
||||
|
||||
#ifndef DAEMON_USER
|
||||
! #define DAEMON_USER "qpage"
|
||||
#endif
|
||||
|
||||
#define SNPP_SVC_NAME "snpp"
|
||||
***************
|
||||
*** 278,284 ****
|
||||
extern void qpage_log(int pri, char *fmt, ...);
|
||||
extern time_t snpptime(char *arg);
|
||||
extern time_t parse_time(char *str);
|
||||
! extern int become_daemon(int sleeptime, short port);
|
||||
extern int submit_page(PAGE *p, char *server);
|
||||
extern int lock_file(int fd, int mode, int block);
|
||||
extern int lock_queue(void);
|
||||
--- 278,284 ----
|
||||
extern void qpage_log(int pri, char *fmt, ...);
|
||||
extern time_t snpptime(char *arg);
|
||||
extern time_t parse_time(char *str);
|
||||
! extern int become_daemon(int sleeptime, short port, char *BindAddress);
|
||||
extern int submit_page(PAGE *p, char *server);
|
||||
extern int lock_file(int fd, int mode, int block);
|
||||
extern int lock_queue(void);
|
||||
diff -crB a/qpage.man b/qpage.man
|
||||
*** a/qpage.man 1999-05-09 10:07:31.000000000 +1200
|
||||
--- b/qpage.man 2011-01-27 09:51:44.894302942 +1300
|
||||
***************
|
||||
*** 34,39 ****
|
||||
--- 34,42 ----
|
||||
] [
|
||||
.BI \-C " config
|
||||
]
|
||||
+ ] [
|
||||
+ .BI \-b " address
|
||||
+ ]
|
||||
.BI \-q " interval
|
||||
.SH DESCRIPTION
|
||||
.B QuickPage
|
||||
***************
|
||||
*** 91,96 ****
|
||||
--- 94,104 ----
|
||||
century. Otherwise assume the specified time is in the current
|
||||
century.
|
||||
.TP
|
||||
+ .BI \-b
|
||||
+ Specify an address for the qpage daemon to bind to. The default is
|
||||
+ to bind to INETADDR_ANY and listen on all interfaces (the old
|
||||
+ behaviour)
|
||||
+ .TP
|
||||
.BI \-c
|
||||
Use a different coverage area or paging service. This option is
|
||||
only useful if the recipient has more than one pager and/or more
|
||||
diff -crB a/srvrsnpp.c b/srvrsnpp.c
|
||||
*** a/srvrsnpp.c 1998-10-26 08:55:05.000000000 +1300
|
||||
--- b/srvrsnpp.c 2011-01-21 14:49:17.647300794 +1300
|
||||
***************
|
||||
*** 1156,1162 ****
|
||||
** -1 on error, otherwise never
|
||||
*/
|
||||
int
|
||||
! become_daemon(int sleeptime, short port)
|
||||
{
|
||||
struct sockaddr_in addr;
|
||||
struct servent *svc;
|
||||
--- 1156,1162 ----
|
||||
** -1 on error, otherwise never
|
||||
*/
|
||||
int
|
||||
! become_daemon(int sleeptime, short port, char *BindAddress)
|
||||
{
|
||||
struct sockaddr_in addr;
|
||||
struct servent *svc;
|
||||
***************
|
||||
*** 1221,1227 ****
|
||||
len = sizeof(on);
|
||||
(void)setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *)&on, len);
|
||||
|
||||
! addr.sin_addr.s_addr = INADDR_ANY;
|
||||
addr.sin_family = AF_INET;
|
||||
addr.sin_port = port;
|
||||
|
||||
--- 1221,1227 ----
|
||||
len = sizeof(on);
|
||||
(void)setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *)&on, len);
|
||||
|
||||
! addr.sin_addr.s_addr = BindAddress != NULL ? inet_addr(BindAddress) : INADDR_ANY;
|
||||
addr.sin_family = AF_INET;
|
||||
addr.sin_port = port;
|
||||
|
||||
6
testing/qpage/qpage.post-install
Normal file
6
testing/qpage/qpage.post-install
Normal file
@ -0,0 +1,6 @@
|
||||
#!/bin/sh
|
||||
|
||||
mkdir -p /var/spool/qpage 2>/dev/null
|
||||
chown -R qpage:qpage /var/spool/qpage 2>/dev/null
|
||||
exit 0
|
||||
|
||||
3
testing/qpage/qpage.pre-install
Normal file
3
testing/qpage/qpage.pre-install
Normal file
@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
|
||||
adduser -h /var/lib/qpage -s /bin/false -G qpage -D qpage 2>/dev/null || true
|
||||
Loading…
x
Reference in New Issue
Block a user