Re: [systemd-devel] [PATCH] Fix install location of systemd.pc

2015-02-03 Thread Lennart Poettering
On Tue, 30.12.14 16:58, Zbigniew Jędrzejewski-Szmek (zbys...@in.waw.pl) wrote:

> On Mon, Dec 29, 2014 at 03:01:12PM +, Simon Peeters wrote:
> > 2014-12-29 13:02 GMT+00:00 Martin Pitt :
> > > Mike Gilbert [2014-12-28 12:41 -0500]:
> > >> From Lennart's commit message, it seems like this was done intentionally.
> > >
> > > The addition of libdir was certainly intentional, that's why I didn't
> > > propose to just remove libdir. But it looks like this was just missing
> > > to adjust the install location accordingly?
> > 
> > just my 2c:
> > 
> > well, the addition of libdir was to be able to find the libdir for the
> > "primary" arch (however you might define that), moving the pc file
> > with this info to $libdir/pkgconfig makes that argument moot since you
> > need to know libdir in order to know libdir.
> > 
> > So if I can follow lennart correctly there are 2 possible ways:
> > - have libdir in the pc file in /usr/share and make it to denote the
> > "primary" arch (which is the current situation)
> > - not have libdir in the pc file at all and still have the pc file in
> > /usr/share (since libdir does not make sense if the file is in
> > $libdir/pkgconfig, and it is the only reason why it might not belong
> > in /usr/share)
> > 
> > I have no preference between the 2, but moving the pc file to
> > $libdir/pkgconfig just does not make sense.
> 
> What is $libdir in the .pc file used for? If we can answer that, it'll
> be clearer whether status quo is correct.

The reason I added $libdir there is actually to make this easily
queriable, so that I could reference that in file-hierarchy(7). See
the part about "vendor-supplied operating system resources" in there.

Martin's fix to move this to /usr/share looks right, though, afaics.

Lennart

-- 
Lennart Poettering, Red Hat
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Fix install location of systemd.pc

2015-01-01 Thread Martin Pitt
Hey Zbyszek,

Zbigniew Jędrzejewski-Szmek [2015-01-01 15:14 +0100]:
> Yeah, you can find out the libdir in other ways, but having it in the .pc
> file is convenient. Martin, please push the patch.

Ack, done. And happy new year everyone!

Martin
-- 
Martin Pitt| http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)


signature.asc
Description: Digital signature
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Fix install location of systemd.pc

2015-01-01 Thread Zbigniew Jędrzejewski-Szmek
On Wed, Dec 31, 2014 at 08:44:35PM +0100, Michael Biebl wrote:
> Am 31.12.2014 12:54 schrieb "Simon Peeters" :
> >
> > 2014-12-31 11:12 GMT+00:00 Martin Pitt :
> > > Simon Peeters [2014-12-29 15:01 +]:
> > >> I have no preference between the 2, but moving the pc file to
> > >> $libdir/pkgconfig just does not make sense.
> > >
> > > Why not? pkg-config looks in both /usr/share and /usr/lib, so it
> > > doesn't care. And you can't install systemd for multiple architectures
> > > in parallel anyway, so you'd only ever have one version installed.
> >
> > Let me rephrase what I wrote above that quote:
> >
> > If I understand lennarts commit message, the only reason for libdir to
> > be in the pc file is to find the libdir for the primary arch.
> > moving this pc file into $libdir/pkgconfig would require you to know
> > the libdir for the primary arch (or at least the one systemd was
> > compiled for) in order to read it
> 
> I don't think this is true. Usually one doesn't parse .pc files directly
> but instead you use pkg-config. So you don't need to know the libdir for
> the primary arch.

Yeah, you can find out the libdir in other ways, but having it in the .pc
file is convenient. Martin, please push the patch.

Zbyszek
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Fix install location of systemd.pc

2014-12-31 Thread Michael Biebl
Am 31.12.2014 12:54 schrieb "Simon Peeters" :
>
> 2014-12-31 11:12 GMT+00:00 Martin Pitt :
> > Simon Peeters [2014-12-29 15:01 +]:
> >> I have no preference between the 2, but moving the pc file to
> >> $libdir/pkgconfig just does not make sense.
> >
> > Why not? pkg-config looks in both /usr/share and /usr/lib, so it
> > doesn't care. And you can't install systemd for multiple architectures
> > in parallel anyway, so you'd only ever have one version installed.
>
> Let me rephrase what I wrote above that quote:
>
> If I understand lennarts commit message, the only reason for libdir to
> be in the pc file is to find the libdir for the primary arch.
> moving this pc file into $libdir/pkgconfig would require you to know
> the libdir for the primary arch (or at least the one systemd was
> compiled for) in order to read it

