client/server consistency: USE flags / split packages
Hi. How do we handle packages that provide client, server, and possibly
extra tools/libraries? Do we split packages like binary distros do or do
we use USE flags? What USE flags? Currently some packages are split
other use client, server or minimal USE flag(s).
Back in 2006 similar problem was discussed many times with no final
resolution - it was hard to ban split packages since portage had no
support for USE deps. Also some packages started to utilize 'minimal'
USE flag to force users read USE flag description and thus reduce its
usage and lower number of bugs due to not-installed parts of package.
With EAPI=2 both use deps and USE defaults (if necessary) are here so
it's possible to introduce some guidelines:
1. do not split packages; use USE flags and USE deps.
2. stop using minimal USE flag to build client or sever only.
So are there any good reasons to split packages?
https://bugs.gentoo.org/12499 but many similar disscussions were on this
list...
--
Peter.
11-04-2009, 03:28 PM
Petteri Räty
client/server consistency: USE flags / split packages
Peter Volkov wrote:
> Hi. How do we handle packages that provide client, server, and possibly
> extra tools/libraries? Do we split packages like binary distros do or do
> we use USE flags? What USE flags? Currently some packages are split
> other use client, server or minimal USE flag(s).
>
> Back in 2006 similar problem was discussed many times with no final
> resolution - it was hard to ban split packages since portage had no
> support for USE deps. Also some packages started to utilize 'minimal'
> USE flag to force users read USE flag description and thus reduce its
> usage and lower number of bugs due to not-installed parts of package.
>
> With EAPI=2 both use deps and USE defaults (if necessary) are here so
> it's possible to introduce some guidelines:
>
> 1. do not split packages; use USE flags and USE deps.
> 2. stop using minimal USE flag to build client or sever only.
>
>
> So are there any good reasons to split packages?
>
>
> https://bugs.gentoo.org/12499 but many similar disscussions were on this
> list...
>
I think a good guideline is:
1. Use a single pkg when upstream releases server and client in one bundle
2. Use separate packages when upstream releases client and server separately
I think the minimal use flag should not be used for this purpose any more.
Regards,
Petteri
11-04-2009, 03:34 PM
Tiziano Müller
client/server consistency: USE flags / split packages
Am Mittwoch, den 04.11.2009, 18:44 +0300 schrieb Peter Volkov:
> Hi. How do we handle packages that provide client, server, and possibly
> extra tools/libraries? Do we split packages like binary distros do or do
> we use USE flags? What USE flags? Currently some packages are split
> other use client, server or minimal USE flag(s).
>
> Back in 2006 similar problem was discussed many times with no final
> resolution - it was hard to ban split packages since portage had no
> support for USE deps. Also some packages started to utilize 'minimal'
> USE flag to force users read USE flag description and thus reduce its
> usage and lower number of bugs due to not-installed parts of package.
>
> With EAPI=2 both use deps and USE defaults (if necessary) are here so
> it's possible to introduce some guidelines:
>
> 1. do not split packages; use USE flags and USE deps.
> 2. stop using minimal USE flag to build client or sever only.
>
>
> So are there any good reasons to split packages?
In environments with a staging server and binary packages, yes.
client/server consistency: USE flags / split packages
В Срд, 04/11/2009 в 17:34 +0100, Tiziano Müller пишет:
> Am Mittwoch, den 04.11.2009, 18:44 +0300 schrieb Peter Volkov:
> > So are there any good reasons to split packages?
>
> In environments with a staging server and binary packages, yes.
Currently you either have to script your staging server correctly (play
with PKGDIR) or use different build hosts for different configurations.
In any way, this does not justify pushing USE flags into package names.
--
Peter.
11-09-2009, 11:50 PM
Gilles Dartiguelongue
client/server consistency: USE flags / split packages
Am Mittwoch, den 04.11.2009, 18:44 +0300 schrieb Peter Volkov:
So are there any good reasons to split packages?
In environments with a staging server and binary packages, yes.
in case where different libs are needed in the stack but in ways that
makes it do circular deps if you use an unsplitted package (think
gvfs, libsoup, libproxy libsoup, and stuff like that).
I think it's generally a good idea to split when the following
conditions are met:
* maintainer/herd has enough time to maintain the split (some splits
can be time consuming)
* upstream behaves nicely in the split case (splitting stuff on our
own is shooting ourselves in the feet usually as is upstream not
wanting to hear about it)
* split benefits the user has it allows more flexibility (don't tell
me about configure times, we are gentoo and flexibility most often
wins over buildtime or we'd be somewhere else imho)
--
Gilles Dartiguelongue <eva@gentoo.org>
Gnome team
11-15-2009, 01:21 PM
"Jorge Manuel B. S. Vicetto"
client/server consistency: USE flags / split packages
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Petteri Räty wrote:
> Peter Volkov wrote:
>> Hi. How do we handle packages that provide client, server, and
>> possibly extra tools/libraries? Do we split packages like binary
>> distros do or do we use USE flags? What USE flags? Currently some
>> packages are split other use client, server or minimal USE
>> flag(s).
>>
>> Back in 2006 similar problem was discussed many times with no
>> final resolution - it was hard to ban split packages since
>> portage had no support for USE deps. Also some packages started
>> to utilize 'minimal' USE flag to force users read USE flag
>> description and thus reduce its usage and lower number of bugs
>> due to not-installed parts of package.
>>
>> With EAPI=2 both use deps and USE defaults (if necessary) are
>> here so it's possible to introduce some guidelines:
>>
>> 1. do not split packages; use USE flags and USE deps. 2. stop
>> using minimal USE flag to build client or sever only.
>>
>>
>> So are there any good reasons to split packages?
>>
>>
>> https://bugs.gentoo.org/12499 but many similar disscussions were
>> on this list...
>>
>
> I think a good guideline is: 1. Use a single pkg when upstream
> releases server and client in one bundle
As always, there are exceptions. I think most users agree that the
decision of the KDE team to move from the 13 tarballs upstream
releases to the ~300 ebuilds we have in Gentoo was a good move. From
the maintainers POV there can be no doubt about it.
I know KDE doesn't provide servers + clients, but I think it's
Gentoo's extreme case of split ebuilds.
> 2. Use separate packages when upstream releases client and server
> separately
>
> I think the minimal use flag should not be used for this purpose
> any more.
>
> Regards, Petteri
>
I also would like to recall the old discussion about the "usefulness"
or "correctness" of the "client" and "server" use flags. IIRC, the
handbook should still list those as not appropriate for use flags,
given the myriad of different meanings they can carry - even though
use.local.desc can help here.
I wonder how many users would like to see mysql move to a split model
(no criticism intended to anyone that has worked on it over the years)
or what users feel about the split done on postgresql. Looking at the
ebuilds (I've been using mysql for years and never used postgresql),
this is one case where upstream releases a single tarball and one team
moved to split ebuilds and the other keeps using monos. It would be
interesting to hear the maintainers' opinion.
- --
Regards,
Jorge Vicetto (jmbsvicetto) - jmbsvicetto at gentoo dot org
Gentoo- forums / Userrel / Devrel / SPARC / KDE
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.13 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/