jaromail

a commandline tool to easily and privately handle your e-mail
git clone git://parazyd.org/jaromail.git
Log | Files | Refs | Submodules | README

commit edc0a87917e29bf8c7414e8cd68b0a1e25ad0ac2
parent 2b5300d3b156b55a94b1f5ceba6248611fc41cb4
Author: Jaromil <jaromil@dyne.org>
Date:   Fri, 16 Jan 2015 14:27:23 +0100

release documentation and fixes to installer

Diffstat:
MChangeLog.md | 7+++++++
MKNOWN_BUGS.md | 3---
MREADME.md | 19++++++++++++++-----
Mbuild/install-gnu.sh | 28++++++++++++++++++++++++++++
Msrc/jaro | 8++++----
Msrc/zlibs/filters | 17+++++++----------
6 files changed, 60 insertions(+), 22 deletions(-)

diff --git a/ChangeLog.md b/ChangeLog.md @@ -1,5 +1,12 @@ # JaroMail ChangeLog +## 3.1 +### 16 Jan 2015 + +Fixes to locking, email fetching and anonymous mixmaster mailer. +Several improvemends to code readability, stability and speed using +zsh builtins. + ## 3.0 ### 10 Jan 2015 diff --git a/KNOWN_BUGS.md b/KNOWN_BUGS.md @@ -11,7 +11,4 @@ mutt problem, one way to solve it would be to mirror maildirs locally in tmp. But then that would not be a peek anymore... -Mairix progressive indexing does not work Search needs to be more -efficient To be substituted with MU - diff --git a/README.md b/README.md @@ -10,7 +10,7 @@ *A commandline tool to easily and privately handle your e-mail* -Version: **3.0** +Version: **3.1** Updates on: http://dyne.org/software/jaro-mail @@ -62,15 +62,24 @@ A round-up on Jaro Mail features follows: **GNU/Linux** users can run `make` to install all needed components (done automatically, requires root) and compile auxiliary tools. Once compiled then `make install` will put Jaro Mail in - `/usr/local`. To install it in another place use `PREFIX=$HOME/usr - make install` (recommended for people customizing their own - scripts). + `/usr/local`. Or To install it as user into a self-contained place: + +``` + PREFIX=$HOME/Postbox make install +`` + +Will create the directory `Postbox` in your home directory and install +Jaro Mail inside it, with the `jaro` executable in `Postbox/bin`. + +When Jaro Mail is installed system-wide, the `JAROMAILDIR` +environmental variable can be changed to point to where all emails +will be stored, by default it is `$HOME/Mail`. The dependencies to be installed on the system for Jaro Mail are * build: `make gcc libglib2.0-dev libgnome-keyring-dev` * run: `fetchmail msmtp mutt notmuch pinentry-curses abook wipe alot` -Bare in mind **you need to read the Manual**: this software is not +Keep in mind **you need to read the Manual**: this software is not graphical, it is not meant to be intuitive, does not contains eyecandies (except for stats on mail traffic). Jaro Mail is operated via Terminal, configured in plain text and overall made by geeks for diff --git a/build/install-gnu.sh b/build/install-gnu.sh @@ -6,6 +6,12 @@ PREFIX=${PREFIX:-/usr/local} JARO_LIBEXEC=$PREFIX/share/jaromail JARO_SHARE=$PREFIX/share/jaromail +[[ -w "$JARO_SHARE" ]] || { + print "Error: cannot write to $JARO_SHARE" + print "Run as root or set PREFIX to another location" + return 1 +} + rm -rf "$JARO_SHARE" mkdir -p "$JARO_SHARE" @@ -41,6 +47,28 @@ mkdir -p $PREFIX/bin cat <<EOF > $PREFIX/bin/jaro #!/usr/bin/env zsh export JAROWORKDIR=${JARO_SHARE} +EOF + +zmodload zsh/pcre +# if not installed system-wide then place the Mail into prefix +[[ "$PREFIX" =~ "^/usr" ]] || { + cat <<EOF >> $PREFIX/bin/jaro +export JAROMAILDIR=${PREFIX} +EOF +} +cat <<EOF >> $PREFIX/bin/jaro ${JARO_SHARE}/bin/jaro \${=@} EOF chmod +x $PREFIX/bin/jaro + +source ${JARO_SHARE}/bin/jaro source + +[[ "$PREFIX" =~ "^/usr" ]] || $PREFIX/bin/jaro init +notice "Jaro Mail succesfully installed in: $PREFIX" +act "Executable path: $PREFIX/bin/jaro" +[[ "$PREFIX" =~ "^/usr" ]] && { + notice "To initialize your Mail dir use: jaro init" + act "Default is $HOME/Mail" + act "Change it via environment variable JAROMAILDIR" +} +return 0 diff --git a/src/jaro b/src/jaro @@ -20,7 +20,7 @@ # this source code; if not, write to: # Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -VERSION=3.0 +VERSION=3.1 DATE=Jan/2015 JAROMAILEXEC=$0 typeset -a OLDARGS @@ -229,7 +229,7 @@ ${=mkdir} "$MAILDIRS" #chmod 700 $WORKDIR chmod 700 "$MAILDIRS" -PATH=$WORKDIR/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/opt/local/bin +PATH=$WORKDIR/bin:/bin:/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin::/opt/local/bin # load our ZLibs if [ -d $WORKDIR/zlibs ]; then @@ -395,8 +395,8 @@ check_bin() { error "Cannot find Mutt. Please install it." exit 1 fi - func "Mutt binary: $mutt" - + func "Mutt binary: `command -v mutt`" + func "Notmuch binary: `command -v notmuch`" pidof gnome-keyring-daemon > /dev/null && { act "using gnome-keyring to store secrets" GNOMEKEY=1 } diff --git a/src/zlibs/filters b/src/zlibs/filters @@ -132,12 +132,12 @@ EOF esac done - # create the notmuch database if not present - [[ -r "$MAILDIRS"/cache/notmuch/rc ]] || { - notice "Indexing emails in the search database" - nm setup - nm new - } + # # create the notmuch database if not present + # [[ -r "$MAILDIRS"/cache/notmuch/rc ]] || { + # notice "Indexing emails in the search database" + # nm setup + # nm new + # } # compile the list of own addresses and aliases for i in `awk ' @@ -464,12 +464,9 @@ update_mutt() { act "updating mutt settings" func "MUTTDIR: $MUTTDIR" - func "binary: $mutt" - func "pgpewrap: $pgpewrap" - func "lock: $dotlock" ${=mkdir} "$MUTTDIR" ${=mkdir} "$MUTTDIR"/cache - ${=rm} "$MUTTDIR"/rc + rm -f "$MUTTDIR"/rc gpgkey="" # detect the default gpg key to always encrypt also to self