I don't think this is true. Usually one doesn't parse .pc files directly
but instead you use pkg-config. So you don't need to know the libdir for
the primary arch.
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Fix install location of systemd.pc

2014-12-31 Thread Simon Peeters
2014-12-31 11:12 GMT+00:00 Martin Pitt :
> Simon Peeters [2014-12-29 15:01 +]:
>> I have no preference between the 2, but moving the pc file to
>> $libdir/pkgconfig just does not make sense.
>
> Why not? pkg-config looks in both /usr/share and /usr/lib, so it
> doesn't care. And you can't install systemd for multiple architectures
> in parallel anyway, so you'd only ever have one version installed.

Let me rephrase what I wrote above that quote:

If I understand lennarts commit message, the only reason for libdir to
be in the pc file is to find the libdir for the primary arch.
moving this pc file into $libdir/pkgconfig would require you to know
the libdir for the primary arch (or at least the one systemd was
compiled for) in order to read it, so the libdir variable in the pc
file is redundant because the information it contains needs to be
known in order to read it.
So if you would move the pc file to $libdir then the libdir variable
in the pc file no longer has any purpose, so you can drop it.
Now you have a pc file in libdir without any architecture specific
data, so you could as well move it back to /usr/share

But anyway, that is only if I understand the purpose of the libdir var
in the pc file correctly.


Greetings. (and enjoy the end of 2014!)

Simon
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Fix install location of systemd.pc

2014-12-31 Thread Martin Pitt
Simon Peeters [2014-12-29 15:01 +]:
> I have no preference between the 2, but moving the pc file to
> $libdir/pkgconfig just does not make sense.

Why not? pkg-config looks in both /usr/share and /usr/lib, so it
doesn't care. And you can't install systemd for multiple architectures
in parallel anyway, so you'd only ever have one version installed.

Martin
-- 
Martin Pitt| http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Fix install location of systemd.pc

2014-12-30 Thread Zbigniew Jędrzejewski-Szmek
On Mon, Dec 29, 2014 at 03:01:12PM +, Simon Peeters wrote:
> 2014-12-29 13:02 GMT+00:00 Martin Pitt :
> > Mike Gilbert [2014-12-28 12:41 -0500]:
> >> From Lennart's commit message, it seems like this was done intentionally.
> >
> > The addition of libdir was certainly intentional, that's why I didn't
> > propose to just remove libdir. But it looks like this was just missing
> > to adjust the install location accordingly?
> 
> just my 2c:
> 
> well, the addition of libdir was to be able to find the libdir for the
> "primary" arch (however you might define that), moving the pc file
> with this info to $libdir/pkgconfig makes that argument moot since you
> need to know libdir in order to know libdir.
> 
> So if I can follow lennart correctly there are 2 possible ways:
> - have libdir in the pc file in /usr/share and make it to denote the
> "primary" arch (which is the current situation)
> - not have libdir in the pc file at all and still have the pc file in
> /usr/share (since libdir does not make sense if the file is in
> $libdir/pkgconfig, and it is the only reason why it might not belong
> in /usr/share)
> 
> I have no preference between the 2, but moving the pc file to
> $libdir/pkgconfig just does not make sense.

What is $libdir in the .pc file used for? If we can answer that, it'll
be clearer whether status quo is correct.

Zbyszek
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Fix install location of systemd.pc

2014-12-29 Thread Simon Peeters
2014-12-29 13:02 GMT+00:00 Martin Pitt :
> Mike Gilbert [2014-12-28 12:41 -0500]:
>> From Lennart's commit message, it seems like this was done intentionally.
>
> The addition of libdir was certainly intentional, that's why I didn't
> propose to just remove libdir. But it looks like this was just missing
> to adjust the install location accordingly?

just my 2c:

well, the addition of libdir was to be able to find the libdir for the
"primary" arch (however you might define that), moving the pc file
with this info to $libdir/pkgconfig makes that argument moot since you
need to know libdir in order to know libdir.

So if I can follow lennart correctly there are 2 possible ways:
- have libdir in the pc file in /usr/share and make it to denote the
"primary" arch (which is the current situation)
- not have libdir in the pc file at all and still have the pc file in
/usr/share (since libdir does not make sense if the file is in
$libdir/pkgconfig, and it is the only reason why it might not belong
in /usr/share)

