Re: [gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-06-01 Thread William Hubbs
On Sat, Jun 01, 2013 at 10:26:54PM +0200, Michał Górny wrote:
> Dnia 2013-06-01, o godz. 15:20:32
> William Hubbs  napisał(a):
> 
> > On Sat, Jun 01, 2013 at 08:00:22PM +0200, Michał Górny wrote:
> > > If a switch toggles a feature that does not introduce additional
> > > dependencies, is small and can be toggled from within the app, a flag
> > > is useless.
> >  
> > If someone never wants the feature in the first place, and they can save
> > space and build time by not building or installing the man pages,
> > executables, config files, etc for it, forcing it onto their systems is
> > an unnecessary waste of build time and bloating their systems.
> 
> Unless the complexity added by a dozen USE flags actually *wastes more
> time* than installing the manpage. Especially if he ends up rebuilding
> something big because someone smart decided to add USE flag he wouldn't
> ever expect to be there.

Sure there may be some rebuilds initially, but that also depends on when
the use flags are added. If they are added with a new release and IUSE
defaults are set so that the change in functionality is minimized, the
chance of people having to rebuild because of the use flags is
minimized.

William



signature.asc
Description: Digital signature


Re: [gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-06-01 Thread Michał Górny
Dnia 2013-06-01, o godz. 15:20:32
William Hubbs  napisał(a):

> On Sat, Jun 01, 2013 at 08:00:22PM +0200, Michał Górny wrote:
> > If a switch toggles a feature that does not introduce additional
> > dependencies, is small and can be toggled from within the app, a flag
> > is useless.
>  
> If someone never wants the feature in the first place, and they can save
> space and build time by not building or installing the man pages,
> executables, config files, etc for it, forcing it onto their systems is
> an unnecessary waste of build time and bloating their systems.

Unless the complexity added by a dozen USE flags actually *wastes more
time* than installing the manpage. Especially if he ends up rebuilding
something big because someone smart decided to add USE flag he wouldn't
ever expect to be there.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-06-01 Thread William Hubbs
On Sat, Jun 01, 2013 at 08:00:22PM +0200, Michał Górny wrote:
> If a switch only changes the default in a config file, a flag is
> useless.
 
Ok, maybe so in this case.

> If a switch toggles a feature that does not introduce additional
> dependencies, is small and can be toggled from within the app, a flag
> is useless.
 
If someone never wants the feature in the first place, and they can save
space and build time by not building or installing the man pages,
executables, config files, etc for it, forcing it onto their systems is
an unnecessary waste of build time and bloating their systems.

> If a switch toggles a install of a tiny file which most people either
> want or don't care about, a flag is useless.
 
 This is possible, but I haven't seen any cases of this.

William


signature.asc
Description: Digital signature


Re: [gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-06-01 Thread Michał Górny
Dnia 2013-06-01, o godz. 12:41:06
William Hubbs  napisał(a):

> On Thu, May 30, 2013 at 01:23:59PM +0200, Ralph Sennhauser wrote:
> > William, each time this comes up you overred the _reasonably_.
> > Controlling dependencies is always reasonable but beyond that it's case
> > by case. Just because you can is never a valid reason. Often there are
> > options you clearly only want to toggle if you are a developer or
> > options meant for porting to alternative operating systems which lack
> > some bells and whistles and the like. Another example is configuring a
> > library for bundling with an app. The world is bigger than linux
> > distros.
> 
> Ralph, I never said anything about disagreeing with these cases. I'm
> talking about purely optional features of packages which do not
> have any bearing on runtime dependencies or cause breakage.
> 
> If a configure script offers switches for purely optional features, we
> should, imo, 1) give the users use flags to control these features or
> 2)hard code the settings we want in our ebuilds.
> 
> What do you think?

That depends on a package and on the case.

If a switch only changes the default in a config file, a flag is
useless.

If a switch toggles a feature that does not introduce additional
dependencies, is small and can be toggled from within the app, a flag
is useless.

If a switch toggles a install of a tiny file which most people either
want or don't care about, a flag is useless.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-06-01 Thread William Hubbs
On Thu, May 30, 2013 at 01:23:59PM +0200, Ralph Sennhauser wrote:
> On Tue, 28 May 2013 17:15:40 -0500
> William Hubbs  wrote:
> 
> > On Tue, May 28, 2013 at 09:07:37PM +0200, Michał Górny wrote:
> > > For the others, how large is the benefit of having them switchable?
> > > At least some of them look like something that wouldn't hurt people
> > > if it was always-built.
> > 
> > The dev manual states that use flags are to control optional
> > dependencies and _settings_ which a user may reasonably want to select
> > [1].
>  
> William, each time this comes up you overred the _reasonably_.
> Controlling dependencies is always reasonable but beyond that it's case
> by case. Just because you can is never a valid reason. Often there are
> options you clearly only want to toggle if you are a developer or
> options meant for porting to alternative operating systems which lack
> some bells and whistles and the like. Another example is configuring a
> library for bundling with an app. The world is bigger than linux
> distros.

Ralph, I never said anything about disagreeing with these cases. I'm
talking about purely optional features of packages which do not
have any bearing on runtime dependencies or cause breakage.

If a configure script offers switches for purely optional features, we
should, imo, 1) give the users use flags to control these features or
2)hard code the settings we want in our ebuilds.

