public inbox for gentoo-portage-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-portage-dev] layout.conf: What's our opinion?
@ 2014-01-20 11:05 Sebastian Luther
  2014-01-20 11:43 ` Alexander Berntsen
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Sebastian Luther @ 2014-01-20 11:05 UTC (permalink / raw
  To: gentoo-portage-dev

Hi all,

${repository}/metadata/layout.conf is a file that allows a repository
maintainer to adjust the package manager's behavior for a repository.
I guess the best known is the 'masters' key, but there are lots of other
things by now (see man portage).

Currently layout.conf is not under PMS control. This basically means
that every PM (or version thereof) may support different keys and assign
different meanings to them. Portage's behavior for unknown keys in
layout.conf is to ignore them without a warning.

The bad thing about this is that some layout.conf keys portage currently
supports, may render the repository unusable for a PM if it doesn't
support them.

To avoid this type of breakage in other areas (ebuilds, dependency
resolution, ...) PMS has been created. Since the council demands PMS to
be followed, I would expect that they also want the general idea "of not
breaking things randomly" to be followed.

This brings us to reason that made me write that mail. Some days ago
Arfrever committed some additions to layout.conf [1], for which he
apparently had the ack from Zac from some months ago [2].

After discussing this one IRC I came to the conclusion that we just
disagree on how we should handle additions to layout.conf.

Basically it's either
1) "We add things as we see fit." or
2) "We should only add things if absolutely necessary.".

I obviously would prefer 2) to follow the "things shouldn't break
randomly" route.

So what's your opinion? Should we go for 1) or 2) or something else?

- Sebastian


[1]
http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=4c409a049c394389b1de398db511380e2fed0437

[2] http://dpaste.com/1560782/


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [gentoo-portage-dev] layout.conf: What's our opinion?
  2014-01-20 11:05 [gentoo-portage-dev] layout.conf: What's our opinion? Sebastian Luther
@ 2014-01-20 11:43 ` Alexander Berntsen
  2014-01-21  2:36 ` [gentoo-portage-dev] " W. Trevor King
  2014-01-21  3:27 ` [gentoo-portage-dev] " Mike Frysinger
  2 siblings, 0 replies; 4+ messages in thread
From: Alexander Berntsen @ 2014-01-20 11:43 UTC (permalink / raw
  To: gentoo-portage-dev

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 20/01/14 12:05, Sebastian Luther wrote:
> Basically it's either
> 1) "We add things as we see fit." or
> 2) "We should only add things if absolutely necessary.".
>
> So what's your opinion? Should we go for 1) or 2) or something else?

