[Dovecot] sysconfdir depreacted
The purpose of any build scripts --sysconfdir is to tell the configuration to build in a path for its binaries configuration file(s).
Dovecot 2.1.3, seems to insist that that directory is now /etc/dovecot/ ignoring --sysconfdir=/etc as in 1.2.x and previous majors before that, is this a bug? if not, then I see no point of sysconfdir any more and it should be removed, if dovecot deliberately ignores what it is told to use.
On 21.3.2012, at 15.26, Noel Butler wrote:
The purpose of any build scripts --sysconfdir is to tell the configuration to build in a path for its binaries configuration file(s).
Dovecot 2.1.3, seems to insist that that directory is now /etc/dovecot/ ignoring --sysconfdir=/etc as in 1.2.x and previous majors before that, is this a bug? if not, then I see no point of sysconfdir any more and it should be removed, if dovecot deliberately ignores what it is told to use.
--sysconfdir=/etc uses /etc/dovecot/
--sysconfdir=/opt/dovecot/etc uses /opt/dovecot/etc/dovecot/
There is now always the dovecot/ suffix, but the the /etc part is still configurable.
On Wed, 2012-03-21 at 15:46 +0200, Timo Sirainen wrote:
On 21.3.2012, at 15.26, Noel Butler wrote:
The purpose of any build scripts --sysconfdir is to tell the configuration to build in a path for its binaries configuration file(s).
Dovecot 2.1.3, seems to insist that that directory is now /etc/dovecot/ ignoring --sysconfdir=/etc as in 1.2.x and previous majors before that, is this a bug? if not, then I see no point of sysconfdir any more and it should be removed, if dovecot deliberately ignores what it is told to use.
--sysconfdir=/etc uses /etc/dovecot/
--sysconfdir=/opt/dovecot/etc uses /opt/dovecot/etc/dovecot/
There is now always the dovecot/ suffix, but the the /etc part is still configurable.
perhaps it should be renamed then, given it violates the known normal for SYSCONF dir, you've just created another form of --datadir
from gnu.org:
"sysconfdir"
The directory for installing read-only data files that pertain
to a single machine–that is to say, files for configuring a
host. Mailer and network configuration files, ‘/etc/passwd’, and
so forth belong here. All the files in this directory should be
ordinary ASCII text files. This directory should normally be
‘/usr/local/etc’, but write it as ‘$(prefix)/etc’. (If you are
using Autoconf, write it as ‘@sysconfdir@’.)
"datadir"
The directory for installing idiosyncratic read-only
architecture-independent data files for this program. This is
usually the same place as ‘datarootdir’, but we use the two
separate variables so that you can move these program-specific
files without altering the location for Info files, man pages,
etc.
:2012-03-22T11:55:Noel Butler:
perhaps it should be renamed then, given it violates the known normal for SYSCONF dir, you've just created another form of --datadir
Not really. The way I see it works as expected. The sysconf dir is the root of the configuration dir. Then if the app so chooses uses it's own directory structure under that. Considering that by default dovecot uses dovecot/dovecot.conf and dovecot/conf.d I don't see anything wrong here.
-- Andraž 'ruskie' Levstik Source Mage GNU/Linux Games/Xorg grimoire guru Re-Alpine Coordinator http://sourceforge.net/projects/re-alpine/ Geek/Hacker/Tinker
Quis custodiet ipsos custodes?
On Thu, 2012-03-22 at 07:28 +0100, Andraž 'ruskie' Levstik wrote:
:2012-03-22T11:55:Noel Butler:
perhaps it should be renamed then, given it violates the known normal for SYSCONF dir, you've just created another form of --datadir
Not really. The way I see it works as expected. The sysconf dir is the
Then you and I and a few other devs involved in other very well known bits of software that everyone likely uses, will have to agree to disagree
"sysconfdir"
The directory for installing read-only data files that pertain
to a single machine–that is to say, files for configuring a
host. Mailer and network configuration files, ‘/etc/passwd’, and
so forth belong here. All the files in this directory should be
ordinary ASCII text files. This directory should normally be
‘/usr/local/etc’, but write it as ‘$(prefix)/etc’. (If you are
using Autoconf, write it as ‘@sysconfdir@’.)
root of the configuration dir. Then if the app so chooses uses it's own directory structure under that. Considering that by default dovecot uses dovecot/dovecot.conf and dovecot/conf.d I don't see anything wrong here.
By default as of only 2.something, not in 0.x not in 1.0.x not in 1.1.x and not in 1.2.x
I've said all I'm going to say on the mater, I got three emails offlist from others here agreeing with me, shame they didn't do it on-list, but I respect their right to remain silent so as not to endure the wrath of Timo and certain other cretins well known for having nothing else better to do.
On 22.3.2012, at 10.30, Noel Butler wrote:
On Thu, 2012-03-22 at 07:28 +0100, Andraž 'ruskie' Levstik wrote:
:2012-03-22T11:55:Noel Butler:
perhaps it should be renamed then, given it violates the known normal for SYSCONF dir, you've just created another form of --datadir
Not really. The way I see it works as expected. The sysconf dir is the
Then you and I and a few other devs involved in other very well known bits of software that everyone likely uses, will have to agree to disagree
A ton of software installs into /etc/<package name>/ directory. Most Linux distributions installed Dovecot v1.x that way as well. And of course everyone expects configuration to be under /etc. The default of sysconfdir is PREFIX/etc/. Dovecot v2.0 really shouldn't install its stuff into PREFIX/etc/ but into PREFIX/etc/dovecot/. So the only way I can think of how to change this is to add another option to optionally remove the dovecot/ suffix from the directory, but is this really worth the trouble?
Timo wrote:
So the only way I can think of how to change this is to add another option to optionally remove the dovecot/ suffix from the directory, but is this really worth the trouble?
I would appreciate such option too. For large dedicated installations other schemes than /etc/dovecot are common.
See http://dovecot.org/list/dovecot/2009-January/036131.html
Heiko
Heiko Schlichting Freie Universität Berlin heiko.schlichting@fu-berlin.de Zentraleinrichtung für Datenverarbeitung Telefon +49 30 838-54327 Fabeckstraße 32 Telefax +49 30 838454327 14195 Berlin
On 23.3.2012, at 12.44, Heiko Schlichting wrote:
Timo wrote:
So the only way I can think of how to change this is to add another option to optionally remove the dovecot/ suffix from the directory, but is this really worth the trouble?
I would appreciate such option too. For large dedicated installations other schemes than /etc/dovecot are common.
See http://dovecot.org/list/dovecot/2009-January/036131.html
Yes, I was also thinking about that, but it's about removing the dovecot/ suffix from other directories as well. That might be something worth doing (--without-package-suffix or something?).
On 23/03/2012 12:53, Timo Sirainen wrote:
On 23.3.2012, at 12.44, Heiko Schlichting wrote:
Timo wrote:
So the only way I can think of how to change this is to add another option to optionally remove the dovecot/ suffix from the directory, but is this really worth the trouble?
I would appreciate such option too. For large dedicated installations other schemes than /etc/dovecot are common.
See http://dovecot.org/list/dovecot/2009-January/036131.html
Yes, I was also thinking about that, but it's about removing the dovecot/ suffix from other directories as well. That might be something worth doing (--without-package-suffix or something?).
well squid is using another way such as the directory you specify and without the /dovecot (squid) suffix. it's not that important. if you do change the config directory you know where you are putting it. i,m using the /opt/(service name) to install most of my self complied software so idont really care about it.
but if the sysconfig directory as a directive it should be the default.
Regards, Eliezer
Eliezer Croitoru https://www1.ngtech.co.il IT consulting for Nonprofit organizations eliezer <at> ngtech.co.il
:2012-03-23T12:53:Timo Sirainen:
Yes, I was also thinking about that, but it's about removing the dovecot/ suffix from other directories as well. That might be something worth doing (--without-package-suffix or something?).
I would suggest to have a --layout=gnu|opt
That would either do what it currently does(gnu) and opt to install everything into a single dir i.e.: /opt/dovecot/
With subdirs under there.
-- Andraž 'ruskie' Levstik Source Mage GNU/Linux Games/Xorg grimoire guru Re-Alpine Coordinator http://sourceforge.net/projects/re-alpine/ Geek/Hacker/Tinker
Be advised: causing a disturbance may result in fines, detainment, bodily harm, or death. Enjoy your stay.
On 23.3.2012, at 19.22, Andraž 'ruskie' Levstik wrote:
:2012-03-23T12:53:Timo Sirainen:
Yes, I was also thinking about that, but it's about removing the dovecot/ suffix from other directories as well. That might be something worth doing (--without-package-suffix or something?).
I would suggest to have a --layout=gnu|opt
That would either do what it currently does(gnu) and opt to install everything into a single dir i.e.: /opt/dovecot/
With subdirs under there.
Yes, --with-layout=gnu|opt could be useful. Anyone want to volunteer to implement it? :)
On Fri, 2012-03-23 at 12:53 +0200, Timo Sirainen wrote:
On 23.3.2012, at 12.44, Heiko Schlichting wrote:
Timo wrote:
So the only way I can think of how to change this is to add another option to optionally remove the dovecot/ suffix from the directory, but is this really worth the trouble?
I would appreciate such option too. For large dedicated installations other schemes than /etc/dovecot are common.
See http://dovecot.org/list/dovecot/2009-January/036131.html
Yes, I was also thinking about that, but it's about removing the dovecot/ suffix from other directories as well. That might be something worth doing (--without-package-suffix or something?).
it is very easy to have a search path for config file, it shouldn't take much effort at all to change that to look for the long time default of /etc/dovecot.conf first, then if not there, look in /etc/dovecot/
No-one is suggesting putting all the individual conf files in /etc, only for existence of dovecot.conf itself.
There are plenty of linux and unix systems that have been using /etc for as long as I can recall (even early redhat did), its only certain distros that build as /etc/foo/ the ones that use rpms or debs are obviously not running anything special (we all know no build config process will suite all operations) there are a large number i'm sure who use source (besides, with debian and redhat, who knows WHAT butchering they've done to upstreams code)...
Which brings up another question, may I ask why some of the options to disable some passwd types were removed from build process? Systems that dont use system password files (amongst other formats) dont need to build them, that's not a criticism, 'just sayin'.
On 24.3.2012, at 3.19, Noel Butler wrote:
Yes, I was also thinking about that, but it's about removing the dovecot/ suffix from other directories as well. That might be something worth doing (--without-package-suffix or something?). it is very easy to have a search path for config file, it shouldn't take much effort at all to change that to look for the long time default of /etc/dovecot.conf first, then if not there, look in /etc/dovecot/
Technically it's easy, but the result will be that more people will be confused. I'll get an increase of emails about "I changed dovecot.conf, but nothing happens?!?" My goal is to reduce the number of emails I get, not increase them.
No-one is suggesting putting all the individual conf files in /etc, only for existence of dovecot.conf itself.
So you don't want to remove dovecot/ suffix from all the other dirs (lib, libexec, etc.) only from etc? The only way I can think of how to do that is to add a special option just for it, and more options is generally bad:
Which brings up another question, may I ask why some of the options to disable some passwd types were removed from build process? Systems that dont use system password files (amongst other formats) dont need to build them, that's not a criticism, 'just sayin'.
There's also no harm in having that code included. They add no extra library dependencies. The only thing they do is to use a few kilobytes of more disk space, and possibly a few kilobytes of more memory (even that isn't certain).
All options just increase the number of combinations that can cause things to go wrong. If I add some code to be compiled optionally, it just adds more combinations that should be tested together to see if the code still even compiles. Previously I've broken SSL code many times by not testing if after changes Dovecot builds without OpenSSL.
So the less options there are, the more robust Dovecot is, and the less work I have to do to keep it working when adding new features. So I add an option only when there is a good use case for it and I expect more than one person to use it.
On Sat, 2012-03-24 at 03:50 +0200, Timo Sirainen wrote:
On 24.3.2012, at 3.19, Noel Butler wrote:
Yes, I was also thinking about that, but it's about removing the dovecot/ suffix from other directories as well. That might be something worth doing (--without-package-suffix or something?). it is very easy to have a search path for config file, it shouldn't take much effort at all to change that to look for the long time default of /etc/dovecot.conf first, then if not there, look in /etc/dovecot/
Technically it's easy, but the result will be that more people will be confused. I'll get an increase of emails about "I changed dovecot.conf, but nothing happens?!?" My goal is to reduce the number of emails I get, not increase them.
No-one is suggesting putting all the individual conf files in /etc, only for existence of dovecot.conf itself.
So you don't want to remove dovecot/ suffix from all the other dirs (lib, libexec, etc.) only from etc? The only way I can think of how to do that is to add a special option just for it, and more options is generally bad:
Not at all, I'm suggesting that in search for dovecot.conf file only, the search path be preferenced by @sysconfdir@/dovecot.conf such as --sysconfdir=/etc it looks for /etc/dovecot.conf, if not found, the config file location search continues on to look for /etc/dovecot/dovecot.conf
I might be wrong, there might only be a handful of people annoyed by this change, but as more and more using custom builds test out moving from 1.2 to 2.x, well, more and more might be caught out, wouldn't it be better to, as you said previously, " avoid emails". As I'm sure you got better things to do than read any tripe I post :)
Anyway I have made my suggestion, nothing more I think I can say on the matter that I haven't said already, so I'll leave it there, if it's implemented, great, if not, well, it's not...
Cheers
On Sat, 2012-03-24 at 03:50 +0200, Timo Sirainen wrote:
On 24.3.2012, at 3.19, Noel Butler wrote:
Yes, I was also thinking about that, but it's about removing the dovecot/ suffix from other directories as well. That might be something worth doing (--without-package-suffix or something?). it is very easy to have a search path for config file, it shouldn't take much effort at all to change that to look for the long time default of /etc/dovecot.conf first, then if not there, look in /etc/dovecot/
Technically it's easy, but the result will be that more people will be confused. I'll get an increase of emails about "I changed dovecot.conf, but nothing happens?!?" My goal is to reduce the number of emails I get, not increase them.
grrr meant to comment on this too, umm since a default custom build doesnt install any config files, this would only become a confusion if one were using say an RPM package, and then decided to custom install, but IIRC, RPM renames the old config anyway, least it used to in some packages, dont know about .deb stuff though, it lacks a lot of intelligence so probably not (/me starts flamewars)
Now I've said my bit..
At Fri, 23 Mar 2012 12:53:16 +0200, Timo Sirainen wrote:
So the only way I can think of how to change this is to add another option to optionally remove the dovecot/ suffix from the directory, but is this really worth the trouble?
I would appreciate such option too. For large dedicated installations other schemes than /etc/dovecot are common.
See http://dovecot.org/list/dovecot/2009-January/036131.html
Yes, I was also thinking about that, but it's about removing the dovecot/ suffix from other directories as well. That might be something worth doing (--without-package-suffix or something?).
OpenLDAP's (and smbldap-tools's) configure script has --with-subdir option. This option defaults to "/openldap". (/smbldap-tools)
$ grep subdir configure.in build/top.mk configure.in:dnl --with-subdir configure.in:ldap_subdir="/openldap" configure.in:AC_ARG_WITH(subdir, configure.in:[ --with-subdir=DIR change default subdirectory used for installs], configure.in: no) ldap_subdir="" configure.in: ldap_subdir="$withval" configure.in: ldap_subdir="/$withval" configure.in:AC_SUBST(ldap_subdir)dnl build/top.mk:ldap_subdir = @ldap_subdir@ build/top.mk:datadir = @datadir@$(ldap_subdir) build/top.mk:moduledir = @libexecdir@$(ldap_subdir) build/top.mk:sysconfdir = @sysconfdir@$(ldap_subdir)
-- -- Name: SATOH Fumiyasu (fumiyas @ osstech co jp) -- Business Home: http://www.OSSTech.co.jp/ -- Personal Home: https://github.com/fumiyas/
On Mar 23, 2012, at 10:51 AM, Timo Sirainen wrote:
:2012-03-22T11:55:Noel Butler:
perhaps it should be renamed then, given it violates the known normal for SYSCONF dir, you've just created another form of --datadir
Not really. The way I see it works as expected.
The directory for installing read-only data files that pertain to a single machine–that is to say, files for configuring a host. Mailer and network configuration files, ‘/etc/passwd’, and so forth belong here. All the files in this directory should be ordinary ASCII text files. This directory should normally be ‘/usr/local/etc’, but write it as ‘$(prefix)/etc’. (If you are using Autoconf, write it as ‘@sysconfdir@’.)
Well, I don't see that that prevents organizing the files in sysconfdir into a subdirectory.
ton of software installs into /etc/<package name>/ directory. [...] So the only way I can think of how to change this is to add another option to optionally remove the dovecot/ suffix from the directory, but is this really worth the trouble?
I really don't think so. What for? Nobody has shown a real-world problem with that subdirectory.
participants (7)
-
Andraž 'ruskie' Levstik
-
Eliezer Croitoru
-
Heiko Schlichting
-
Noel Butler
-
Rainer Frey
-
SATOH Fumiyasu
-
Timo Sirainen