From 9ad408f4c0f164d355e6c72b2802fa863969e201 Mon Sep 17 00:00:00 2001 From: Sebastian Paul Date: Fri, 6 Feb 2026 14:15:03 +0100 Subject: [PATCH] update to beta1, drop fix now included upstream --- .SRCINFO | 10 ++----- PKGBUILD | 32 +++------------------ fcp-support-git.install | 61 ++++++----------------------------------- 3 files changed, 16 insertions(+), 87 deletions(-) diff --git a/.SRCINFO b/.SRCINFO index f188088f9528..2253242d7f4c 100644 --- a/.SRCINFO +++ b/.SRCINFO @@ -1,14 +1,11 @@ pkgbase = fcp-support-git pkgdesc = Focusrite Control Protocol user-space driver for Scarlett 4th Gen big models (16i16, 18i16, 18i20) - pkgver = r21.edae476 - pkgrel = 2 + pkgver = r44.cc8061d + pkgrel = 1 url = https://github.com/geoffreybennett/fcp-support install = fcp-support-git.install arch = x86_64 - arch = i686 license = GPL-3.0-or-later - makedepends = gcc - makedepends = make makedepends = git makedepends = pkgconf depends = alsa-lib @@ -16,13 +13,12 @@ pkgbase = fcp-support-git depends = openssl depends = zlib depends = json-c - depends = libcap optdepends = alsa-scarlett-gui-git: GUI for controlling Focusrite interfaces optdepends = scarlett4-firmware: Firmware files for Scarlett 4th Gen (required for first-time setup) optdepends = polkit: Passwordless start/stop of fcp-server for audio group users (recommended) provides = fcp-support conflicts = fcp-support - source = git+https://github.com/geoffreybennett/fcp-support.git + source = git+https://github.com/geoffreybennett/fcp-support.git#branch=1.0beta sha256sums = SKIP pkgname = fcp-support-git diff --git a/PKGBUILD b/PKGBUILD index d6ffcdb44f50..7de37a38debf 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -2,10 +2,10 @@ pkgname=fcp-support-git _pkgname=fcp-support -pkgver=r21.edae476 -pkgrel=2 +pkgver=r44.cc8061d +pkgrel=1 pkgdesc="Focusrite Control Protocol user-space driver for Scarlett 4th Gen big models (16i16, 18i16, 18i20)" -arch=('x86_64' 'i686') +arch=('x86_64') url="https://github.com/geoffreybennett/fcp-support" license=('GPL-3.0-or-later') depends=( @@ -14,11 +14,8 @@ depends=( 'openssl' 'zlib' 'json-c' - 'libcap' ) makedepends=( - 'gcc' - 'make' 'git' 'pkgconf' ) @@ -30,7 +27,7 @@ optdepends=( provides=("$_pkgname") conflicts=("$_pkgname") install=$pkgname.install -source=("git+${url}.git") +source=("git+${url}.git#branch=1.0beta") sha256sums=('SKIP') pkgver() { @@ -56,27 +53,6 @@ package() { PREFIX=/usr \ DESTDIR="$pkgdir" - # Install systemd drop-in to fix StopWhenUnneeded issue - # The upstream service has StopWhenUnneeded=yes which causes systemd to stop - # the service immediately after udev starts it, breaking reliability - install -Dm644 /dev/stdin \ - "$pkgdir/usr/lib/systemd/system/fcp-server@.service.d/arch.conf" <<'EOF' -# Arch Linux package override for fcp-server auto-stop issue -# See: https://github.com/geoffreybennett/fcp-support/issues -# -# The upstream service has StopWhenUnneeded=yes which conflicts with udev-based -# activation. This override keeps the service running while the device is connected. - -[Unit] -# Keep service running while device is connected -StopWhenUnneeded=no - -[Service] -# Always restart on crash -Restart=always -RestartSec=3 -EOF - # Install polkit rule to allow audio group to manage fcp-server without password # This enables alsa-scarlett-gui to auto-start the server seamlessly install -Dm644 /dev/stdin \ diff --git a/fcp-support-git.install b/fcp-support-git.install index 41e032ec243d..44cd0e961084 100644 --- a/fcp-support-git.install +++ b/fcp-support-git.install @@ -1,82 +1,39 @@ post_install() { - echo "" - echo "==> Setting required capabilities on fcp-server..." - if ! setcap cap_sys_rawio+ep /usr/bin/fcp-server; then - echo "WARNING: Failed to set capabilities on fcp-server" - echo " You may need to run manually: sudo setcap cap_sys_rawio+ep /usr/bin/fcp-server" - fi - - echo "==> Reloading systemd and udev..." systemctl daemon-reload udevadm control --reload-rules - echo "==> Triggering udev for Focusrite devices..." - udevadm trigger --action=add --subsystem-match=sound --attr-match=idVendor=1235 - echo "" - echo "==> Focusrite Control Protocol Server installed successfully!" + echo "==> Focusrite Control Protocol Server installed." echo "" - echo " The fcp-server service should now be running if your" - echo " Focusrite Scarlett 4th Gen device (16i16/18i16/18i20) is connected." + echo " If your Scarlett 4th Gen device (16i16/18i16/18i20) is connected," + echo " trigger udev to start the service:" + echo " udevadm trigger --action=add --subsystem-match=sound --attr-match=idVendor=1235" echo "" - echo "==> Check service status:" - echo " systemctl status fcp-server@*" + echo " Make sure you are in the 'audio' group:" + echo " sudo usermod -a -G audio \$USER" + echo " (then log out and back in)" echo "" - echo "==> Make sure you are in the 'audio' group:" - echo " sudo usermod -a -G audio \$USER" - echo " (then log out and back in)" - echo "" - echo "==> Package improvements in this version:" - echo " - Fixed auto-stop issue (service now stays running reliably)" - echo " - Added polkit rule (audio group can manage fcp-server without password)" - echo " - Better integration with alsa-scarlett-gui" - echo "" - echo "==> Install 'alsa-scarlett-gui-git' for a graphical interface:" - echo " yay -S alsa-scarlett-gui-git" - echo "" - echo "==> Firmware update required on first use:" - echo " Install scarlett4-firmware package and run:" - echo " fcp-tool --update-firmware" - echo "" - echo "==> Troubleshooting:" - echo " If service doesn't auto-start, manually start it:" - echo " systemctl start fcp-server@" - echo " (find card number with: aplay -l)" + echo " Check service status: systemctl status fcp-server@*" echo " View logs: journalctl -u 'fcp-server@*' -f" echo "" } post_upgrade() { - echo "" - echo "==> Setting required capabilities on fcp-server..." - if ! setcap cap_sys_rawio+ep /usr/bin/fcp-server; then - echo "WARNING: Failed to set capabilities on fcp-server" - echo " You may need to run manually: sudo setcap cap_sys_rawio+ep /usr/bin/fcp-server" - fi - - echo "==> Reloading systemd and udev..." systemctl daemon-reload udevadm control --reload-rules - echo "==> Restarting fcp-server..." - systemctl restart fcp-server@* 2>/dev/null || true - echo "" - echo "==> fcp-support has been updated" + echo "==> fcp-support has been updated." echo " Service status: systemctl status fcp-server@*" echo "" } pre_remove() { - echo "" echo "==> Stopping fcp-server services..." systemctl stop 'fcp-server@*' 2>/dev/null || true } post_remove() { - echo "" - echo "==> Reloading systemd and udev..." systemctl daemon-reload udevadm control --reload-rules - echo "" }