From 36c5309d88ff6f5a0601da4cb08b6ccb604efe03 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 26 Jul 2026 22:38:04 -0700 Subject: [PATCH] Restore the v4l2-relayd splashsrc patch clobbered by AUR sync Commit 7922065 added 0002-escape-optional-splashsrc-expansion.patch directly to the package dir, but the AUR sync bot regenerates the dir from AUR plus .omarchy/patches, so the next sync (f886efe) dropped the patch and reverted pkgrel to 2.1. That stale pkgrel then made the build server rebuild 0.2.0-2.1, whose filenames already exist in production, failing promotion. Restore the patch and pkgrel=2.2, carry the customization as an .omarchy/patches sync patch, and bump the metadata pkgrel suffix to 2 so future syncs keep producing 2.2. Co-Authored-By: Claude Fable 5 --- pkgbuilds/v4l2-relayd/.omarchy/package.json | 2 +- .../patches/escape-splashsrc-expansion.patch | 39 +++++++++++++++++++ ...-escape-optional-splashsrc-expansion.patch | 11 ++++++ pkgbuilds/v4l2-relayd/PKGBUILD | 7 +++- 4 files changed, 56 insertions(+), 3 deletions(-) create mode 100644 pkgbuilds/v4l2-relayd/.omarchy/patches/escape-splashsrc-expansion.patch create mode 100644 pkgbuilds/v4l2-relayd/0002-escape-optional-splashsrc-expansion.patch diff --git a/pkgbuilds/v4l2-relayd/.omarchy/package.json b/pkgbuilds/v4l2-relayd/.omarchy/package.json index 71847d3..733c583 100644 --- a/pkgbuilds/v4l2-relayd/.omarchy/package.json +++ b/pkgbuilds/v4l2-relayd/.omarchy/package.json @@ -1,7 +1,7 @@ { "source": "aur", "pkgrel": { - "suffix": 1, + "suffix": 2, "offset": 1 }, "upstream_commit": "086fa284d7f5ad562ea6ba79b3cb4fd798e759d3" diff --git a/pkgbuilds/v4l2-relayd/.omarchy/patches/escape-splashsrc-expansion.patch b/pkgbuilds/v4l2-relayd/.omarchy/patches/escape-splashsrc-expansion.patch new file mode 100644 index 0000000..db09a78 --- /dev/null +++ b/pkgbuilds/v4l2-relayd/.omarchy/patches/escape-splashsrc-expansion.patch @@ -0,0 +1,39 @@ +diff --git a/0002-escape-optional-splashsrc-expansion.patch b/0002-escape-optional-splashsrc-expansion.patch +new file mode 100644 +index 0000000..13f2e1e +--- /dev/null ++++ b/0002-escape-optional-splashsrc-expansion.patch +@@ -0,0 +1,11 @@ ++--- data/systemd/v4l2-relayd@.service.orig 2026-06-15 12:00:00.000000000 -0500 +++++ data/systemd/v4l2-relayd@.service 2026-06-15 12:00:00.000000000 -0500 ++@@ -14,7 +14,7 @@ ++ ExecCondition=/usr/bin/test -n "$HEIGHT" ++ ExecCondition=/usr/bin/test -n "$FRAMERATE" ++ ExecCondition=/usr/bin/test -n "${CARD_LABEL}" ++-ExecStart=/bin/sh -c 'DEVICE=$(grep -l -m1 -E "^${CARD_LABEL}$" /sys/devices/virtual/video4linux/*/name | cut -d/ -f6); exec /usr/bin/v4l2-relayd -i "${VIDEOSRC}" $${SPLASHSRC:+-s "${SPLASHSRC}"} -o "appsrc name=appsrc caps=video/x-raw,format=${FORMAT},width=${WIDTH},height=${HEIGHT},framerate=${FRAMERATE} ! videoconvert ! v4l2sink name=v4l2sink device=/dev/$${DEVICE}" $EXTRA_OPTS' +++ExecStart=/bin/sh -c 'DEVICE=$(grep -l -m1 -E "^${CARD_LABEL}$" /sys/devices/virtual/video4linux/*/name | cut -d/ -f6); exec /usr/bin/v4l2-relayd -i "${VIDEOSRC}" $${SPLASHSRC:+-s "$${SPLASHSRC}"} -o "appsrc name=appsrc caps=video/x-raw,format=${FORMAT},width=${WIDTH},height=${HEIGHT},framerate=${FRAMERATE} ! videoconvert ! v4l2sink name=v4l2sink device=/dev/$${DEVICE}" $EXTRA_OPTS' ++ Restart=always ++ PrivateNetwork=yes ++ PrivateTmp=yes +diff --git a/PKGBUILD b/PKGBUILD +index 4c74000..b276a5f 100644 +--- a/PKGBUILD ++++ b/PKGBUILD +@@ -16,13 +16,16 @@ depends=( + ) + makedepends=('git') + source=("https://gitlab.com/vicamo/v4l2-relayd/-/archive/upstream/${pkgver}/v4l2-relayd-upstream-${pkgver}.tar.gz" +- "0001-reset-output-on-idle.patch") ++ "0001-reset-output-on-idle.patch" ++ "0002-escape-optional-splashsrc-expansion.patch") + sha256sums=('0c063edf18dcc6edcdef46e695128cfc2b2d60964ea8538c7e79a2454310c53d' ++ 'SKIP' + 'SKIP') + + prepare() { + cd "$srcdir/${pkgname}-upstream-${pkgver}" + patch -p0 < "$srcdir/0001-reset-output-on-idle.patch" ++ patch -p0 < "$srcdir/0002-escape-optional-splashsrc-expansion.patch" + } + + build() { diff --git a/pkgbuilds/v4l2-relayd/0002-escape-optional-splashsrc-expansion.patch b/pkgbuilds/v4l2-relayd/0002-escape-optional-splashsrc-expansion.patch new file mode 100644 index 0000000..13f2e1e --- /dev/null +++ b/pkgbuilds/v4l2-relayd/0002-escape-optional-splashsrc-expansion.patch @@ -0,0 +1,11 @@ +--- data/systemd/v4l2-relayd@.service.orig 2026-06-15 12:00:00.000000000 -0500 ++++ data/systemd/v4l2-relayd@.service 2026-06-15 12:00:00.000000000 -0500 +@@ -14,7 +14,7 @@ + ExecCondition=/usr/bin/test -n "$HEIGHT" + ExecCondition=/usr/bin/test -n "$FRAMERATE" + ExecCondition=/usr/bin/test -n "${CARD_LABEL}" +-ExecStart=/bin/sh -c 'DEVICE=$(grep -l -m1 -E "^${CARD_LABEL}$" /sys/devices/virtual/video4linux/*/name | cut -d/ -f6); exec /usr/bin/v4l2-relayd -i "${VIDEOSRC}" $${SPLASHSRC:+-s "${SPLASHSRC}"} -o "appsrc name=appsrc caps=video/x-raw,format=${FORMAT},width=${WIDTH},height=${HEIGHT},framerate=${FRAMERATE} ! videoconvert ! v4l2sink name=v4l2sink device=/dev/$${DEVICE}" $EXTRA_OPTS' ++ExecStart=/bin/sh -c 'DEVICE=$(grep -l -m1 -E "^${CARD_LABEL}$" /sys/devices/virtual/video4linux/*/name | cut -d/ -f6); exec /usr/bin/v4l2-relayd -i "${VIDEOSRC}" $${SPLASHSRC:+-s "$${SPLASHSRC}"} -o "appsrc name=appsrc caps=video/x-raw,format=${FORMAT},width=${WIDTH},height=${HEIGHT},framerate=${FRAMERATE} ! videoconvert ! v4l2sink name=v4l2sink device=/dev/$${DEVICE}" $EXTRA_OPTS' + Restart=always + PrivateNetwork=yes + PrivateTmp=yes diff --git a/pkgbuilds/v4l2-relayd/PKGBUILD b/pkgbuilds/v4l2-relayd/PKGBUILD index 4c74000..b276a5f 100644 --- a/pkgbuilds/v4l2-relayd/PKGBUILD +++ b/pkgbuilds/v4l2-relayd/PKGBUILD @@ -2,7 +2,7 @@ pkgname=v4l2-relayd pkgver=0.2.0 -pkgrel=2.1 +pkgrel=2.2 pkgdesc="Plays gstreamer sources into v4l2loopback devices." arch=('x86_64') url="https://gitlab.com/vicamo/v4l2-relayd" @@ -16,13 +16,16 @@ depends=( ) makedepends=('git') source=("https://gitlab.com/vicamo/v4l2-relayd/-/archive/upstream/${pkgver}/v4l2-relayd-upstream-${pkgver}.tar.gz" - "0001-reset-output-on-idle.patch") + "0001-reset-output-on-idle.patch" + "0002-escape-optional-splashsrc-expansion.patch") sha256sums=('0c063edf18dcc6edcdef46e695128cfc2b2d60964ea8538c7e79a2454310c53d' + 'SKIP' 'SKIP') prepare() { cd "$srcdir/${pkgname}-upstream-${pkgver}" patch -p0 < "$srcdir/0001-reset-output-on-idle.patch" + patch -p0 < "$srcdir/0002-escape-optional-splashsrc-expansion.patch" } build() {