Bug#926317: [Debian-iot-maintainers] Bug#926317: Bug#926317: libyder.pc Requires.private systemd, but systemd not in debian/control

2019-04-04 Thread Nicolas Mora
Hello Harald,

IIRC, I put this patch in the first place because of compilation errors
at the time, the errors were fixed only after patching the cmake script
like this.

But your bug made me check again and it seems that it's no longer
necessary. So I'll remove the patch and push a new package soon.

Thanks

Le 19-04-04 à 10 h 25, Harald Welte a écrit :
> Hi Nicolas,
> 
> thanks for your response.
> 
> On Thu, Apr 04, 2019 at 09:10:10AM -0400, Nicolas Mora wrote:
>> Libyder relies on libsystemd to write logs in journald, but it's one of the 
>> log output available, like syslog, a file, a callback or the console. But 
>> you can use libyder without systemd if you don't use it as log output.
> 
> This is great,
> 
> but then why do you have the following patch in the yder debian package?
> 
> Description: soname is still 2.0, fix PKGCONF_REQ_PRIVATE
> Author: Nicolas Mora 
> Index: yder-1.4.4/CMakeLists.txt
> ===
> --- yder-1.4.4.orig/CMakeLists.txt
> +++ yder-1.4.4/CMakeLists.txt
> @@ -135,7 +135,7 @@ endif ()
>  
>  if (WITH_JOURNALD)
>set(PKGCONF_REQ "")
> -  set(PKGCONF_REQ_PRIVATE "libsystemd, liborcania")
> +  set(PKGCONF_REQ_PRIVATE "systemd, liborcania")
>  else ()
>set(PKGCONF_REQ "")
>set(PKGCONF_REQ_PRIVATE "liborcania")
> 
> This patch does the *exact opposite* of what you described in your
> e-mail.  It causes the libyder.pc contain a Requires.private on
> 'systemd', and not on 'libsytemd'.
> 
> This means you can build + install they libyder + libyder-dev package just 
> fine
> on a system without systemd. But then, when you actually want to build any
> application against libyder, its autoconf/cmake step will fail as 
> 'systemd.pc' is
> not available but listed in Requires.private.
> 
> So if you really only need libsystemd, why change from libsystemd to
> systemd in the patch above?
> 
> Regards,
>   Harald
> 



Bug#926317: [Debian-iot-maintainers] Bug#926317: libyder.pc Requires.private systemd, but systemd not in debian/control

2019-04-04 Thread Harald Welte
Hi Nicolas,

thanks for your response.

On Thu, Apr 04, 2019 at 09:10:10AM -0400, Nicolas Mora wrote:
> Libyder relies on libsystemd to write logs in journald, but it's one of the 
> log output available, like syslog, a file, a callback or the console. But you 
> can use libyder without systemd if you don't use it as log output.

This is great,

but then why do you have the following patch in the yder debian package?

Description: soname is still 2.0, fix PKGCONF_REQ_PRIVATE
Author: Nicolas Mora 
Index: yder-1.4.4/CMakeLists.txt
===
--- yder-1.4.4.orig/CMakeLists.txt
+++ yder-1.4.4/CMakeLists.txt
@@ -135,7 +135,7 @@ endif ()
 
 if (WITH_JOURNALD)
   set(PKGCONF_REQ "")
-  set(PKGCONF_REQ_PRIVATE "libsystemd, liborcania")
+  set(PKGCONF_REQ_PRIVATE "systemd, liborcania")
 else ()
   set(PKGCONF_REQ "")
   set(PKGCONF_REQ_PRIVATE "liborcania")

This patch does the *exact opposite* of what you described in your
e-mail.  It causes the libyder.pc contain a Requires.private on
'systemd', and not on 'libsytemd'.

This means you can build + install they libyder + libyder-dev package just fine
on a system without systemd. But then, when you actually want to build any
application against libyder, its autoconf/cmake step will fail as 'systemd.pc' 
is
not available but listed in Requires.private.

So if you really only need libsystemd, why change from libsystemd to
systemd in the patch above?

Regards,
Harald
-- 
- Harald Weltehttp://laforge.gnumonks.org/

"Privacy in residential applications is a desirable marketing option."
  (ETSI EN 300 175-7 Ch. A6)



