public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Yuri Vasilevski <yvasilev@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev]  Re: [GLEP] RFC - Keywording scheme
Date: Wed, 25 Apr 2007 20:30:45 -0500	[thread overview]
Message-ID: <20070425203045.2e07d722@dukebook.lan> (raw)
In-Reply-To: <462FCAA3.2040207@gentoo.org>

On Wed, 25 Apr 2007 23:39:47 +0200
Rémi Cardona <remi@gentoo.org> wrote:

> Grant Goodyear a écrit :
> > Fabian Groffen wrote: [Sat Apr 14 2007, 03:33:03AM CDT]
> >> For people that like reading it in html or via the web:
> >> http://dev.gentoo.org/~grobian/gleps/glep-keywords.html
> >> http://dev.gentoo.org/~grobian/gleps/glep-keywords.txt
> > 
> > So what would a version of Gentoo for amd64 based on FreeBSD but
> > using glibc be called?  (It's not an entirely academic question;
> > Debian folks have worked on such a distribution for some time.)
> > I can't really tell from the text in your proposed GLEP.
> 
> I'm sure this GLEP can be extended later on should anyone feel like 
> doing a glibc-based freebsd port of gentoo (hurts my brains just
> writing this :) )

I think it will be better if this scheme is specified in friendlier
way for future expansions, hence I this it should be more flexible.

I would propose this two modifications:

(a) Instead of using n-tuples to describe a keyword, to use sets.

Both ways can be made semantically equivalent if we add the
restrictions that the sets of all the possible architecture, kernel,
userland, libc, ... sub-keywords are disjoint. (i.e. If there is a
userland sub-keyword bsd, then there can't be a kernel or libc
sub-keyword named bsd, they have to be named in a slightly different
way.)

But on the other hand, the notation will be way more flexible as a
keyword can only specify the relevant sub-keywords, while the rest can
be considered to be a wildcard (to mean "all")

(b) In case there are several keywords A and B:
- if A is more specific that B, A takes precedence (ej. with "!uclibc
  arm:uclibc" the package can be installed on any system that does not
  uses uclibc as libc or on any system with arm hardware.)
- if A is exactly as specific as B, the union of A and B is used (ej.
  "!uclibc arm" this is equivalent to the previous example.)

So to give more examples,

A package that can only be build on arm, sparc and x86 with linux and
glibc or arm with uclibc can be specified as:
"{arm,sparc,x86}:linux:glibc arm:uclibc"

A package (lets say linux-headers) that makes sense on all systems that
support linux and only them can be specified as:
"linux"

A package that is stable with gnu userland but still in testing with
bsd userland:
"{some,arches}:gnu ~{some,arches}:bsd" or just "gnu ~bsd" for all
arches.

Note that I propose to mark testing the whole set of sub-keywords, not
just like I run stable x86 with unstable bsd as I think it does not make
any sense as the resulting combination is still considered
unstable/testing.

There are two things I see against my proposal:
- This is not fully backward compatible, as it is currently equivalent
  to normal arch keywords if the user runs linux with glibc/uclibc,
  while it has a completely different meaning for Gentoo/Alt users.
  But I don't see it as a big problem because, as far as I understand,
  this will be just one of many changes that need to be made to make
  Gentoo/Alt as integrated as GNU/Linux is now into portage.

- For this to work, the keyword resolver will have to be way more
  complex than it is now, as it will have to compute the subset of all
  possible keywords some ebuild defines to see if user's accept
  keywords intersect it.

Kindest regards,
Yuri.
--
gentoo-dev@gentoo.org mailing list



  reply	other threads:[~2007-04-26  1:09 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20070413172503.GA3320@gentoo.org>
2007-04-14  6:32 ` [gentoo-dev] Re: [GLEP] RFC - Keywording scheme Steve Long
2007-04-14  8:19   ` Robin H. Johnson
2007-04-14  8:33     ` Fabian Groffen
2007-04-14 11:47       ` Mike Frysinger
2007-04-14 12:41         ` Robin H. Johnson
2007-04-16 11:50           ` Chris Gianelloni
2007-04-16 12:03             ` Robin H. Johnson
2007-04-16 13:10               ` Chris Gianelloni
2007-04-16 23:19                 ` Christopher Sawtell
2007-04-17  0:57                   ` Robin H. Johnson
2007-04-17  0:57                     ` Robin H. Johnson
2007-04-17 12:00                   ` Chris Gianelloni
2007-04-25  7:35       ` Fabian Groffen
2007-04-25 16:14         ` Chris Gianelloni
2007-04-25 18:37       ` Grant Goodyear
2007-04-25 21:39         ` Rémi Cardona
2007-04-26  1:30           ` Yuri Vasilevski [this message]
2007-04-26  6:52             ` Fabian Groffen

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=20070425203045.2e07d722@dukebook.lan \
    --to=yvasilev@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