public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Brian Harring <ferringb@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] ebuild design issue regarding some {I need the lib and api only}-DEPENDs
Date: Thu, 18 Aug 2005 10:17:31 -0500	[thread overview]
Message-ID: <20050818151731.GA19947@nightcrawler> (raw)
In-Reply-To: <200508181628.44059.trapni@gentoo.org>

[-- Attachment #1: Type: text/plain, Size: 3629 bytes --]

On Thu, Aug 18, 2005 at 04:28:40PM +0200, Christian Parpart wrote:
> for the general mysql ebuild, I'd propose the following splitup:
> * dev-db/mysql-server (or myssqld)
> * net-libs/libmysqlclient
> * dev-db/mysql (a meta package that simply depends on both, for backward 
> compat)

<snip- left for reference in following sections>

> Using the "minimal" useflag for this - IMHO - is a misuse of the idea of 
> "minimal" semantically - as I do understand minimal in a way like "don't 
> overbloat me with patches and other feature additions"-alike.
Agreed.

> 
> The reason is, that some packages need to talk to (SQL )servers, but some host 
> installation do not need - or even want to (think about security policies) - 
> a local (SQL) server;
> 
> 
> This idea of course is applicable for lots of more packages, but mysql is one 
> use case where I myself ran into;
> 
> Do we have a general accepted gentoo policy for this?
> 
> And... any thoughts on this subject?
We don't split upstream packages into seperate pieces normally, and 
without a damn good reason-

1) Upstream releases it combined.  Yes, this can be flawed if you're 
   the lucky maintainer of a package where upstream does stupid things as 
   routine, but we do try to have our ports of a package as 'true' to 
   upstream's original release as possible.

2) ebuild maintenance will be a nightmare- every new version will 
   require again walking the source to see if the lines you've drawn for 
   dividing the source are still proper.

3) Extension of #2, any source that's reliant on those lines you've 
   drawn to chunkify a package have to be verified everytime you change 
   the sets that the subpackages hold.

4) (not applicable here, but a point) chunkifying a package, assuming 
   you make it this far, is going to require configuration every run 
   through, or you'll have to write some script to store configuration on 
   the users box, and lift that (pkg-config plugin).  More work, and more 
   QA.

5) We already provide our own 'subpackages' in a sense; an 
   unconfigured ebuild can produce len(IUSE)^2 potential configurations 
   of itself, each effectively a subpackage that are all labelled as that 
   specific category/package-version.  Yes configured is a better term 
   there, but I'm trying to make a point here :P

Adding a use flag to control whether or not the server chunk gets 
installed I think is a great thing, but I also think there's no way in 
hell you should attempt it now- frankly, you can't do it now because 
use dependencies aren't available in any stable portage.

Yes, there is the pkg_setup die check for a use flag being no, and 
yes, anyone using that but in the most dire cases needs an atomic 
wedgie.  Too much stuff depends on mysql to resort to the pkg_setup 
hack, and mysql *is* a package that is a bit server centric normally, 
meaning those who hit the pkg_setup 'surprise' hopefully will hit it 
on a test server, rather then live.

People should use test servers rather then deploying changes they 
can't totally predict to a live server, but they don't, which kills 
that as an option.

Short version, control what gets installed via use flags, but don't 
introduce it until use deps are available in a stable portage.  
Breaking the beast up now is short sighted since use deps are 
already implemented in the core rewrite.  Yes, waiting is a pain in 
the ass, but the work to break it up and continue to indefinitely 
force subpackaging on an package isn't worth it.

My opinionated 2 cents...
~harring

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

  parent reply	other threads:[~2005-08-18 15:20 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-18 14:28 [gentoo-dev] ebuild design issue regarding some {I need the lib and api only}-DEPENDs Christian Parpart
2005-08-18 14:23 ` Luca Barbato
2005-08-18 15:24   ` Francesco R
2005-08-18 14:27 ` Brian Jackson
2005-08-18 14:40 ` Mike Frysinger
2005-08-18 15:13   ` Lance Albertson
2005-08-18 15:24     ` Ciaran McCreesh
2005-08-18 15:28     ` Francesco R
2005-08-18 15:37     ` Chris Gianelloni
2005-08-18 15:56       ` Brian Harring
2005-08-18 16:08         ` [gentoo-dev] Local USE defaults Donnie Berkholz
2005-08-18 16:31           ` Brian Harring
2005-08-18 17:16             ` Alec Warner
2005-08-18 17:36               ` Brian Harring
2005-08-18 17:18             ` Mike Frysinger
2005-08-18 17:38               ` Brian Harring
2005-08-19  7:10                 ` Donnie Berkholz
2005-08-19 11:53                   ` Brian Harring
2005-08-18 17:24         ` [gentoo-dev] ebuild design issue regarding some {I need the lib and api only}-DEPENDs Ciaran McCreesh
2005-08-18 18:13           ` Brian Harring
2005-08-19  0:06             ` Ciaran McCreesh
2005-08-19  1:59               ` Brian Harring
2005-08-18 15:17 ` Brian Harring [this message]
2005-08-18 15:44   ` Chris Gianelloni
2005-08-19  3:30     ` Christian Parpart
2005-08-19  3:09       ` Brian Harring
2005-08-18 17:01 ` Georgi Georgiev
2005-08-19  2:59   ` Luke-Jr
2005-08-19  5:01     ` Georgi Georgiev
2005-08-19  3:19   ` Christian Parpart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050818151731.GA19947@nightcrawler \
    --to=ferringb@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox