Re: [systemd-devel] [PATCH] Fix install location of systemd.pc
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
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
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
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 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
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
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 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
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
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
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
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