Bug#1066081: ntpsec: ntpd reports error about missing /var/log/ntpsec

2024-03-12 Thread Felix Moessbauer
Package: ntpsec
Version: 1.2.3+dfsg1-1
Severity: normal

Dear Maintainer,

the ntpd reports the following error when starting:
statistics directory /var/log/ntpsec/ does not exist or is unwriteable, error 
No such file or directory

While the service seems to be able to start, this directory is never
created and logs / statistics are not written.

Attached is a patch that creates this directory. Note, that we need to
use tmpfiles.d as this directory is on /var.

Best regards,
Felix Moessbauer
Siemens AG

-- System Information:
Debian Release: 12.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.5.0-0.deb12.4-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages ntpsec depends on:
ii  adduser3.134
ii  init-system-helpers1.65.2
ii  libbsd00.11.7-2
ii  libc6  2.36-9+deb12u4
ii  libcap21:2.66-4
ii  libssl33.0.11-1~deb12u2
ii  netbase6.4
ii  python33.11.2-1+b1
pn  python3-ntp
ii  sysvinit-utils [lsb-base]  3.06-4
ii  tzdata 2024a-0+deb12u1

Versions of packages ntpsec recommends:
ii  cron [cron-daemon]  3.0pl1-162
ii  systemd 252.22-1~deb12u1

Versions of packages ntpsec suggests:
ii  apparmor   3.0.8-3
pn  certbot
pn  ntpsec-doc 
pn  ntpsec-ntpviz  
>From f1b9ac43a726f2e99addb616964ec9ef6e3c3341 Mon Sep 17 00:00:00 2001
From: Felix Moessbauer 
Date: Tue, 12 Mar 2024 09:07:51 +0100
Subject: [PATCH 1/1] fix(debian): create ntpsec logdir on var

ntpd writes logs and statistics to this directory, but does not create
it. As this dir is on /var, we use tmpdirs.d to create it if not
existing.

Signed-off-by: Felix Moessbauer 
---
 debian/ntpsec.tmpfiles | 1 +
 1 file changed, 1 insertion(+)
 create mode 100644 debian/ntpsec.tmpfiles

diff --git a/debian/ntpsec.tmpfiles b/debian/ntpsec.tmpfiles
new file mode 100644
index 0..9a8fab6e0
--- /dev/null
+++ b/debian/ntpsec.tmpfiles
@@ -0,0 +1 @@
+d /var/log/ntpsec 0700 ntpsec ntpsec -
-- 
2.39.2



Bug#1065156: reportbug: auditd fails to start with empty /var

2024-03-01 Thread Felix Moessbauer
Package: auditd
Version: 1:3.0.9-1
Severity: normal

Dear Maintainer,

when running with an initially empty /var partition, the auditd
currently fails to start as the log directory is not present.

The attached patch adds a tmpfiles dropin to let systemd create
the directory on boot. If the directory is already present,
this is a noop.

For details, please also see #945269

Best regards,
Felix Moessbauer
Siemens AG

-- System Information:
Debian Release: 12.5
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.5.0-0.deb12.4-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages auditd depends on:
ii  gawk 1:5.2.1-2
ii  init-system-helpers  1.65.2
ii  libaudit11:3.0.9-1
ii  libauparse0  1:3.0.9-1
ii  libc62.36-9+deb12u4
ii  libcap-ng0   0.8.3-1+b3
ii  libgssapi-krb5-2 1.20.1-2+deb12u1
ii  libkrb5-31.20.1-2+deb12u1
ii  libwrap0 7.6.q-32
ii  mawk 1.3.4.20200120-3.1

auditd recommends no packages.

Versions of packages auditd suggests:
pn  audispd-plugins  

-- Configuration Files:
/etc/audit/audit-stop.rules [Errno 13] Permission denied: 
'/etc/audit/audit-stop.rules'
/etc/audit/auditd.conf [Errno 13] Permission denied: '/etc/audit/auditd.conf'
/etc/audit/plugins.d/af_unix.conf [Errno 13] Permission denied: 
'/etc/audit/plugins.d/af_unix.conf'
/etc/audit/plugins.d/syslog.conf [Errno 13] Permission denied: 
'/etc/audit/plugins.d/syslog.conf'
/etc/audit/rules.d/audit.rules [Errno 13] Permission denied: 
'/etc/audit/rules.d/audit.rules'

-- no debconf information

