[PATCH 1/1] debian: add debian package config
Hannes Diethelm <[email protected]> Fri, 17 Jul 2026 22:58:20 +0200
| Newsgroups | dev.linux.lists.xenomai |
|---|---|
| Message-ID | <[email protected]> |
Signed-off-by: Hannes Diethelm <[email protected]> --- debian/README.Debian | 6 ++++ debian/changelog | 5 ++++ debian/control | 33 ++++++++++++++++++++++ debian/copyright | 55 +++++++++++++++++++++++++++++++++++++ debian/libevl-test.install | 2 ++ debian/libevl.install | 11 ++++++++ debian/libevl.postinst | 50 +++++++++++++++++++++++++++++++++ debian/libevl.postrm | 41 +++++++++++++++++++++++++++ debian/rules | 22 +++++++++++++++ debian/source/format | 1 + debian/udev/90-libevl.rules | 12 ++++++++ 11 files changed, 238 insertions(+) create mode 100644 debian/README.Debian create mode 100644 debian/changelog create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/libevl-test.install create mode 100644 debian/libevl.install create mode 100644 debian/libevl.postinst create mode 100644 debian/libevl.postrm create mode 100755 debian/rules create mode 100644 debian/source/format create mode 100644 debian/udev/90-libevl.rules diff --git a/debian/README.Debian b/debian/README.Debian new file mode 100644 index 0000000..db81e67 --- /dev/null +++ b/debian/README.Debian @@ -0,0 +1,6 @@ +libevl for Debian +---------------- + +libevl creates an evl group. Members of this group can use the kernel realtime interface. + + -- Hannes Diethelm <[email protected]> Wed, 25 Mar 2026 12:22:44 +0100 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..099e5c0 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +libevl (59) UNRELEASED; urgency=medium + + * Update r59 + + -- Hannes Diethelm <[email protected]> Mon, 13 Jul 2026 10:48:21 +0200 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..152b339 --- /dev/null +++ b/debian/control @@ -0,0 +1,33 @@ +Source: libevl +Section: devel +Priority: extra +Maintainer: Xenomai <[email protected]> +Rules-Requires-Root: no +Build-Depends: + debhelper-compat (= 13), + meson, + pkgconf, + libbpf-dev, + cpio, +Standards-Version: 4.7.2 +Homepage: https://v4.xenomai.org/ + +Package: libevl +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, +Recommends: + udev, +Description: libevl libraries and tools + Xenomai4 EVL userspace libraries and tools + +Package: libevl-test +Architecture: any +Depends: + libevl, + gdb, + ${shlibs:Depends}, + ${misc:Depends}, +Description: libevl test suite + Xenomai4 EVL test suite diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..31efcd4 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,55 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Source: https://gitlab.com/Xenomai/xenomai4/libevl +Upstream-Name: libevl +Upstream-Contact: Xenomai <[email protected]> + +Files: + * +Copyright: + 2018-2021 Philippe Gerum and the libevl contributors. +License: MIT License +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Files: + debian/* +Copyright: + 2026 Hannes Diethelm <[email protected]> +License: MIT License +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice (including the +next paragraph) shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/debian/libevl-test.install b/debian/libevl-test.install new file mode 100644 index 0000000..f835c51 --- /dev/null +++ b/debian/libevl-test.install @@ -0,0 +1,2 @@ +usr/libexec/evl/evl-test +usr/libexec/evl/tests/* diff --git a/debian/libevl.install b/debian/libevl.install new file mode 100644 index 0000000..6014542 --- /dev/null +++ b/debian/libevl.install @@ -0,0 +1,11 @@ +usr/bin/evl +usr/bin/oob-* +usr/bin/latmus +usr/include/* +usr/lib/*/pkgconfig/evl.pc +usr/lib/*/libevl.a +usr/lib/*/libevl.so* +usr/libexec/evl/evl-[!t]* +usr/libexec/evl/*trace* +usr/libexec/evl/kconf-checklist.evl +debian/udev/90-libevl.rules usr/lib/udev/rules.d/ diff --git a/debian/libevl.postinst b/debian/libevl.postinst new file mode 100644 index 0000000..346e3af --- /dev/null +++ b/debian/libevl.postinst @@ -0,0 +1,50 @@ +#!/bin/sh +# postinst script for libevl. +# +# See: dh_installdeb(1). + +set -e + +# Summary of how this script can be called: +# * <postinst> 'configure' <most-recently-configured-version> +# * <old-postinst> 'abort-upgrade' <new version> +# * <conflictor's-postinst> 'abort-remove' 'in-favour' <package> +# <new-version> +# * <postinst> 'abort-remove' +# * <deconfigured's-postinst> 'abort-deconfigure' 'in-favour' +# <failed-install-package> <version> 'removing' +# <conflicting-package> <version> +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package. + +trigger_udev() { + if ! which udevadm >/dev/null 2>&1 ; then + return 0; + fi + udevadm control --reload-rules || true + udevadm trigger || true +} + +case "$1" in + configure) + if ! getent group evl >/dev/null; then + addgroup --quiet --system evl + fi + trigger_udev + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument '$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/libevl.postrm b/debian/libevl.postrm new file mode 100644 index 0000000..dae5827 --- /dev/null +++ b/debian/libevl.postrm @@ -0,0 +1,41 @@ +#!/bin/sh +# postrm script for libevl. +# +# See: dh_installdeb(1). + +set -e + +# Summary of how this script can be called: +# * <postrm> 'remove' +# * <postrm> 'purge' +# * <old-postrm> 'upgrade' <new-version> +# * <new-postrm> 'failed-upgrade' <old-version> +# * <new-postrm> 'abort-install' +# * <new-postrm> 'abort-install' <old-version> +# * <new-postrm> 'abort-upgrade' <old-version> +# * <disappearer's-postrm> 'disappear' <overwriter> +# <overwriter-version> +# for details, see https://www.debian.org/doc/debian-policy/ or +# the debian-policy package. + + +case "$1" in + purge) + delgroup --quiet --system evl > /dev/null || true + ;; + + remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + ;; + + *) + echo "postrm called with unknown argument '$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..7028f23 --- /dev/null +++ b/debian/rules @@ -0,0 +1,22 @@ +#!/usr/bin/make -f + +#export DH_VERBOSE = 1 + +#Default: linux-evl is in same folder +# Use UAPI=FULL_PATH dpkg-buildpackage ... to specify custom location +#Not recommended to use /usr/include with debian packages due to: +# - libevl installs most headers there except asm/evl +# - linux-libc-dev installs all headers but conflicts with libevl +# due to some headers are installed at the same location +UAPI ?= $(CURDIR)/../linux-evl + +ifeq ("$(wildcard $(UAPI))","") +$(error UAPI not found in $(UAPI)) +endif + +%: + dh $@ --buildsystem=meson + +override_dh_auto_configure: + dh_auto_configure --buildsystem=meson -- -Duapi=$(UAPI) + diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) diff --git a/debian/udev/90-libevl.rules b/debian/udev/90-libevl.rules new file mode 100644 index 0000000..2615982 --- /dev/null +++ b/debian/udev/90-libevl.rules @@ -0,0 +1,12 @@ +# Xenomai4 EVL devices +SUBSYSTEM=="evl", MODE="0660", GROUP="evl" +KERNEL=="realtime", SUBSYSTEM=="clock", MODE="0660", GROUP="evl" +KERNEL=="monotonic", SUBSYSTEM=="clock", MODE="0660", GROUP="evl" +KERNEL=="monotonic_raw", SUBSYSTEM=="clock", MODE="0660", GROUP="evl" +KERNEL=="clone", SUBSYSTEM=="monitor", MODE="0660", GROUP="evl" +KERNEL=="clone", SUBSYSTEM=="observable", MODE="0660", GROUP="evl" +KERNEL=="clone", SUBSYSTEM=="proxy", MODE="0660", GROUP="evl" +KERNEL=="clone", SUBSYSTEM=="thread", MODE="0660", GROUP="evl" +KERNEL=="clone", SUBSYSTEM=="xbuf", MODE="0660", GROUP="evl" +KERNEL=="latmus", SUBSYSTEM=="latmus", MODE="0660", GROUP="evl" +KERNEL=="hectic", SUBSYSTEM=="hectic", MODE="0660", GROUP="evl" -- 2.47.3