All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hannes Diethelm <hannes.diethelm@gmail.com>
To: xenomai@lists.linux.dev, rpm@xenomai.org
Cc: Hannes Diethelm <hannes.diethelm@gmail.com>
Subject: [PATCH 1/1] debian: add debian package config
Date: Fri, 17 Jul 2026 22:58:20 +0200	[thread overview]
Message-ID: <20260717205820.8359-2-hannes.diethelm@gmail.com> (raw)
In-Reply-To: <20260717205820.8359-1-hannes.diethelm@gmail.com>

Signed-off-by: Hannes Diethelm <hannes.diethelm@gmail.com>
---
 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 <hannes.diethelm@gmail.com>  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 <hannes.diethelm@gmail.com>  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 <xenomai@lists.linux.dev>
+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 <xenomai@lists.linux.dev>
+
+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 <hannes.diethelm@gmail.com>
+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


  reply	other threads:[~2026-07-17 20:58 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-17 20:58 [PATCH 0/1] libevl: Add debian package config Hannes Diethelm
2026-07-17 20:58 ` Hannes Diethelm [this message]
2026-07-20 14:30 ` Jan Kiszka
2026-07-20 22:22   ` Hannes Diethelm
2026-07-21  8:13     ` Philippe Gerum
2026-07-22 14:10       ` Hannes Diethelm
2026-07-21 10:37     ` Jan Kiszka
2026-07-22 11:46       ` Hannes Diethelm
2026-07-20 14:38 ` Philippe Gerum
2026-07-20 15:55 ` Florian Bezdeka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260717205820.8359-2-hannes.diethelm@gmail.com \
    --to=hannes.diethelm@gmail.com \
    --cc=rpm@xenomai.org \
    --cc=xenomai@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.