What do you think?

William



signature.asc
Description: Digital signature


Re: [gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-05-31 Thread Gilles Dartiguelongue
Le mardi 28 mai 2013 à 22:18 +0200, Michał Górny a écrit :
> On Tue, 28 May 2013 15:22:04 -0400
> "Anthony G. Basile"  wrote:
> 
> > I thought about ssl but I'm still not sure if USE=ssl means just openssl 
> > or any ssl.  Eg, with curl, which has a choice of one of six backend ssl 
> > providers, I changed USE=ssl to mean that one and only one of the six 
> > must be on.  Previously though, USE=ssl in curl meant only openssl which 
> > was confusing because you could also have USE=nss or gnutls etc provide 
> > your ssl.  monkey also bounced around its ssl backend from liana_ssl to 
> > polarssl which is what made me think of curl.  What if in the future 
> > there's yet another ssl backend? Although use.desc does say ... "ssl - 
> > Adds support for Secure Socket Layer connections".  Any advice here?
> 
> Any SSL. If there are multiple backends to support, there are specific
> flags which affect the choice but USE=ssl means any SSL is suitable.
> 

Already explained multiple times on this mailing list, and not only for
ssl. Imho this should be part of some QA policy or documentation about
writing ebuilds or whatever and not just for ssl.

In any case, I wrote this down for the Gnome team at Gentoo wiki [1].


[1] http://wiki.gentoo.org/wiki/Gnome_Team_Policies#ssl

-- 
Gilles Dartiguelongue 
Gentoo




Re: [gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-05-30 Thread Ralph Sennhauser
On Tue, 28 May 2013 17:15:40 -0500
William Hubbs  wrote:

> On Tue, May 28, 2013 at 09:07:37PM +0200, Michał Górny wrote:
> > For the others, how large is the benefit of having them switchable?
> > At least some of them look like something that wouldn't hurt people
> > if it was always-built.
> 
> The dev manual states that use flags are to control optional
> dependencies and _settings_ which a user may reasonably want to select
> [1].
 
William, each time this comes up you overred the _reasonably_.
Controlling dependencies is always reasonable but beyond that it's case
by case. Just because you can is never a valid reason. Often there are
options you clearly only want to toggle if you are a developer or
options meant for porting to alternative operating systems which lack
some bells and whistles and the like. Another example is configuring a
library for bundling with an app. The world is bigger than linux
distros.

> Since the developer gives us the ability to control this with
> configure switches, I feel pretty strongly that we should give the
> user that control.

Useless options within the given context are an usability issue and
those who want to toggle stuff for it's own sake still have EXTRA_ECONF.

Ralph

> 
> William
> 
> [1] http://devmanual.gentoo.org/general-concepts/use-flags/index.html



signature.asc
Description: PGP signature


Re: [gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-05-28 Thread William Hubbs
On Tue, May 28, 2013 at 09:07:37PM +0200, Michał Górny wrote:
> For the others, how large is the benefit of having them switchable?
> At least some of them look like something that wouldn't hurt people if
> it was always-built.

The dev manual states that use flags are to control optional
dependencies and _settings_ which a user may reasonably want to select
[1].

Since the developer gives us the ability to control this with configure
switches, I feel pretty strongly that we should give the user that
control.

William

[1] http://devmanual.gentoo.org/general-concepts/use-flags/index.html


signature.asc
Description: Digital signature


Re: [gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-05-28 Thread Michał Górny
On Tue, 28 May 2013 15:22:04 -0400
"Anthony G. Basile"  wrote:

> I thought about ssl but I'm still not sure if USE=ssl means just openssl 
> or any ssl.  Eg, with curl, which has a choice of one of six backend ssl 
> providers, I changed USE=ssl to mean that one and only one of the six 
> must be on.  Previously though, USE=ssl in curl meant only openssl which 
> was confusing because you could also have USE=nss or gnutls etc provide 
> your ssl.  monkey also bounced around its ssl backend from liana_ssl to 
> polarssl which is what made me think of curl.  What if in the future 
> there's yet another ssl backend? Although use.desc does say ... "ssl - 
> Adds support for Secure Socket Layer connections".  Any advice here?

Any SSL. If there are multiple backends to support, there are specific
flags which affect the choice but USE=ssl means any SSL is suitable.

> monkeyd is intended for embedded systems which is why it has switchable 
> plugins.  You can even choose whether or not to install the shared lib 
> and include files to really slim it down.

I can understand using USE flags to trim down plugins (assuming they're
large). But shared-lib is an overkill. If people want this degree of
scalability, it's either INSTALL_MASK or USE=minimal.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-05-28 Thread Anthony G. Basile

On 05/28/2013 03:07 PM, Michał Górny wrote:

On Tue, 28 May 2013 14:57:03 -0400
"Anthony G. Basile"  wrote:


On 05/28/2013 11:35 AM, Michał Górny wrote:

On Mon, 27 May 2013 16:38:09 -0400
"Anthony G. Basile"  wrote:


I was about to add a use expand flag for monkeyd (a tiny web server) and
there is a notice in base/make.default to discuss use expand flags on
the list first.  There are about 9 plugins for monkeyd similar to apache
which can be turned on/off by a configure switch. It makes sense to
follow the same logic as apache here.  There are no dependencies on
monkeyd and so no use-deps.  Seems very safe. Any objections?

Could you elaborate a bit more on the flags? Please list them, shortly
explain and tell us whether you expect the number of plugins to expand
and how fast.


Sorry I already committed this with Chainsaw's ack.  Anyhow, they are:

auth - Provide HTTP Basic Authentication
cheetah - Provide a shell-like command line interface
#cgi - Provide the traditional CGI interface
dirlisting - Show an HTML listing of the content of a directory
#fastcgi - Provide FastCGI proxy support
liana - Build your own network layer through monkeyd
logger - Log requests and common errors
mandril - Restrict incoming connections based on the IP address or URI
request
polarssl - Provide HTTPS using PolarSSL v1.*.

Shouldn't this one be tied to USE=ssl?

For the others, how large is the benefit of having them switchable?
At least some of them look like something that wouldn't hurt people if
it was always-built.

I thought about ssl but I'm still not sure if USE=ssl means just openssl 
or any ssl.  Eg, with curl, which has a choice of one of six backend ssl 
providers, I changed USE=ssl to mean that one and only one of the six 
must be on.  Previously though, USE=ssl in curl meant only openssl which 
was confusing because you could also have USE=nss or gnutls etc provide 
your ssl.  monkey also bounced around its ssl backend from liana_ssl to 
polarssl which is what made me think of curl.  What if in the future 
there's yet another ssl backend? Although use.desc does say ... "ssl - 
Adds support for Secure Socket Layer connections".  Any advice here?


monkeyd is intended for embedded systems which is why it has switchable 
plugins.  You can even choose whether or not to install the shared lib 
and include files to really slim it down.


--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail: bluen...@gentoo.org
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA




Re: [gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-05-28 Thread Michał Górny
On Tue, 28 May 2013 14:57:03 -0400
"Anthony G. Basile"  wrote:

> On 05/28/2013 11:35 AM, Michał Górny wrote:
> > On Mon, 27 May 2013 16:38:09 -0400
> > "Anthony G. Basile"  wrote:
> >
> >> I was about to add a use expand flag for monkeyd (a tiny web server) and
> >> there is a notice in base/make.default to discuss use expand flags on
> >> the list first.  There are about 9 plugins for monkeyd similar to apache
> >> which can be turned on/off by a configure switch. It makes sense to
> >> follow the same logic as apache here.  There are no dependencies on
> >> monkeyd and so no use-deps.  Seems very safe. Any objections?
> > Could you elaborate a bit more on the flags? Please list them, shortly
> > explain and tell us whether you expect the number of plugins to expand
> > and how fast.
> >
> 
> Sorry I already committed this with Chainsaw's ack.  Anyhow, they are:
> 
> auth - Provide HTTP Basic Authentication
> cheetah - Provide a shell-like command line interface
> #cgi - Provide the traditional CGI interface
> dirlisting - Show an HTML listing of the content of a directory
> #fastcgi - Provide FastCGI proxy support
> liana - Build your own network layer through monkeyd
> logger - Log requests and common errors
> mandril - Restrict incoming connections based on the IP address or URI 
> request
> polarssl - Provide HTTPS using PolarSSL v1.*.

Shouldn't this one be tied to USE=ssl?

For the others, how large is the benefit of having them switchable?
At least some of them look like something that wouldn't hurt people if
it was always-built.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-05-28 Thread Anthony G. Basile

On 05/28/2013 11:35 AM, Michał Górny wrote:

On Mon, 27 May 2013 16:38:09 -0400
"Anthony G. Basile"  wrote:


I was about to add a use expand flag for monkeyd (a tiny web server) and
there is a notice in base/make.default to discuss use expand flags on
the list first.  There are about 9 plugins for monkeyd similar to apache
which can be turned on/off by a configure switch. It makes sense to
follow the same logic as apache here.  There are no dependencies on
monkeyd and so no use-deps.  Seems very safe. Any objections?

Could you elaborate a bit more on the flags? Please list them, shortly
explain and tell us whether you expect the number of plugins to expand
and how fast.



Sorry I already committed this with Chainsaw's ack.  Anyhow, they are:

auth - Provide HTTP Basic Authentication
cheetah - Provide a shell-like command line interface
#cgi - Provide the traditional CGI interface
dirlisting - Show an HTML listing of the content of a directory
#fastcgi - Provide FastCGI proxy support
liana - Build your own network layer through monkeyd
logger - Log requests and common errors
mandril - Restrict incoming connections based on the IP address or URI 
request

polarssl - Provide HTTPS using PolarSSL v1.*.

The ones that are commented out are global flags and so I did not make 
them part of the USE_EXPAND, they are still treated as plugins by 
monkeyd and I have them commented out in monkeyd_plugins.desc with an 
explanation.  Upstream has an entire plugin system which they use 
extensively and expect contributors to use plugins.  There have always 
been a couple of changes with each bump, eg between 1.1.1 and 1.2.0 
regarding ssl.  So I expect the same in the future.


--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail: bluen...@gentoo.org
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA




Re: [gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-05-28 Thread Michał Górny
On Mon, 27 May 2013 16:38:09 -0400
"Anthony G. Basile"  wrote:

> I was about to add a use expand flag for monkeyd (a tiny web server) and 
> there is a notice in base/make.default to discuss use expand flags on 
> the list first.  There are about 9 plugins for monkeyd similar to apache 
> which can be turned on/off by a configure switch. It makes sense to 
> follow the same logic as apache here.  There are no dependencies on 
> monkeyd and so no use-deps.  Seems very safe. Any objections?

Could you elaborate a bit more on the flags? Please list them, shortly
explain and tell us whether you expect the number of plugins to expand
and how fast.

-- 
Best regards,
Michał Górny


signature.asc
Description: PGP signature


Re: [gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-05-28 Thread Anthony G. Basile

On 05/28/2013 02:01 AM, Tony "Chainsaw" Vroon wrote:

On Mon, 2013-05-27 at 16:38 -0400, Anthony G. Basile wrote:

There are about 9 plugins for monkeyd similar to apache
which can be turned on/off by a configure switch. It makes sense to
follow the same logic as apache here.

Indeed it does. Particularly if it avoids a non-obvious USE-flag that
requires an explanation in metadata.xml, like the problem I had with
VOICEMAIL_STORAGE in net-misc/asterisk.
It took me 3 days to get a reply to that, so I'm replying even though
I'm agreeing with you. Then again, perhaps I just want to see something
else on this list then bickering...

Regards,
Tony V.



Thanks.  I would have taken silence as consent after one day :)

--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail: bluen...@gentoo.org
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA




Re: [gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-05-27 Thread René Neumann
Am 27.05.2013 22:38, schrieb Anthony G. Basile:
> Hi everyone,
> 
> I was about to add a use expand flag for monkeyd (a tiny web server) and
> there is a notice in base/make.default to discuss use expand flags on
> the list first.  There are about 9 plugins for monkeyd similar to apache
> which can be turned on/off by a configure switch. It makes sense to
> follow the same logic as apache here.  There are no dependencies on
> monkeyd and so no use-deps.  Seems very safe. Any objections?
> 
> --Tony
> 

Some time ago, Zac proposed a general PLUGIN (or PLUGINS) use-expand,
which could be used for packages with a small amount of plugins to avoid
having a new USE_EXPAND for each and every package. It also has the
advantage, that the resulting useflag 'plugins_foobar' is sane enough
(opposed to 'monkeyd_plugins_foobar'). With this, it serves as a quite
nice compromise for the fraction of USE_EXPAND-dislikers (like me).

Unfortunately this did not get any real discussion. So could this
package be an option to start this? Or do you insist on
monkeyd_{plugins,modules,...}_ ?

Thanks,
René



Re: [gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-05-27 Thread Tony "Chainsaw" Vroon
On Mon, 2013-05-27 at 16:38 -0400, Anthony G. Basile wrote:
> There are about 9 plugins for monkeyd similar to apache 
> which can be turned on/off by a configure switch. It makes sense to 
> follow the same logic as apache here.

Indeed it does. Particularly if it avoids a non-obvious USE-flag that
requires an explanation in metadata.xml, like the problem I had with
VOICEMAIL_STORAGE in net-misc/asterisk.
It took me 3 days to get a reply to that, so I'm replying even though
I'm agreeing with you. Then again, perhaps I just want to see something
else on this list then bickering...

Regards,
Tony V.




[gentoo-dev] New USE_EXPAND flag for www-servers/monkeyd

2013-05-27 Thread Anthony G. Basile

Hi everyone,

I was about to add a use expand flag for monkeyd (a tiny web server) and 
there is a notice in base/make.default to discuss use expand flags on 
the list first.  There are about 9 plugins for monkeyd similar to apache 
which can be turned on/off by a configure switch. It makes sense to 
follow the same logic as apache here.  There are no dependencies on 
monkeyd and so no use-deps.  Seems very safe. Any objections?


--Tony

--
Anthony G. Basile, Ph.D.
Gentoo Linux Developer [Hardened]
E-Mail: bluen...@gentoo.org
GnuPG FP  : 1FED FAD9 D82C 52A5 3BAB  DC79 9384 FA6E F52D 4BBA
GnuPG ID  : F52D4BBA