Hello Michael and Stefan.

I think I finally figured out what referencing systemd.pc is about. There's no systemd-dev package, it looks like system.pc is in the "systemd" package. The file can be seen here:

https://github.com/systemd/systemd/blob/main/src/core/systemd.pc.in

and it looks like this file would need to be sourced in and then variable $sysusers_dir or $sysusersdir would be what to reference.

The $sysusers_dir variable would need to be referenced within debian/mumble-server.install and I'm not sure what location is appropriate to source in /usr/share/pkgconfig/systemd.pc. I'm guessing it would be the debian/rules file, perhaps under an override_dh_install section.

For the moment I'm going to leave myself notes about this in the debian/extras/TODO file as part of the source package until I can figure out how to work out referencing systemd.pc, and for now I'm hardcoding using usr/lib/sysusers.d/mumble-server.conf in debian/mumble-server.install.

   -- Chris

Chris Knadle
chris.kna...@coredump.us

On 9/5/24 10:18, Michael Biebl wrote:
Hi,

the best way I'd say to fix this is via a build-depends on systemd-dev to get the correct path for the sysusers directory from systemd.pc.

/etc/sysconfig.d is a weird fallback path (which honestly doesn't make a lot of sense) in case systemd.pc is not found.

from auxiliary_files/CMakeLists.txt:

        get_pkgconf_variable(
            OUTPUT_VARIABLE SYSUSERS_DIR
            MODULE systemd
            VARIABLE_NAME sysusersdir
            QUIET
        )
        if(NOT SYSUSERS_DIR)
            # Fallback value, in case it could not be fetched via pkg-config
            set(SYSUSERS_DIR "${CMAKE_INSTALL_SYSCONFDIR}/sysconfig.d")
        endif()


Regards,
Michael

On Sat, 6 Apr 2024 23:01:37 -0400 Chris Knadle <chris.kna...@coredump.us> wrote:
Greetings.

As far as I know /etc/sysconfig.d/ is a directory used by Fedora/Red Hat based distros, not Debian.

Looking through the Git log I see I added this on Feb 1 2023 with the following commit message:

     add etc/sysconfid./mumble-server.conf as the build breaks without it at compat 13
     (it's commit f0cdad5245c6d1de6bff9223c6ce5767c13f9e45)

/usr/lib/sysusers.d/*.conf does seem like where this file should go.

I've made local Git commits to fix this for the next bugfix upload (1.5.517-3). Before doing any more uploads I need to look at what's going on with a number of library transitions going on that could get negatively affected by uploads of mumble.

    -- Chris

--
Chris Knadle
chris.kna...@coredump.us

On 4/6/24 09:12, Stefan Schweizer via Pkg-voip-maintainers wrote:
> Package: mumble-server
> Severity: normal
>
> Hi,
>
> mumble-server installs a systemd-sysusers file to /etc/sysconfig.d
>
> According to the sysusers.d(5) man page sysusers files can be placed in
> /etc/sysusers.d/*.conf
> /run/sysusers.d/*.conf
> /usr/lib/sysusers.d/*.conf
>
> So installing the sysusers file to /etc/sysconfig.d has no
> effect and it should be moved to /usr/lib/sysusers.d.
>
> Since the mumble-server user is created by the debian package I think
> the sysusers file is unnecessary and can be omitted until a switch to
> sysusers is made.
>



Reply via email to