On 01/28/2014 02:34 AM, Martin Vaeth wrote:
> hasufell <hasuf...@gentoo.org> wrote:
>>
>> On 01/27/2014 12:26 AM, William Hubbs wrote:
>>>
>>> No, starting with USE="-*" is very dangerous.
>>
>> That's nonsense imo
> 
> No, William is completely right.
> 
>> and I use that setup on multiple servers/routers without any issues.
> 
> No one doubts that it is *possible* to add the correct USE for
> every single package manually, but it is not a good idea to hide
> the recommended defaults.
> 

As someone who writes those recommendations, I disagree. That's why many
of my packages don't have a lot of them, because I don't like them in
the first place. Another nice thing you can do is mess with USE_ORDER.
And now don't tell me that is another bad idea. This is Gentoo.

>> It makes sense because you have the most minimal setup possible
> 
> This is not true, to start with: For instance, USE=minimal will
> usually choose a more minimal setup.
> With "-*" you will actually *disable* the default USE=minimal
> for e.g. www-client/firefox, x11-apps/startx, sys-block/blocks,
> dev-db/unixODBC, ... and thus get a setup which is even larger
> than the recommended default.
> 

USE="-* minimal"

>> most minimal codepaths possible which reduces exposure to bugs.
> 
> No, you usually get less tested (and by upstream considered untypical)
> codepaths which actually increases the probability to hit a bug
> nobody did hit/test yet.
> 

Many defaults gentoo sets do not have anything to do with default
codepaths upstream has tested. So this argument works both ways.
Especially after a profile is activated.

> The USE="-*" approach was reasonable before EAPI=1 was introduced:
> In these days, unusual codepaths would have been set by "negative"
> USE-flags, e.g. IUSE="nocxx" for gcc.
> Nowadays, the upstream-recommended codepaths are set by default-USE-Flags
> in the ebuild, i.e. now the same is called IUSE="+cxx" in gcc.
> Using -* you disable such defaults which are usually there for a
> good reason.

As above, our defaults are not necessarily following upstream
recommendations/defaults. Apache alone should make you think about that
claim.

> 
> Of course, if you know and care what every single USE-flags for every
> single package does, it does not matter much which approach you take,
> but I would guess that even in this case you need more exceptions
> in /etc/portage/package.use with USE="-*" than with USE="".
> 

I made the opposite experience.

> Moreover, even for updates, it happens occassionally that a package
> gets an additional USE-flag, whose default is then usually chosen in
> such a way as the behaviour was before - so you risk dropping
> crucial behaviour on updates if you are not very careful.
> 

I am careful. The amount of crucial packages on my servers are not that
big and I definitely watch _any_ update, unless I want a mysql update to
break hell.


Besides, if a useflag combination breaks something unexpectedly (e.g.
the build or unrelated features) then it's a bug (minimum is to
communicate the situation via elog). If disabling one useflag breaks the
whole package, then it's a bug. That's something the packager has to
care about and arch testers usually run all(or most?) useflag
permutations before stabilizing.
There is no excuse. Every other "breakage" is expected, because I have
disabled the features.
The power of useflags imply that I can mix them up any way I want. All
of those mixtures must be supported by the maintainer, unless he warns
the user about it through the ebuild, masks the useflag or sets an
appropriate REQUIRED_USE constraint. Otherwise... it's a bug.

Reply via email to