*** /tmp/auditd/0001-create-var-log-audit-with-tmpfiles.d-as-well.patch
>From 4ea8f395c270d0dcc5365b40f70ca5e8633c4261 Mon Sep 17 00:00:00 2001
From: Felix Moessbauer 
Date: Fri, 1 Mar 2024 10:43:14 +0100
Subject: [PATCH 1/1] create /var/log/audit with tmpfiles.d as well

When running with an initially empty /var partition, the auditd
currently fails to start as the log directory is not present. For that,
we use tmpfiles.d to let systemd create the directory on boot.
If the directory is already present, this is a noop.

For details, please also see #945269

Reported-by: Sai Sathujoda 
Signed-off-by: Felix Moessbauer 
---
 debian/auditd.tmpfiles | 2 ++
 1 file changed, 2 insertions(+)
 create mode 100644 debian/auditd.tmpfiles

diff --git a/debian/auditd.tmpfiles b/debian/auditd.tmpfiles
new file mode 100644
index 000..2f467a8
--- /dev/null
+++ b/debian/auditd.tmpfiles
@@ -0,0 +1,2 @@
+d /var/log/audit 0700 root adm -
+
-- 
2.39.2



Bug#1063327: ITP: librtpi -- realtime capable pthread locking primitives

2024-02-06 Thread Felix Moessbauer
Package: wnpp
Severity: wishlist
Owner: Felix Moessbauer 
X-Debbugs-Cc: debian-de...@lists.debian.org

* Package name: librtpi
  Version : 1.0.0
  Upstream Contact: Gratian Crisan 
* URL : https://gitlab.com/linux-rt/librtpi/
* License : LGPL
  Programming Lang: C, C++
  Description : realtime capable pthread locking primitives

The Real-Time Priority Inheritance Library (librtpi) is
intended to bridge the gap between the glibc pthread
implementation and a functionally correct priority inheritance
for pthread locking primitives, such as pthread_mutex and
pthread_condvar. Specifically, priority based wakeup is required
for correct operation, in  contrast to the more time-based
ordered wakeup groups in the glibc pthread condvar implementation.

Why is this needed:
This library is needed to implement realtime capable waiting on
condition variables, due to glibc bug 11588 [1] which will not be fixed.

Who will maintain it:
I'm not yet a Debian maintainer, so a co-maintainer / sponsor will be
needed anyways. In general, it would be good if this package could be
maintained by a team. The expected effort is pretty low, as the library
is easy to package.

[1] https://sourceware.org/bugzilla/show_bug.cgi?id=11588

Best regards,
Felix Moessbauer
Siemens AG



Bug#1061951: python3-tksnack: Syntax warning on install: "is" with a literal. Did you mean "=="?

2024-01-30 Thread Felix Moessbauer
Package: python3-tksnack
Version: 2.2.10.20090624+dfsg-1
Severity: important

Dear Maintainer,

when installing this package, dpkg outputs the following message:
/usr/lib/python3/dist-packages/tkSnack.py:270: SyntaxWarning: "is" with a 
literal. Did you mean "=="?
  if method is None or method is "amdf" or method is "AMDF":
/usr/lib/python3/dist-packages/tkSnack.py:270: SyntaxWarning: "is" with a 
literal. Did you mean "=="?
  if method is None or method is "amdf" or method is "AMDF":

After inspecting the code, I believe the implementation is actually
broken, but likely not on a commonly used path.

As I did not find a clear upstream reference in the project, I create
this bug report against debian and not upstream. Also the referenced
Homepage in the control file is no longer reachable.

Best regards,
Felix Moessbauer
Siemens AG

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.5.0-0.deb12.4-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_WARN
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages python3-tksnack depends on:
ii  python3 3.11.2-1+b1
ii  python3-tk  3.11.2-3
ii  tcl-snack   2.2.10.20090624+dfsg-1

python3-tksnack recommends no packages.

Versions of packages python3-tksnack suggests:
pn  tcl-snack-doc  

-- no debconf information



Bug#1061382: jitterplot: missing rt dep to python3-pandas

2024-01-23 Thread Felix Moessbauer
Package: jitterdebugger-utils
Version: 0.3.1+git20200117.b90ff3a-4
Severity: important

Dear Maintainer,

the jitterplot utility needs python pandas. By that, the dependency to
python3-pandas needs to be added. A fix is provided in [1]

[1] https://salsa.debian.org/debian/jitterdebugger/-/merge_requests/1

Best regards,
Felix Moessbauer
Siemens AG

