diff options
-rw-r--r-- | audio/jack2/README | 6 | ||||
-rw-r--r-- | audio/jack2/jack2.SlackBuild | 27 | ||||
-rw-r--r-- | audio/jack2/jack2.info | 12 | ||||
-rw-r--r-- | audio/jack2/setcap.sh | 16 |
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 |