RE: [Thread closed] (was postfix non-standard installation location quirks)
> Trolling will not make you friends here. I am not here to make friends. I am here to ask a question. And I am asking because the observed and expected behaviour differ. This should be an indicator that something needs to change. Either the documentation, or the behaviour of postfix (or the installation thereof). Postfix is the first C program that has this sort of unexpected behaviour. The reference to the middle ages was to indicate that in the year 2011, there should not be a necessity to manually edit config files due to a highly likely misinterpretation of a variable. - Winston
[Thread closed] (was postfix non-standard installation location quirks)
On Tue, Jun 14, 2011 at 12:13:34PM +1100, Winston Smith wrote: > Are these the Programming Middle Ages??? Trolling will not make you friends here. Configuring Postfix to live in a non-default location is done at compile-time not install-time. At install-time one gets to either install Postfix locally, or install an image of Postfix for packaging. This may not be the interface you expected, but it makes sense. Goodbye. -- Viktor.
RE: postfix non-standard installation location quirks
> > Suggestion: Leave the scripts as they are, just state in the > > documentation that main.cf will not pick up install_root as prefix, > > rendering it useless. > > Where in the documentation does it say that install_root is in any way > recorded in main.cf? It is reasonable to expect this. Otherwise, what effect does it have on the installation? When I say ./configure --prefix=/usr/local/, I also expect that not only all files get installed under /usr/local/, but configs point to files under /usr/local/ , not under / directly. Hence my hint to move to autoconf. This is true for openldap or lighttpd, for instance. Why not for postfix? I am still not convinced that the behaviour of postfix is right here. Spool directory got created as /usr/local/var/spool/postfix/ , but main.cf points to /var/spool/postfix/ . This is a clear mismatch! Nevermind, I will *BY HAND* change my main.cf now, and I will alter postfix *FOR MYSELF* so that main.cf points to right files in the future... *GAAHHH* Are these the Programming Middle Ages??? - Winston
Re: postfix non-standard installation location quirks
On Tue, Jun 14, 2011 at 11:22:22AM +1100, Winston Smith wrote: > The fact that I need to peek into a script first in order to understand > the underlying mechanisms lets me believe that the documentation is > confusing enough to let anyone believe that install_root behaves like > a PREFIX in autoconf-generated Makefiles. Regardless, the primary Postfix configuration file needs to be found somewhere by the software. A non-default location cannot be specified in a file found at the non-default location. Basic catch-22. > Still does not explain why make install creates /usr/local/var/spool/postfix/ > although main.cf points to /var/spool/postfix/ . If main.cf does not pick > up install_root, what's the purpose of it??? Construction of retargeted images from which to build a binary package, rather than perform a local install. > Does this sound right to anyone? Shouldn't main.cf conform to what > make install is doing? It does. It would be best to let this thread rest for now. Over and out. -- Viktor.
Re: postfix non-standard installation location quirks
On Tue, 2011-06-14 at 11:22:22 +1100, Winston Smith wrote: [ rant snipped ] > Suggestion: Leave the scripts as they are, just state in the > documentation that main.cf will not pick up install_root as prefix, > rendering it useless. Where in the documentation does it say that install_root is in any way recorded in main.cf? -- Sahil Tandon
RE: postfix non-standard installation location quirks
> Please see the postfix-install(1) script, The fact that I need to peek into a script first in order to understand the underlying mechanisms lets me believe that the documentation is confusing enough to let anyone believe that install_root behaves like a PREFIX in autoconf-generated Makefiles. > To install certain Postfix files under > '/usr/local', pass that prefix to the installation parameter. For more > information, carefully review the install script. Still does not explain why make install creates /usr/local/var/spool/postfix/ although main.cf points to /var/spool/postfix/ . If main.cf does not pick up install_root, what's the purpose of it??? Does this sound right to anyone? Shouldn't main.cf conform to what make install is doing? One will understand that I'm quite indignant about this because I only realised this mismatch after deciding to have a quick look through main.cf before kicking postfix of as a SysV init script. What I found there was not in line with my expectations from what I understood from the questions that make install is asking. > not moving to autoconf A "make makefiles" does not sound right to me. One has to use make to bootstrap make. Highly error-prone... Suggestion: Leave the scripts as they are, just state in the documentation that main.cf will not pick up install_root as prefix, rendering it useless. - Winston
Re: postfix non-standard installation location quirks
Winston Smith: > > Hi all, > > Trying to install postfix in a non-standard location (specifically /usr/local/ > instead of /), I ran into two quirks, the second one more severe than the > first one: Please see the INSTALL document (or INSTALL.html) Wietse
Re: postfix non-standard installation location quirks
On Mon, 2011-06-13 at 01:46:11 +1100, Winston Smith wrote: > Trying to install postfix in a non-standard location (specifically /usr/local/ > instead of /), I ran into two quirks, the second one more severe than the > first one: > > Firstly, the naming of the config variable names the user is asked when > saying "make install" is highly confusing: First, it is asking for the > install_root, and then it is asking for "destination directories and paths", > providing something like /etc/postfix as default, which suggests that they are > overriding the setting of install_root. When accepting the default or typing > something else, it is later interpreted as relative to install_root EVEN IF it > starts with a / . This is confusing. Maybe the description should be changed > into "Please enter XYZ *relative* to install_root", or the provided values > should be interpreted as absolute paths if prepended with / and as relative > paths (relative to install_root) if not. > > Secondly, the non-standard location is not reflected in main.cf . > E.g. queue_directory still points to /var/spool/postfix/ . This is the value > I typed in, and it was correctly (?) interpreted to be relative to > /usr/local/, so make install created /usr/local/var/spool/postfix/ . Why is > main.cf still pointing to /var/spool/postfix/ ? Is this the wrong target, or > is the prefix /usr/local/ hardcoded in postfix somewhere after make install? Please see the postfix-install(1) script, specifically the section titled INSTALLATION PARAMETER DESCRIPTION. There, you are cautioned to specify install_root ONLY when creating preābuilt packages for distribution to other systems, and that the parameter setting is not recorded in main.cf. To install certain Postfix files under '/usr/local', pass that prefix to the installation parameter. For more information, carefully review the install script. > After all, moving to autoconf would be a good idea because the generated > Makefiles can handle non-standard installation locations very well, and it > has become some sort of standard for C projects. There are no plans for moving to the beast that is autoconf; that, IMHO, is a good thing. -- Sahil Tandon
postfix non-standard installation location quirks
Hi all, Trying to install postfix in a non-standard location (specifically /usr/local/ instead of /), I ran into two quirks, the second one more severe than the first one: Firstly, the naming of the config variable names the user is asked when saying "make install" is highly confusing: First, it is asking for the install_root, and then it is asking for "destination directories and paths", providing something like /etc/postfix as default, which suggests that they are overriding the setting of install_root. When accepting the default or typing something else, it is later interpreted as relative to install_root EVEN IF it starts with a / . This is confusing. Maybe the description should be changed into "Please enter XYZ *relative* to install_root", or the provided values should be interpreted as absolute paths if prepended with / and as relative paths (relative to install_root) if not. Secondly, the non-standard location is not reflected in main.cf . E.g. queue_directory still points to /var/spool/postfix/ . This is the value I typed in, and it was correctly (?) interpreted to be relative to /usr/local/, so make install created /usr/local/var/spool/postfix/ . Why is main.cf still pointing to /var/spool/postfix/ ? Is this the wrong target, or is the prefix /usr/local/ hardcoded in postfix somewhere after make install? After all, moving to autoconf would be a good idea because the generated Makefiles can handle non-standard installation locations very well, and it has become some sort of standard for C projects. I am using version 2.7.2 . Let me "have it" if this was fixed in the meantime. (Please, no questions as to why I want postfix to live in /usr/local/ instead of / .) - Winston