* [gentoo-dev] Portage2 super USE flag suggestin
@ 2002-07-18 15:05 Craig Joly
2002-07-18 15:54 ` David Mallwitz
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Craig Joly @ 2002-07-18 15:05 UTC (permalink / raw
To: gentoo-dev
A complaint that I've seen in the comments section of every single
Gentoo review is "I tried to emerge VIM on my server and it wants to
install X. Gentoo sucks!" or something along those lines. At first,
the answer seems obvious:
USE="-X" emerge vim
It doesn't work, unless you happen to have the rest of your USE flags
set exactly right. When you look at the dependancies in the ebuild,
you find that it also can depend on gtk. All right:
USE="-X -gtk" emerge vim
Still wants to install X. Now, we start digging. And discover that
python is causing the problem because it can depend on tcltk, which
depends on X.
USE="-X -gtk -tcltk" emerge vim
This should work in all cases. As far as I can tell.
Same problem with nethack and a few other programs. It's not a big
deal for those of us who are willing to dig through all of the ebuilds
looking for a stray dependency, just a pain in the ass, but it really
sucks for new users who just want to set up a server.
A possible solution: super USE flags, for want of a better name.
Something along the lines of USE="noX", where
noX=-X -gtk -gtk2 -qt -qtmt -tcltk -fltk -gnome -gnome-libs -kde -bonobo -xv -dga (any other toolkits, etc)
nodb=-postgres -mysql -berkdb -gdbm -innodb (any other databases)
nosound=-als -oss -esd -arts -oggvorbis (any other sound stuff)
nofb=-directfb fbcon
noscript=-perl -python -ruby -tcltk -guile
I think you get the idea. That way, if you want to guarantee
installing vim without X support:
USE="noX" emerge vim
What do you guys think.
--
Some mistakes are too much fun to only make once.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-dev] Portage2 super USE flag suggestin
2002-07-18 15:05 [gentoo-dev] Portage2 super USE flag suggestin Craig Joly
@ 2002-07-18 15:54 ` David Mallwitz
2002-07-18 16:07 ` Vitaly Kushneriuk
2002-07-18 16:44 ` Christian Axelsson
2 siblings, 0 replies; 8+ messages in thread
From: David Mallwitz @ 2002-07-18 15:54 UTC (permalink / raw
To: gentoo-dev
Perhaps an easier solution would be to have more make.defaults for the
user to choose from. i.e...
make.defaults.server =
USE=" berkdb crypt cups encode gdbm ipv6 java libg++ libwww mikmod ncurses
nlspam pdflib python qtmt readline slang spell ssl tcpd xml2 "
make.defaults.workstation-full =
USE="apm arts avi berkdb crypt encode gdbm gif gpm gtk imlib
java jpeg kde libg++ libwww mikmod motif mpeg ncurses nls
oggvorbis opengl pam pdflib png python qt qtmt quicktime readline sdl
slang spell ssl svga tcpd truetype X xml2 xmms xv"
and some various subsets of the workstation profile...
make.defaults.workstation-minimal
make.defaults.workstation-gnome
make.defaults.workstation-kde
etc
This is just off the top of my head, not well researched.
Dave
Craig Joly said:
> A complaint that I've seen in the comments section of every single
> Gentoo review is "I tried to emerge VIM on my server and it wants to
> install X. Gentoo sucks!" or something along those lines. At first,
> the answer seems obvious:
> USE="-X" emerge vim
> It doesn't work, unless you happen to have the rest of your USE flags
> set exactly right. When you look at the dependancies in the ebuild,
> you find that it also can depend on gtk. All right:
> USE="-X -gtk" emerge vim
> Still wants to install X. Now, we start digging. And discover that
> python is causing the problem because it can depend on tcltk, which
> depends on X.
> USE="-X -gtk -tcltk" emerge vim
> This should work in all cases. As far as I can tell.
> Same problem with nethack and a few other programs. It's not a big
> deal for those of us who are willing to dig through all of the ebuilds
> looking for a stray dependency, just a pain in the ass, but it really
> sucks for new users who just want to set up a server.
>
> A possible solution: super USE flags, for want of a better name.
> Something along the lines of USE="noX", where
> noX=-X -gtk -gtk2 -qt -qtmt -tcltk -fltk -gnome -gnome-libs -kde
> -bonobo -xv -dga (any other toolkits, etc) nodb=-postgres -mysql
> -berkdb -gdbm -innodb (any other databases)
> nosound=-als -oss -esd -arts -oggvorbis (any other sound stuff)
> nofb=-directfb fbcon
> noscript=-perl -python -ruby -tcltk -guile
>
> I think you get the idea. That way, if you want to guarantee
> installing vim without X support:
> USE="noX" emerge vim
>
> What do you guys think.
>
> --
> Some mistakes are too much fun to only make once.
> _______________________________________________
> gentoo-dev mailing list
> gentoo-dev@gentoo.org
> http://lists.gentoo.org/mailman/listinfo/gentoo-dev
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-dev] Portage2 super USE flag suggestin
@ 2002-07-18 15:55 maciek
2002-07-18 17:12 ` Alexander Gretencord
0 siblings, 1 reply; 8+ messages in thread
From: maciek @ 2002-07-18 15:55 UTC (permalink / raw
To: gentoo-dev
I like this idea!
However, a simpler solution would be to introduce some priority
of USE flags. "-X" would also say -gtk because gtk depends on X.
Then, we could eventually introduce f.e. "sound" use flag and make
alsa, oss... dependant on it.
/Maciek
Quoting Craig Joly <craig@taipan.mudshark.org>:
> [snip]
> A possible solution: super USE flags, for want of a better name.
> Something along the lines of USE="noX", where
> noX=-X -gtk -gtk2 -qt -qtmt -tcltk -fltk -gnome -gnome-libs -kde -bonobo -xv
> -dga (any other toolkits, etc)
> nodb=-postgres -mysql -berkdb -gdbm -innodb (any other databases)
> nosound=-als -oss -esd -arts -oggvorbis (any other sound stuff)
> nofb=-directfb fbcon
> noscript=-perl -python -ruby -tcltk -guile
>
> I think you get the idea. That way, if you want to guarantee
> installing vim without X support:
> USE="noX" emerge vim
-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-dev] Portage2 super USE flag suggestin
2002-07-18 15:05 [gentoo-dev] Portage2 super USE flag suggestin Craig Joly
2002-07-18 15:54 ` David Mallwitz
@ 2002-07-18 16:07 ` Vitaly Kushneriuk
2002-07-18 16:44 ` Christian Axelsson
2 siblings, 0 replies; 8+ messages in thread
From: Vitaly Kushneriuk @ 2002-07-18 16:07 UTC (permalink / raw
To: Gentoo-dev
On Thu, 2002-07-18 at 18:05, Craig Joly wrote:
> A complaint that I've seen in the comments section of every single
> Gentoo review is "I tried to emerge VIM on my server and it wants to
> install X. Gentoo sucks!" or something along those lines. At first,
> the answer seems obvious:
> USE="-X" emerge vim
> It doesn't work, unless you happen to have the rest of your USE flags
> set exactly right. When you look at the dependancies in the ebuild,
> you find that it also can depend on gtk. All right:
> USE="-X -gtk" emerge vim
> Still wants to install X. Now, we start digging. And discover that
> python is causing the problem because it can depend on tcltk, which
> depends on X.
> USE="-X -gtk -tcltk" emerge vim
> This should work in all cases. As far as I can tell.
> Same problem with nethack and a few other programs. It's not a big
> deal for those of us who are willing to dig through all of the ebuilds
> looking for a stray dependency, just a pain in the ass, but it really
> sucks for new users who just want to set up a server.
>
> A possible solution: super USE flags, for want of a better name.
> Something along the lines of USE="noX", where
> noX=-X -gtk -gtk2 -qt -qtmt -tcltk -fltk -gnome -gnome-libs -kde -bonobo -xv -dga (any other toolkits, etc)
> nodb=-postgres -mysql -berkdb -gdbm -innodb (any other databases)
> nosound=-als -oss -esd -arts -oggvorbis (any other sound stuff)
> nofb=-directfb fbcon
> noscript=-perl -python -ruby -tcltk -guile
>
> I think you get the idea. That way, if you want to guarantee
> installing vim without X support:
> USE="noX" emerge vim
>
> What do you guys think.
>
> --
> Some mistakes are too much fun to only make once.
> _______________________________________________
> gentoo-dev mailing list
> gentoo-dev@gentoo.org
> http://lists.gentoo.org/mailman/listinfo/gentoo-dev
>
I think we already have a solution in portage, we just need to use it.
Look at the file /etc/make.profile/use.defaults
It will conditionally activate USE variable if appropriate package is
installed. So all we need to do is to remove X from make.default
(well, we probably need to remove a few others too: gnome, etc.).
In this case, every package that has an *optional* X support, will not
build it, if it's built before X, but once X is installed, the same
package (when rebuild) will auto-enable USE="X" according to the
use.defaults and will build the optional X support.
Test instructions:
1) try "emerge -ep vim". You'll see that vim will require ~50 packages
(X, gnome, ....)
2) Go to /etc/make.profile. move or rename "use.defaults" file.
This is required, as the use.defaults handling does not take into
account the "-e" flag. [BUG?]
3) Now try "emerge -ep vim" again. You'll see that the list is still
the same. This is because USE variable in the make.default still
contains X,gnome, etc.
4) Now rename or move the "make.defaults" file. As it's required for
the portage operation, create an empty one: "touch make.defaults"
5) Now try again the "emerge -ep vim". You'll see the short list
of < 15 packages that will be build. This is because of the "-e"
switch, that makes the portage think that you have a clean system.
In the real situation, after a fresh install, you'll have most [all?]
of them already built.
/Vitaly.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-dev] Portage2 super USE flag suggestin
2002-07-18 15:05 [gentoo-dev] Portage2 super USE flag suggestin Craig Joly
2002-07-18 15:54 ` David Mallwitz
2002-07-18 16:07 ` Vitaly Kushneriuk
@ 2002-07-18 16:44 ` Christian Axelsson
2002-07-18 17:09 ` Robert M. Zigweid
2 siblings, 1 reply; 8+ messages in thread
From: Christian Axelsson @ 2002-07-18 16:44 UTC (permalink / raw
To: gentoo-dev
--------------------
On Thu, 18 Jul 2002 09:05:28 -0600
Craig Joly <craig@taipan.mudshark.org> wrote:
> A possible solution: super USE flags, for want of a better name.
> Something along the lines of USE="noX", where
> noX=-X -gtk -gtk2 -qt -qtmt -tcltk -fltk -gnome -gnome-libs -kde -bonobo -xv -dga (any other toolkits, etc)
> nodb=-postgres -mysql -berkdb -gdbm -innodb (any other databases)
> nosound=-als -oss -esd -arts -oggvorbis (any other sound stuff)
> nofb=-directfb fbcon
> noscript=-perl -python -ruby -tcltk -guile
>
I like this idea, in the matter of fact, I actually first thougth that if I putted -X
I wouldnt get anythings that depend on X. I felt that that was the natural behavior but that wasn't
obvious the case :/
I vote yes for this soloution or a similar one.
--
Christian Axelsson
smiler@lanil.mine.nu
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-dev] Portage2 super USE flag suggestin
2002-07-18 16:44 ` Christian Axelsson
@ 2002-07-18 17:09 ` Robert M. Zigweid
0 siblings, 0 replies; 8+ messages in thread
From: Robert M. Zigweid @ 2002-07-18 17:09 UTC (permalink / raw
To: Christian Axelsson; +Cc: gentoo-dev
[-- Attachment #1: Type: text/plain, Size: 1646 bytes --]
On Thu, Jul 18, 2002 at 06:44:00PM +0200, Christian Axelsson wrote:
> --------------------
> On Thu, 18 Jul 2002 09:05:28 -0600
> Craig Joly <craig@taipan.mudshark.org> wrote:
>
> > A possible solution: super USE flags, for want of a better name.
> > Something along the lines of USE="noX", where
> > noX=-X -gtk -gtk2 -qt -qtmt -tcltk -fltk -gnome -gnome-libs -kde -bonobo -xv -dga (any other toolkits, etc)
> > nodb=-postgres -mysql -berkdb -gdbm -innodb (any other databases)
> > nosound=-als -oss -esd -arts -oggvorbis (any other sound stuff)
> > nofb=-directfb fbcon
> > noscript=-perl -python -ruby -tcltk -guile
> >
>
> I like this idea, in the matter of fact, I actually first thougth that if I putted -X
> I wouldnt get anythings that depend on X. I felt that that was the natural behavior but that wasn't
> obvious the case :/
> I vote yes for this soloution or a similar one.
>
> --
> Christian Axelsson
> smiler@lanil.mine.nu
> _______________________________________________
> gentoo-dev mailing list
> gentoo-dev@gentoo.org
> http://lists.gentoo.org/mailman/listinfo/gentoo-dev
To me, this method would be a hack. I'm of the opinion that the USE flags
should automatically do the sensible thing and recognize that if -X is used,
that KDE or Gnome or whatever /can't/ install because of -X. Along with this,
should be an option to emerge to override and install anyway. Compiling
the necessary packages (even X if it's needed),
--
Robert M. Zigweid
Developer
Secure Software Solutions
PGPKey: D122F089
PGP Fingerprint: 672B 99F5 9CED E3E3 2736 4E1A B8BE BBFD D122 F089
[-- Attachment #2: Type: application/pgp-signature, Size: 230 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-dev] Portage2 super USE flag suggestin
2002-07-18 15:55 maciek
@ 2002-07-18 17:12 ` Alexander Gretencord
2002-07-18 18:29 ` Matthew Walker
0 siblings, 1 reply; 8+ messages in thread
From: Alexander Gretencord @ 2002-07-18 17:12 UTC (permalink / raw
To: gentoo-dev
On Thursday 18 July 2002 17:55, maciek@borowka.net wrote:
> However, a simpler solution would be to introduce some priority
> of USE flags. "-X" would also say -gtk because gtk depends on X.
> Then, we could eventually introduce f.e. "sound" use flag and make
> alsa, oss... dependant on it.
USE Flags only work on _optional_ dependencies. GTK+ needs X so it doesn't
matter if you have -X in your USE flag GTK+ still needs X even if you don't
want X. So if you want GTK+ you _have_ to install X.
I think the "more make.defaults files" solution is the best. It sucks to first
have to see through the make.defaults, copy everything and put a - in front
of nearly every word just to get a server up and running without X :)
Alex
--
"They that can give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety."
Benjamin Franklin
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [gentoo-dev] Portage2 super USE flag suggestin
2002-07-18 17:12 ` Alexander Gretencord
@ 2002-07-18 18:29 ` Matthew Walker
0 siblings, 0 replies; 8+ messages in thread
From: Matthew Walker @ 2002-07-18 18:29 UTC (permalink / raw
To: gentoo-dev
You don't have to put a minus in front of everything. In make.conf, put
USE="-* <your use settings here>". Then you will only get exactly what you
asked for.
For those who have said they aren't sure if the -* works, I've tested it,
and it does.
Alexander Gretencord said:
> On Thursday 18 July 2002 17:55, maciek@borowka.net wrote:
>> However, a simpler solution would be to introduce some priority
>> of USE flags. "-X" would also say -gtk because gtk depends on X. Then,
>> we could eventually introduce f.e. "sound" use flag and make alsa,
>> oss... dependant on it.
>
> USE Flags only work on _optional_ dependencies. GTK+ needs X so it doesn't
> matter if you have -X in your USE flag GTK+ still needs X even if you
> don't want X. So if you want GTK+ you _have_ to install X.
>
> I think the "more make.defaults files" solution is the best. It sucks to
> first have to see through the make.defaults, copy everything and put a -
> in front of nearly every word just to get a server up and running without
> X :)
>
> Alex
>
> --
> "They that can give up essential liberty to obtain a little temporary
> safety deserve neither liberty nor safety."
> Benjamin Franklin
>
> _______________________________________________
> gentoo-dev mailing list
> gentoo-dev@gentoo.org
> http://lists.gentoo.org/mailman/listinfo/gentoo-dev
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2002-07-18 18:29 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-07-18 15:05 [gentoo-dev] Portage2 super USE flag suggestin Craig Joly
2002-07-18 15:54 ` David Mallwitz
2002-07-18 16:07 ` Vitaly Kushneriuk
2002-07-18 16:44 ` Christian Axelsson
2002-07-18 17:09 ` Robert M. Zigweid
-- strict thread matches above, loose matches on Subject: below --
2002-07-18 15:55 maciek
2002-07-18 17:12 ` Alexander Gretencord
2002-07-18 18:29 ` Matthew Walker
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox