docs/master
diff ch03.roff @ 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 | f80ced4e749b |
children | cefaa856d431 |
line diff
1.1 --- a/ch03.roff Sun Jun 03 17:32:49 2012 +0200 1.2 +++ b/ch03.roff Sun Jun 03 22:13:53 2012 +0200 1.3 @@ -353,7 +353,7 @@ 1.4 in favor of using 1.5 .Pn mhshow 1.6 exclusively. 1.7 -.Ci 4c1efdd 1.8 +.Ci 4c1efddfd499300c7e74263e57d8aa137e84c853 1.9 This decision follows the idea of orthogonal design. 1.10 .P 1.11 To allow this replacement, 1.12 @@ -383,6 +383,91 @@ 1.13 1.14 .H2 "Removal of Configure Options 1.15 .P 1.16 +Choice is a double-edged sword. 1.17 +It allows customization and thus better suiting solutions, 1.18 +but that comes with costs. 1.19 +First, there is the cost of code complexity to have choice. 1.20 +Second, there is the cost of less tested setups, because there are 1.21 +more possible setups and especially corner-cases. 1.22 +Third, there is the cost of choice itself. 1.23 +The code complexity affects the developers. 1.24 +Less tested code affects both, users and developers. 1.25 +The problem of choice affects the users, for once simply by having to 1.26 +choose but also by complexer interfaces that require more documentation. 1.27 +Whenever options add little advantages, they should be considered for 1.28 +removal. 1.29 +.P 1.30 +I have reduced the number of project-specific configure options from 1.31 +fifteen to three. 1.32 +.BU 1.33 +With the removal of the mail transfer facilities five option vanished: 1.34 +.IP \f(CW--with-mts=[smtp|sendmail]\fP 1.35 +Specified the default mail transport service, which now is sendmail always. 1.36 +.IP \f(CW--with-smtpservers=[server1...]\fP 1.37 +Specified the default SMTP servers for the smtp mail transfer service. 1.38 +.Ci 128545e06224233b7e91fc4c83f8830252fe16c9 1.39 +.IP \f(CW--with-cyrus-sasl\fP 1.40 +Enabled SASL support for mail transfer. 1.41 +.IP \f(CW--with-tls\fP 1.42 +Enabled TLS support for mail transfer. 1.43 +.IP \f(CW--enable-pop\fP 1.44 +Enabled the message retrieval facility. 1.45 +.BU 1.46 +--with-ndbm=ARG use -lARG to link with ndbm 1.47 +--with-ndbmheader=ARG #include <ARG> to use ndbm 1.48 + 1.49 +.BU 1.50 +The default backup prefix, i.e. the string that was prepended to message 1.51 +filenames to tag them as deleted, had been the comma `\f(CW,\fP'. 1.52 +There was a configure option to change the default to the hash symbol 1.53 +`\f(CW#\fP': 1.54 +.CW --with-hash-backup . 1.55 +The implication of the hash symbol is that it introduces a comment 1.56 +in the Unix shell. 1.57 +Thus, the command line 1.58 +.Cl "rm #13 #15 1.59 +calls 1.60 +.Pn rm 1.61 +without arguments because the first hash symbol starts the comment 1.62 +that reaches until the end of the line. 1.63 +To delete the backup files, 1.64 +.Cl "rm ./#13 ./#15" 1.65 +needs to be used. 1.66 +.\" XXX check historical background 1.67 +Besides this effect, the choice was personal preference. 1.68 +I removed the configure option but added the profile entry 1.69 +.Pe backup-prefix , 1.70 +which allows to specify an arbitrary string as backup prefix. 1.71 +.Ci 6c40d481d661d532dd527eaf34cebb6d3f8ed086 1.72 +This did not remove the choice but moved it to a location where 1.73 +it suited better. 1.74 +Profile entries are the common method to change mmh's behavior. 1.75 +The name of the 1.76 +.Fn .mh-sequences , 1.77 +for instance, is specified there, too. 1.78 +Moving the specification of the backup prefix there, appears to be right. 1.79 +Eventually, the new trash folder obsoleted the concept of the 1.80 +backup prefix completely. 1.81 +(Well, there still are corner-cases to remove until the backup 1.82 +prefix can be layed to rest, eventually.) 1.83 +.\" FIXME: Do this work in the code! 1.84 + 1.85 + 1.86 +.P 1.87 +--with-editor=EDITOR specify the default editor 1.88 +--with-pager=PAGER specify the default pager 1.89 +.Ci 5d43a99db70c12a673028c7758c20cbe3e13ef5f 1.90 + 1.91 +.P 1.92 +--disable-mhe disable mhe support 1.93 +.Ci a7ce7b4a580d77b6c2c4d980812beb589aa4c643 1.94 + 1.95 +.P 1.96 +--enable-masquerade='draft_from mmailid username_extension' enable up to 3 types of address masquerading 1.97 +--with-locking=[dot|fcntl|flock|lockf] specify the file locking method 1.98 +--disable-locale turn off locale features 1.99 + 1.100 + 1.101 1.102 1.103 .H2 "Removal of switches