summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--audio/jack2/README6
-rw-r--r--audio/jack2/jack2.SlackBuild27
-rw-r--r--audio/jack2/jack2.info12
-rw-r--r--audio/jack2/setcap.sh16
4 files changed, 46 insertions, 15 deletions
diff --git a/audio/jack2/README b/audio/jack2/README
index 3f78bb9b4a..a1d6a74719 100644
--- a/audio/jack2/README
+++ b/audio/jack2/README
@@ -33,4 +33,10 @@ loaded system.
NOTE: this package conflicts with jack-audio-connection-kit: install
only one of the two.
+This package uses POSIX filesystem capabilities to execute with
+elevated privileges (required for realtime audio processing). This
+may be considered a security/stability risk. Please read
+http://www.slackbuilds.org/caps/ for more information. To disable
+capabilities, pass SETCAP=no to the script.
+
Optional dependencies are celt, libffado and opus.
diff --git a/audio/jack2/jack2.SlackBuild b/audio/jack2/jack2.SlackBuild
index 35c16237cf..6bffbe08a6 100644
--- a/audio/jack2/jack2.SlackBuild
+++ b/audio/jack2/jack2.SlackBuild
@@ -3,6 +3,7 @@
# Slackware build script for jack2
# Copyright (c) 2014, Yanes Checcacci Balod <yanes@pobox.com>, Brazil
+# Copyright 2014 Marcel Saegebarth <marc@mos6581.de>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,9 +24,9 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=jack2
-PRGNAMFILE=jack # aux var for opening file! Don't change it !!!
-VERSION=${VERSION:-1.9.9.5}
-BUILD=${BUILD:-2}
+SRCNAM=jack
+VERSION=${VERSION:-1.9.10}
+BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@@ -60,15 +61,15 @@ set -e
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
-rm -rf $PRGNAMFILE-$VERSION
-tar xvjf $CWD/$PRGNAMFILE-$VERSION.tar.bz2
-cd $PRGNAMFILE-$VERSION
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.bz2
+cd $SRCNAM-$VERSION
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
- -o -perm 511 \) -exec chmod 755 {} \; -o \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
- -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -81,7 +82,7 @@ CXXFLAGS="$SLKCFLAGS" \
--dbus \
--alsa
-./waf build
+./waf build
./waf install --destdir=$PKG
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
@@ -96,5 +97,13 @@ cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
+# Only add capability stuff if not disabled:
+if [ "${SETCAP:-yes}" = "yes" ]; then
+ cat $CWD/setcap.sh >> $PKG/install/doinst.sh
+ # Only allow execution by audio group
+ chown root:audio $PKG/usr/bin/*
+ chmod 0750 $PKG/usr/bin/*
+fi
+
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/audio/jack2/jack2.info b/audio/jack2/jack2.info
index 2825c390b6..f699491952 100644
--- a/audio/jack2/jack2.info
+++ b/audio/jack2/jack2.info
@@ -1,10 +1,10 @@
PRGNAM="jack2"
-VERSION="1.9.9.5"
-HOMEPAGE="http://jackaudio.org"
-DOWNLOAD="https://dl.dropboxusercontent.com/u/28869550/jack-1.9.9.5.tar.bz2"
-MD5SUM="6c9de6b89db9d7076fa2ce222816cf4c"
+VERSION="1.9.10"
+HOMEPAGE="http://jackaudio.org/"
+DOWNLOAD="https://s.mos6581.de/static/slackbuilds.org/sources/jack-1.9.10.tar.bz2"
+MD5SUM="4aeb91d7ae0cabce98355436ed4f217a"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES=""
-MAINTAINER="Yanes Checcacci Balod"
-EMAIL="yanes@pobox.com"
+MAINTAINER="Marcel Saegebarth"
+EMAIL="marc@mos6581.de"
diff --git a/audio/jack2/setcap.sh b/audio/jack2/setcap.sh
new file mode 100644
index 0000000000..44b2180da1
--- /dev/null
+++ b/audio/jack2/setcap.sh
@@ -0,0 +1,16 @@
+if [ -x /sbin/setcap ]; then
+ bin=(
+ jackdbus jack_monitor_client jack_latent_client alsa_in
+ jack_midi_dump jack_showtime jack_rec jack_zombie jack_midiseq
+ jack_thru jack_connect jack_net_slave jack_bufsize jack_wait
+ alsa_out jack_freewheel jack_server_control jack_net_master
+ jack_evmon jack_metro jack_simple_client jack_lsp jack_cpu
+ jack_control jack_netsource jack_test jack_session_notify
+ jack_alias jack_iodelay jackd jack_simple_session_client
+ jack_midisine jack_unload jack_load jack_samplerate
+ jack_midi_latency_test jack_cpu_load jack_multiple_metro)
+
+ for i in ${bin[@]}; do
+ /sbin/setcap cap_ipc_lock,cap_sys_nice=ep usr/bin/$i
+ done
+fi