[Kolab-devel] Autofoo Proposal
Jeroen van Meeuwen (Kolab Systems)
vanmeeuwen at kolabsys.com
Wed May 12 08:59:50 CEST 2010
Gunnar Wrobel wrote:
> > The configuration is difficult enough without an extra paragraph in the
> > configuration manual on changing a default setting ;-) Additionally,
> > one could
> > argue it's way more efficient to spend the time upstream once, at the
> > distributor once, then to have thousands of people run in circles checking
> > their default configuration files for error-by-default.
>
> No, of course that is not desired. Right now the default configuration
> works out of the box and this should indeed stay that way.
>
Actually, from where I'm sitting (Fedora realm), the default configuration
does not work out-of-the-box. Even though that's also dependent on a different
problem, one of the problems is the extent to which the dist_conf mechanism
let's me adapt the product to the contents of a buildroot, and how such ends
up on a system.
> > By saying "auto-detecting the server configuration", what I meant to say
is
> > detecting where, for example, php is located (it's used in, for example,
the
> > master.cf.template, but also the httpd.conf.template), or
> > cyrus.conf, and many
> > others.
>
> To that I agree. It would simply mean that maintaining the dist_conf
> file becomes much easier as the maintainer does not need to search for
> these settings manually. Using autoconf during build time for that
> seems perfectly valid.
>
> > For example, I would like to have an option that allows me to disable
> > kolab assuming the LDAP server is local (and thus pulling in the
requirement
> > by means of packaging). Red Hat Enterprise Linux customers and CentOS
users
> > don't think that's funny. Yet though, on a standalone Kolab server,
requiring
> > some ldap server makes perfect sense (think ClarkConnect). I would thus
like
> > to be able to toggle those options during build time.
> >
>
> That however is something different and here I don't see how autoconf
> would help. The packages will probably be build on some build server
> and whether LDAP is installed there or not does not seem to matter to
> me. Isn't the installation of the package the relevant step here?
>
It's all about generating the default configuration file shipped with the
package.
kolabsrv and kolabconf need to know things part of which is in
/etc/kolab/kolab.globals. Either way, whether generated statically or
configured dynamically, the defaults need to make sense.
Hence, for LDAP, I would like to have:
./configure --with-ldaprc=/etc/init.d/dirsrv (389-ds)
./configure --with-ldaprc=/etc/init.d/redhat-ds (redhat-ds)
./configure --with-ldaprc=/etc/init.d/slapd (openldap)
or, for SUSE:
./configure --with-ldaprc=/etc/rc.d/init.d/ldap
A default ./configure (no --with-ldaprc option) would just go through a list
and see what's in the buildroot (controlled by BuildRequires while preserving
the possibility to override). *Additionally*, --without-ldaprc becomes
available for those situations where the LDAP server is not local, and thus
kolabsrv/kolabconf do not 1) need to generate the template settings, 2)
check/restart any of the LDAP services, 3) may not be able to generate hashed
passwords, 4) ..., 5) ...
There's a number of settings and variables that need sane defaults, and then
there's some more (scripted) routines that are completely subject to the
specific platform (look at kolabsrv.in, but also kolab_sslcert.sh.in).
--
Jeroen van Meeuwen
Senior Engineer, Kolab Systems AG
e: vanmeeuwen at kolabsys.com
t: +316 42 801 403
w: http://www.kolabsys.com
pgp: 9342 BF08
More information about the devel
mailing list