2.
- -- 
Alexander
alexander@plaimi.net
http://plaimi.net/~alexander
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iF4EAREIAAYFAlLdC/AACgkQRtClrXBQc7WW4gEAs2HSB9Mr8F9/seATNJYINUqL
ErunU9OjH2Ni/kLWpCsBAI+WvhZ7bPUoL2tIq6D3/xQdyE7dHYE6N+i+7AaDBnaL
=hzE4
-----END PGP SIGNATURE-----


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [gentoo-portage-dev] Re: layout.conf: What's our opinion?
  2014-01-20 11:05 [gentoo-portage-dev] layout.conf: What's our opinion? Sebastian Luther
  2014-01-20 11:43 ` Alexander Berntsen
@ 2014-01-21  2:36 ` W. Trevor King
  2014-01-21  3:27 ` [gentoo-portage-dev] " Mike Frysinger
  2 siblings, 0 replies; 4+ messages in thread
From: W. Trevor King @ 2014-01-21  2:36 UTC (permalink / raw
  To: gentoo-portage-dev

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

On Mon, Jan 20, 2014 at 12:05:30PM +0100, Sebastian Luther wrote:
> Currently layout.conf is not under PMS control. This basically means
> that every PM (or version thereof) may support different keys and
> assign different meanings to them.

Standardizing in the PMS sounds like a good idea, for situations where
a consensus can be reached.

> Portage's behavior for unknown keys in layout.conf is to ignore them
> without a warning.

That makes sense, and is a good practice for forwards-compatibility
[1].  Repositories providing custom keys (or package managers
supporting custom keys) do so with the understanding that there may be
incompatibilities.  Namespaced custom keys (portage-eclass-masters?)
would help avoid accidental collision.  Versioning the layout.conf key
spec would also be useful, so a PM in strict-mode could warn “unknown
keys x, y, and z in a v1.2 layout.conf.  I only understand v1.0, and
it's possible that these keys have been added in subsequent versions”.

> The bad thing about this is that some layout.conf keys portage
> currently supports, may render the repository unusable for a PM if
> it doesn't support them.

Can you give an example of the breakage?  Maybe I just haven't been
listening in the right places.  If the problem is that the
repositories *need* a custom key that is not universally supported,
then that seems like something the repository authors should expect.

> After discussing this one IRC I came to the conclusion that we just
> disagree on how we should handle additions to layout.conf.
> 
> Basically it's either
> 1) "We add things as we see fit." or
> 2) "We should only add things if absolutely necessary.".

Locking everything down completely seems overly harsh, and makes it
harder to experiment with new features.  Why not:

1.5) We can add custom keys as we see fit under the ‘portage-*’
     namespace.

     * Portable repositories should not rely on them until they land
       in the PMS under a new layout.conf version, at which time the
       ‘portage-’ prefix will be removed.

     * Portage will recognize any newly standardized keys under their
       old ‘portage-*’ name to allow repositories to gracefully
       transition to the standardized names.

Cheers,
Trevor

[1]: http://www.w3.org/2001/tag/doc/versioning-20070326.html#iddiv470454016

-- 
This email may be signed or encrypted with GnuPG (http://www.gnupg.org).
For more information, see http://en.wikipedia.org/wiki/Pretty_Good_Privacy

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [gentoo-portage-dev] layout.conf: What's our opinion?
  2014-01-20 11:05 [gentoo-portage-dev] layout.conf: What's our opinion? Sebastian Luther
  2014-01-20 11:43 ` Alexander Berntsen
  2014-01-21  2:36 ` [gentoo-portage-dev] " W. Trevor King
@ 2014-01-21  3:27 ` Mike Frysinger
  2 siblings, 0 replies; 4+ messages in thread
From: Mike Frysinger @ 2014-01-21  3:27 UTC (permalink / raw
  To: gentoo-portage-dev; +Cc: Sebastian Luther

[-- Attachment #1: Type: Text/Plain, Size: 1502 bytes --]

On Monday 20 January 2014 06:05:30 Sebastian Luther wrote:
> Currently layout.conf is not under PMS control. This basically means
> that every PM (or version thereof) may support different keys and assign
> different meanings to them. Portage's behavior for unknown keys in
> layout.conf is to ignore them without a warning.

which is correct

> The bad thing about this is that some layout.conf keys portage currently
> supports, may render the repository unusable for a PM if it doesn't
> support them.

i don't see that as a problem.  alternative PMs can ignore unknown keys, or 
they can implement support for the new keys, or the repo owner can avoid keys 
that don't work across all the ones they want to support.

> To avoid this type of breakage in other areas (ebuilds, dependency
> resolution, ...) PMS has been created. Since the council demands PMS to
> be followed, I would expect that they also want the general idea "of not
> breaking things randomly" to be followed.

as you said, layout.conf isn't in PMS which means this rule does not apply.

> Basically it's either
> 1) "We add things as we see fit." or
> 2) "We should only add things if absolutely necessary.".

[1].  if you want things to be stricter, then you can lobby on the lists for 
standardizing layout.conf in PMS.

that said, i don't think layout.conf is "open season".  all user visible 
additions should be reviewed with an eye towards "is this the best we can 
reasonably do".
-mike

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-01-21  3:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-01-20 11:05 [gentoo-portage-dev] layout.conf: What's our opinion? Sebastian Luther
2014-01-20 11:43 ` Alexander Berntsen
2014-01-21  2:36 ` [gentoo-portage-dev] " W. Trevor King
2014-01-21  3:27 ` [gentoo-portage-dev] " Mike Frysinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox