From 76ba60a61493bbbdb37af0361aa503c549e69b7f Mon Sep 17 00:00:00 2001 From: Johannes Leupolz Date: Thu, 25 Dec 2025 21:32:07 +0000 Subject: [PATCH] Debian build scripts improved --- debian/control | 9 +++++++++ debian/rules | 18 +++++++++++++++--- debian/vuinputd.install | 3 ++- debian/vuinputd.postinst | 15 +++++++++++++++ vuinputd/udev/install_udev.sh | 15 +++++++++++++++ 5 files changed, 56 insertions(+), 4 deletions(-) create mode 100755 debian/vuinputd.postinst create mode 100644 vuinputd/udev/install_udev.sh diff --git a/debian/control b/debian/control index 721071c..5926f8d 100644 --- a/debian/control +++ b/debian/control @@ -2,6 +2,12 @@ Source: vuinputd Section: utils Priority: optional Maintainer: Johannes Leupolz +Depends: + ${misc:Depends}, + ${shlibs:Depends}, + systemd, + udev, + libfuse3-3 Build-Depends: debhelper (>= 12), dh-cargo (>= 24), dh-sequence-bash-completion, @@ -9,6 +15,9 @@ Build-Depends: debhelper (>= 12), rustc:native, pkg-config, libudev-dev, + libclang-dev, + libfuse3-dev, + libc6-dev, librust-bindgen-dev, librust-nix-dev, librust-libc-dev, diff --git a/debian/rules b/debian/rules index 3c7196c..2bd88e5 100755 --- a/debian/rules +++ b/debian/rules @@ -8,6 +8,18 @@ override_dh_auto_build: cargo build --release override_dh_auto_install: - install -D -m 0755 target/release/vuinputd debian/tmp/usr/bin/vuinputd - install -D -m 0755 vuinputd/udev/90-vuinputd.hwdb debian/tmp/usr/lib/udev/hwdb.d/90-vuinputd.hwdb - install -D -m 0755 vuinputd/udev/90-vuinputd-protect.rules debian/tmp/usr/lib/udev/rules.d/90-vuinputd-protect.rules \ No newline at end of file + # install binary + install -D -m 0755 target/release/vuinputd \ + debian/tmp/usr/bin/vuinputd + + # patch systemd unit for Debian (/usr/local/bin -> /usr/bin) + sed 's|/usr/local/bin/vuinputd|/usr/bin/vuinputd|g' \ + vuinputd/systemd/vuinputd.service \ + > debian/tmp/usr/lib/systemd/system/vuinputd.service + + # install udev rules + hwdb + install -D -m 0644 vuinputd/udev/90-vuinputd-protect.rules \ + debian/tmp/usr/lib/udev/rules.d/90-vuinputd-protect.rules + + install -D -m 0644 vuinputd/udev/90-vuinputd.hwdb \ + debian/tmp/usr/lib/udev/hwdb.d/90-vuinputd.hwdb \ No newline at end of file diff --git a/debian/vuinputd.install b/debian/vuinputd.install index b1faec9..f904965 100644 --- a/debian/vuinputd.install +++ b/debian/vuinputd.install @@ -1,3 +1,4 @@ usr/bin/vuinputd usr/lib/udev/hwdb.d/90-vuinputd.hwdb -usr/lib/udev/rules.d/90-vuinputd-protect.rules \ No newline at end of file +usr/lib/udev/rules.d/90-vuinputd-protect.rules +usr/lib/systemd/system/vuinputd.service \ No newline at end of file diff --git a/debian/vuinputd.postinst b/debian/vuinputd.postinst new file mode 100755 index 0000000..4562be8 --- /dev/null +++ b/debian/vuinputd.postinst @@ -0,0 +1,15 @@ +#!/bin/sh +set -e + +if [ "$1" = "configure" ]; then + if command -v systemd-hwdb >/dev/null 2>&1; then + systemd-hwdb update || true + fi + + if command -v udevadm >/dev/null 2>&1; then + udevadm control --reload-rules || true + udevadm trigger || true + fi +fi + +exit 0 diff --git a/vuinputd/udev/install_udev.sh b/vuinputd/udev/install_udev.sh new file mode 100644 index 0000000..0fc5d76 --- /dev/null +++ b/vuinputd/udev/install_udev.sh @@ -0,0 +1,15 @@ +#!/bin/sh +set -e + +RULES_DIR=/usr/lib/udev/rules.d +HWDB_DIR=/usr/lib/udev/hwdb.d + +install -D -m 0644 90-vuinputd-protect.rules \ + "$RULES_DIR/90-vuinputd-protect.rules" + +install -D -m 0644 90-vuinputd.hwdb \ + "$HWDB_DIR/90-vuinputd.hwdb" + +systemd-hwdb update +udevadm control --reload-rules +udevadm trigger