[DTrace-devel] [PATCH v5] Add packaging configuration for Debian

Kris Van Hees kris.van.hees at oracle.com
Thu Feb 19 19:25:19 UTC 2026


IGNORE - new one coming soon

On Thu, Feb 19, 2026 at 01:53:41PM -0500, Kris Van Hees via DTrace-devel wrote:
> Packaging configuration files for Debian are provided in dists/debian.
> 
> Sample steps to build DEB packages:
> 
>  - make dist
>  - cp dtrace-x.y.z.tar.bz2 $D/dtrace_x.y.z.orig.tar.bz2
>  - cd $D
>  - tar -jxpSf dtrace_x.y.z.orig.tar.bz2
>  - cd dtrace-x.y.z
>  - make prep-debian
>  - debuild
> 
> Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
> ---
>  dists/Build                                   |  16 ++
>  dists/debian/control                          |  74 ++++++++
>  dists/debian/copyright                        | 103 +++++++++++
>  dists/debian/dtrace-tests.install             |   1 +
>  dists/debian/dtrace-tests.lintian-overrides   |   8 +
>  dists/debian/dtrace.docs                      |   1 +
>  dists/debian/dtrace.install                   |   1 +
>  dists/debian/dtrace.lintian-overrides         |   1 +
>  dists/debian/dtrace.manpages                  |   1 +
>  dists/debian/libdtrace2-dev.install           |   5 +
>  dists/debian/libdtrace2.install               |  12 ++
>  dists/debian/libdtrace2.lintian-overrides     |   4 +
>  dists/debian/libdtrace2.manpages              |   1 +
>  dists/debian/mkChangelog                      | 174 ++++++++++++++++++
>  dists/debian/patches/debian-configure.patch   |  17 ++
>  .../patches/debian-interpreter-paths.patch    | 107 +++++++++++
>  dists/debian/patches/series                   |   3 +
>  dists/debian/rules                            |  24 +++
>  dists/debian/source/format                    |   1 +
>  19 files changed, 554 insertions(+)
>  create mode 100644 dists/Build
>  create mode 100644 dists/debian/control
>  create mode 100644 dists/debian/copyright
>  create mode 100644 dists/debian/dtrace-tests.install
>  create mode 100644 dists/debian/dtrace-tests.lintian-overrides
>  create mode 100644 dists/debian/dtrace.docs
>  create mode 100644 dists/debian/dtrace.install
>  create mode 100644 dists/debian/dtrace.lintian-overrides
>  create mode 100644 dists/debian/dtrace.manpages
>  create mode 100644 dists/debian/libdtrace2-dev.install
>  create mode 100644 dists/debian/libdtrace2.install
>  create mode 100644 dists/debian/libdtrace2.lintian-overrides
>  create mode 100644 dists/debian/libdtrace2.manpages
>  create mode 100755 dists/debian/mkChangelog
>  create mode 100644 dists/debian/patches/debian-configure.patch
>  create mode 100644 dists/debian/patches/debian-interpreter-paths.patch
>  create mode 100644 dists/debian/patches/series
>  create mode 100755 dists/debian/rules
>  create mode 100644 dists/debian/source/format
> 
> diff --git a/dists/Build b/dists/Build
> new file mode 100644
> index 00000000..c75f9332
> --- /dev/null
> +++ b/dists/Build
> @@ -0,0 +1,16 @@
> +#
> +# Oracle Linux DTrace.
> +# Copyright (c) 2026, Oracle and/or its affiliates. All rights reserved.
> +# Licensed under the Universal Permissive License v 1.0 as shown at
> +# http://oss.oracle.com/licenses/upl.
> +
> +dists_DIR := $(current-dir)
> +
> +# Prepare package building on Debian (copy ./dists/debian in ./debian, and
> +# generate the debian/changelog file.
> +
> +prep-debian::
> +	$(call describe-target,DIST-PREP,Debian)
> +	rm -rf debian
> +	cp -rp $(dists_DIR)/debian .
> +	debian/mkChangelog debian/control dtrace.spec > debian/changelog
> diff --git a/dists/debian/control b/dists/debian/control
> new file mode 100644
> index 00000000..66620d11
> --- /dev/null
> +++ b/dists/debian/control
> @@ -0,0 +1,74 @@
> +Source: dtrace
> +Section: utils
> +Priority: optional
> +Maintainer: Kris Van Hees <kris.van.hees at oracle.com>
> +Build-Depends: debhelper-compat (= 13),
> + bison, flex, gawk, gcc-bpf, binutils-bpf, valgrind, binutils-dev, login.defs,
> + libbpf-dev, libc-dev (>= 2.34), libelf-dev, libfuse3-dev, libpcap-dev,
> + libpfm4-dev, libsystemd-dev, libz-dev
> +Standards-Version: 4.5.1
> +Homepage: https://github.com/oracle/dtrace-utils/
> +Rules-Requires-Root: no
> +
> +Package: dtrace
> +Architecture: any
> +Depends: ${misc:Depends}, ${shlibs:Depends}
> +Description: Dynamic tracing for Linux (DTrace)
> + This is the official Linux port of the advanced tracing tool DTrace.
> + .
> + DTrace is a high-level dynamic tracing tool for Linux, built on kernel
> + tracing features (tracepoints, function probes (fentry/fexit), dynamic
> + kernel probes (kprobes), dynamic userspace probes (uprobes), ... and
> + leveraging BPF as execution engine.  It features an integrated compiler
> + for its high-level tracing language and native support for interacting
> + with the BPF engine, significantly reducing runtime dependencies.
> +
> +Package: libdtrace2
> +Architecture: any
> +Depends: ${misc:Depends}, ${shlibs:Depends},
> + fuse3, libctf0, libelf1t64, libfuse3-4, libpcap0.8t64, libpfm4, libz1
> +Description: Dynamic tracing for Linux (DTrace) (library)
> + This is the official Linux port of the advanced tracing tool DTrace.
> + .
> + DTrace is a high-level dynamic tracing tool for Linux, built on kernel
> + tracing features (tracepoints, function probes (fentry/fexit), dynamic
> + kernel probes (kprobes), dynamic userspace probes (uprobes), ... and
> + leveraging BPF as execution engine.  It features an integrated compiler
> + for its high-level tracing language and native support for interacting
> + with the BPF engine, significantly reducing runtime dependencies.
> + .
> + This package contains the shared library.
> +
> +Package: libdtrace2-dev
> +Architecture: any
> +Depends: ${misc:Depends},
> + libdtrace2 (= ${binary:Version})
> +Description: Dynamic tracing for Linux (DTrace) (development)
> + This is the official Linux port of the advanced tracing tool DTrace.
> + .
> + DTrace is a high-level dynamic tracing tool for Linux, built on kernel
> + tracing features (tracepoints, function probes (fentry/fexit), dynamic
> + kernel probes (kprobes), dynamic userspace probes (uprobes), ... and
> + leveraging BPF as execution engine.  It features an integrated compiler
> + for its high-level tracing language and native support for interacting
> + with the BPF engine, significantly reducing runtime dependencies.
> + .
> + This package contains the development files necessary to develop
> + alternative implementations of the user interface for libdtrace, i.e.
> + replacements for dtrace(1) itself.
> +
> +Package: dtrace-tests
> +Architecture: any
> +Depends: ${misc:Depends}, ${shlibs:Depends}, ${perl:Depends},
> + binutils, cpp, gawk, gcc, make, pkgconf, tshark, bpftool
> +Description: Dynamic tracing for Linux (DTrace) (testsuite)
> + This is the official Linux port of the advanced tracing tool DTrace.
> + .
> + DTrace is a high-level dynamic tracing tool for Linux, built on kernel
> + tracing features (tracepoints, function probes (fentry/fexit), dynamic
> + kernel probes (kprobes), dynamic userspace probes (uprobes), ... and
> + leveraging BPF as execution engine.  It features an integrated compiler
> + for its high-level tracing language and native support for interacting
> + with the BPF engine, significantly reducing runtime dependencies.
> + .
> + This package contains the testsuite.
> diff --git a/dists/debian/copyright b/dists/debian/copyright
> new file mode 100644
> index 00000000..475f9bac
> --- /dev/null
> +++ b/dists/debian/copyright
> @@ -0,0 +1,103 @@
> +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
> +Upstream-Name: dtrace
> +Upstream-Contact: Kris Van Hees <kris.van.hees at oracle.com>
> +Source: https://github.com/oracle/dtrace-utils/
> +
> +Files: *
> +Copyright: Copyright (c) 2003, 2026, Oracle and/or its affiliates. All rights reserved.
> +License: UPL-1.0
> +
> +Files: include/linux/bpf.h
> +Copyright: Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com
> +License: GPL-2 with Linux-syscall-note exception
> +
> +Files: include/linux/btf.h
> +Copyright: Copyright (c) 2018 Facebook
> +License: GPL-2 with Linux-syscall-note exception
> +
> +Files: include/sys/auxv.h include/sys/bitmap.h
> +Copyright: Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T
> +License: UPL-1.0
> +
> +Files: include/sys/glibc_internal_link.h
> +Copyright: Copyright disclaimed (all content required for interoperability)
> +License: LGPL-2.1+
> +
> +Files: libproc/libproc.h libproc/Pcontrol.c
> +Copyright: Copyright (c) 2003, 2025, Oracle and/or its affiliates. All rights reserved.
> +License: UPL-1.0
> +
> +License: UPL-1.0
> + The Universal Permissive License (UPL), Version 1.0
> + .
> + Subject to the condition set forth below, permission is hereby granted
> + to any person obtaining a copy of this software, associated
> + documentation and/or data (collectively the "Software"), free of charge
> + and under any and all copyright rights in the Software, and any and all
> + patent rights owned or freely licensable by each licensor hereunder
> + covering either (i) the unmodified Software as contributed to or
> + provided by such licensor, or (ii) the Larger Works (as defined below),
> + to deal in both
> + .
> + (a) the Software, and
> + (b) any piece of software and/or hardware listed in the lrgrwrks.txt
> + file if one is included with the Software (each a ???Larger Work??? to which
> + the Software is contributed by such licensors),
> + .
> + without restriction, including without limitation the rights to copy,
> + create derivative works of, display, perform, and distribute the
> + Software and make, use, sell, offer for sale, import, export, have made,
> + and have sold the Software and the Larger Work(s), and to sublicense the
> + foregoing rights on either these or other terms.
> + .
> + This license is subject to the following condition:
> + The above copyright notice and either this complete permission notice or
> + at a minimum a reference to the UPL must 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.
> + Licensed under the Universal Permissive License v 1.0 as shown at
> + http://oss.oracle.com/licenses/upl.
> +
> +License: GPL-2 with Linux-syscall-note exception
> + This program is free software; you can redistribute it
> + and/or modify it under the terms of the GNU General Public
> + License version 2 as published by the Free Software Foundation.
> + .
> + On Debian systems, the full text of the GNU General Public
> + License version 2 can be found in the file
> + `/usr/share/common-licenses/GPL-2'.
> + .
> + NOTE! This copyright does *not* cover user programs that use kernel
> + services by normal system calls - this is merely considered normal use
> + of the kernel, and does *not* fall under the heading of "derived work".
> + Also note that the GPL below is copyrighted by the Free Software
> + Foundation, but the instance of code that it refers to (the Linux
> + kernel) is copyrighted by me and others who actually wrote it.
> + .
> + Also note that the only valid version of the GPL as far as the kernel
> + is concerned is _this_ particular version of the license (ie v2, not
> + v2.2 or v3.x or whatever), unless explicitly otherwise stated.
> +
> +License: LGPL-2.1+
> + This file is part of the GNU C Library.
> + .
> + The GNU C Library is free software; you can redistribute it and/or
> + modify it under the terms of the GNU Lesser General Public
> + License as published by the Free Software Foundation; either
> + version 2.1 of the License, or (at your option) any later version.
> + .
> + The GNU C Library is distributed in the hope that it will be useful,
> + but WITHOUT ANY WARRANTY; without even the implied warranty of
> + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
> + Lesser General Public License for more details.
> + .
> + You should have received a copy of the GNU Lesser General Public
> + License along with the GNU C Library; if not, see
> + <https://www.gnu.org/licenses/>.
> diff --git a/dists/debian/dtrace-tests.install b/dists/debian/dtrace-tests.install
> new file mode 100644
> index 00000000..a04ebfb9
> --- /dev/null
> +++ b/dists/debian/dtrace-tests.install
> @@ -0,0 +1 @@
> +usr//lib/${DEB_HOST_MULTIARCH}/dtrace/testsuite/
> diff --git a/dists/debian/dtrace-tests.lintian-overrides b/dists/debian/dtrace-tests.lintian-overrides
> new file mode 100644
> index 00000000..22cbd6eb
> --- /dev/null
> +++ b/dists/debian/dtrace-tests.lintian-overrides
> @@ -0,0 +1,8 @@
> +dtrace-tests binary: unstripped-binary-or-object [*]
> +dtrace-tests binary: unusual-interpreter dtrace [*.d]
> +dtrace-tests binary: interpreter-not-absolute dtrace [*.d]
> +dtrace-tests binary: executable-not-elf-or-script [*.d]
> +dtrace-tests binary: relative-library-search-path RUNPATH test/triggers [*]
> +dtrace-tests binary: statically-linked-binary [*]
> +dtrace-tests binary: package-has-unnecessary-activation-of-ldconfig-trigger
> +dtrace-tests binary: shared-library-lacks-prerequisites [*/dtrace/testsuite/test/triggers/libproc-dlmlib.so.0.0.0]
> diff --git a/dists/debian/dtrace.docs b/dists/debian/dtrace.docs
> new file mode 100644
> index 00000000..7696583d
> --- /dev/null
> +++ b/dists/debian/dtrace.docs
> @@ -0,0 +1 @@
> +usr/share/doc/dtrace-${env:DEB_VERSION_UPSTREAM}/
> diff --git a/dists/debian/dtrace.install b/dists/debian/dtrace.install
> new file mode 100644
> index 00000000..6be68ccb
> --- /dev/null
> +++ b/dists/debian/dtrace.install
> @@ -0,0 +1 @@
> +usr/sbin/dtrace
> diff --git a/dists/debian/dtrace.lintian-overrides b/dists/debian/dtrace.lintian-overrides
> new file mode 100644
> index 00000000..11005f4a
> --- /dev/null
> +++ b/dists/debian/dtrace.lintian-overrides
> @@ -0,0 +1 @@
> +dtrace binary: unstripped-binary-or-object [*]
> diff --git a/dists/debian/dtrace.manpages b/dists/debian/dtrace.manpages
> new file mode 100644
> index 00000000..e54b52b3
> --- /dev/null
> +++ b/dists/debian/dtrace.manpages
> @@ -0,0 +1 @@
> +usr/share/man/man8/dtrace.8
> diff --git a/dists/debian/libdtrace2-dev.install b/dists/debian/libdtrace2-dev.install
> new file mode 100644
> index 00000000..b5e66db5
> --- /dev/null
> +++ b/dists/debian/libdtrace2-dev.install
> @@ -0,0 +1,5 @@
> +usr/lib/${DEB_HOST_MULTIARCH}/libdtrace.so
> +usr/include/dtrace
> +usr/include/dtrace.h
> +usr/include/sys/dtrace.h
> +usr/include/sys/dtrace_types.h
> diff --git a/dists/debian/libdtrace2.install b/dists/debian/libdtrace2.install
> new file mode 100644
> index 00000000..36294de3
> --- /dev/null
> +++ b/dists/debian/libdtrace2.install
> @@ -0,0 +1,12 @@
> +usr/lib/${DEB_HOST_MULTIARCH}/dtrace/[0-9]*/
> +usr/lib/${DEB_HOST_MULTIARCH}/dtrace/bpf_dlib.o
> +usr/lib/${DEB_HOST_MULTIARCH}/dtrace/drti/
> +usr/lib/${DEB_HOST_MULTIARCH}/dtrace/include/
> +usr/lib/${DEB_HOST_MULTIARCH}/libdtrace.so.*
> +usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/dtrace.pc
> +usr/lib/${DEB_HOST_MULTIARCH}/pkgconfig/dtrace_sdt.pc
> +usr/lib/systemd/system/dtprobed.service
> +usr/lib/systemd/system/dtrace-usdt.target
> +usr/lib/systemd/system-preset/50-dtprobed.preset
> +usr/lib/udev/rules.d/60-dtprobed.rules
> +usr/sbin/dtprobed
> diff --git a/dists/debian/libdtrace2.lintian-overrides b/dists/debian/libdtrace2.lintian-overrides
> new file mode 100644
> index 00000000..34b4011d
> --- /dev/null
> +++ b/dists/debian/libdtrace2.lintian-overrides
> @@ -0,0 +1,4 @@
> +libdtrace2 binary: binary-from-other-architecture [*/dtrace/bpf_dlib.o]
> +libdtrace2 binary: unstripped-binary-or-object [*]
> +libdtrace2 binary: appstream-metadata-missing-modalias-provide usr/lib/udev/rules.d/60-dtprobed.rules
> +libdtrace2 binary: systemd-service-file-refers-to-unusual-wantedby-target basic.target [usr/lib/systemd/system/dtprobed.service]
> diff --git a/dists/debian/libdtrace2.manpages b/dists/debian/libdtrace2.manpages
> new file mode 100644
> index 00000000..fef53dc3
> --- /dev/null
> +++ b/dists/debian/libdtrace2.manpages
> @@ -0,0 +1 @@
> +usr/share/man/man8/dtprobed.8
> diff --git a/dists/debian/mkChangelog b/dists/debian/mkChangelog
> new file mode 100755
> index 00000000..69958dca
> --- /dev/null
> +++ b/dists/debian/mkChangelog
> @@ -0,0 +1,174 @@
> +#!/usr/bin/awk -f
> +
> +#
> +# This script can be used to convert the dtrace.spec into a Debian changelog
> +# file.  It is intended to be invoked from the 'prep-debian' make target, but
> +# it can be used manually as well:
> +#	mkChangelog debian/control dtrace.spec > debian/changelog
> +#
> +
> +function error(msg) {
> +	print "E:"msg >"/dev/stderr";
> +	err = 1;
> +	exit(1);
> +}
> +
> +BEGIN {
> +	if (!dist)
> +		dist = "UNRELEASED";
> +	else if (dist != "unstable" && dist != "experimental")
> +		error("Bad dist ("dist")");
> +}
> +
> +/^Maintainer:/ {
> +	sub(/^Maintainer: +/, "");
> +	m_name = $0;
> +	i = index(m_name, " <");
> +	m_mail = substr(m_name, i + 1);
> +	m_name = substr(m_name, 1, i - 1);
> +
> +	nextfile;
> +}
> +
> +/^Name:/ {
> +	pkg = $2;
> +	next;
> +}
> +
> +/^%changelog/ {
> +	in_changelog = 1;
> +	next;
> +}
> +
> +!in_changelog {
> +	next;
> +}
> +
> +function lineWrap(p, s, line, len, l, n, m, i) {
> +	n = length(p);
> +	line = p;
> +	len = n;
> +
> +	m = split(s, arr, / +/);
> +	for (i = 1; i <= m; i++) {
> +		l = length(arr[i]);
> +		if (len + 1 + l >= 80) {
> +			print line;
> +			line = sprintf("%*s %s", n, "", arr[i]);
> +			len = n + 1 + l;
> +		} else {
> +			line = line " " arr[i];
> +			len += 1 + l;
> +		}
> +	}
> +	delete arr;
> +
> +	print line;
> +}
> +
> +function emitEntry(i, j, n) {
> +	# Loop through the contributions, determining who each contribution
> +	# should be credited to.  If there are multiple contributors, we pick
> +	# the first one who is not the commit author (if any).
> +	# If all contributions are from the commit author, we do not emit an
> +	# explicit credit line.
> +	for (i = 1; i <= lc; i++) {
> +		gsub(/ \[Orabug[:;] [1-9][0-9]*(, [1-9][0-9]*)*\]/, "", lv[i]);
> +		sub(/[ \t]+$/, "", lv[i]);
> +		gsub(/  +/, " ", lv[i]);
> +
> +		cont = name;
> +		if (match(lv[i], /\([^)]+\)$/) > 0) {
> +			auth = substr(lv[i], RSTART + 1, RLENGTH - 2);
> +			lv[i] = substr(lv[i], 1, RSTART - 1);
> +			sub(/[ \t]+$/, "", lv[i]);
> +			n = split(auth, arr, /, */);
> +
> +			# Find the first contributor not the commit author.
> +			for (j = 1; j <= n; j++) {
> +				if (arr[j] == name)
> +					continue;
> +				cont = arr[j];
> +				break;
> +			}
> +			delete arr;
> +		}
> +
> +		# Add to the list of contributions for this contributor.
> +		if (cont in map)
> +			map[cont] = map[cont] " " i;
> +		else
> +			map[cont] = i;
> +	}
> +
> +	print pkg" ("vers") "dist"; urgency=medium";
> +
> +	# First emit contributions by people other than the commit author.
> +	n = 0;
> +	for (cont in map) {
> +		if (cont == name)
> +			continue;
> +
> +		n++;
> +		print "\n  [ "cont" ]";
> +		$0 = map[cont];
> +		for (i = 1; i <= NF; i++)
> +			lineWrap("  *", lv[int($i)]);
> +	}
> +	if (n > 0)
> +		print "\n  [ "name" ]";
> +	else
> +		print "";
> +
> +	$0 = map[name];
> +	for (i = 1; i <= NF; i++)
> +		lineWrap("  *", lv[int($i)]);
> +
> +	delete map;
> +
> +	if (m_name) {
> +		name = m_name;
> +		mail = m_mail;
> +		m_name = m_mail = 0;
> +	}
> +	print "\n -- "name" "mail"  "date" 00:00:00 +0000\n";
> +}
> +
> +/^\* (Sun|Mon|Tue|Wed|Thu|Fri|Sat) [A-Z][a-z][a-z] [ 0-3][0-9] / {
> +	date = $2", "$4" "$3" "$5;
> +	i = index($0, " - ");
> +	vers = substr($0, i + 3);
> +	name = substr($0, 19, i - 19);
> +	i = index(name, " <");
> +	mail = substr(name, i + 1);
> +	name = substr(name, 1, i - 1);
> +	if (name == "")
> +		error("No name in: "$0);
> +
> +	lc = 0;
> +	delete lv;
> +
> +	next;
> +}
> +
> +/^- / {
> +	sub(/^- +/, "");
> +	lv[++lc] = $0;
> +	next;
> +}
> +
> +NF == 0 {
> +	emitEntry();
> +	date = "";
> +	next;
> +}
> +
> +{
> +	lv[lc] = lv[lc] $0;
> +	next;
> +}
> +
> +END {
> +	if (date && !err)
> +		emitEntry();
> +}
> diff --git a/dists/debian/patches/debian-configure.patch b/dists/debian/patches/debian-configure.patch
> new file mode 100644
> index 00000000..d4a89bb9
> --- /dev/null
> +++ b/dists/debian/patches/debian-configure.patch
> @@ -0,0 +1,17 @@
> +Description: issue a warning for unknown configure options
> + The Debian build system specifies configure options that are not known to
> + the DTrace configure script.  They should not cause the configure script
> + to abort.
> +
> +--- dtrace-2.0.4.orig/configure
> ++++ dtrace-2.0.4/configure
> +@@ -172,8 +172,7 @@ for option in "$@"; do
> +         HAVE_VALGRIND=*) write_config_var VALGRIND "$option";;
> +         HAVE_BPFV3=*) write_config_var BPFV3 "$option";;
> +         HAVE_BPFMASM=*) write_config_var BPFMASM "$option";;
> +-        *) echo "Unknown option $option" >&2
> +-           exit 1;;
> ++        *) echo "Unknown option $option" >&2;;
> +     esac
> + done
> + 
> diff --git a/dists/debian/patches/debian-interpreter-paths.patch b/dists/debian/patches/debian-interpreter-paths.patch
> new file mode 100644
> index 00000000..58bea538
> --- /dev/null
> +++ b/dists/debian/patches/debian-interpreter-paths.patch
> @@ -0,0 +1,107 @@
> +Description: fix interpreter paths in tests
> + Lintian prefers /bin/bash and /bin/sed over /usr/bin/bash and /usr/bin/sed.
> +
> +--- dtrace-2.0.4.orig/test/unittest/arrays/err.D_UNKNOWN.uregs_toobig.aarch64.x
> ++++ dtrace-2.0.4/test/unittest/arrays/err.D_UNKNOWN.uregs_toobig.aarch64.x
> +@@ -1,4 +1,4 @@
> +-#!/usr/bin/bash
> ++#!/bin/bash
> + 
> + [ `uname -m` = "aarch64" ] && exit 0
> + exit 2
> +--- dtrace-2.0.4.orig/test/unittest/arrays/err.D_UNKNOWN.uregs_toobig.x86_64.x
> ++++ dtrace-2.0.4/test/unittest/arrays/err.D_UNKNOWN.uregs_toobig.x86_64.x
> +@@ -1,4 +1,4 @@
> +-#!/usr/bin/bash
> ++#!/bin/bash
> + 
> + [ `uname -m` = "x86_64" ] && exit 0
> + exit 2
> +--- dtrace-2.0.4.orig/test/unittest/codegen/err.deref_0.r.p
> ++++ dtrace-2.0.4/test/unittest/codegen/err.deref_0.r.p
> +@@ -1,4 +1,4 @@
> +-#!/usr/bin/sed -f
> ++#!/bin/sed -f
> + 
> + # runtest.sh looks for "0x" to filter out pointer values.
> + # Strip the 0x so that the illegal address will not be filtered out;
> +--- dtrace-2.0.4.orig/test/unittest/codegen/err.deref_1.r.p
> ++++ dtrace-2.0.4/test/unittest/codegen/err.deref_1.r.p
> +@@ -1,4 +1,4 @@
> +-#!/usr/bin/sed -f
> ++#!/bin/sed -f
> + 
> + # runtest.sh looks for "0x" to filter out pointer values.
> + # Strip the 0x so that the illegal address will not be filtered out;
> +--- dtrace-2.0.4.orig/test/unittest/codegen/err.deref_i0.r.p
> ++++ dtrace-2.0.4/test/unittest/codegen/err.deref_i0.r.p
> +@@ -1,4 +1,4 @@
> +-#!/usr/bin/sed -f
> ++#!/bin/sed -f
> + 
> + # runtest.sh looks for "0x" to filter out pointer values.
> + # Strip the 0x so that the illegal address will not be filtered out;
> +--- dtrace-2.0.4.orig/test/unittest/codegen/err.deref_i1.r.p
> ++++ dtrace-2.0.4/test/unittest/codegen/err.deref_i1.r.p
> +@@ -1,4 +1,4 @@
> +-#!/usr/bin/sed -f
> ++#!/bin/sed -f
> + 
> + # runtest.sh looks for "0x" to filter out pointer values.
> + # Strip the 0x so that the illegal address will not be filtered out;
> +--- dtrace-2.0.4.orig/test/unittest/codegen/err.deref_string-assoc.r.p
> ++++ dtrace-2.0.4/test/unittest/codegen/err.deref_string-assoc.r.p
> +@@ -1,4 +1,4 @@
> +-#!/usr/bin/sed -f
> ++#!/bin/sed -f
> + 
> + # runtest.sh looks for "0x" to filter out pointer values.
> + # Strip the 0x so that the illegal address will not be filtered out;
> +--- dtrace-2.0.4.orig/test/unittest/codegen/err.deref_string-gvar.r.p
> ++++ dtrace-2.0.4/test/unittest/codegen/err.deref_string-gvar.r.p
> +@@ -1,4 +1,4 @@
> +-#!/usr/bin/sed -f
> ++#!/bin/sed -f
> + 
> + # runtest.sh looks for "0x" to filter out pointer values.
> + # Strip the 0x so that the illegal address will not be filtered out;
> +--- dtrace-2.0.4.orig/test/unittest/codegen/err.deref_string-lvar.r.p
> ++++ dtrace-2.0.4/test/unittest/codegen/err.deref_string-lvar.r.p
> +@@ -1,4 +1,4 @@
> +-#!/usr/bin/sed -f
> ++#!/bin/sed -f
> + 
> + # runtest.sh looks for "0x" to filter out pointer values.
> + # Strip the 0x so that the illegal address will not be filtered out;
> +--- dtrace-2.0.4.orig/test/unittest/codegen/err.deref_string-tvar.r.p
> ++++ dtrace-2.0.4/test/unittest/codegen/err.deref_string-tvar.r.p
> +@@ -1,4 +1,4 @@
> +-#!/usr/bin/sed -f
> ++#!/bin/sed -f
> + 
> + # runtest.sh looks for "0x" to filter out pointer values.
> + # Strip the 0x so that the illegal address will not be filtered out;
> +--- dtrace-2.0.4.orig/test/unittest/preprocessor/err.ifdefincomp.r.p
> ++++ dtrace-2.0.4/test/unittest/preprocessor/err.ifdefincomp.r.p
> +@@ -1,4 +1,4 @@
> +-#!/usr/bin/sed -f
> ++#!/bin/sed -f
> + # GCC 16 improved diagnostics formatting.  Until GCC 16 is the minimum
> + # supported, we have to sed it back again.
> + s,[??????],",g
> +--- dtrace-2.0.4.orig/test/unittest/preprocessor/err.incompelse.r.p
> ++++ dtrace-2.0.4/test/unittest/preprocessor/err.incompelse.r.p
> +@@ -1,4 +1,4 @@
> +-#!/usr/bin/sed -f
> ++#!/bin/sed -f
> + # GCC 16 improved diagnostics formatting.  Until GCC 16 is the minimum
> + # supported, we have to sed it back again.
> + s,[??????],,g
> +--- dtrace-2.0.4.orig/test/utils/clean_probes.sh
> ++++ dtrace-2.0.4/test/utils/clean_probes.sh
> +@@ -1,4 +1,4 @@
> +-#!/usr/bin/bash
> ++#!/bin/bash
> + 
> + TRACEFS=/sys/kernel/debug/tracing
> + EVENTS=${TRACEFS}/available_events
> diff --git a/dists/debian/patches/series b/dists/debian/patches/series
> new file mode 100644
> index 00000000..6d3b5413
> --- /dev/null
> +++ b/dists/debian/patches/series
> @@ -0,0 +1,3 @@
> +# You must remove unused comment lines for the released package.
> +debian-configure.patch
> +debian-interpreter-paths.patch
> diff --git a/dists/debian/rules b/dists/debian/rules
> new file mode 100755
> index 00000000..8646ac1a
> --- /dev/null
> +++ b/dists/debian/rules
> @@ -0,0 +1,24 @@
> +#!/usr/bin/make -f
> +# You must remove unused comment lines for the released package.
> +export DH_VERBOSE = 1
> +export DEB_BUILD_MAINT_OPTIONS = hardening=+all
> +export DEB_CFLAGS_MAINT_APPEND  = -Wall -pedantic
> +export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
> +
> +include /usr/share/dpkg/pkg-info.mk
> +
> +export DEB_VERSION_UPSTREAM
> +
> +%:
> +	dh $@
> +
> +override_dh_auto_configure:
> +	dh_auto_configure -- --pkg-config-dir=\$${LIBDIR}/pkgconfig BPFC=bpf-gcc BPFLD=bpf-ld
> +
> +override_dh_strip:
> +	dh_strip -Xdtrace
> +
> +override_dh_auto_test:
> +
> +override_dh_auto_install:
> +	dh_auto_install -- install-test
> diff --git a/dists/debian/source/format b/dists/debian/source/format
> new file mode 100644
> index 00000000..163aaf8d
> --- /dev/null
> +++ b/dists/debian/source/format
> @@ -0,0 +1 @@
> +3.0 (quilt)
> -- 
> 2.51.0
> 
> 

> _______________________________________________
> DTrace-devel mailing list
> DTrace-devel at oss.oracle.com
> https://oss.oracle.com/mailman/listinfo/dtrace-devel




More information about the DTrace-devel mailing list