update to beta1, drop fix now included upstream

This commit is contained in:
Sebastian Paul 2026-02-06 14:15:03 +01:00
parent e44a239e2b
commit 9ad408f4c0
3 changed files with 16 additions and 87 deletions

View file

@ -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

View file

@ -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 \

View file

@ -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@<card-number>"
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 ""
}