Bug#1068504: mumble-server: wrong path for systemd-sysusers file

Michael Tokarev mjt at tls.msk.ru
Thu Jan 9 19:28:59 GMT 2025


On Wed, 8 Jan 2025 13:44:33 -0500 Chris Knadle <Chris.Knadle at coredump.us> wrote:
> Hello, Michael.
> 
> I'm emailing again because I've tried again to follow the suggestions 
> that were made for this bug, and it is not working.
> 
> On 11/22/24 06:09, Michael Biebl wrote:
> > Again, I don't understand why you try to fiddle with debian/rules and 
> > variables in .install files (don't do that)
> The directive here is to avoid using variables in the .install file.
> > You install systemd-dev (including systemd.pc), the build system picks 
> > up the paths from systemd.pc via pkgconf and installs the files into 
> > the correct paths. All you need to do in .install is reference the now 
> > correct paths.
> 
> Then the directive here is to reference a "correct path" in the .install 
> file, which presumably is in a variable. (?) Or, whatever the "correct 
> path" is meant to mean, I don't know what that is and cannot interpret it.
> 
> I've again tried adding systemd-dev Build-Depends to the d/control file, 
> and making modifications to mumble-server.install in various ways, and 
> none of it has helped.
> 
> I've done as much as I can. Upstream is not able to help with Debian 
> packaging matters, the others I work with on the Mumble Debian package 
> don't understand this any better either. What I can do from here is I 
> can accept a patch and test it, if one is submitted. Other than that 
> I've done what I can.
I has been confused apparently exactly the same way as you :)

Debian has various paths defined to some particular values.  For example,
manpage directory is /usr/share/man, etc.  You don't use variables for
the manpages, for bindir=/usr/bin, for includedid=/usr/include etc in
your d/*.install files - you just put actual paths, and usually rely on
debhelper to run ./configure with the correct options to tell the build
system to use the right paths.

The same applies to this systemd sysusers path (and other systemd paths too).

However, apparently, upstream build system has no direct way to tell what
the systemd dirs are -- there's no option like --systemdsysusersdir=
(or -DSYSTEMDSYSUSERSDIR= define).

So in order to TELL the build system where these dirs are, you install
systemd-dev package, - this way, the upstream build system determines
these path at build time using pkgconf.

But you already know which paths are used by systemd in debian.  You
don't need to use a variable in the debian install instructions.

The variable is only used in the upstream build system to determine
where to install the file.  systemd-dev is only needed by the upstream
build system to determine where things are installed on debian.  It
is not for your build instructions, it is for the upstream build
system only.  You know it already and can use literal paths in
the d/*.install files and elsewhere.

/mjt



More information about the Pkg-voip-maintainers mailing list