mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-28 00:24:18 +00:00
12fa95f2d6
This commit adds the following * the uucp user * options for HylaFAX server to control startup and modems * systemd services for HylaFAX server processes including faxgettys for modems * systemd services to maintain the HylaFAX spool area, including cleanup with faxcron and faxqclean * default configuration for all server processes for a minimal working configuration Some notes: * HylaFAX configuration cannot be initialized with faxsetup (as it would be common on other Linux distributions). The hylafaxplus package contains a template spool area. * Modems are controlled by faxgetty. Send-only configuration (modems controlled by faxq) is not supported by this configuration setup. * To enable the service, one or more modems must be defined with config.services.hylafax.modems . * Sending mail *should* work: HylaFAX will use whatever is in config.services.mail.sendmailSetuidWrapper.program unless overridden with the sendmailPath option. * The admin has to create a hosts.hfaxd file somewhere (e.g. in /etc) before enabling HylaFAX. This file controls access to the server (see hosts.hfaxd(5) ). Sadly, HylaFAX does not permit account-based access control as is accepts connections via TCP only. * Active fax polling should work; I can't test it. * Passive fax polling is not supported by HylaFAX. * Pager transmissions (with sendpage) are disabled by default. I have never tested or used these. * Incoming data/voice/"extern"al calls won't be handled by default. I have never tested or used these.
30 lines
697 B
Bash
Executable File
30 lines
697 B
Bash
Executable File
#! @shell@ -e
|
|
|
|
# skip this if there are no modems at all
|
|
if ! stat -t "@spoolAreaPath@"/etc/config.* >/dev/null 2>&1
|
|
then
|
|
exit 0
|
|
fi
|
|
|
|
echo "faxq started, waiting for modem(s) to initialize..."
|
|
|
|
for i in `seq @timeoutSec@0 -1 0` # gracefully timeout
|
|
do
|
|
sleep 0.1
|
|
# done if status files exist, but don't mention initialization
|
|
if \
|
|
stat -t "@spoolAreaPath@"/status/* >/dev/null 2>&1 \
|
|
&& \
|
|
! grep --silent --ignore-case 'initializing server' \
|
|
"@spoolAreaPath@"/status/*
|
|
then
|
|
echo "modem(s) apparently ready"
|
|
exit 0
|
|
fi
|
|
# if i reached 0, modems probably failed to initialize
|
|
if test $i -eq 0
|
|
then
|
|
echo "warning: modem initialization timed out"
|
|
fi
|
|
done
|