wanpipe/rpmspec/wanpipe-util.spec

362 lines
11 KiB
RPMSpec
Raw Normal View History

2021-12-29 16:59:00 +00:00
%define KERNEL_VERSION %{?kern_ver}
2021-12-29 16:56:27 +00:00
%define WANPIPE_VER wanpipe-util
%define name %{WANPIPE_VER}
2021-12-29 17:30:35 +00:00
%define version 3.5.1
2021-12-29 17:02:04 +00:00
%define release 0
2021-12-29 16:56:27 +00:00
%define serial 1
2021-12-29 17:14:12 +00:00
%define ETC_DIR /etc
%define USR_DIR /usr
2021-12-29 16:56:27 +00:00
%define UTILS_DIR /usr/sbin
%define PROD_HOME /etc/wanpipe
%define WANCFG_LIBS_DIR /etc/wanpipe/wancfg/lib
%define API_DIR /etc/wanpipe/api
%define DOCS_DIR /usr/share/doc/wanpipe
%define KERNEL_VERSION /
%define PROD wanrouter
%define META_CONF %{PROD_HOME}/%{PROD}.rc
%define WAN_INTR_DIR %{PROD_HOME}/interfaces
%define WAN_CONF_DIR %{PROD_HOME}
%define PROD_CONF %{WAN_CONF_DIR}/wanpipe1.conf
2021-12-29 16:59:00 +00:00
%define LIBSANGOMA_CONF /etc/ld.so.conf.d/libsangoma.so.conf
#%define START_SCRIPT S07%{PROD}
#%define OLD_START S07router
#%define STOP_SCRIPT K10%{PROD}
#%define OLD_STOP K10router
2021-12-29 16:56:27 +00:00
%define ROUTER_RC %{META_CONF}
%define WANROUTER_STARTUP_SMPL %{PROD_HOME}/samples/wanrouter
%define WANROUTER_STARTUP /usr/sbin/wanrouter
%define NEW_IF_TYPE NO
%define PROD_INIT /usr/sbin/
Summary: Sangoma WANPIPE package for Linux. It contains WANPIPE configuration/startup/debugging utilities for Linux. This package requires the wanpipe-mod package!
Name: %{name}
Version: %{version}
Release: %{release}
2021-12-29 16:59:00 +00:00
License: GPL
Group: Applications/Communications
2021-12-29 16:56:27 +00:00
#Source0: %{WANPIPE_VER}.tgz
#Source1: bridge-utils-0.9.1.tar.gz
Vendor: Sangoma Technologies Inc.
Url: www.sangoma.com
Group: Networking/WAN
%description
2021-12-29 16:59:00 +00:00
Linux Utilities for Sangoma AFT-Series of cards and S-Series of Cards. Wanpipe supports the following protocols, TDM Voice, Frame Relay, X25(API), PPP,Multi-link PPP, CHDLC and custom API development for WAN and Voice.
Install Wanpipe-modules package for wanpipe drivers.
2021-12-29 16:56:27 +00:00
%prep
%build
%install
%clean
%postun
echo "Uninstalling WANPIPE..."
# ----------------------------------------------------------------------------
# Remove initialization scripts.
# ----------------------------------------------------------------------------
remove_init()
{
2021-12-29 16:59:00 +00:00
chkconfig --del wanrouter
rm /etc/init.d/wanrouter
}
remove_init_old()
{
2021-12-29 16:56:27 +00:00
# Examine system bootstrap files.
if [ -d /etc/rc0.d ]
then RC_DIR=/etc
elif [ -d /etc/rc.d/rc0.d ]
then RC_DIR=/etc/rc.d
else return 0
fi
echo "Removing start-up scripts..."
rm -f $RC_DIR/rc2.d/%{START_SCRIPT}
rm -f $RC_DIR/rc3.d/%{START_SCRIPT}
rm -f $RC_DIR/rc4.d/%{START_SCRIPT}
rm -f $RC_DIR/rc5.d/%{START_SCRIPT}
rm -f $RC_DIR/rc0.d/%{STOP_SCRIPT}
rm -f $RC_DIR/rc1.d/%{STOP_SCRIPT}
rm -f $RC_DIR/rc6.d/%{STOP_SCRIPT}
rm -f $RC_DIR/init.d/%{PROD}
return 0
}
#remove start-on-boot scripts
remove_init;
%post
# ----------------------------------------------------------------------------
# Create meta-configuration file.
# ----------------------------------------------------------------------------
create_metaconf()
{
local response
# Select directory for the log file.
if [ -d /var/log ]; then
LOG_FILE=/var/log/%{PROD}
elif [ -d /var/adm wanpipe1]; then
LOG_FILE=/var/adm/%{PROD}
else
LOG_FILE=%{PROD_HOME}/%{PROD}.log
fi
# Select directory for the lock file.
if [ -d /var/lock/subsys ]; then
LOCK_FILE=/var/lock/subsys/%{PROD}
elif [ -d /var/lock ]; then
LOCK_FILE=/var/lock/%{PROD}
else
LOCK_FILE=$PROD_HOME/%{PROD}.lck
fi
cat > %{META_CONF} << ENDOFTEXT
#!/bin/sh
2021-12-29 16:59:00 +00:00
# wanrouter.rc WAN router meta-configuration file.
2021-12-29 16:56:27 +00:00
#
2021-12-29 16:59:00 +00:00
# This file defines variables used by the router shell scripts
# and should be located in /etc/wanpipe directory. These are:
2021-12-29 16:56:27 +00:00
#
2021-12-29 16:59:00 +00:00
# ROUTER_BOOT = Boot flag (YES/NO).
# WAN_CONF_DIR = Where to put wanpipe config files.
# WAN_INTR_DIR = Where to put wanpipe interface files.
# WAN_LOG = Where to put start-up log file.
# WAN_LOCK = File used as a lock.
# WAN_LOCK_DIR =
# WAN_IP_FORWARD = Enable IP Forwarding on startup.
# WAN_DEVICES = Name of the wanpipe devices to be
2021-12-29 16:56:27 +00:00
# loaded on 'wanrouter start'
# (ex: "wanpipe1 wanpipe2 wanpipe3...")
#
# Note: Name of wanpipe devices correspond
# to the configuration files in
# WANPIPE_CONF_DIR directory:
2021-12-29 16:59:00 +00:00
# (ex. /etc/wanpipe/wanpipe1.conf )
2021-12-29 16:56:27 +00:00
#
# Note: This file is 'executed' by the shell script, so
2021-12-29 16:59:00 +00:00
# the usual shell syntax must be observed.
2021-12-29 16:56:27 +00:00
ENDOFTEXT
2021-12-29 16:59:00 +00:00
echo "ROUTER_BOOT=YES" >> %{META_CONF}
echo "WAN_CONF_DIR=%{WAN_CONF_DIR}" >> %{META_CONF}
echo "WAN_INTR_DIR=%{WAN_INTR_DIR}" >> %{META_CONF}
echo "WAN_LOG=$LOG_FILE" >> %{META_CONF}
echo "WAN_LOCK=$LOCK_FILE" >> %{META_CONF}
echo "WAN_LOCK_DIR=/var/lock/subsys" >> %{META_CONF}
echo "WAN_IP_FORWARD=NO" >> %{META_CONF}
echo "NEW_IF_TYPE=NO" >> %{META_CONF}
echo "WAN_LIB_DIR=/etc/wanpipe/lib" >> %{META_CONF}
echo "WAN_ADSL_LIST=/etc/wanpipe/wan_adsl.list" >> %{META_CONF}
echo "WAN_ANNEXG_LOAD=NO" >> %{META_CONF}
echo "WAN_LIP_LOAD=YES" >> %{META_CONF}
echo "WAN_DYN_WANCONFIG=NO" >> %{META_CONF}
echo "WAN_SCRIPTS_DIR=/etc/wanpipe/scripts" >> %{META_CONF}
echo "WAN_FIRMWARE_DIR=/etc/wanpipe/firmware" >> %{META_CONF}
echo "WAN_DEVICES_REV_STOP_ORDER=YES" >> %{META_CONF}
echo "WAN_DEVICES=\"wanpipe1\"" >> %{META_CONF}
2021-12-29 16:56:27 +00:00
return 0
}
# ----------------------------------------------------------------------------
# Install initialization scripts.
# ----------------------------------------------------------------------------
install_init()
2021-12-29 16:59:00 +00:00
{
ln -s /usr/sbin/wanrouter /etc/init.d/wanrouter
2021-12-29 17:18:25 +00:00
chkconfig --add wanrouter
chkconfig wanrouter on
2021-12-29 16:59:00 +00:00
}
2021-12-29 17:18:25 +00:00
# ----------------------------------------------------------------------------
# Enable MGD and BRI log for A500-BRI
# ----------------------------------------------------------------------------
enable_smg_log()
{
if [ -e /etc/syslog.conf ]; then
eval "grep "local2.*sangoma_mgd" /etc/syslog.conf" > /dev/null 2> /dev/null
if [ $? -ne 0 ]; then
eval "grep "local2" /etc/syslog.conf " > /dev/null 2> /dev/null
if [ $? -eq 0 ]; then
echo
echo "Warning : local2 is already used in syslog.conf"
echo
fi
echo -e "\n# Sangoma Media Gateway log" > tmp.$$
echo -e "local2.* /var/log/sangoma_mgd.log\n" >> tmp.$$
eval "cat /etc/syslog.conf tmp.$$ > tmp1.$$"
\cp -f tmp1.$$ /etc/syslog.conf
eval "/etc/init.d/syslog restart" > /dev/null 2>/dev/null
fi
eval "grep "local3.*sangoma_bri" /etc/syslog.conf" > /dev/null 2> /dev/null
if [ $? -ne 0 ]; then
eval "grep "local3" /etc/syslog.conf " > /dev/null 2> /dev/null
if [ $? -eq 0 ]; then
echo
echo "Warning : local3 is already used in syslog.conf"
echo
fi
echo -e "\n# Sangoma BRI Daemon (smg_bri) log" > tmp.$$
echo -e "local3.* /var/log/sangoma_bri.log\n" >> tmp.$$
eval "cat /etc/syslog.conf tmp.$$ > tmp1.$$"
\cp -f tmp1.$$ /etc/syslog.conf
eval "/etc/init.d/syslog restart" > /dev/null 2> /dev/null
fi
else
echo "Warning: /etc/syslog.conf not found"
fi
if [ -f tmp1.$$ ]; then
rm -f tmp1.$$
fi
if [ -f tmp.$$ ]; then
rm -f tmp.$$
fi
echo "Ok"
echo
echo "Checking logrotate ..."
eval "type logrotate" > /dev/null 2> /dev/null
if [ $? -ne 0 ]; then
echo "Error: Logrotate not found !"
fi
if [ -e /etc/logrotate.d ] && [ -e /etc/logrotate.d/syslog ]; then
eval "grep sangoma_mgd /etc/logrotate.d/syslog" > /dev/null 2> /dev/null
if [ $? -ne 0 ]; then
eval "sed -e 's/messages/messages \/var\/log\/sangoma_mgd.log/' /etc/logrotate.d/syslog >tmp2.$$ 2>/dev/null"
eval "cp -f tmp2.$$ /etc/logrotate.d/syslog"
eval "logrotate -f /etc/logrotate.d/syslog"
if [ $? -ne 0 ]; then
echo "Error: logrotate restart failed!";
exit 1;
fi
echo "Logrotate is being changed and restarted!"
else
echo "Logrotate is configured!"
fi
else
echo "Error: Logrotate dir: /etc/logrotate.d not found !"
fi
echo "OK."
echo
}
2021-12-29 16:59:00 +00:00
install_init_old()
2021-12-29 16:56:27 +00:00
{
#Examine system bootstrap files.
if [ -d /etc/rc0.d ]
then RC_DIR=/etc
elif [ -d /etc/rc.d/rc0.d ]
then RC_DIR=/etc/rc.d
else return 0
fi
PROD_INIT=%{PROD_INIT}%{PROD}
# Install start scripts.
[ -d $RC_DIR/rc2.d ] && ln -sf $PROD_INIT $RC_DIR/rc2.d/%{START_SCRIPT}
[ -d $RC_DIR/rc3.d ] && ln -sf $PROD_INIT $RC_DIR/rc3.d/%{START_SCRIPT}
[ -d $RC_DIR/rc5.d ] && ln -sf $PROD_INIT $RC_DIR/rc4.d/%{START_SCRIPT}
[ -d $RC_DIR/rc5.d ] && ln -sf $PROD_INIT $RC_DIR/rc5.d/%{START_SCRIPT}
# Install stop scripts.
[ -d $RC_DIR/rc0.d ] && ln -sf $PROD_INIT $RC_DIR/rc0.d/%{STOP_SCRIPT}
[ -d $RC_DIR/rc1.d ] && ln -sf $PROD_INIT $RC_DIR/rc1.d/%{STOP_SCRIPT}
[ -d $RC_DIR/rc6.d ] && ln -sf $PROD_INIT $RC_DIR/rc6.d/%{STOP_SCRIPT}
[ -d $RC_DIR/init.d ] && ln -sf $PROD_INIT $RC_DIR/init.d/%{PROD}
return 0
}
if [ -d "/usr/local/wanrouter" ]; then
cat <<EOM
*** Previous installation of Wanpipe detected.
Please use /usr/sbin/wancfg instead of /usr/local/wanrouter/wancfg
for Wanpipe configuration.
The new configuration files will be saved in /etc/wanpipe
and /etc/wanpipe/interfaces directories.
EOM
else
echo 'no old wanpipe detected' > /dev/null
fi
cat <<EOM
*** Sangoma Wanpipe was successfully installed.
Run wancfg command to configure wanpipe.
Refer to %{DOCS_DIR} for documentation.
EOM
#install start-on-boot scripts
install_init;
#create wanrouter.rc in /etc/wanpipe
#create_metaconf;
2021-12-29 17:18:25 +00:00
enable_smg_log;
2021-12-29 16:56:27 +00:00
2021-12-29 16:59:00 +00:00
2021-12-29 16:56:27 +00:00
%files
2021-12-29 17:14:12 +00:00
%{ETC_DIR}
%{USR_DIR}
2021-12-29 16:59:00 +00:00
%{UTILS_DIR}
2021-12-29 16:56:27 +00:00
%{PROD_HOME}
%{DOCS_DIR}
%changelog
2021-12-29 17:25:26 +00:00
2021-12-29 17:30:35 +00:00
* Thu May 07 2009 Nenad Corbic <ncorbic@sangoma.com> - Beta - 3.5.1
===================================================================
2021-12-29 17:29:53 +00:00
2021-12-29 17:30:35 +00:00
- New Hardware Support
B700 - Mixed BRI & Analog
B600 - Analog 4FXO/FXS
USB-FXO - USB Fxo device
2021-12-29 17:29:53 +00:00
2021-12-29 17:30:35 +00:00
- New Unified API for Linux & Windows
API Library - libsangoma
Unified Voice API for Linux & Windows
2021-12-29 17:21:41 +00:00
2021-12-29 17:30:35 +00:00
-More Info
http://wiki.sangoma.com/wanpipe-api
2021-12-29 17:20:09 +00:00
2021-12-29 17:30:35 +00:00
- SPAN mode API
- CHAN mode API
2021-12-29 17:20:09 +00:00
2021-12-29 17:30:35 +00:00
- Unified driver for Linux & Windows
- Updated BRI Stack and Support
- New BRI A500 & B700 firmware that fixes PCI parity errors.
On some systems A500 & B700 cards can generate parity errors.
2021-12-29 17:20:09 +00:00
2021-12-29 17:30:35 +00:00
- FreeSwitch Tested
- Update for 2.6.26 kernel
2021-12-29 17:19:39 +00:00
2021-12-29 17:30:35 +00:00
Note this is a major release. It has been fully regression
tested and stress tested in the lab and in the field.
2021-12-29 17:20:09 +00:00
2021-12-29 17:16:17 +00:00
2021-12-29 16:59:00 +00:00
- - END -