Hello list! After about ten months of development i have merged into [master] the current state of affairs.
It introduces some **backward incompatibilities**! Packagers should be able to find a unified diff file for their respective package management attached to this message. This is a major feature release. Preview 1, 2016-09-16: IMAP gone, better don't ^C during macros. Misses major components of the final release. I didn't know where S-mailx will truly end up with, but only knew i wanted to overcome the technical shortcomings, have a better user experience (regarding the software) and that i wanted to have, e.g., NNTP support. During development of this release it became clear that the general usage will be changed, backward incompatibly, and move towards sh(1)ell style command line usage, that is to say, we will turn over and will start parsing regular shell tokens, instead of comma-separated lists, OR space-separated lists or whatever, and will expand _any_ value content sh(1)ell-compatibly, instead of not at all in general and only \t and \n in some others etc. wysh set a='${TMPDIR}\t/' b="${TMPDIR}\t/" c=$'\${TMPDIR}\t/' echo a=$a b=$b c=$c a=${TMPDIR}\t/ b=/tmp\t/ c=/tmp / .. set a='${TMPDIR}\t/' b="${TMPDIR}\t/" c=$'\${TMPDIR}\t/' echo a=$a b=$b c=$c a=${TMPDIR}\t/ b=${TMPDIR}\t/ c=$\${TMPDIR}\t/ (But don't do that). All this is documented in COMMANDS#?. Today only new commands (like `bind', `customhdr' etc.), but also attachment selection, `remove' and `write' use this, others, like `set', can optionally support it with a new command prefix: `wysh'. Remarks: However, this enlightenment came late, in Spring 2016. A number of internal code flows etc. have been developed without this knowledge, which is why the release will take some more time: i want to rewrite all that with the real destination in mind. The user interface of all new facilities etc. is however both, stable and upward-compatible. It is only about internal interfaces and code flow. Credits, in order of commit appearance: Antonio Radici, Aharon Robbins, Mike Frysinger, Predrag Punosevac, Michael Convey, Hariskar, Rudolf Sykora, Martin Neitzel, Gavin Troy, Salvatore Bonaccorso, Todd C. Miller, Sergey Matveev, Robert Elz, Mantas Mikulėnas, Respiranto, Jens Schleusener, Walter Alejandro Iglesias, Ralph Corderoy, Thomas Dickey, Afan, Justin Ellingwood, Ingo Schwarze, Viktor Szépe, Gaetan Bisson, Juan RP, William Yodlowsky, Hilko Bengen, Matthew Dillon, Colin Watson and Donald Mugnai. We welcome Antonio Radici, Mike Frysinger, Predrag Punosevac, Michael Convey, Rudolf Sykora, Todd C. Miller, Robert Elz, Jens Schleusener, Walter Alejandro Iglesias, Thomas Dickey, Afan, Justin Ellingwood, Viktor Szépe, Juan RP, Matthew Dillon, Colin Watson and Donald Mugnai in THANKS. Apologies: Sergey Matveev. Members of the Roff community which await progress. In the following numbers in [] reference a commit hash or a topic branch name. mdocmx(7) anchors are denoted by a number-sign #: typing "^A ANCHOR" while reading the man(1)ual in a capable less(1) will scroll to the manual's Point-Of-Interest, and pointing a web- browser to the "#ANCHOR" of the online manual will do so, too. Commits can be browsed by appending the commit hash to https://git.sdaoden.eu/cgit/s-nail.git/commit/?id= NOTES, ChangeLog (packager-affine) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ * This release brings backward incompatibilities, especially for packagers and interactive use cases! + Anything which was WANT_xy before is now OPT_xy, and compiled-in paths and values, like PREFIX or PAGER, have gained a VAL_ prefix (thus VAL_PREFIX and VAL_PAGER). This is _not_ true for non-persistent or environmental values, e.g., DESTDIR, CC, etc, and also not for the overwritable program variables during configuration, e.g., $awk. + SENDMAIL -> VAL_MTA, SENDMAIL_PROGNAME -> VAL_MTA_ARGV0, MAILSPOOL -> VAL_MAIL. + The make system now needs config..build..install or all..install or tangerine (config..build..test..install). + The `build' phase can be parallelized by setting the MAILJOBS environment variable, e.g., "make MAILJOBS='-j 4' build". (Gaetan Bisson) + Set the new OPT_CROSS_BUILD to avoid feature runtime tests, only compile- and link-availability will be tested. (Juan RP) + VERBOSE is implemented straight, but must be given at configuration time in order to become honoured. (William Yodlowsky) + ADDCFLAGS / ADDLDFLAGS -> EXTRA_CFLAGS / EXTRA_LDFLAGS + The LD_LIBRARY_PATH etc. building processes will skip any path which contains the string "fakeroot". (Hilko Bengen) + We honour a set SOURCE_DATE_EPOCH environment variable. [df4954c] (reproducible-builds.org; Colin Watson) + Packagers should have received diffs against v14.8.10 packaging files. + These are upward compatible changes. - To support RFC 1524 a.k.a. .mailcap files (see below) many "trigger"-characters have been added for *pipe-TYPE/SUBTYPE*#?, which may (rarely) affect existing values. [topic/mimepipe.2] - *NAIL_{HEAD,TAIL}* have been obsoleted in favour of *message-inject-head*#? and *message-inject-tail*#?. [7064ef2] - *NAIL_HIST{FILE,SIZE}* have been obsoleted in favour of *history-file*#? and *history-size*#?. [4fde608] - -H#? and -L#? have been decoupled: it used to be -e#? -L#? instead! [5296040] - Colour support has been changed backward in- and upward (from user interface side) compatibly, manual section "Coloured display"#? [topic/colour.2, topic/termcap.2, topic/wysh]: o New commands: `colour'#? and `uncolour'#?. You can define context-sensitive, terminal-capability-sensitive settings, e.g.: if terminal && $features @= +colour colour iso view-header ft=bold,fg=magenta,bg=cyan colour 256 view-header ft=bold,fg=208,bg=230 subject,from colour mono view-header ft=bold colour mono view-header ft=bold,ft=reverse subject,from endif o The variable *colour-pager*#? defines whether colour and font attribute sequences should be generated when viewing something in $PAGER. o Set the variable *colour-disable*#? to turn colour off without affecting established settings. o It is deduced via termcap(5) (see below) whether the terminal supports colors, e.g., "s-nail -Stermcap=Co#256". o Support for 256-colour terminals. (Gavin Troy) - `source'#? series support shell pipes if the last character of the "filename" ends with a vertical bar |, e.g. [c1c1ee5] source 'gpg -qd ~/.s-nailrc-private.gpg |' - Shell pipes are also supported as targets for `move'#?, `copy'#? etc., e.g., [0d0c523] copy . '| cat; echo huhu' - Support for custom headers via the new `customhdr'#? and `uncustomhdr'#? commands. Because we don't have "scope-local" environments yet there temporarily is also *customhdr*#?, which can be covered by `localopts'#?. [topic/customhdr] (Sergey Matveev) o Support of *ORGANIZATION* has been dropped. o In compose mode `~e'#? supports _any_ header. - New -:#? command line option can be used to more easily select which startup files should be loaded. [5d52578] (Robert Elz) - `account's#? and *folder-hook*s#? now have `localopts'#? enabled by default. [3fd94e3] o Note: it is likely that in the future "scope-local" environments will be implemented, then also covering things like shortcuts etc., and some thing like a "global" prefix to extend a setting to the global namespace. (Think TeX.) - A first simple form of compose-mode hooks has been implemented: *on-compose-enter*#? and *on-compose-leave*#? can be set to macros which get invoked at appropriate times, with `localopts' enabled (which extend until the message is sent). [d6902e1,3fd1db4] (Jens Schleusener, Rudolf Sykora) - "The .netrc file"#? o gained support for comments. [abf2e5d] (Walter Alejandro Iglesias, Ralph Corderoy) o `netrc'#? now has a "load" subcommand. [30d0bb7] o the new *netrc-pipe* obsoletes OPT_AGENT and *agent-shell-lookup* and can be used to load an encrypted .netrc file, e.g.: wysh set netrc-lookup netrc-pipe='gpg -qd ~/.netrc.gpg' E.g., this is in usual .netrc syntax and thus possibly much nicer than saying "source 'gpg -qd ~/.credentials.gpg |'". - termcap(5) / terminfo(5) support has been changed backward in- and upward (from user interface side) compatibly, please read "On terminal control and line editor"#? [topic/termcap.2] o OPT_TERMCAP is by default enabled. The new, by default enabled, configuration option OPT_TERMCAP_VIA_TERMINFO can be used to (try to) use terminfo(5) instead. o The variable *termcap*#? can be used to freely define or override terminal capabilities, *termcap-disable*#? will disable interaction with the chosen library, leaving only *termcap* in charge. o The builtin command line editor has been rather completely rewritten to be the Mailx-Line-Editor (OPT_MLE, default yes), and supports wide glyphs (if possible), infinite line lengths (2 GB) and more. Tabulator expansion is no longer an option (but needs fnmatch(3)). o Optionally (OPT_KEY_BINDINGS, default yes) it has become possible to freely define key bindings for the MLE via the new `bind'#? and `unbind'#? commands. These key bindings can make use of termcap(5) and/or terminfo(5) names. The MLE will install a set of default bindings, more with OPT_TERMCAP: "bind*". o OPT_EDITLINE and OPT_READLINE support have been dropped. The new MLE should not miss anything. Does it? Tip: in an UTF-8 locale try "touch /tmp/hall{,öchen}" and then autocomplete that: once, then ^Q, and again. - `source'#? can be used in `call'ed#? macros. What sounds so innocent replaced an entire machinery and got rid of a brilliant idea of Kurt Shoens from the 70s, but which never worked with Nail/Heirloom extensions, namely macros, and in right order. Accompanying this -X#? can be used to define macros and run them etc. We're still not there, S-nail v15 -- then S-mailx! -- will change the entire codebase to use SystemV signal handling, instead of going the BSD way that is, like used here, both, very expensive due to the immense amount of signal managing systemcalls and insecure due to almost uncontrollable longjmp()s. This should work: s-nail -X'define x {' -Xversion -Xx -X'}' -X'call x' - Internal and environment variables are now explicitly _defined_ and _tracked_ after variable handling has been rewritten completely. [topic/okeys-attr.2] o Notes: + This means that, e.g., "password=NOT_SECRET s-nail" will **NOT** work no more, since *password*#? is an internal variable! + But if you do, e.g., "set TMPDIR=~/tmp", then this will also be reflected in the program environment (it is an environment variable) and thus affect child processes. + Therefore we no longer have `setenv' and `unsetenv'. + To integrate other (unkown) environment variables transparently into our variable management, the new command `environ'#? needs to be used, e.g., "environ set NEWVAR=valye" or "environ link EXISTINGVAR". o -u#? / *LOGNAME*#? (*USER*) handling has been redefined, and "-u USER" is now exactly the same as "-f %USER", and *LOGNAME* (and *USER*) is actively set to the active user. [d8f7cd7] (Afan) (*LOGNAME*#? is POSIX standardized and henceforth used and preferred over *USER*, which came from BSD. [e96baaa] (Todd C. Miller)) o *MAIL*#?, as the user's primary system mailbox, nows supports the usual file name expansions. [e337e00] - In the future (at least non-message-list) argument handling will be changed backward-incompatibly to be sh(1)ell compatible (and thus POSIX standardized). New commands use it already today (`bind'#?, `colour'#?, `customhdr'#?), some others (most importantly, `set'#?) can be forced via the new `wysh' command prefix, as in: [topic/wysh] wysh set message-inject-tail=$'\n--steffen' bind base $'\cA,\x61' 'echo control-A and small a' - We now actively manage *umask*: 0077 by default, but an empty string will use the setting that is active upon startup. Like any change to (known) environment variables this setting will also be inherited by any child process. [1bd8e48] (Walter Alejandro Iglesias) - Anything SENDMAIL / *sendmail*-ish has been renamed to *mta*, e.g., *mta*, *mta-arguments*, *mta-no-default-argument*, *mta-argv0*. The reason is that in v15 we won't even have *smtp*: it is just another form of MTA, and thus obsolete by itself. For now we support a hack that understands a file:// URL in *mta*, too, but that is the default if there is no protocol. E.g.: "set mta=smtp://a:b@xy.z" - The "spamd" spam interface is obsolete. I haven't tested it since my main machine died, it is error prone since it assumes internals of the spamassassin interface, and there never was a speed improvement against "spamc". (However it could react upon the current "is-spam" state of a message, which "spamc" doesn't allow.) [284db64] - Some commands, like `set'#?, `list'#?, `mlist'#? etc., now react upon the setting of *verbose*#? and *debug*#?. ChangeLog ^^^^^^^^^ - The manual has seen another major overhaul, all the variables are now documented in a single, sorted list, and many clarifications should have been added. [topic/manual.10] (Predrag Punosevac, Michael Convey, Hariskar, Rudolf Sykora, Respiranto, Thomas Dickey, Donald Mugnai) - *mime-counter-evidence* gained bit 4 (perform proper in-depth content inspection as necessary; set to 0xE for all bits). [topic/mimetype.2] (Aharon Robbins) - Maildir paths are now created recursively as necessary. [3c57c83] (Justin Ellingwood) - -M#? and -m#? options have been added to enforce a special send mode that will flag standard input / the given file with the specified / detected MIME 'Content-Type:'. This can be used to directly send, e.g., HTML log output. Note that before v15 this is a bit restricted: you are not free to do anything. [f1a775b] (Viktro Szépe, Ralph Corderoy) - Disallow symlinks on writable files (O_NOFOLLOW open(2)). [10990e4] (Matthew Dillon) - `retain'#?, `ignore'#? etc. now differentiate in between From (the From: header) and From_ (the MBOX ident). [c83e153] - `top'#? has been rewritten completely, `Top'#? is new. [1dc9bb6] - `features' has been dropped, `version'#? extended. [b9e4e61] git(1) shortlog (edited) '''''''''''''''''''''''' f01291d extract_date_from_from_(): dig more invalid MBOXes (Antonio Radici).. 662982e Add OF_REGISTER_UNLINK, allow usage in Ftmp() 69bf721 *pipe-TYPE/SUBTYPE*: add "@" triggers and $NAIL_FILENAME_TEMPORARY.. bb5d0e2 *pipe-TYPE/SUBTYPE*: add "!" trigger ("needsterminal") df8768b Add *mime-counter-evidence* bit 4 (Aharon Robbins).. d3fe980 Ftmp(): drop "mode" argument (not wrong: Mike Frysinger).. 7abc368 Print all MIME_RELATED subparts when quoting f6fbcc4 Add *mime-alternative-favour-rich*.. 86159db nail.1: we support searching, really (Predrag Punosevac) 5b61a08 nail.1: talk about address lists (again) (Michael Convey).. 0eeffc4 nail.1: try improve states / MBOX etc. relation (Michael Convey) 43ea039 nail.1: what is an environment variable (Michael Convey) 13e0804 nail.1: fix typo (Hariskar (archlinux Wiki)) 03d6af5 nail.1: more on sortability (Rudolf Sykora).. 4da9043 Not "binary", but "boolean" variables! (Predrag Punosevac).. 7064ef2 Add *message-inject-{head,tail}*, obsolete *NAIL_{HEAD,TAIL}* 4fde608 Add *history-{file,size}*, obsolete *NAIL_HIST{FILE,SIZE}* 36578d1 Add PS_SETFILE_OPENED (affects hooks), *bsdcompat*<>*emptystart*.. 600d449 Drop the `inc' alias of and for `newmail' 5296040 Decouple -H from -L: it used to be -eL instead! dad4e94 Obsolete *SYSV3* c85f56d Support :d specifier for at least `from' (Martin Neitzel).. 7b753a8 Support `help' docstrings for `#', `-', plus.. 30d0bb7 `netrc': add "load" subcommand to only load, not also "show" b12e1ed Be more friendly when composing mails (Martin Neitzel).. b50eac0 nail.1: use display/show not type/print (Michael Convey).. 6feafaf Add `search' alias for `from' (Predrag Punosevac) a4e2612 Support 256-colour terminals (Gavin Troy) 16b57ab Drop `mono'+, change `colour' and `uncolour' commands.. cedde28 Finally: drop IMAP support!.. d535db0 Implement `dotmove': move the "dot" up or down by one 87a72c7 Ooops, always include commands, as c_cmdnotsupp if disabled! c1c1ee5 `source': support shell pipes (if filename ends with "|") 8655aff Error framework: print UAGENT prefix (ident in pipes; Salvatore Bonaccorso) e96baaa Introduce $LOGNAME, the POSIX equivalent of $USER (Todd C. Miller) 0d0c523 Support |PIPE targets for `move', `copy' ++.. 76e6364 Add `customhdr' (Sergey Matveev).. ad58c91 Support *customhdr*, too (Sergey Matveev).. 6322e0a Support _any_ user header via ~e (Sergey Matveev).. 19b3afb Drop support for $ORGANIZATION in favour of `customhdr' 77d4f5c Fix SSL init order, change *ssl-rand-file* behaviour.. 8daeda9 send.c:sendpart(): "support" malformed messages.. eddf684 Drop *print-all-chars* f733f61 Don't set *dot* in -# batch mode 5d52578 Add -: command line option (Robert Elz).. 53b5f07 README: use git(1) --single-branch (Mantas Mikulėnas) 8d0c7dd Allow "-q -" in non-interactive mode; -q and -t are mutual exclusive 420131f Fix mispelling: can|to be send->sent (Respiranto (archlinux Wiki)) 7f3c11f `echo': don't expand via sh(1) no more, use internal mechanism ddece18 main(): verify *expandargv* value content in case of OPT_D_V 8d5f709 mk-conf.sh: dump final summary into config.log, too 0dd85b1 n_iconv_open(): use *charset-unknown-8bit* also for "binary".. d5a9c17 page_or_print(): never use $PAGER unless startup complete bf889e4 (Shell) Variable expansion: support hyphens in names.. 3fd94e3 Default `localopts' to YES for `account' and *folder-hook*s! 983d22f `if'+: allow "if ${VARNAME}" in addition to "if $VARNAME".. d6902e1 Add *on-compose-{enter,leave}* hooks (Jens Schleusener, Rudolf Sykora).. abf2e5d .netrc: support comments (Walter Alejandro Iglesias, Ralph Corderoy).. 37e0c26 nail.1: .netrc comma separator was in original Berknet parser! (Ralph Corderoy) 7e85aa9 Drop WANT_EDITLINE support.. 3e6aa24 make.rc: enable WANT_TERMCAP by default 512069b Rewrite for a generic termcap(5) interface.. 40522c3 nail.1: use -v option to cat(1) if available (Thomas Dickey) cf3ccfe Deduce colours via *termcap* instead!; support all/*.. 64eabef Turn NCL into M(ailx) L(ine) E(ditor).. adb29c3 MLE: add "mle-position" and "mle-prompt" colour mappings 27f3e9d Add terminfo(5) support (via WANT_TERMCAP_PREFER_TERMINFO).. Note: later renamed to OPT_TERMCAP_VIA_TERMINFO 1aa64b6 Add WANT_KEY_BINDINGS.. ad61278 Add n_pager_{open,close}() -- _always_ termios(4) for $PAGER! d935e65 (BWDIC!) Allow `source' in `call'ed macros.. c8c1393 n_lex_input(): truly support line continuation via backslash.. 7f52ae7 make.rc+: add WANT_NOMEMDBG to allow valgrind(1)+ with DEBUG/DEVEL 2497240 homedir: if not $HOME, use pw_dir (of $LOGNAME or getpwuid()) d05aed4 mk-conf.sh: require one of (un)?setenv(3) and putenv(3) 94b3635 (BWDIC!) make.rc: add defaults _here_ (as VAL_xy, e.g., VAL_SENDMAIL!) f0ac705 (BWDIC!) Rewrite variable handling.. 724751e nail.1: drop `(un)?setenv' and *bsdset*; add `environ' 3fd1db4 Improve compose-hooks via new macro hooks.. f4577e6 FIX (fix?) `localopts'.. d8f7cd7 (BWDIC!) Redefine -u / $LOGNAME / $USER (Afan).. e337e00 Support expansions in $MAIL!; more on `account's (Afan).. d596d74 Compare *newfolders* case-insensitively (Justin Ellingwood).. 57744f9 Redefine *folder* / getfold->folder_query() / *HOME* (Justin Ellingwood).. 3c57c83 n_path_mkdir(): create recursively as necessary (Justin Ellingwood) 66553bc `list': with non-WS argument, don't sort alphabetically b95e6be Introduce `wysh' command prefix to change argument parser.. 08b8f48 Only support sh(1)-style quoting for some new commands.. 665c6f8 `customhdr': disallow using control characters in bodies 67c2acb (BWDIC!) Only use new sh(1)-style quoting for attachments! f4b0153 (BWDIC!) Only use new sh(1)-style quoting for `write' a89e1e3 `remove': use sh(1)ell-style quoting 858374b Drop wordexp(3), instead unroll via fnmatch(3).. 0945726 MLE: change HT expansion.. 0bbe981 nail.1: fix spelling errors as by igor(1) (Ingo Schwarze) f1a775b Add -M and -m options (Viktor Szépe, Ralph Corderoy).. 42b42da `list': include argument-type etc. if *verbose* 79f2053 `if'+: support sh(1)-style comments on the line.. 1bd8e48 Add *umask*, and set actively (Walter Alejandro Iglesias).. 6b1cd93 Now with *umask*, just drop fchmod(2)++ calls (Walter Alejandro Iglesias) 2b45cd0 Add *netrc-pipe*: allows e.g. encrypted .netrc files af8261e Obsolete WANT_AGENT / *agent-shell-lookup* (Sorry!) 05f7743 Generate lowercase MIME charset=/RFC 2231 charset strings ba22166 Change make targets; add $MAILJOBS; don't track $DESTDIR (Gaetan Bisson).. cd244b1 Add WANT_CROSS_BUILD make.rc option (Juan RP).. 95141f6 Tweak VERBOSE handling (William Yodlowsky).. 73545ad Rename ADD(C|LD)LAGS to EXTRA_(C|LD)FLAGS.. ca81646 make.rc, mk-conf.sh: allow y/n booleans d74a18a mk-conf.sh:path_check(): skip any "fakeroot" path (Hilko Bengen) 7ce6a17 (BWDIC!) nail.rc: nodot, emptystart, fullnames, m-c-e=0xE; pimp PDF handler 09912fa n_file_lock(): do not retry for EBADF / EINVAL 44a3be6 sendout.c:__savemail(): try to file_lock() *record* 5ef5261 cmd2.c:save1(): try to file_lock() target of `save'/`move'/etc. 10990e4 Add n_O_NOFOLLOW, disallow symlinks for writable files (Matthew Dillon).. c83e153 (BWDIC!) Require explicit "from_" to `retain' etc. From_ lines! d7a15e4 page_or_print(): query $PAGER environment, use it 481c687 Allow WANT_QUOTE_FOLD to be "require"d 1dc9bb6 (BWDIC!) Make `top' real-life capable! Add `Top', *topsqueeze*.. df4954c Add $SOURCE_DATE_EPOCH (reproducible-builds.org; Colin Watson) b412ea8 mime.types: add x-lzma, x-lz4 and x-lzip MIME type extensions dc92f2c savedeadletter()->sendout.c; tweak POSIX compliance (Ralph Corderoy) 8a3638c MLE: add `bind' and `unbind' etc... 4c93f66 (BWDIC!) Obsolete *sendmail*++ in favour of *mta*++; obsolete *smtp*.. 284db64 Obsolete *spam-interface*=spamd.. 83a24a0 boolify(): allow y/n booleans 61aac0f All: OPT_ not WANT_, VAL_XY not XY.. 45d488d README: add The Mail Archive -- Gmane.org reduced to NNTP 48eb7da SEND_TODISP(_ALL)?: append newline if message does have no final one 63bf464 (BWDIC!) Drop readline(3) support.. 863f1e8 tty.c,MLE: gracefully honour *line-editor-disable*++.. ae4f2df nail.1: talk on `localopts' in macros which change `account's 844bedb Support LEXINPUT, thus `bind', contexts.. b9e4e61 Drop `features', change `version', adjust make system.. 20f3cd2 nail.1: more explicit `set' references instead of saying 'Set' (Donald Mugnai).. Appendix ^^^^^^^^ The complete changelog of commits in between two versions OLD and NEW can be inspected by using the git(1) `log' command: $ git log --reverse --topo-order --abbrev-commit OLD..NEW # Only topic branch headers (--no-merges for content commits only): $ git log --oneline --reverse --topo-order --merges OLD..NEW # Same, but truly accessible: $ git log --oneline --reverse --topo-order --merges --parents OLD..NEW | while read c1 c2 c3 c4 c5 c6; do printf "%-24s: \$ git log --oneline --no-merges %s ^%s\n" \ "${c6}" "${c1}" "${c2}"; done NEWS entries for the S-nail releases before v14.9.0 have been cut off before release v14.9.0 and can be found in the git(1) repository: v14.8.0 - v14.8.10: $ git show v14.8.10:NEWS v13 - v14.8.5: $ git show v14.8.5:NEWS 9.0 - 12.5 : $ git show heirloom:ChangeLog For even older releases you need to look into the [timeline] branch, but no changelog has been administrated for them. --steffen
--- pkg.arch.PKGBUILD.orig 2016-09-15 16:15:06.576669893 +0200 +++ pkg.arch.PKGBUILD 2016-09-15 16:23:59.797114524 +0200 @@ -27,12 +27,12 @@ build() { cd "${srcdir}/${pkgname}-${pkgver}" CFLAGS+=" $CPPFLAGS" make \ - PREFIX=/usr \ - SYSCONFDIR=/etc \ - LIBEXECDIR=/usr/lib \ - MAILSPOOL=/var/spool/mail \ - SID= NAIL=mail \ - WANT_AUTOCC=0 \ + VAL_PREFIX=/usr \ + VAL_SYSCONFDIR=/etc \ + VAL_LIBEXECDIR=/usr/lib \ + VAL_MAIL=/var/spool/mail \ + VAL_SID= VAL_NAIL=mail \ + OPT_AUTOCC=0 \ config make build @@ -45,7 +45,7 @@ check() { package() { cd "${srcdir}/${pkgname}-${pkgver}" - make DESTDIR="${pkgdir}" packager-install + make DESTDIR="${pkgdir}" install ln -sf mail "${pkgdir}"/usr/bin/mailx ln -sf mail.1.gz "${pkgdir}"/usr/share/man/man1/mailx.1.gz install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING"
--- pkg.crux.Pkgfile.orig 2016-09-15 16:15:06.576669893 +0200 +++ pkg.crux.Pkgfile 2016-09-15 16:21:53.514465322 +0200 @@ -1,7 +1,7 @@ # Description: Replacement for Berkeley Mail and System V mailx command -# URL: http://sourceforge.net/projects/s-nail/ +# URL: http://www.sdaoden.eu/code.html#s-mailx # Maintainer: Juergen Daubert, jue at crux dot nu -# Depends on: openssl readline +# Depends on: openssl name=mailx version=14.8.10 @@ -11,14 +11,12 @@ source=(https://www.sdaoden.eu/downloads build() { cd s-nail-$version - make install \ - NAIL=mailx \ - SID= \ - PREFIX=/usr \ - LIBEXECDIR=/usr/lib/mailx \ - DESTDIR=$PKG \ - WANT_AUTOCC=no \ - WANT_READLINE=yes + make tangerine \ + VAL_SID= VAL_NAIL=mailx \ + VAL_PREFIX=/usr \ + VAL_LIBEXECDIR=/usr/lib/mailx \ + OPT_AUTOCC=no \ + DESTDIR=$PKG chmod -R u+w $PKG
--- pkg.debian.rules.orig 2016-09-15 16:15:06.576669893 +0200 +++ pkg.debian.rules 2016-09-15 16:15:06.576669893 +0200 @@ -6,12 +6,12 @@ include /usr/share/dpkg/buildflags.mk # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 -export CONFIG=MAXIMAL -export PREFIX=/usr -export LIBEXECDIR=/usr/lib/s-nail -export SYSCONFDIR=/etc export DESTDIR=$(CURDIR)/debian/tmp -export SENDMAIL=/usr/sbin/sendmail +export CONFIG=MAXIMAL +export VAL_PREFIX=/usr +export VAL_LIBEXECDIR=/usr/lib/s-nail +export VAL_SYSCONFDIR=/etc +export VAL_MTA=/usr/sbin/sendmail %: dh $@ --parallel
--- pkg.gavin.PKGBUILD.orig 2016-09-15 16:15:06.586669839 +0200 +++ pkg.gavin.PKGBUILD 2016-09-15 16:34:57.073553751 +0200 @@ -33,12 +33,11 @@ build() { config_target="CONFIG=DEVEL" fi - make PREFIX=/usr \ - SYSCONFDIR=/etc \ - SYSCONFRC=mail.rc \ - LIBEXECDIR=/usr/lib \ - MAILSPOOL=/var/spool/mail \ - WANT_AUTOCC=0 \ + make VAL_PREFIX=/usr \ + VAL_SYSCONFDIR=/etc \ + VAL_SYSCONFRC=mail.rc \ + VAL_LIBEXECDIR=/usr/lib \ + OPT_AUTOCC=0 \ ${config_target:-} \ config @@ -49,7 +48,7 @@ build() { package() { cd s-nail - make DESTDIR="${pkgdir}" chown=/usr/bin/true packager-install + make DESTDIR="${pkgdir}" chown=/usr/bin/true install ln -sf s-nail "${pkgdir}"/usr/bin/mail ln -sf s-nail "${pkgdir}"/usr/bin/mailx
--- pkg.kaos.PKGBUILD.orig 2016-09-15 16:15:06.586669839 +0200 +++ pkg.kaos.PKGBUILD 2016-09-15 16:15:06.586669839 +0200 @@ -3,7 +3,7 @@ pkgver=14.8.10 pkgrel=1 pkgdesc="Mail processing system and commandline utility for sending email" arch=('x86_64') -url="https://www.sdaoden.eu/code.html#s-naill" +url="http://www.sdaoden.eu/code.html#s-mailx" license=('BSD') groups=('base') depends=('openssl' 'krb5') @@ -12,19 +12,18 @@ backup=('etc/mail.rc') conflicts=('mailx') replaces=('mailx') provides=('mailx') -source=("http://www.sdaoden.eu/downloads/${pkgname}-${pkgver}.tar.xz") +source=("https://www.sdaoden.eu/downloads/${pkgname}-${pkgver}.tar.xz") md5sums=('4c412476a2150699d3d119e8c853ae62') build() { cd ${pkgname}-${pkgver} - make PREFIX=/usr \ - SYSCONFDIR=/etc \ - MAILSPOOL=/var/spool/mail \ - MANDIR=/usr/share/man \ - SID= NAIL=mail \ - WANT_AUTOCC=0 \ - LIBEXECDIR=/usr/lib \ + make VAL_PREFIX=/usr \ + VAL_SYSCONFDIR=/etc \ + VAL_MAIL=/var/spool/mail \ + VAL_LIBEXECDIR=/usr/lib \ + VAL_SID= VAL_NAIL=mail \ + OPT_AUTOCC=0 \ config make build @@ -32,7 +31,7 @@ build() { package() { cd ${pkgname}-${pkgver} - make DESTDIR=${pkgdir} packager-install + make DESTDIR=${pkgdir} install # For compatibility with the old mailx program ln -sf mail ${pkgdir}/usr/bin/mailx
--- pkg.obsd.Makefile.orig 2016-09-15 16:15:06.586669839 +0200 +++ pkg.obsd.Makefile 2016-09-15 16:19:13.818663802 +0200 @@ -17,24 +17,22 @@ MAINTAINER= William Yodlowsky <william@ MODULES= converters/libiconv MAKE_FILE= makefile -MAKE_FLAGS= CC="${CC}" \ - CFLAGS="${CFLAGS}" \ - C_INCLUDE_PATH="${LOCALBASE}/include" \ +MAKE_FLAGS= C_INCLUDE_PATH="${LOCALBASE}/include" \ LDFLAGS="${LDFLAGS}" \ LD_LIBRARY_PATH="${LOCALBASE}/lib" \ - MANDIR="${PREFIX}/man" \ - SYSCONFDIR="${SYSCONFDIR}" \ - WANT_AUTOCC=0 \ - WANT_EDITLINE=1 \ - WANT_NCL=0 \ - WANT_DOTLOCK=0 \ - SID= + \ + VAL_MANDIR="${PREFIX}/man" \ + VAL_SYSCONFDIR="${SYSCONFDIR}" \ + VAL_SID= \ + \ + OPT_AUTOCC=0 \ + OPT_DOTLOCK=0 MAKE_ENV= VERBOSE=Yes LIB_DEPENDS= devel/libidn -INSTALL_TARGET= packager-install +INSTALL_TARGET= install post-install: ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/nail
--- pkg.void.template.orig 2016-09-15 16:15:06.586669839 +0200 +++ pkg.void.template 2016-09-15 16:18:19.115626820 +0200 @@ -20,14 +20,21 @@ alternatives=" " do_build() { - make CC=$CC PREFIX=/usr SYSCONFDIR=/etc SID= NAIL=mail BINDIR=/usr/bin MANDIR=/usr/share/man \ - MAILSPOOL=/var/spool/mail XPAGER=less SENDMAIL=/usr/bin/sendmail WANT_IDNA=1 WANT_AUTOCC=0 \ - WANT_FILTER_HTML_TAGSOUP=1 config - make CC=$CC ${makejobs} build + make \ + VAL_SID= VAL_NAIL=mail \ + VAL_PREFIX=/usr \ + VAL_SYSCONFDIR=/etc \ + VAL_MAIL=/var/spool/mail \ + VAL_MTA=/usr/bin/sendmail \ + VAL_PAGER=less \ + \ + OPT_AUTOCC=0 \ + config + make MAILJOBS="${makejobs}" build } do_install() { - make DESTDIR=$DESTDIR packager-install + make DESTDIR=$DESTDIR install mv ${DESTDIR}/etc/{mail,$pkgname}.rc mv ${DESTDIR}/usr/bin/{mail,$pkgname} mv ${DESTDIR}/usr/share/man/man1/{mail,$pkgname}.1
------------------------------------------------------------------------------
__________________________________ S-nail-users@lists.sourceforge.net