Bug 2425539 - Package installs two conflicting sysusers files
Summary: Package installs two conflicting sysusers files
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: NetworkManager-openvpn
Version: 43
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Lubomir Rintel
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 2426921 2428543 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2025-12-26 18:06 UTC by Enrique Meléndez
Modified: 2026-01-19 20:29 UTC (History)
37 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Fedora Package Sources NetworkManager-openvpn pull-request 11 0 None None None 2026-01-14 13:34:37 UTC
Fedora Package Sources NetworkManager-openvpn pull-request 12 0 None None None 2026-01-14 13:34:37 UTC

Description Enrique Meléndez 2025-12-26 18:06:31 UTC
Package NetworkManager-openvpn-1.12.5-1.fc43 installs two conflicting files in /usr/lib/sysusers.d/, namely

networkmanager-openvpn.conf

contents: 
u nm-openvpn - 'Default user for running openvpn spawned by NetworkManager' - -

and 

nm-openvpn-sysusers.conf 

contents:
u! nm-openvpn - "NetworkManager OpenVPN" /var/lib/openvpn/chroot

The first one (networkmanager-openvpn.conf) comes from NetworkManager-openvpn-1.12.3-1.fc43. The second was added because it was created upstream (see https://gitlab.gnome.org/GNOME/NetworkManager-openvpn/-/blob/main/nm-openvpn-sysusers.conf.in?ref_type=heads), and I believe it has a wrong syntax (see https://gitlab.gnome.org/GNOME/NetworkManager-openvpn/-/issues/162 )


This is evidenced by the update process, where you get the output

>>> Running %triggerin scriptlet: systemd-0:258.3-2.fc43.x86_64                                                                                                                                         
>>> Finished %triggerin scriptlet: systemd-0:258.3-2.fc43.x86_64                                                                                                                                        
>>> Scriptlet output:                                                                                                                                                                                   
>>> /usr/lib/sysusers.d/nm-openvpn-sysusers.conf:1: Conflict with earlier configuration for user 'nm-openvpn' in /usr/lib/sysusers.d/networkmanager-openvpn.conf:1, ignoring line.  




Reproducible: Always

Steps to Reproduce:
1. Install NetworkManager-openvpn-1.12.5-1.fc43
2. Observe the warning message

Actual Results:
Warning message

Expected Results:
No warning messages

Additional Information:
One of the files should be removed from the installation package. Possibly a 'u!' (locked user) should be used instead of the plain 'u' user.

Comment 1 jackyzy823 2026-01-02 10:07:40 UTC
Same issue here when doing dnf update.

So, just use upstream's sysusers conf. here's the patch.

```
diff --git a/NetworkManager-openvpn.spec b/NetworkManager-openvpn.spec
index 56c3b13..17528a2 100644
--- a/NetworkManager-openvpn.spec
+++ b/NetworkManager-openvpn.spec
@@ -8,7 +8,7 @@ Summary:   NetworkManager VPN plugin for OpenVPN
 Name:      NetworkManager-openvpn
 Epoch:     1
 Version:   1.12.5
-Release:   1%{?dist}
+Release:   2%{?dist}
 License:   GPL-2.0-or-later
 URL:       http://www.gnome.org/projects/NetworkManager/
 
@@ -58,12 +58,6 @@ the OpenVPN server with NetworkManager (GNOME files).
 %prep
 %autosetup -p1
 
-# Create a sysusers.d config file
-cat >networkmanager-openvpn.sysusers.conf <<EOF
-u nm-openvpn - 'Default user for running openvpn spawned by NetworkManager' - -
-EOF
-
-
 %build
 if [ ! -f configure ]; then
   ./autogen.sh
@@ -84,7 +78,6 @@ make check
 
 %install
 make install DESTDIR=%{buildroot} INSTALL="%{__install} -p"
-install -m0644 -D networkmanager-openvpn.sysusers.conf %{buildroot}%{_sysusersdir}/networkmanager-openvpn.conf
 
 rm -f %{buildroot}%{_libdir}/NetworkManager/lib*.la
 
@@ -94,13 +87,12 @@ rm -f %{buildroot}%{_libdir}/NetworkManager/lib*.la
 %{_libdir}/NetworkManager/libnm-vpn-plugin-openvpn.so
 %{_datadir}/dbus-1/system.d/nm-openvpn-service.conf
 %{_prefix}/lib/NetworkManager/VPN/nm-openvpn-service.name
-%{_prefix}/lib/sysusers.d/nm-openvpn-sysusers.conf
-%{_prefix}/lib/tmpfiles.d/nm-openvpn-tmpfiles.conf
+%{_sysusersdir}/nm-openvpn-sysusers.conf
+%{_tmpfilesdir}/nm-openvpn-tmpfiles.conf
 %{_libexecdir}/nm-openvpn-service
 %{_libexecdir}/nm-openvpn-service-openvpn-helper
 %doc AUTHORS README
 %license COPYING
-%{_sysusersdir}/networkmanager-openvpn.conf
 
 
 %files -n NetworkManager-openvpn-gnome
```

It seems packit doesn't work well with previous manual steps. :(

Comment 2 john r red-horse 2026-01-07 18:25:13 UTC
After the NetworkManager-openvpn package is installed. This conf file conflict is announced for other packages.

I did a `dnf upgrade` this morning, and I received this same conflict announcement when upgrading to setroubleshoot-server-0:3.3.36-2.fc43.x86_64 and tcpdump-14:4.99.6-1.fc43.x86_64.

Here's a snippet from my latest dnf log:

2026-01-07T17:27:37+0000 [4471] INFO RPM callback open file "/var/cache/libdnf5/updates-431245df5652aba0/packages/setroubleshoot-server-3.3.36-2.fc43.x86_64.rpm"
2026-01-07T17:27:37+0000 [4471] INFO RPM callback start sysusers scriptlet "setroubleshoot-server-0:3.3.36-2.fc43.x86_64"
2026-01-07T17:27:38+0000 [4471] INFO [scriptlet] /usr/lib/sysusers.d/nm-openvpn-sysusers.conf:1: Conflict with earlier configuration for user 'nm-openvpn' in /usr/lib/sysusers.d/networkmanager-openvpn.conf:1, ignoring line.
2026-01-07T17:27:38+0000 [4471] INFO RPM callback stop sysusers scriptlet "setroubleshoot-server-0:3.3.36-2.fc43.x86_64" return code 0
2026-01-07T17:27:38+0000 [4471] INFO RPM callback install start "setroubleshoot-server-0:3.3.36-2.fc43.x86_64" total 1543376
2026-01-07T17:27:38+0000 [4471] INFO RPM callback install stop "setroubleshoot-server-0:3.3.36-2.fc43.x86_64" amount 1543376 total 1543376

Comment 3 David Auer 2026-01-10 15:56:45 UTC
*** Bug 2426921 has been marked as a duplicate of this bug. ***

Comment 4 David Auer 2026-01-10 16:00:08 UTC
When downgraded to 1:1.12.3-1.fc43 further reinstalls don't generate scriptlet output, therefore I assume this was introduced with 1:1.12.5-1.fc43.

Comment 5 Johannes 2026-01-11 11:13:30 UTC
This happens directly after installation from live 1.6 and running dnf up

Comment 6 Dominik 'Rathann' Mierzejewski 2026-01-12 19:39:17 UTC
*** Bug 2428543 has been marked as a duplicate of this bug. ***

Comment 7 Peter Hjalmarsson 2026-01-12 21:29:00 UTC
With version 1.2.25 upstream has its own sysusers file.

The problem is with the following commit:
https://src.fedoraproject.org/rpms/NetworkManager-openvpn/c/14848a3693eaa15dcf2b04fe84d7ecf54e8b6cc8?branch=rawhide
(Update to 1.12.5 upstream release)
Which also adds the following line:
%{_prefix}/lib/sysusers.d/nm-openvpn-sysusers.conf

and this without removing the pre-existing generation and installation of another sysusers file from the following commit:

https://src.fedoraproject.org/rpms/NetworkManager-openvpn/c/bd1f1f439bb842aa92390f784f5772a2cb4491f3?branch=rawhide
(Add sysusers.d config file to allow rpm to create users/groups automatically)

Stop generate and install that file (networkmanager-openvpn.sysusers.conf), and this bug will be solved.

Comment 8 Mikhail 2026-01-13 14:40:15 UTC
I can reproduce this on Fedora Rawhide (fc44).

During `dnf upgrade --refresh` I consistently get:
  /usr/lib/sysusers.d/nm-openvpn-sysusers.conf:1: Conflict with earlier configuration for user 'nm-openvpn'
  in /usr/lib/sysusers.d/networkmanager-openvpn.conf:1, ignoring line.

Versions:
  NetworkManager-openvpn-1.12.5-1.fc44.x86_64
  systemd-259-1.fc44.x86_64
  rpm-6.0.1-1.fc44.x86_64
  libdnf5-5.3.0.0-4.fc44.x86_64
  dnf5-5.3.0.0-4.fc44.x86_64

Both sysusers files are owned by the same package:
  $ rpm -qf /usr/lib/sysusers.d/networkmanager-openvpn.conf /usr/lib/sysusers.d/nm-openvpn-sysusers.conf
  NetworkManager-openvpn-1.12.5-1.fc44.x86_64
  NetworkManager-openvpn-1.12.5-1.fc44.x86_64

File contents:
  $ sed -n '1,80p' /usr/lib/sysusers.d/networkmanager-openvpn.conf
  u nm-openvpn - 'Default user for running openvpn spawned by NetworkManager' - -

  $ sed -n '1,80p' /usr/lib/sysusers.d/nm-openvpn-sysusers.conf
  u! nm-openvpn - "NetworkManager OpenVPN" /var/lib/openvpn/chroot


It looks like the package ships two sysusers definitions for the same user; dropping one of them (preferably keep the upstream one) would avoid the warning.


Note You need to log in before you can comment on or make changes to this bug.