I have no preference between the 2, but moving the pc file to
$libdir/pkgconfig just does not make sense.


Greetings.

Simon
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Fix install location of systemd.pc

2014-12-29 Thread Martin Pitt
Mike Gilbert [2014-12-28 12:41 -0500]:
> From Lennart's commit message, it seems like this was done intentionally.

The addition of libdir was certainly intentional, that's why I didn't
propose to just remove libdir. But it looks like this was just missing
to adjust the install location accordingly?

Martin
-- 
Martin Pitt| http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Fix install location of systemd.pc

2014-12-28 Thread Matthias Urlichs
Hi,

Mike Gilbert:
> >   libdir=/usr/lib/x86_64-linux-gnu
> >
> > which isn't architecture agnostic and thus not suitable for
> > /usr/share/.
> 
> From Lennart's commit message, it seems like this was done intentionally.
> 
It still doesn't work on a multi-arch system. :-P

-- 
-- Matthias Urlichs
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


Re: [systemd-devel] [PATCH] Fix install location of systemd.pc

2014-12-28 Thread Mike Gilbert
On Sun, Dec 28, 2014 at 6:20 AM, Martin Pitt  wrote:
> Hello all,
>
> systemd.pc is currently installed into /usr/share/pkgconfig/, but this
> isn't correct: It contains "libdir" whose value is (possibly)
> architecture specific. E. g. if you configure with
> --libdir=/usr/lib/x86_64-linux-gnu (we do that in Debian for
> multi-arch support) systemd.pc contains
>
>   libdir=/usr/lib/x86_64-linux-gnu
>
> which isn't architecture agnostic and thus not suitable for
> /usr/share/.

From Lennart's commit message, it seems like this was done intentionally.

http://cgit.freedesktop.org/systemd/systemd/commit/?id=eb39a6239c631873db62f6a942e6cb3dab0a2db4
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel


[systemd-devel] [PATCH] Fix install location of systemd.pc

2014-12-28 Thread Martin Pitt
Hello all,

systemd.pc is currently installed into /usr/share/pkgconfig/, but this
isn't correct: It contains "libdir" whose value is (possibly)
architecture specific. E. g. if you configure with
--libdir=/usr/lib/x86_64-linux-gnu (we do that in Debian for
multi-arch support) systemd.pc contains

  libdir=/usr/lib/x86_64-linux-gnu

which isn't architecture agnostic and thus not suitable for
/usr/share/.

Attached patch fixes this, and puts systemd.pc into the same pkgconfig
dir as the libraries.

Thanks,

Martin
-- 
Martin Pitt| http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)
From d8cfbf1c7696371ee5f73e42a3dd031d67044099 Mon Sep 17 00:00:00 2001
From: Martin Pitt 
Date: Sun, 28 Dec 2014 12:14:25 +0100
Subject: [PATCH] build-sys: Fix install location of systemd.pc

systemd.pc contains "libdir" which can be architecture specific. Thus it needs
to be installed into libdir/pkgconfig/ instead of datadir/pkgconfig.

As nothing else is using pkgconfigdata any more, remove it entirely.

Note that udev.pc does not contain architecture specific values and thus can be
kept in /usr/share/pkgconfig/.
---
 Makefile.am | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/Makefile.am b/Makefile.am
index e1e0843..631d67e 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -74,7 +74,6 @@ dbussessionservicedir=@dbussessionservicedir@
 dbussystemservicedir=@dbussystemservicedir@
 pamlibdir=@pamlibdir@
 pamconfdir=@pamconfdir@
-pkgconfigdatadir=$(datadir)/pkgconfig
 pkgconfiglibdir=$(libdir)/pkgconfig
 polkitpolicydir=$(datadir)/polkit-1/actions
 bashcompletiondir=@bashcompletiondir@
@@ -1302,7 +1301,7 @@ dist_dbussystemservice_DATA += \
 polkitpolicy_in_in_files += \
 	src/core/org.freedesktop.systemd1.policy.in.in
 
-pkgconfigdata_DATA = \
+pkgconfiglib_DATA += \
 	src/core/systemd.pc
 
 nodist_rpmmacros_DATA = \
@@ -6081,7 +6080,6 @@ EXTRA_DIST += \
 CLEANFILES += \
 	$(nodist_systemunit_DATA) \
 	$(nodist_userunit_DATA) \
-	$(pkgconfigdata_DATA) \
 	$(pkgconfiglib_DATA) \
 	$(nodist_polkitpolicy_DATA)
 
-- 
2.1.3



signature.asc
Description: Digital signature
___
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel