On 9 February 2016 at 10:41, Michał Górny <mgo...@gentoo.org> wrote:
> Well, the real issue here is that people are using USE_EXPAND as some
> kind of 'here, upstream give us some grouped options, let's
> thoughtlessly expose them all in some fancy USE_EXPAND without thinking
> about usability of the solution!'
>
> Of course, some of those flags make sense as USE flags. Some don't.
> There are things that you practically always will want enabled. There
> are things that should be controlled by global USE flags but instead
> land in some custom USE_EXPAND because... because we can group it with
> 15 mildly relevant options!
>
> So I have USE=zlib enabled because I want gzip support. But no, for
> nginx I have to look through USE descriptions and find it's actually
> nginx_modules_http_gzip because it happens that it is realized using
> a loadable module!


I figure it *might* make more sense for there to be a little more use
of that hardly used feature, /etc/portage/saved-config , especially
where:

a) No other packages are likely to depend on the package having that
feature enabled
b) There are no specific dependency requirements implicit in having a
feature enabled.

After all...

>
> It is not uncommon to come across a package which has a very fine grained 
> level of configuration options that go way
> beyond what USE flags can properly describe.

-- savedconfig.eclass

However, nginx is clearly not one of the cases that would benefit a
lot here, as evidenced here:

        nginx_modules_http_geoip? ( dev-libs/geoip )
        nginx_modules_http_gunzip? ( sys-libs/zlib )
        nginx_modules_http_gzip? ( sys-libs/zlib )
        nginx_modules_http_gzip_static? ( sys-libs/zlib )
        nginx_modules_http_image_filter? ( media-libs/gd[jpeg,png] )
        nginx_modules_http_perl? ( >=dev-lang/perl-5.8 )
        nginx_modules_http_rewrite? ( >=dev-libs/libpcre-4.2 )
        nginx_modules_http_secure_link? (
                userland_GNU? (
                        !libressl? ( dev-libs/openssl:0= )
                        libressl? ( dev-libs/libressl:= )
                )
        )
        nginx_modules_http_xslt? ( dev-libs/libxml2 dev-libs/libxslt )
        nginx_modules_http_lua? ( !luajit? ( dev-lang/lua:0= ) luajit?
( dev-lang/luajit:2= ) )
        nginx_modules_http_auth_pam? ( virtual/pam )
        nginx_modules_http_metrics? ( dev-libs/yajl )
        nginx_modules_http_dav_ext? ( dev-libs/expat )
        nginx_modules_http_security? ( >=dev-libs/libxml2-2.7.8
dev-libs/apr-util www-servers/apache )
        nginx_modules_http_auth_ldap? ( net-nds/openldap[ssl?] )


And you'd hardly want all of those features to be turned on because it
might create a dependency graph far more severe than anyone wants.

And I'm guessing you can't just make people install ebuilds for each
module people want instead? ( And maybe have a single USE flag on the
main nginx that turning on installs a bunch of good default things
that people appear to always want easily )

-- 
Kent

KENTNL - https://metacpan.org/author/KENTNL

Reply via email to