changeset 72:bae9273b5802

Wrote about configure options (not finished yet).
author markus schnalke <meillo@marmaro.de>
date Sun, 03 Jun 2012 22:13:53 +0200
parents 75fbdd870ffe
children 4e1715537e2f
files ch03.roff
diffstat 1 files changed, 86 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/ch03.roff	Sun Jun 03 17:32:49 2012 +0200
+++ b/ch03.roff	Sun Jun 03 22:13:53 2012 +0200
@@ -353,7 +353,7 @@
 in favor of using
 .Pn mhshow
 exclusively.
-.Ci 4c1efdd
+.Ci 4c1efddfd499300c7e74263e57d8aa137e84c853
 This decision follows the idea of orthogonal design.
 .P
 To allow this replacement,
@@ -383,6 +383,91 @@
 
 .H2 "Removal of Configure Options
 .P
+Choice is a double-edged sword.
+It allows customization and thus better suiting solutions,
+but that comes with costs.
+First, there is the cost of code complexity to have choice.
+Second, there is the cost of less tested setups, because there are
+more possible setups and especially corner-cases.
+Third, there is the cost of choice itself.
+The code complexity affects the developers.
+Less tested code affects both, users and developers.
+The problem of choice affects the users, for once simply by having to
+choose but also by complexer interfaces that require more documentation.
+Whenever options add little advantages, they should be considered for
+removal.
+.P
+I have reduced the number of project-specific configure options from 
+fifteen to three.
+.BU
+With the removal of the mail transfer facilities five option vanished:
+.IP \f(CW--with-mts=[smtp|sendmail]\fP
+Specified the default mail transport service, which now is sendmail always.
+.IP \f(CW--with-smtpservers=[server1...]\fP
+Specified the default SMTP servers for the smtp mail transfer service.
+.Ci 128545e06224233b7e91fc4c83f8830252fe16c9
+.IP \f(CW--with-cyrus-sasl\fP
+Enabled SASL support for mail transfer.
+.IP \f(CW--with-tls\fP
+Enabled TLS support for mail transfer.
+.IP \f(CW--enable-pop\fP
+Enabled the message retrieval facility.
+.BU
+--with-ndbm=ARG         use -lARG to link with ndbm
+--with-ndbmheader=ARG   #include <ARG> to use ndbm
+
+.BU
+The default backup prefix, i.e. the string that was prepended to message
+filenames to tag them as deleted, had been the comma `\f(CW,\fP'.
+There was a configure option to change the default to the hash symbol
+`\f(CW#\fP':
+.CW --with-hash-backup .
+The implication of the hash symbol is that it introduces a comment
+in the Unix shell.
+Thus, the command line
+.Cl "rm #13 #15
+calls
+.Pn rm
+without arguments because the first hash symbol starts the comment
+that reaches until the end of the line.
+To delete the backup files,
+.Cl "rm ./#13 ./#15"
+needs to be used.
+.\" XXX check historical background
+Besides this effect, the choice was personal preference.
+I removed the configure option but added the profile entry
+.Pe backup-prefix ,
+which allows to specify an arbitrary string as backup prefix.
+.Ci 6c40d481d661d532dd527eaf34cebb6d3f8ed086
+This did not remove the choice but moved it to a location where
+it suited better.
+Profile entries are the common method to change mmh's behavior.
+The name of the
+.Fn .mh-sequences ,
+for instance, is specified there, too.
+Moving the specification of the backup prefix there, appears to be right.
+Eventually, the new trash folder obsoleted the concept of the
+backup prefix completely.
+(Well, there still are corner-cases to remove until the backup
+prefix can be layed to rest, eventually.)
+.\" FIXME: Do this work in the code!
+
+
+.P
+--with-editor=EDITOR    specify the default editor
+--with-pager=PAGER      specify the default pager
+.Ci 5d43a99db70c12a673028c7758c20cbe3e13ef5f
+
+.P
+--disable-mhe           disable mhe support
+.Ci a7ce7b4a580d77b6c2c4d980812beb589aa4c643
+
+.P
+--enable-masquerade='draft_from mmailid username_extension' enable up to 3 types of address masquerading
+--with-locking=[dot|fcntl|flock|lockf] specify the file locking method
+--disable-locale        turn off locale features
+
+
 
 
 .H2 "Removal of switches