Mailinglist Archive: opensuse-buildservice (153 mails)

< Previous Next >
[opensuse-buildservice] Re: [Fwd: Re: [Openvpn-users] RE 2.3.5 - systemd] fail on the OBS 2/2
  • From: Hans Witvliet <suse@xxxxxxxxxxx>
  • Date: Sat, 01 Nov 2014 14:33:49 +0100
  • Message-id: <1414848829.26402.353.camel@orion1>
On Sat, 2014-11-01 at 14:31 +0100, Hans Witvliet wrote:
Please have a look at the comment of one of the developpers of openvpn..

How can i provide: libsystemd.pc or libsystemd-daemon.pc files ?


Hans

-------- Forwarded Message --------
From: David Sommerseth <openvpn.list@xxxxxxxxxxxxxxxx>
Reply-to: openvpn-users@xxxxxxxxxxxxxxxxxxxxx
To: Gert Doering <gert@xxxxxxxxxxxxxx>, J.Witvliet@xxxxxxxxx
Cc: hwit@xxxxxxxxxxx, openvpn-users@xxxxxxxxxxxxxxxxxxxxx
Subject: Re: [Openvpn-users] RE 2.3.5 - systemd
Date: Fri, 31 Oct 2014 21:51:22 +0100

On 30/10/14 19:28, Gert Doering wrote:
Hi,

On Thu, Oct 30, 2014 at 11:39:22AM +0100, J.Witvliet@xxxxxxxxx
wrote:
My first assumption was that on this particular build-node,
system was not found, But that makes no sense, as 2.3.4 builds
OK, with or without system on OS12.2, OS12.3, OS13.1, OS13.2,
OSFactory, SLES11SP3 and SLES12

Have to dive a bit deeper, I guess.


2.3.4 doesn't link to systemd, just call the binary - 2.3.5
contains the additional check "is systemd running?" via libsystemd.
So, on a system that does not actually have systemd installed,
2.3.4 would compile just fine, and possibly just not use the
systemd ask-password at run-time, while 2.3.5 will not build.

If there *is* systemd on that node, it should compile, though...

David, this is yours to diagnose further and patch :-)

Yes, 2.3.4 and earlier did not carry any libsystemd or
libsystemd-daemon if compiled with --enable-systemd. However, the
check if the system was booted with systemd or not was not optimal
earlier on either. That has improved now.

The dependency of libsystemd or libsystemd-daemon (depends on which
version of systemd is installed) is caused by us now calling
sd_booted() now instead of checking if the cgroups file tree with
systemd traces is present or not. By calling sd_booted(), systemd
provides us a sane way to do this check, even if they decide to change
the check mechanism under the hood.

When OpenVPN is built for a system using systemd, it doesn't matter if
it has this dependency or not, systemd will always be available. And
if not, the OpenVPN package should pull in the needed systemd package
when being installed. For RPM based distributions, the complete
distro is built either with or without systemd, there is no "maybe
systemd is here" scenario.

The problem in this particular case is solely that the RPM .spec file
openSuSE uses is not updated with the dependency on the systemd-devel
package (that's what it's called in Fedora at least). That package
carries the needed pkg-config files telling how to include the needed
systemd library when linking the openvpn binary. This [1] is what the
Fedora packager did when building 2.3.5 for Fedora.

[1]
<http://pkgs.fedoraproject.org/cgit/openvpn.git/commit/?id=ef86d1da9850e23a69f76b68d2a0ec39b319fe0d>

So, Hans, please ensure that the package providing the proper
libsystemd.pc or libsystemd-daemon.pc files are installed. OpenVPN
now needs a BuildRequirement for that particular package, as well as
Requires on the systemd-libs package (which should carry libsystemd.so
and/or libsystemd-daemon.so). If the systemd packages have similar
names as Fedora, then you can look what's done in the Fedora .spec file.


--
kind regards,

David Sommerseth


--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >
Follow Ups
References