-- System Information:
Debian Release: 12.4
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.5.0-0.deb12.4-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages jitterdebugger-utils depends on:
ii  gir1.2-gtk-3.0  3.24.38-2~deb12u1
ii  libc6   2.36-9+deb12u3
ii  python3 3.11.2-1+b1
ii  python3-matplotlib  3.6.3-1+b1

Versions of packages jitterdebugger-utils recommends:
ii  jitterdebugger  0.3.1+git20200117.b90ff3a-4

jitterdebugger-utils suggests no packages.

-- no debconf information



Bug#1061075: release.debian.org: Cross compilation of kernel modules for arm64 on bookworm is broken

2024-01-17 Thread Felix Moessbauer
Package: release.debian.org
Severity: normal


The following dependencies need to be installed to cross compile a
kernel module on debian bookworm, arm64:
build-essential:amd64 crossbuild-essential-arm64:amd64 linux-headers-arm64

Currently, these have conflicting dependencies around gcc or binutils:

| The following packages have unmet dependencies:
|  g++-12 : Depends: gcc-12 (= 12.2.0-14) but it is not installable
|  cpp : Depends: cpp-12 (>= 12.2.0-1~) but it is not installable
|  g++ : Depends: gcc-12 (>= 12.2.0-1~) but it is not installable
|  gcc : Depends: gcc-12 (>= 12.2.0-1~) but it is not installable
|  dpkg-dev : Depends: binutils but it is not installable
|  gcc-12-aarch64-linux-gnu : Depends: binutils-aarch64-linux-gnu (>= 2.40)

Best regards,
Felix Moessbauer
Siemens AG



Bug#1034290: bmap-tools: option --psplash is fully broken

2023-04-12 Thread Felix Moessbauer
Package: bmap-tools
Version: 3.6-2
Severity: normal

Dear Maintainer,

when using the option --psplash, the following error occurs:

  File "/usr/bin/bmaptool", line 11, in 
sys.exit(main())
 ^^
  File "/usr/lib/python3/dist-packages/bmaptools/CLI.py", line 725, in main
args.func(args)
  File "/usr/lib/python3/dist-packages/bmaptools/CLI.py", line 486, in 
copy_command
writer.set_psplash_pipe(args.psplash_pipe)
  File "/usr/lib/python3/dist-packages/bmaptools/BmapCopy.py", line 231, in 
set_psplash_pipe
if os.path.exists(pipe) and stat.S_ISFIFO(os.stat(pipe).st_mode):
  
NameError: name 'pipe' is not defined

The reason is a simple typo in the source code. Instead of "pipe",
"path" would be correct. An upstream patch is availabe in [1].

Best regards,
Felix Moessbauer
Siemens AG

[1] 
https://github.com/intel/bmap-tools/commit/06fa51d0270f84d9553c044bd7391f01459a70e8

