diff options
-rw-r--r-- | ham/svxlink/README | 6 | ||||
-rw-r--r-- | ham/svxlink/doinst.sh | 12 | ||||
-rw-r--r-- | ham/svxlink/slack-desc | 2 | ||||
-rw-r--r-- | ham/svxlink/svxlink.SlackBuild | 42 | ||||
-rw-r--r-- | ham/svxlink/svxlink.info | 8 |
5 files changed, 52 insertions, 18 deletions
diff --git a/ham/svxlink/README b/ham/svxlink/README index 8c8e7edb527b..f79f7e454101 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 7e5752f26e3c..af104cbcf1ab 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 11cee74f12b8..8ab3d77307a5 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 06977f204e91..bcbf1e594e8c 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 52c6ce29984c..a1acb272d884 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" |