summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ham/svxlink/README6
-rw-r--r--ham/svxlink/doinst.sh12
-rw-r--r--ham/svxlink/slack-desc2
-rw-r--r--ham/svxlink/svxlink.SlackBuild42
-rw-r--r--ham/svxlink/svxlink.info8
5 files changed, 52 insertions, 18 deletions
diff --git a/ham/svxlink/README b/ham/svxlink/README
index 8c8e7edb52..f79f7e4541 100644
--- a/ham/svxlink/README
+++ b/ham/svxlink/README
@@ -6,6 +6,9 @@ controller or to operate on a simplex channel. The voice services are
loaded into the core as plugins.
The project also includes an EchoLink client GUI application (Qtel).
+You can build only svxlink server (no Qtel) by passing QTEL=NO to the script:
+QTEL=NO ./svxlink.SlackBuild
+
Opus is an optional (and, based on the audio quality, suggested!)
dependency available from slackbuilds.org
@@ -13,3 +16,6 @@ You need a "svxlink" user and group:
# groupadd -g 286 svxlink
# useradd -u 286 -g svxlink -d /var/spool/svxlink -s /bin/false svxlink
+
+The recommended uid/gid is 286, you may want to check
+http://slackbuilds.org/uid_gid.txt for other recommendations.
diff --git a/ham/svxlink/doinst.sh b/ham/svxlink/doinst.sh
index 7e5752f26e..af104cbcf1 100644
--- a/ham/svxlink/doinst.sh
+++ b/ham/svxlink/doinst.sh
@@ -11,6 +11,17 @@ config() {
# Otherwise, we leave the .new copy for the admin to consider...
}
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ -e $OLD ]; then
+ cp -a $OLD ${NEW}.incoming
+ cat $NEW > ${NEW}.incoming
+ mv ${NEW}.incoming $NEW
+ fi
+ config $NEW
+}
+
config etc/svxlink/svxlink.conf.new
config etc/svxlink/remotetrx.conf.new
config etc/svxlink/TclVoiceMail.conf.new
@@ -22,3 +33,4 @@ config etc/svxlink/svxlink.d/ModuleParrot.conf.new
config etc/svxlink/svxlink.d/ModulePropagationMonitor.conf.new
config etc/svxlink/svxlink.d/ModuleSelCallEnc.conf.new
config etc/svxlink/svxlink.d/ModuleTclVoiceMail.conf.new
+preserve_perms etc/rc.d/rc.svxlink.new
diff --git a/ham/svxlink/slack-desc b/ham/svxlink/slack-desc
index 11cee74f12..8ab3d77307 100644
--- a/ham/svxlink/slack-desc
+++ b/ham/svxlink/slack-desc
@@ -16,4 +16,4 @@ svxlink: controller or to operate on a simplex channel. The voice services are
svxlink: loaded into the core as plugins.
svxlink: The project also includes an EchoLink client GUI application (Qtel).
svxlink:
-svxlink:
+svxlink: Home page: http://www.svxlink.org
diff --git a/ham/svxlink/svxlink.SlackBuild b/ham/svxlink/svxlink.SlackBuild
index 06977f204e..bcbf1e594e 100644
--- a/ham/svxlink/svxlink.SlackBuild
+++ b/ham/svxlink/svxlink.SlackBuild
@@ -1,8 +1,8 @@
#!/bin/sh
-# Slackware build script for svxlink
+# Slackware build script for svxlink - cmake version
-# Copyright 2014, Gustavo Conrad (gus3963 gmail)
+# Copyright 2014-2015, Gustavo Conrad (gus3963 gmail)
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=svxlink
-VERSION=${VERSION:-13.12.1}
+VERSION=${VERSION:-14.08}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -54,6 +54,11 @@ else
LIBDIRSUFFIX=""
fi
+# get runtime configuration
+# invoke script as: QTEL=NO ./svxlink.SlackBuild
+# to compile svxlink only, no Qtel
+BUILD_QTEL="-DUSE_QT=YES" && [[ "$QTEL" = "NO" ]] && BUILD_QTEL="-DUSE_QT=NO"
+
set -e
# Bail if user or group isn't valid on your system
@@ -88,6 +93,7 @@ cd $TMP
rm -rf $PRGNAM-$VERSION
tar xvf $CWD/$VERSION.tar.gz
+
# the Github download unpacks several directories, we only need src
# We will download a larger file but I think it's better this way
# to make the overall process simpler
@@ -100,30 +106,40 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
-make
-make install DESTDIR=$PKG
+# Compile the application and install it into the $PKG directory
+mkdir -p build
+cd build
+ cmake \
+ $BUILD_QTEL \
+ -DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DSYSCONF_INSTALL_DIR=/etc \
+ -DLOCAL_STATE_DIR=/var \
+ -DLIB_SUFFIX=${LIBDIRSUFFIX} \
+ ..
+ make
+ make install DESTDIR=$PKG
+
+cd ..
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-# Move man pages
-mkdir -p $PKG/usr/man
-mv $PKG/usr/share/man/* $PKG/usr/man
-rmdir $PKG/usr/share/man
-
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
-cp -a COPYRIGHT doc/README* doc/*.txt doc/qteluserdocs/*.pdf doc/qteluserdocs/*.tex \
+cp -a ../COPYRIGHT doc/README* doc/*.txt doc/qteluserdocs/*.pdf doc/qteluserdocs/*.tex \
$PKG/usr/doc/$PRGNAM-$VERSION
-
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+rm -rf $PKG/usr/share/man
+
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cat $CWD/doinst.sh > $PKG/install/doinst.sh
# Copy init script
mkdir -p $PKG/etc/rc.d
-cat $CWD/rc.svxlink > $PKG/etc/rc.d/rc.svxlink
+cat $CWD/rc.svxlink > $PKG/etc/rc.d/rc.svxlink.new
# Rename .conf to .new to be processed by doinst.sh
rename .conf .conf.new $PKG/etc/svxlink/*
diff --git a/ham/svxlink/svxlink.info b/ham/svxlink/svxlink.info
index 52c6ce2998..a1acb272d8 100644
--- a/ham/svxlink/svxlink.info
+++ b/ham/svxlink/svxlink.info
@@ -1,8 +1,8 @@
PRGNAM="svxlink"
-VERSION="13.12.1"
-HOMEPAGE="http://sm0svx.github.io/svxlink/"
-DOWNLOAD="https://github.com/sm0svx/svxlink/archive/13.12.1.tar.gz"
-MD5SUM="9e665711d3eb0e7a8cd3a0c63324de07"
+VERSION="14.08"
+HOMEPAGE="http://www.svxlink.org/"
+DOWNLOAD="https://github.com/sm0svx/svxlink/archive/14.08.tar.gz"
+MD5SUM="7d2b3107a62a6c47c47d076cd9feabaf"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="libsigc++ gsm speex"