diff mbox

[1/2] systemd: Build legacy pc files when liblogging is

Message ID 1397145566-11243-1-git-send-email-Vincent.Riera@imgtec.com
State Superseded
Headers show

Commit Message

Vicente Olivert Riera April 10, 2014, 3:59 p.m. UTC
The liblogging package stills searching for "libsystemd-journal.pc" in
the configure phase. The default behaviour from systemd-209 and later
versions is to merge the libraries and ".pc" files into single
libsystemd{.pc} files, so the old "libsystemd-*{.pc}" files don't exist
anymore and liblogging fails at configure phase with a message like this
one:

........................................................................
checking for LIBSYSTEMD_JOURNAL... no
configure: error: Package requirements (libsystemd-journal >= 197) were
not met:

Package libsystemd-journal was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsystemd-journal.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libsystemd-journal' found
........................................................................

Passing the "--enable-compat-libs" option to the systemd configure
script will install the separate libraries and ".pc" files, so we add
that option just in case the liblogging package had been selected.  We
can revert this change when liblogging upstream fixes it's configure
script to check for "libsystemd.pc" instead of "libsystemd-journal.pc".

Fixes:
   http://autobuild.buildroot.net/results/32c/32c636020600aa3f378d326c84fac82eb1fb2871/

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 package/systemd/systemd.mk |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

Comments

Eric Le Bihan April 10, 2014, 5:50 p.m. UTC | #1
Hi!

On Thu, Apr 10, 2014 at 04:59:25PM +0100, Vicente Olivert Riera wrote:
[...]
> Passing the "--enable-compat-libs" option to the systemd configure
> script will install the separate libraries and ".pc" files, so we add
> that option just in case the liblogging package had been selected.  We
> can revert this change when liblogging upstream fixes it's configure
> script to check for "libsystemd.pc" instead of "libsystemd-journal.pc".

Maybe some other packages depend on these compatibility libraries, so instead
of referring to BR2_PACKAGE_LIBLOGGING in systemd.mk, it would be best to add
a generic configuration option to systemd, as done for berkeleydb with
BR2_PACKAGE_BERKELEYDB_COMPAT185. It could be named BR2_PACKAGE_SYSTEMD_COMPAT.

Then, in package/liblogging/Config.in, we would have:

  select BR2_PACKAGE_SYSTEMD_COMPAT if BR2_INIT_SYSTEMD

And this would be removed when liblogging is fixed upstream.

What do think of this?

Best regards,
ELB
Peter Korsgaard April 10, 2014, 9:18 p.m. UTC | #2
>>>>> "Eric" == Eric Le Bihan <eric.le.bihan.dev@free.fr> writes:

Hi,

 > Maybe some other packages depend on these compatibility libraries, so instead
 > of referring to BR2_PACKAGE_LIBLOGGING in systemd.mk, it would be best to add
 > a generic configuration option to systemd, as done for berkeleydb with
 > BR2_PACKAGE_BERKELEYDB_COMPAT185. It could be named BR2_PACKAGE_SYSTEMD_COMPAT.

 > Then, in package/liblogging/Config.in, we would have:

 >   select BR2_PACKAGE_SYSTEMD_COMPAT if BR2_INIT_SYSTEMD

 > And this would be removed when liblogging is fixed upstream.

Yes, I agree.

 > What do think of this?

Care to send an updated patch series doing that?
Vicente Olivert Riera April 11, 2014, 8:51 a.m. UTC | #3
On 04/10/2014 10:18 PM, Peter Korsgaard wrote:
>>>>>> "Eric" == Eric Le Bihan <eric.le.bihan.dev@free.fr> writes:
>
> Hi,
>
>   > Maybe some other packages depend on these compatibility libraries, so instead
>   > of referring to BR2_PACKAGE_LIBLOGGING in systemd.mk, it would be best to add
>   > a generic configuration option to systemd, as done for berkeleydb with
>   > BR2_PACKAGE_BERKELEYDB_COMPAT185. It could be named BR2_PACKAGE_SYSTEMD_COMPAT.
>
>   > Then, in package/liblogging/Config.in, we would have:
>
>   >   select BR2_PACKAGE_SYSTEMD_COMPAT if BR2_INIT_SYSTEMD
>
>   > And this would be removed when liblogging is fixed upstream.
>
> Yes, I agree.
>
>   > What do think of this?
>
> Care to send an updated patch series doing that?
>

I didn't do that in purpose, because I thought it would be a good idea 
to catch those packages that still look for legacy systemd files, so we 
could tell upstream about that, as I did for liblogging.

If we put that option as a generic one, then we will never remove it 
from there and we will be using the not-default systemd config forever.
Eric Le Bihan April 14, 2014, 9:35 a.m. UTC | #4
On Fri, Apr 11, 2014 at 09:51:09AM +0100, Vicente Olivert Riera wrote:
> On 04/10/2014 10:18 PM, Peter Korsgaard wrote:
> >>>>>>"Eric" == Eric Le Bihan <eric.le.bihan.dev@free.fr> writes:
> >
> >Hi,
> >
> >  > Maybe some other packages depend on these compatibility libraries, so instead
> >  > of referring to BR2_PACKAGE_LIBLOGGING in systemd.mk, it would be best to add
> >  > a generic configuration option to systemd, as done for berkeleydb with
> >  > BR2_PACKAGE_BERKELEYDB_COMPAT185. It could be named BR2_PACKAGE_SYSTEMD_COMPAT.
> >
> >  > Then, in package/liblogging/Config.in, we would have:
> >
> >  >   select BR2_PACKAGE_SYSTEMD_COMPAT if BR2_INIT_SYSTEMD
> >
> >  > And this would be removed when liblogging is fixed upstream.
> >
> >Yes, I agree.
> >
> >  > What do think of this?
> >
> >Care to send an updated patch series doing that?
> >
>
> I didn't do that in purpose, because I thought it would be a good
> idea to catch those packages that still look for legacy systemd
> files, so we could tell upstream about that, as I did for
> liblogging.
I posted an implementation of BR2_PACKAGE_SYSTEMD_COMPAT. If other packages
depend on the old libsystemd-*.so, I think this will allow us to catch them
too, as they will not select this new symbol yet.
>
> If we put that option as a generic one, then we will never remove it
> from there and we will be using the not-default systemd config
> forever.
As a reminder, I added a comment in the log about this.

Best regards,
ELB
diff mbox

Patch

diff --git a/package/systemd/systemd.mk b/package/systemd/systemd.mk
index ecedfce..3d7f42e 100644
--- a/package/systemd/systemd.mk
+++ b/package/systemd/systemd.mk
@@ -46,6 +46,12 @@  SYSTEMD_CONF_OPT += \
 	--disable-dbus \
 	--without-python
 
+# liblogging still needs the old-style libsystemd-*.pc files
+# remove this block when liblogging upstream fix it
+ifeq ($(BR2_PACKAGE_LIBLOGGING),y)
+SYSTEMD_CONF_OPT += --enable-compat-libs
+endif
+
 ifeq ($(BR2_PACKAGE_ACL),y)
 SYSTEMD_CONF_OPT += --enable-acl
 SYSTEMD_DEPENDENCIES += acl