Just a minor proposal to add a new setting to indicate interactive
ebuilds. Until it shows up on the webnodes as GLEP 52 you can also see
it on dev.gentoo.org/~genone/docs/interactive-restrict-glep.html

Marius

-- 
Public Key at http://www.genone.de/info/gpg-key.pub

In the beginning, there was nothing. And God said, 'Let there be
Light.' And there was still nothing, but you could see a bit better.
GLEP: 44
Title: RESTRICT=interactive
Version: $Revision: 1.1 $
Last-Modified: $Date: 2005/12/06 03:34:21 $
Author: Marius Mauch <[EMAIL PROTECTED]>,
Status: Draft
Type: Standards Track
Content-Type: text/x-rst
Created: 13-Oct-2006
Post-History: 14-Oct-2006


Abstract
========

This GLEP proposes a new value for the RESTRICT metadata variable in ebuilds to
indicate that an ebuild requires interaction by the user.

Motivation
==========

Certain ebuilds in the current tree require certain actions from the user to 
progress. A popular example are ebuilds that require physical media (cd/dvd-rom)
for their distfiles instead of fetching them form the net.
However ebuilds are supposed to be non-interactive, so this behavior, while 
sometimes necessary, violates existing policies. To account for this situation
a new RESTRICT value should be added to allow filtering those ebuilds based on
metadata and to inform users upfront (when displaying the depgraph) that a 
certain package will require their attention during the build process.

Specification
=============

Portage (and by extension other package managers) will support a new value for 
the RESTRICT metadata variable called ``interactive``. This value may be used by
the package manager and tools using its API to filter packages that require 
interactive actions (for example to mask them in automated build environments).
How the package manager exactly reacts on the presence of this new flag is 
beyond
this specification, but it's recommended to indicate it's presence to the user
whenever relevant.

This new setting should be used in ebuilds if it is known that they _typically_
require user attention during the build process. If an ebuild just has a limited
``risk`` of becoming interactive (like using the ``built_with_use`` function)
it shouldn't be restricted.

Rationale
=========

The new RESTRICT=interactive metadata setting will give us the following 
benefits:

1. Enable masking of interactive ebuilds for automated build environments

2. Metadata based searching for interactive ebuilds (superior to grep)

3. Less frustrated users caused by ``hanging`` build processes

This proposal does not change the existing policy regarding interactive ebuilds
(ebuilds still should be non-interactive whenever possible), it merely states a 
way to identify them.

Backwards Compatibility
=======================

Strictly speaking this extension would requires an EAPI bump, however as 
existing 
portage ignore unknown RESTRICT values it shouldn't cause any real breakage to 
introduce it without.

Reference Implementation
========================

TODO

Credits
=======

Thanks to the following persons for their input on or related to this GLEP
(even though they might not have known it):
Alec Warner, Zac Medico

References
==========

.. [#bug151113] http://bugs.gentoo.org/151113


Copyright
=========

This document has been placed in the public domain.

Reply via email to