Bug#926317: [Debian-iot-maintainers] Bug#926317: libyder.pc Requires.private systemd, but systemd not in debian/control

2019-04-04 Thread Nicolas Mora
Hello,

I'm not sure I understand the problem.

Libyder relies on libsystemd to write logs in journald, but it's one of the log 
output available, like syslog, a file, a callback or the console. But you can 
use libyder without systemd if you don't use it as log output.

Also, in Debian packages, libsystemd0 doesn't have systemd as a dependency. 
This may be for a reason.

I will try and see what happens if you use libyder with libsystemd and without 
systemd. But besides the probable fact that a journald log will be unavailable 
if set, I don't think there will be bad consequences.

Le 3 avril 2019 06 h 02 min 22 s HAE, Harald Welte  a 
écrit :
>Package: libyder-dev
>Version: 1.4.4-4
>Severity: normal
>
>I'm experiencing problems building yder-based applications:,
>libyder.pc (after applying debian/cmake.patch) has a Requires.private
>to
>the pacakge 'systemd'.  However, 'systemd' is not listed in the
>'Depends' line of debian/control.
>
>This leads to the absurd situation that I can build + install
>libyder-dev, but other yder-using applications will not get past their
>cmaake/autoconf step as 'systemd' is not neccessarily installed.
>
>So at the very least, 'systemd' should be listed in 'Depends'.
>
>I'm somewhat doubtful about this entire method of using pkg-config
>'Requires.private'.  It may make sense in the absence of a package
>manager.  But as we're talking about a Debian package here:
>Dependencies
>should be tracked at package installation time using dpkg/apt, and not
>some pkg-config private mechanism, IMHO.
>
>Also, I'm not entirely sure why there's a dependency on 'systemd', and
>not 'libsystemd' as in the upstream source.  The Debian changelog
>unfortunately doesn't explain why that cmake.patch is used.
>
>Thanks in advance.
>
>-- System Information:
>Debian Release: buster/sid
>  APT prefers unstable
>  APT policy: (500, 'unstable')
>Architecture: amd64 (x86_64)
>Foreign Architectures: i386
>
>Kernel: Linux 4.19.0-4-amd64 (SMP w/4 CPU cores)
>Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
>Locale: LANG=en_US.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8),
>LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
>Shell: /bin/sh linked to /bin/bash
>Init: systemd (via /run/systemd/system)
>LSM: AppArmor: enabled
>
>Versions of packages libyder-dev depends on:
>ii  libjansson-dev  2.12-1
>ii  liborcania-dev  1.2.9-5
>ii  libsystemd-dev  241-2
>ii  libyder2.0  1.4.4-4
>
>libyder-dev recommends no packages.
>
>libyder-dev suggests no packages.
>
>-- no debconf information
>
>___
>Debian-iot-maintainers mailing list
>debian-iot-maintain...@alioth-lists.debian.net
>https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-iot-maintainers


Bug#926317: libyder.pc Requires.private systemd, but systemd not in debian/control

2019-04-03 Thread Harald Welte
Package: libyder-dev
Version: 1.4.4-4
Severity: normal

I'm experiencing problems building yder-based applications:,
libyder.pc (after applying debian/cmake.patch) has a Requires.private to
the pacakge 'systemd'.  However, 'systemd' is not listed in the
'Depends' line of debian/control.

This leads to the absurd situation that I can build + install
libyder-dev, but other yder-using applications will not get past their
cmaake/autoconf step as 'systemd' is not neccessarily installed.

So at the very least, 'systemd' should be listed in 'Depends'.

I'm somewhat doubtful about this entire method of using pkg-config
'Requires.private'.  It may make sense in the absence of a package
manager.  But as we're talking about a Debian package here: Dependencies
should be tracked at package installation time using dpkg/apt, and not
some pkg-config private mechanism, IMHO.

Also, I'm not entirely sure why there's a dependency on 'systemd', and
not 'libsystemd' as in the upstream source.  The Debian changelog
unfortunately doesn't explain why that cmake.patch is used.

Thanks in advance.

-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.19.0-4-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_US.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libyder-dev depends on:
ii  libjansson-dev  2.12-1
ii  liborcania-dev  1.2.9-5
ii  libsystemd-dev  241-2
ii  libyder2.0  1.4.4-4

libyder-dev recommends no packages.

libyder-dev suggests no packages.

-- no debconf information