public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] More suggestions for USE
@ 2002-05-22 15:49 Rufiao Valhacouto
  2002-05-22 16:58 ` [gentoo-dev] A proposal (Was: More suggestions for USE) José Fonseca
  0 siblings, 1 reply; 2+ messages in thread
From: Rufiao Valhacouto @ 2002-05-22 15:49 UTC (permalink / raw
  To: gentoo-dev

I'd be useful if each ebuild could provide some queries to specify which
USE flags a given package can use, and give some explanations about what
are the end results of using each flag. Also, some kind of 'suggested'
USE flags could be implemented, possibly using some dynamic
configuration hints (eg. if the ebuild detects there is gnome installed,
it can suggest the gnome flag).

I've seen some proposals for implementing a more effective way to
maintain the USE flags for each package, and it seems for me this is a
must. Anyway, it would be nice if emerge/ebuild could record the USE
flags used in the build process for each package to help in the track of
how everything was compiled. 






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

* [gentoo-dev] A proposal (Was: More suggestions for USE)
  2002-05-22 15:49 [gentoo-dev] More suggestions for USE Rufiao Valhacouto
@ 2002-05-22 16:58 ` José Fonseca
  0 siblings, 0 replies; 2+ messages in thread
From: José Fonseca @ 2002-05-22 16:58 UTC (permalink / raw
  To: gentoo-dev

The USE flags is the way by which portage knows what the main subsystems 
that the user pretends, and therefore which dependencies it should satisfy 
when installing an ebuild. In other words, now the USE flags represent in 
very global terms what the user wants.

As Rufiao noticed, the USE flags fail to represent what the system 
additionally also has, as in the gnome flag example gave by him.

To make the USE flags also represent what the system has there would had 
to be a distinction between the "user wants" and "system has" duality.

An idea that seems to be viable is to have the USE flags very much like 
the "vitual provides" of some ebuilds, i.e., there would be two files: one 
with the USE flags that "user wants" which I'll call "use.wants" and other 
with the USE flags that have been already satisfied, which I'll call 
"use.has".

When a user installs the first time Gentoo he would find a default 
"use.wants" (an automatically generated file from parsing all ebuilds) 
including a brief description. Something like:

	use.wants:
		#flag	description

		gnome	The GNOME desktop manager
		kde 	The K Desktop Environment

we would uncomment what we wants, and comment what we doesn't want.

At this time "use.has" would be empty, as the system has the bare minimum. 
By typing e.g., "emerge --use", emerge would install every ebuild which 
provided what was specified in "use.has" and wasn't already in "use.has".

Everytime the user installed a package that provided some USE flag, emerge 
would update "use.has" accordingly. If by some reason the user wanted to 
remove some USE flag from the system he would do, e.g., "emerge --unuse 
gnome", and emerge would remove the packages that provided gnome and its 
dependencies, updating both "use.wants" and "use.has". All this after 
confirming the user intention, of course.

This would simplify enormously the first time installation and the 
maintainance of the USE vars, and best, it would be possible a smooth 
transition. Each ebuild would just add something like

	gnome-libs-x.xx.ebuild:
		...
		USE_PROVIDE = "gnome"
		...
		...
		get_use() {
			echo "gnome	The GNOME desktop manager"
		}

where the automatically generation of the default "use.wants" would be 
made by calling "get_use", but initally the ebuilds could just remain as 
is, and the default "use.wants" would be made by hand, and the 
USE_PROVIDES would be gradually added.

As you can see the USE flags would become very similar to the "virtual 
provides". I'm not even sure if we could blend these two concepts.


I don't know what are the detailed plans for portage2 but I would like to 
see this proposal considered and discussed.


Regards,

José Fonseca


On 2002.05.22 16:49 Rufiao Valhacouto wrote:
> I'd be useful if each ebuild could provide some queries to specify which
> USE flags a given package can use, and give some explanations about what
> are the end results of using each flag. Also, some kind of 'suggested'
> USE flags could be implemented, possibly using some dynamic
> configuration hints (eg. if the ebuild detects there is gnome installed,
> it can suggest the gnome flag).
> 
> I've seen some proposals for implementing a more effective way to
> maintain the USE flags for each package, and it seems for me this is a
> must. Anyway, it would be nice if emerge/ebuild could record the USE
> flags used in the build process for each package to help in the track of
> how everything was compiled.
> 


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

end of thread, other threads:[~2002-05-22 16:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-05-22 15:49 [gentoo-dev] More suggestions for USE Rufiao Valhacouto
2002-05-22 16:58 ` [gentoo-dev] A proposal (Was: More suggestions for USE) José Fonseca

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