[opensuse-packaging] Could we decide on an official policy about pkgconfig() style BuildRequires?
On 3 July 2012 16:27, Peter Linnell <plinnell@opensuse.org> wrote:
Hi Christian,
This all looks good, but can you revert the pkgconfig stuff, so it will build at least on SLES11 SP2 ?
I'd prefer not to break this unessecarily on the lates SLE.
Thanks!
Peter
On 07/02/2012 02:23 PM, christian.morales.vega@gmail.com wrote:
home:RedDwarf:branches:network:utilities/aria2-parts -> network:utilities/aria2
pkg-config()-style dependencies Pros: - Cross-distro compatibility - Immune to package renames and splits (and someday someone is going to decide splitting libqt4-devel is a good idea...) Cons: - They don't work with SLE and Evergreen Could we decide on an official policy about this? My vote is for: a) Prefer the use of pkgconfig() dependencies b) If compatibility with old distributions is desired do the changes in the old distributions For 'b' we would advance a lot if for SLE the OBS would use the implicit rule "Substitute: pkgconfig(X) X-devel" if no explicit Substitute is available. The rest could be added manually, preferably in the prjconf of the main SUSE:SLE-11:SP2 project so devel projects don't need to duplicate the work. p.s: Suse, please, if you are going to release a SP3 add pkg-config to your build environment and patch your RPM to add the pkgconfig() Provides. Another patch to add %make_install would also be welcomed. It's not like anything is going to break because of this. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
El mar 03 jul 2012 12:58:16 CLT, Cristian Morales Vega escribió:
On 3 July 2012 16:27, Peter Linnell <plinnell@opensuse.org> wrote:
Hi Christian,
This all looks good, but can you revert the pkgconfig stuff, so it will build at least on SLES11 SP2 ?
I'd prefer not to break this unessecarily on the lates SLE.
Thanks!
Peter
On 07/02/2012 02:23 PM, christian.morales.vega@gmail.com wrote:
home:RedDwarf:branches:network:utilities/aria2-parts -> network:utilities/aria2
pkg-config()-style dependencies
Pros: - Cross-distro compatibility - Immune to package renames and splits (and someday someone is going to decide splitting libqt4-devel is a good idea...)
Cons: - They don't work with SLE and Evergreen
Could we decide on an official policy about this?
My vote is for: a) Prefer the use of pkgconfig() dependencies b) If compatibility with old distributions is desired do the changes in the old distributions
My vote is to not prefer this syntax as long as pkgconfig scripts are buggy and bloated, they either pull unneeded indirect dependencies or packages needed for static linking. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 3 July 2012 18:01, Cristian Rodríguez <crrodriguez@opensuse.org> wrote:
El mar 03 jul 2012 12:58:16 CLT, Cristian Morales Vega escribió:
On 3 July 2012 16:27, Peter Linnell <plinnell@opensuse.org> wrote:
Hi Christian,
This all looks good, but can you revert the pkgconfig stuff, so it will build at least on SLES11 SP2 ?
I'd prefer not to break this unessecarily on the lates SLE.
Thanks!
Peter
On 07/02/2012 02:23 PM, christian.morales.vega@gmail.com wrote:
home:RedDwarf:branches:network:utilities/aria2-parts -> network:utilities/aria2
pkg-config()-style dependencies
Pros: - Cross-distro compatibility - Immune to package renames and splits (and someday someone is going to decide splitting libqt4-devel is a good idea...)
Cons: - They don't work with SLE and Evergreen
Could we decide on an official policy about this?
My vote is for: a) Prefer the use of pkgconfig() dependencies b) If compatibility with old distributions is desired do the changes in the old distributions
My vote is to not prefer this syntax as long as pkgconfig scripts are buggy and bloated, they either pull unneeded indirect dependencies or packages needed for static linking.
That is a problem in the generation of the pkgconfig() *provides*. Using pkgconfig() *buildrequires* or not doesn't make any difference. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Tue, 3 Jul 2012, Cristian Rodr?guez wrote:
El mar 03 jul 2012 12:58:16 CLT, Cristian Morales Vega escribi?:
On 3 July 2012 16:27, Peter Linnell <plinnell@opensuse.org> wrote:
Hi Christian,
This all looks good, but can you revert the pkgconfig stuff, so it will build at least on SLES11 SP2 ?
I'd prefer not to break this unessecarily on the lates SLE.
Thanks!
Peter
On 07/02/2012 02:23 PM, christian.morales.vega@gmail.com wrote:
home:RedDwarf:branches:network:utilities/aria2-parts -> network:utilities/aria2
pkg-config()-style dependencies
Pros: - Cross-distro compatibility - Immune to package renames and splits (and someday someone is going to decide splitting libqt4-devel is a good idea...)
Cons: - They don't work with SLE and Evergreen
Could we decide on an official policy about this?
My vote is for: a) Prefer the use of pkgconfig() dependencies b) If compatibility with old distributions is desired do the changes in the old distributions
My vote is to not prefer this syntax as long as pkgconfig scripts are buggy and bloated, they either pull unneeded indirect dependencies or packages needed for static linking.
Ah, and I forget they do not work for multilibs as pkgconfig has no designed way to distinguish them. Richard. -- Richard Guenther <rguenther@suse.de> SUSE / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 GF: Jeff Hawn, Jennifer Guild, Felix Imend -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 4 July 2012 09:27, Richard Guenther <rguenther@suse.de> wrote:
Ah, and I forget they do not work for multilibs as pkgconfig has no designed way to distinguish them.
First and most important: How can I distinguish them when *not* using pkgconfig() BuildRequires? And even if pkg-config itself has no way to distinguish them /usr/lib/rpm/pkgconfigdeps.sh could be modified to include arch information (upstream, to preserve cross-distro compatibility). -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Wed, 4 Jul 2012, Cristian Morales Vega wrote:
On 4 July 2012 09:27, Richard Guenther <rguenther@suse.de> wrote:
Ah, and I forget they do not work for multilibs as pkgconfig has no designed way to distinguish them.
First and most important: How can I distinguish them when *not* using pkgconfig() BuildRequires?
BuildRequires: glibc-devel-32bit
And even if pkg-config itself has no way to distinguish them /usr/lib/rpm/pkgconfigdeps.sh could be modified to include arch information (upstream, to preserve cross-distro compatibility).
That's true. But then we are not using pkgconfig (well, we are not anyways, we are just creating fake pkgconfig(foo) provides). Richard. -- Richard Guenther <rguenther@suse.de> SUSE / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 GF: Jeff Hawn, Jennifer Guild, Felix Imend -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Richard Guenther wrote:
On Wed, 4 Jul 2012, Cristian Morales Vega wrote:
On 4 July 2012 09:27, Richard Guenther <rguenther@suse.de> wrote:
Ah, and I forget they do not work for multilibs as pkgconfig has no designed way to distinguish them.
First and most important: How can I distinguish them when *not* using pkgconfig() BuildRequires?
BuildRequires: glibc-devel-32bit
For this case: the exception proves the rule :-) cu Ludwig -- (o_ Ludwig Nussel //\ V_/_ http://www.suse.de/ SUSE LINUX Products GmbH, GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer, HRB 16746 (AG Nürnberg) -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 4 July 2012 15:03, Richard Guenther <rguenther@suse.de> wrote:
On Wed, 4 Jul 2012, Cristian Morales Vega wrote:
On 4 July 2012 09:27, Richard Guenther <rguenther@suse.de> wrote:
Ah, and I forget they do not work for multilibs as pkgconfig has no designed way to distinguish them.
First and most important: How can I distinguish them when *not* using pkgconfig() BuildRequires?
BuildRequires: glibc-devel-32bit
So you need an openSUSE specific hack... that lets you add extra provides with a single extra line. mkbaselibs could be modified to automatically add "pkgconfig(X)(32bit)" provides to them if that would be really necessary. But really, this is sooo openSUSE specific that I don't care if pkgconfig(X) style provides are not used in these cases.
And even if pkg-config itself has no way to distinguish them /usr/lib/rpm/pkgconfigdeps.sh could be modified to include arch information (upstream, to preserve cross-distro compatibility).
That's true. But then we are not using pkgconfig (well, we are not anyways, we are just creating fake pkgconfig(foo) provides).
Yes, the provides are the only important thing here. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Am 04.07.2012 16:27, schrieb Cristian Morales Vega:
So you need an openSUSE specific hack... that lets you add extra provides with a single extra line. mkbaselibs could be modified to automatically add "pkgconfig(X)(32bit)" provides to them if that would be really necessary.
Wasn't the argument for this potentially tedious rewrite that it's more cross-distro? - -- Ralf Lang Linux Consultant / Developer Tel.: +49-170-6381563 Mail: lang@b1-systems.de B1 Systems GmbH Osterfeldstraße 7 / 85088 Vohburg / http://www.b1-systems.de GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk/70X4ACgkQCs1dsHJ/X7D9VQCdE3tyj1F8BdLqAZoo/Mqd/Alb nEwAn0MGmErmjH5yb+MQUprg7oXW5iU5 =uF7D -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 10 July 2012 07:53, Ralf Lang <lang@b1-systems.de> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Am 04.07.2012 16:27, schrieb Cristian Morales Vega:
So you need an openSUSE specific hack... that lets you add extra provides with a single extra line. mkbaselibs could be modified to automatically add "pkgconfig(X)(32bit)" provides to them if that would be really necessary.
Wasn't the argument for this potentially tedious rewrite that it's more cross-distro?
Is one of two arguments. And just after I already said: "But really, this is sooo openSUSE specific that I don't care if pkgconfig(X) style provides are not used in these cases." Really, just forget about the multilib argument. Sure, not surprisingly the openSUSE specific feature breaks cross-distro compatibility. But since it's something that is used by X packages while there are 1000X packages using libraries without a pkg-config at all it is totally negligible. __ANY__ "but in the *specific* case X you can't use pkgconfig() BuildRequires" is not important because in the *common* case of a library not providing a .pc file we already have _exactly_ the same "problem". Anyway, what I wanted was to define a policy. But seeing the reactions I don't think that's going to be possible. The only real argument I saw against it was the "So we'd have a mix of ways anyway which I do not like very much", that I don't consider a problem. So I will continue with the status quo: I will use pkgconfig() BuildRequires in my request just hoping nobody rejects them because of that. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Anyway, what I wanted was to define a policy. But seeing the reactions I don't think that's going to be possible.
The only real argument I saw against it was the "So we'd have a mix of ways anyway which I do not like very much", that I don't consider a problem. So I will continue with the status quo: I will use pkgconfig() BuildRequires in my request just hoping nobody rejects them because of that.
I am not against a policy or a preferred way to do things as long as it doesn't mean I'll have to convert about a hundred existing packages just for the sake of it (rather than converting packages when I am working on them anyway). Especially as I use a lot of my stuff for SLE too. - -- Ralf Lang Linux Consultant / Developer Tel.: +49-170-6381563 Mail: lang@b1-systems.de B1 Systems GmbH Osterfeldstraße 7 / 85088 Vohburg / http://www.b1-systems.de GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk/78XYACgkQCs1dsHJ/X7BVyACfa0hAjZipPocgLThS3pguzF5E e2cAniWMkvpTN5k9LN0RaHG03HwOGwUL =4BCm -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Le mardi 03 juillet 2012, à 17:58 +0100, Cristian Morales Vega a écrit :
Could we decide on an official policy about this?
My vote is for: a) Prefer the use of pkgconfig() dependencies b) If compatibility with old distributions is desired do the changes in the old distributions
For 'b' we would advance a lot if for SLE the OBS would use the implicit rule "Substitute: pkgconfig(X) X-devel" if no explicit Substitute is available. The rest could be added manually, preferably in the prjconf of the main SUSE:SLE-11:SP2 project so devel projects don't need to duplicate the work.
That's what we do in GNOME:Apps, and it works well. Obviously, the fact that we have to deal with the Substitutes in prjconf ourselves is not fun, so if we could push those in SUSE:SLE-11:SP2 project, that'd be even better :-) Vincent -- Les gens heureux ne sont pas pressés. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Dnia wtorek, 3 lipca 2012 17:58:16 Cristian Morales Vega pisze:
On 3 July 2012 16:27, Peter Linnell <plinnell@opensuse.org> wrote:
Hi Christian,
This all looks good, but can you revert the pkgconfig stuff, so it will build at least on SLES11 SP2 ?
I'd prefer not to break this unessecarily on the lates SLE.
How about using an %if block with resolved dependencies for SLES? I remember having done that and it worked. Chris -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 3 July 2012 18:55, Křištof Želechovski <yecril71pl@gmail.com> wrote:
Dnia wtorek, 3 lipca 2012 17:58:16 Cristian Morales Vega pisze:
On 3 July 2012 16:27, Peter Linnell <plinnell@opensuse.org> wrote:
Hi Christian,
This all looks good, but can you revert the pkgconfig stuff, so it will build at least on SLES11 SP2 ?
I'd prefer not to break this unessecarily on the lates SLE.
How about using an %if block with resolved dependencies for SLES? I remember having done that and it worked.
It would be better to have the Substitutes in SUSE:SLE-11:SP2 than in the devel project to avoid duplicating. For the same reason it is better to have it in the devel project than in the package. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Tue, 3 Jul 2012, Cristian Morales Vega wrote: > On 3 July 2012 16:27, Peter Linnell <plinnell@opensuse.org> wrote: > > Hi Christian, > > > > This all looks good, but can you revert the pkgconfig stuff, so it will > > build at least on SLES11 SP2 ? > > > > I'd prefer not to break this unessecarily on the lates SLE. > > > > Thanks! > > > > Peter > > > > On 07/02/2012 02:23 PM, christian.morales.vega@gmail.com wrote: > >> > >> > >> home:RedDwarf:branches:network:utilities/aria2-parts -> network:utilities/aria2 > >> > >> > >> https://build.opensuse.org/request/show/126938 > > > pkg-config()-style dependencies > > Pros: > - Cross-distro compatibility Which means disallowing patching or generation of pkgconfig files ourselves. > - Immune to package renames and splits (and someday someone is going > to decide splitting libqt4-devel is a good idea...) > > Cons: > - They don't work with SLE and Evergreen - Cannot split -devel packages properly. Like the -devel-static packages cannot be required this way. So we'd have a mix of ways anyway which I do not like very much. Richard. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On 4 July 2012 09:26, Richard Guenther <rguenther@suse.de> wrote: > On Tue, 3 Jul 2012, Cristian Morales Vega wrote: > >> On 3 July 2012 16:27, Peter Linnell <plinnell@opensuse.org> wrote: >> > Hi Christian, >> > >> > This all looks good, but can you revert the pkgconfig stuff, so it will >> > build at least on SLES11 SP2 ? >> > >> > I'd prefer not to break this unessecarily on the lates SLE. >> > >> > Thanks! >> > >> > Peter >> > >> > On 07/02/2012 02:23 PM, christian.morales.vega@gmail.com wrote: >> >> >> >> >> >> home:RedDwarf:branches:network:utilities/aria2-parts -> network:utilities/aria2 >> >> >> >> >> >> https://build.opensuse.org/request/show/126938 >> >> >> pkg-config()-style dependencies >> >> Pros: >> - Cross-distro compatibility > > Which means disallowing patching or generation of pkgconfig files > ourselves. What's the point of .pc files if they are not upstream? Just upstream your patches and generated .pc files. >> - Immune to package renames and splits (and someday someone is going >> to decide splitting libqt4-devel is a good idea...) >> >> Cons: >> - They don't work with SLE and Evergreen > - Cannot split -devel packages properly. Like the -devel-static > packages cannot be required this way. > > So we'd have a mix of ways anyway which I do not like very much. I think there are more -devel packages without a .pc file than -devel-static packages. It's already accepted that it would be a mix. But you still get the pros for the cases where you use the pkgconfig() BuildRequires. With some luck the few cases where you can't use them will have the same package name in other distros and will not be renamed/splitted. In the rest of cases... well, you didn't win anything but neither did you lose. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Tue, Jul 3, 2012 at 6:58 PM, Cristian Morales Vega <reddwarf@opensuse.org> wrote:
p.s: Suse, please, if you are going to release a SP3 add pkg-config to your build environment and patch your RPM to add the pkgconfig() Provides. Another patch to add %make_install would also be welcomed. It's not like anything is going to break because of this.
Off-Topic: Is there an official place for such requests? I have a few of my own. -Todd -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
Dnia środa, 4 lipca 2012 12:22:13 todd rme pisze:
On Tue, Jul 3, 2012 at 6:58 PM, Cristian Morales Vega
Off-Topic: Is there an official place for such requests? I have a few of my own.
I suppose that requests regarding SLE are best directed to the technical support @SUSE. Chris -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
On Wednesday, July 04, 2012 12:22:13 todd rme wrote:
On Tue, Jul 3, 2012 at 6:58 PM, Cristian Morales Vega
<reddwarf@opensuse.org> wrote:
p.s: Suse, please, if you are going to release a SP3 add pkg-config to your build environment and patch your RPM to add the pkgconfig() Provides. Another patch to add %make_install would also be welcomed. It's not like anything is going to break because of this.
Off-Topic: Is there an official place for such requests? I have a few of my own.
If you have specific requests for SLE, feel free to send them to me and let's discuss what to do. The next major release of SLE - SLE12 - will be using openSUSE as upstream again, so anything we do in openSUSE might go in. For a Service Pack like SP3, there're no plans to make a major change like making it pkg-config friendly. This has to wait for SLE12, Andreas -- Andreas Jaeger aj@{suse.com,opensuse.org} Twitter/Identica: jaegerandi SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn,Jennifer Guild,Felix Imendörffer,HRB16746 (AG Nürnberg) GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126 -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
The next major release of SLE - SLE12 - will be using openSUSE as upstream again, so anything we do in openSUSE might go in.
For a Service Pack like SP3, there're no plans to make a major change like making it pkg-config friendly. This has to wait for SLE12,
I don't know of any schedule, which may mean we have to have separate specs for SLE for years. No fun. - -- Ralf Lang Linux Consultant / Developer Tel.: +49-170-6381563 Mail: lang@b1-systems.de B1 Systems GmbH Osterfeldstraße 7 / 85088 Vohburg / http://www.b1-systems.de GF: Ralph Dehner / Unternehmenssitz: Vohburg / AG: Ingolstadt,HRB 3537 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.18 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk/70dQACgkQCs1dsHJ/X7B6GQCdEpHlJLZYYja3t7PSs8gkMB0o 6RYAniVVsN9NKggvXTVoPP59GXj2IWTU =Z8kH -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
participants (9)
-
Andreas Jaeger
-
Cristian Morales Vega
-
Cristian Rodríguez
-
Křištof Želechovski
-
Ludwig Nussel
-
Ralf Lang
-
Richard Guenther
-
todd rme
-
Vincent Untz