-- System Information:
Debian Release: 12.0
  APT prefers testing-security
  APT policy: (500, 'testing-security'), (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-7-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages bmap-tools depends on:
ii  python3  3.11.2-1+b1
ii  python3-six  1.16.0-4

Versions of packages bmap-tools recommends:
ii  bzip2 1.0.8-5+b1
ii  lzop  1.04-2
ii  xz-utils  5.4.1-0.2

Versions of packages bmap-tools suggests:
ii  lz41.9.4-1
ii  pbzip2 1.1.13-1
pn  pigz   
pn  python3-gpgme  
ii  unzip  6.0-28

-- no debconf information



Bug#1030300: intel-microcode: move package from non-free to non-free-firmware

2023-02-02 Thread Felix Moessbauer
Package: intel-microcode
Version: 3.20220510.1~deb11u1
Severity: normal

Dear Maintainer,

with the repository split into non-free and non-free-firmware,
this package should be moved to non-free-firmware, as it contains the
intel ucode, which is firmware.

Ideally, this fix should also be done prior to the release of bookworm.

Best regards,
Felix Moessbauer
Siemens AG

-- System Information:
Debian Release: 11.6
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.0.0-0.deb11.6-amd64 (SMP w/8 CPU threads; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages intel-microcode depends on:
pn  iucode-tool  

Versions of packages intel-microcode recommends:
ii  initramfs-tools  0.140

intel-microcode suggests no packages.



Bug#1013425: ITP: wnpp -- Python Airspeed is a powerful templating engine compatible with Velocity for Java

2022-06-23 Thread Felix Moessbauer
Package: wnpp
Severity: wishlist
Owner: Felix Moessbauer 
X-Debbugs-Cc: debian-de...@lists.debian.org, debian-pyt...@lists.debian.org

* Package name: wnpp
  Version : 0.5.19
  Upstream Author : Steve Purcell 
* URL : https://github.com/purcell/airspeed
* License : BSD-2-Clause
  Programming Lang: Python
  Description : Airspeed is a powerful and easy-to-use templating engine 
for Python that aims for a high level of compatibility with the popular 
Velocity library for Java.

According to my knowledge this project is currently the only that
supports velocity templates and especially version velocity version 1.7.

My intent is to package this software under the umbrealla of the Debian
Python team.

Felix Moessbauer
Siemens AG



Bug#1012761: ITP: shtab -- generator for shell tab completion files for python projects

2022-06-13 Thread Felix Moessbauer
Package: wnpp
Severity: wishlist
Owner: Felix Moessbauer 
X-Debbugs-Cc: debian-de...@lists.debian.org

* Package name: shtab
  Version : 1.5.4
  Upstream Author : Casper da Costa-Luis 
* URL : https://github.com/iterative/shtab
* License : Apache-2.0
  Programming Lang: Python
  Description : generator for shell tab completion files for python projects

CLI tool and library to auto-generate tab completion files for bash, zsh
and tcsh from python argparse definitions.
This package should replace the custom packaging of shtab as part of the
CIP project [1].

My intent is to package this software under the umbrella of the Debian
Python team.

[1] 
https://gitlab.com/cip-project/cip-core/isar-cip-core/-/tree/master/recipes-python/shtab



Bug#1009042: libtraceevent: FTBFS race condition on parallel build

2022-04-06 Thread Felix Moessbauer
Source: libtraceevent
Version: 1:1.5.1-1
Severity: serious
Tags: ftbfs upstream
Justification: fails to build from source (but built successfully in the past)

Dear Maintainer,

the upstream version 1.5.1 has a race condition in the src/Makefile
which breaks the build sporadically.

This bug is hard to reproduce, but when running with sbuilder on a
machine with 16 cores, it appears quite consistently.

Attached a log from a failed build using sbuilder (from an internal
build server, not the official debian ones).
Please note, that the symbols that are missing vary from run to run.
A similar bug has already been reported for libtracefs (#1008722).
The root-cause might be the same, as the Makefiles of both projects
look quite similar.

Best regards,
Felix Moessbauer
Siemens AG

dh_makeshlibs -a
dpkg-gensymbols: error: some symbols or patterns disappeared in the symbols 
file: see diff output below
dpkg-gensymbols: warning: debian/libtraceevent1/DEBIAN/symbols doesn't match 
completely debian/libtraceevent1.symbols
--- debian/libtraceevent1.symbols (libtraceevent1_1:1.5.1-1_amd64)
+++ dpkg-gensymbolsJfsqcz   2022-04-01 12:59:36.848775612 +
@@ -146,15 +146,15 @@
tep_vprint@Base 1:1.3.0
tep_vwarning@Base 1:1.2.1
tep_warning@Base 1:1.2.1
- trace_seq_destroy@Base 5.4
- trace_seq_do_fprintf@Base 5.4
- trace_seq_do_printf@Base 5.4
- trace_seq_init@Base 5.4
- trace_seq_printf@Base 5.4
- trace_seq_putc@Base 5.4
- trace_seq_puts@Base 5.4
- trace_seq_reset@Base 5.4
- trace_seq_terminate@Base 5.4
- trace_seq_vprintf@Base 5.4
+#MISSING: 1:1.5.1-1# trace_seq_destroy@Base 5.4
+#MISSING: 1:1.5.1-1# trace_seq_do_fprintf@Base 5.4
+#MISSING: 1:1.5.1-1# trace_seq_do_printf@Base 5.4
+#MISSING: 1:1.5.1-1# trace_seq_init@Base 5.4
+#MISSING: 1:1.5.1-1# trace_seq_printf@Base 5.4
+#MISSING: 1:1.5.1-1# trace_seq_putc@Base 5.4
+#MISSING: 1:1.5.1-1# trace_seq_puts@Base 5.4
+#MISSING: 1:1.5.1-1# trace_seq_reset@Base 5.4
+#MISSING: 1:1.5.1-1# trace_seq_terminate@Base 5.4
+#MISSING: 1:1.5.1-1# trace_seq_vprintf@Base 5.4
vpr_stat@Base 5.4
#MISSING: 1:1.2.1-1# warning@Base 5.4
dh_makeshlibs: error: failing due to earlier errors
make: *** [debian/rules:14: binary] Error 25

-- System Information:
Debian Release: 11.3
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: arm64, x32

Kernel: Linux 5.10.0-13-amd64 (SMP w/16 CPU threads)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled



Bug#1008722: libtracefs: FTBFS race condition on parallel build

2022-03-31 Thread Felix Moessbauer
Source: libtracefs
Version: 1.3.0-1
Severity: serious
Tags: ftbfs upstream patch
Justification: fails to build from source (but built successfully in the past)
X-Debbugs-Cc: felix.moessba...@siemens.com

Dear Maintainer,

the upstream version 1.3.0 has a race condition in the src/Makefile,
which breaks the build sporadically (when building on a machine with
many cores).

A patch is already available upstream [1].
Reproducing this manually is really tricky, but we consistently see it
on nightly builds with sbuilder.

[1] 
https://git.kernel.org/pub/scm/libs/libtrace/libtracefs.git/commit/src?id=567fc8b8d4d5d8c536e82525e69af82d13b4e181

Best regards,
Felix Moessbauer
Siemens AG

-- System Information:
Debian Release: 11.3
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: arm64, x32

Kernel: Linux 5.10.0-13-amd64 (SMP w/16 CPU threads)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled



Bug#992406: openvswitch-switch-dpdk: OVS crashes when enabling LLDP due combination of incompat libs via update-alternatives

2021-08-18 Thread Felix Moessbauer
Package: openvswitch-switch-dpdk
Version: 2.15.0+ds1-3
Severity: important

Dear Maintainer,

the current integration of update-alternatives mixes libraries from different 
flavors
that are not ABI compatible. This manifests in a crash when enabling lldp on a 
OVS-DPDK
as the code path traverses functions from libofproto which use a different ABI 
in the
DPDK / non-DPDK build.

There might be other crashes due to this glitch as well, but it's hard to find 
them.
The provided patch makes the libofproto library flavor dependent.

While this patch fixes the update-alternatives, we should question ourselfs if
static linking against internal-only dependencies might be the better approach.
This is how Ubuntu packages it.
Ás we have no easy way to track which library actually changes amoung flavors,
we might run into these issues again in the future.

Best regards,
Felix Moessbauer

-- System Information:
Debian Release: 11.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: armhf, i386, arm64

Kernel: Linux 4.19.0-13-rt-amd64 (SMP w/12 CPU threads; PREEMPT)
Kernel taint flags: TAINT_WARN, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages openvswitch-switch-dpdk depends on:
pn  dpdk
ii  libc6   2.31-13
ii  libcap-ng0  0.7.9-2.2+b1
pn  librte-eal21
pn  librte-ethdev21 
pn  librte-mbuf21   
pn  librte-mempool21
pn  librte-meter21  
pn  librte-vhost21  
ii  libssl1.1   1.1.1k-1
ii  libunbound8 1.13.1-1
ii  openvswitch-common  2.15.0+ds1-2
ii  openvswitch-switch  2.15.0+ds1-2

openvswitch-switch-dpdk recommends no packages.

openvswitch-switch-dpdk suggests no packages.
>From 89ee843f2d9632861b8ea40849d9e21e07c1a0c4 Mon Sep 17 00:00:00 2001
From: Felix Moessbauer 
Date: Wed, 18 Aug 2021 06:21:20 +
Subject: [PATCH] fix ABI incompatibility that crashes OVS when enabling LLDP

This fix ensures that the libofproto is also placed in the
update-alternatives to ensure that the library is build with the same
defines (e.g. NETDEV_DPDK) as the ovs-vswitchd binary.

Previously, even the ovs-vswitchd build with DPDK used the libofproto without
DPDK support.

%% original patch: 
0001-fix-ABI-incompatibility-that-lead-to-a-crash-when-en.patch
---
 debian/openvswitch-common.postinst.in  |  3 ++-
 debian/openvswitch-switch-dpdk.postinst.in |  3 ++-
 debian/rules   | 13 +++--
 3 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/debian/openvswitch-common.postinst.in 
b/debian/openvswitch-common.postinst.in
index 43df5b886..b75b2e9ed 100644
--- a/debian/openvswitch-common.postinst.in
+++ b/debian/openvswitch-common.postinst.in
@@ -4,7 +4,8 @@ set -e
 
 if [ "${1}" = "configure" ] ; then
update-alternatives --install /usr/sbin/ovs-vswitchd ovs-vswitchd 
/usr/lib/openvswitch-common/ovs-vswitchd 100 \
---slave /usr/lib/%%MULTIARCH_TRIPLETT%%/libopenvswitch-2.15.so.0.0.0 
libopenvswitch.so /usr/lib/openvswitch-common/libopenvswitch-2.15.so.0.0.0
+--slave /usr/lib/%%MULTIARCH_TRIPLETT%%/libopenvswitch-2.15.so.0.0.0 
libopenvswitch.so /usr/lib/openvswitch-common/libopenvswitch-2.15.so.0.0.0 \
+--slave /usr/lib/%%MULTIARCH_TRIPLETT%%/libofproto-2.15.so.0.0.0 
libofproto.so /usr/lib/openvswitch-common/libofproto-2.15.so.0.0.0
 fi
 
 #DEBHELPER#
diff --git a/debian/openvswitch-switch-dpdk.postinst.in 
b/debian/openvswitch-switch-dpdk.postinst.in
index 4bbc279e3..85d231d27 100644
--- a/debian/openvswitch-switch-dpdk.postinst.in
+++ b/debian/openvswitch-switch-dpdk.postinst.in
@@ -4,7 +4,8 @@ set -e
 
 if [ "${1}" = "configure" ] ; then
update-alternatives --install /usr/sbin/ovs-vswitchd ovs-vswitchd 
/usr/lib/openvswitch-switch-dpdk/ovs-vswitchd-dpdk 200 \
---slave /usr/lib/%%MULTIARCH_TRIPLETT%%/libopenvswitch-2.15.so.0.0.0 
libopenvswitch.so /usr/lib/openvswitch-switch-dpdk/libopenvswitch-2.15.so.0.0.0
+--slave /usr/lib/%%MULTIARCH_TRIPLETT%%/libopenvswitch-2.15.so.0.0.0 
libopenvswitch.so /usr/lib/openvswitch-switch-dpdk/libopenvswitch-2.15.so.0.0.0 
\
+--slave /usr/lib/%%MULTIARCH_TRIPLETT%%/libofproto-2.15.so.0.0.0 
libofproto.so /usr/lib/openvswitch-switch-dpdk/libofproto-2.15.so.0.0.0
 fi
 
 #DEBHELPER#
diff --git a/debian/rules b/debian/rules
index 205596f00..d310f0d57 100755
--- a/debian/rules
+++ b/debian/rules
@@ -207,6 +207,9 @@ override_dh_auto_install-arch:

$(CURDIR)/debian/openvswitch-common/usr/lib/openvswitch-common/ovs-vswitchd
mv $(CURDIR)/debian/tmp/usr/lib/*/libopenvswitch-2.15.so.0.0.0 \

$(CURDIR)/debian/openvswitch-common/usr/lib/openvswitch-common/libopenvswitch-2.15.so.0.0.0
+   mv $(CURDIR)/de

Bug#860957: please ship python-perf (perf.so)

2021-01-18 Thread Felix Moessbauer
Package: src:linux
Followup-For: Bug #860957

Dear Maintainer,

this patch adds support to ship the perf python bindings as a version
dependent module (here, perf_4_19).
By that, it can be imported using "import perf_4_19".

A second patch in module linux-base provides a wrapper to load the
perf module for the currently active kernel using "import perf".
This is done similar to how the perf CLI wrapper works.
For the sake of completeness, this wrapper is attached here as well.

-- System Information:
Debian Release: 10.7
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: armhf, i386, arm64

Kernel: Linux 4.19.0-12-amd64 (SMP w/12 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -829,10 +829,10 @@
 
 install-bin: install-tools install-tests install-traceevent-plugins
 
-install: install-bin try-install-man
-
 install-python_ext:
-   $(PYTHON_WORD) util/setup.py --quiet install --root='/$(DESTDIR_SQ)'
+   $(PYTHON_WORD) util/setup.py --quiet install --root='/$(DESTDIR_SQ)' 
--install-layout=deb;
+
+install: install-bin try-install-man install-python_ext
 
 # 'make install-doc' should call 'make -C Documentation install'
 $(INSTALL_DOC_TARGETS):
--- a/debian/rules.d/tools/perf/Makefile
+++ b/debian/rules.d/tools/perf/Makefile
@@ -31,6 +31,9 @@
 # Build with Python 3, not Python 2
 MAKE_PERF += PYTHON=/usr/bin/python3
 
+# Pattern to match 4.19 and 4_19 in filenames
+VERS_PATTERN := $(subst .,[._],$(VERSION))
+
 all:
 # perf changes some default directories depending on whether DESTDIR is
 # set.  We must define it even when building to avoid a rebuild when we
@@ -58,5 +61,6 @@
mv $(DESTDIR)/etc/bash_completion.d \
$(DESTDIR)/usr/share/bash-completion/completions
rmdir --ignore-fail-on-non-empty $(DESTDIR)/etc
+
 # Check for unversioned files that are likely to result in file conflicts
-   cd $(DESTDIR) && ! find \! -type d \! -path '*[_-]$(VERSION)*' | grep .
+   cd $(DESTDIR) && ! find \! -type d \! -path '*[_-]$(VERS_PATTERN)*' | 
grep .
--- a/tools/perf/util/setup.py
+++ b/tools/perf/util/setup.py
@@ -51,14 +51,14 @@
 # use full paths with source files
 ext_sources = list(map(lambda x: '%s/%s' % (src_perf, x) , ext_sources))
 
-perf = Extension('perf',
+perf = Extension('perf_4_19',
  sources = ext_sources,
  include_dirs = ['util/include'],
  extra_compile_args = cflags,
  extra_objects = [libtraceevent, libapikfs],
  )
 
-setup(name='perf',
+setup(name='perf_4_19',
   version='0.1',
   description='Interface with the Linux profiling infrastructure',
   author='Arnaldo Carvalho de Melo',
--- a/tools/perf/util/python.c
+++ b/tools/perf/util/python.c
@@ -77,7 +77,7 @@
 #if PY_MAJOR_VERSION < 3
 PyMODINIT_FUNC initperf(void);
 #else
-PyMODINIT_FUNC PyInit_perf(void);
+PyMODINIT_FUNC PyInit_perf_4_19(void);
 #endif
 
 #define member_def(type, member, ptype, help) \
@@ -1270,7 +1270,7 @@
 #if PY_MAJOR_VERSION < 3
 PyMODINIT_FUNC initperf(void)
 #else
-PyMODINIT_FUNC PyInit_perf(void)
+PyMODINIT_FUNC PyInit_perf_4_19(void)
 #endif
 {
PyObject *obj;
#!/usr/bin/python3
# Wrapper to load the kernel-specific version
# of the python perf module using "import perf"

import platform

uname = platform.uname().release
kvers = uname.split('.')

if len(kvers) < 2:
  raise RuntimeError('Could not detect kernel version in: {}'.format(kvers))
try:
  perf = __import__('perf_{}_{}'.format(kvers[0], kvers[1]))
  # load symbols into parent namespace to provide it under perf
  # instead of perf.perf_
  symbols = [symbol for symbol in perf.__dict__ if not symbol.startswith("_")]
  globals().update({symbol: getattr(perf, symbol) for symbol in symbols})
  del perf
  del symbols
except ModuleNotFoundError:
  raise ModuleNotFoundError('perf package not found. Install debian package 
linux-perf-{}.{}'.format(kvers[0],kvers[1]))

del platform
del uname
del kvers


Bug#979489: dpdk: reduce pre dependencies of systemd service

2021-01-07 Thread Felix Moessbauer
Package: dpdk
Version: 19.11-4~bpo10+1
Severity: normal

Dear Maintainer,

the dpdk systemd service has a pre-dependency that clashes with the 
openvswitch-nonetwork service
from the openvswitch-switch package for OpenStack. [1]

The dpdk.service requires "After=network-pre.target local-fs.target".
This is problematic, as it clashes with the openvswitch-nonetwork 
"Before=network-pre.target" and creates a dependency cycle.
However, when DPDK support is enabled in OVS (via configuration), dpdk.service 
becomes a startup After= dependency.
This cannot be easily solved on OVS side, as OVS must start before network-pre 
so that is can configure the network itself.
This issue had been discussed upstream: [2]

A possible solution would be to remove the network-pre.target dependency in the 
dpdk service.
I successfully run this patch on a number of systems (I also use the service to 
bind the network devices).

[1]: 
https://salsa.debian.org/openstack-team/third-party/openvswitch/-/blob/debian/victoria/debian/openvswitch-switch.openvswitch-nonetwork.service#L5
[2]: https://bugs.launchpad.net/ubuntu/+source/openvswitch/+bug/1448254

-- System Information:
Debian Release: 10.7
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-13-rt-amd64 (SMP w/22 CPU cores; PREEMPT)
Kernel taint flags: TAINT_WARN
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages dpdk depends on:
ii  hwdata0.290-1
ii  lsb-base  10.2019051400
ii  pciutils  1:3.5.2-1
ii  python3   3.7.3-1

Versions of packages dpdk recommends:
ii  librte-mempool-ring20.0 19.11-4~bpo10+1
ii  librte-mempool20.0  19.11-4~bpo10+1
ii  librte-pmd-af-packet20.019.11-4~bpo10+1
ii  librte-pmd-bond20.0 19.11-4~bpo10+1
ii  librte-pmd-e1000-20.0   19.11-4~bpo10+1
ii  librte-pmd-fm10k20.019.11-4~bpo10+1
ii  librte-pmd-i40e20.0 19.11-4~bpo10+1
ii  librte-pmd-ixgbe20.019.11-4~bpo10+1
ii  librte-pmd-kni20.0  19.11-4~bpo10+1
ii  librte-pmd-mlx4-20.019.11-4~bpo10+1
ii  librte-pmd-mlx5-20.019.11-4~bpo10+1
ii  librte-pmd-netvsc20.0   19.11-4~bpo10+1
ii  librte-pmd-pcap20.0 19.11-4~bpo10+1
ii  librte-pmd-tap20.0  19.11-4~bpo10+1
ii  librte-pmd-thunderx20.0 19.11-4~bpo10+1
ii  librte-pmd-vdev-netvsc20.0  19.11-4~bpo10+1
ii  librte-pmd-vhost20.019.11-4~bpo10+1
ii  librte-pmd-virtio20.0   19.11-4~bpo10+1
ii  librte-pmd-vmxnet3-20.0 19.11-4~bpo10+1
ii  python3-pyelftools  0.25-2

Versions of packages dpdk suggests:
pn  dpdk-doc   
pn  dpdk-igb-uio-dkms  
ii  librte-mempool-bucket20.0  19.11-4~bpo10+1
ii  librte-mempool-dpaa2-20.0  19.11-4~bpo10+1
ii  librte-mempool-dpaa20.019.11-4~bpo10+1
ii  librte-mempool-octeontx2-20.0  19.11-4~bpo10+1
ii  librte-mempool-octeontx20.019.11-4~bpo10+1
ii  librte-mempool-ring20.019.11-4~bpo10+1
ii  librte-mempool-stack20.0   19.11-4~bpo10+1
ii  librte-mempool20.0 19.11-4~bpo10+1
ii  librte-pmd-aesni-gcm20.0   19.11-4~bpo10+1
ii  librte-pmd-aesni-mb20.019.11-4~bpo10+1
ii  librte-pmd-af-packet20.0   19.11-4~bpo10+1
ii  librte-pmd-af-xdp20.0  19.11-4~bpo10+1
ii  librte-pmd-ark20.0 19.11-4~bpo10+1
ii  librte-pmd-atlantic20.019.11-4~bpo10+1
ii  librte-pmd-avp20.0 19.11-4~bpo10+1
ii  librte-pmd-axgbe20.0   19.11-4~bpo10+1
ii  librte-pmd-bbdev-fpga-lte-fec20.0  19.11-4~bpo10+1
ii  librte-pmd-bbdev-null20.0  19.11-4~bpo10+1
ii  librte-pmd-bbdev-turbo-sw20.0  19.11-4~bpo10+1
ii  librte-pmd-bnx2x20.0   19.11-4~bpo10+1
ii  librte-pmd-bnxt20.019.11-4~bpo10+1
ii  librte-pmd-bond20.019.11-4~bpo10+1
ii  librte-pmd-caam-jr20.0 19.11-4~bpo10+1
ii  librte-pmd-ccp20.0 19.11-4~bpo10+1
ii  librte-pmd-crypto-scheduler20.019.11-4~bpo10+1
ii  librte-pmd-cxgbe20.0   19.11-4~bpo10+1
ii  librte-pmd-dpaa-event20.0  19.11-4~bpo10+1
ii  librte-pmd-dpaa-sec20.019.11-4~bpo10+1
ii  librte-pmd-dpaa2-20.0  19.11-4~bpo10+1
ii  librte-pmd-dpaa2-event20.0 19.11-4~bpo10+1
ii  librte-pmd-dpaa2-sec20.0   19.11-4~bpo10+1
ii  librte-pmd-dpaa20.019.11-4~bpo10+1
ii  librte-pmd-dsw-event20.0   19.11-4~bpo10+1
ii  librte-pmd-e1000-20.0  19.11-4~bpo10+1
ii  librte-pmd-ena20.0 19.11-4~bpo10+1
ii  librte-pmd-enetc20.0   19.11-4~bpo10+1
ii  librte-pmd-enic20.019.11-4~bpo10+1
ii  librte-pmd-failsafe20.019.11-4~bpo10+1
ii  librte-pmd-fm10k20.0   19.11-4~bpo10+1
ii  librte-pmd-hinic20.0