# lcmail-wizard - Setup procmail filters and lcmail-wizard.py script # See README.md for more information FORWARD = ~/.forward HOSTNAME = $(shell hostname) PMAILRC = ~/.procmailrc PMAILDIR = ~/.procmail PWD = $(shell pwd) init: filter-rules.rc lcmail-wizard.yml lcmail-wizard.cron @echo [INFO] Customize, if you want: @echo " * filter-rules.rc -> Mail filter rules" @echo " * lcmail-wizard.yml -> Mail auto trash days" @echo " * lcmail-wizard.cron -> Mail auto trash scheduler" filter-rules.rc: @echo [INFO] Create $@ from filter-rules.def.rc @cp filter-rules.def.rc $@ lcmail-wizard.yml: @echo [INFO] Create $@ from lcmail-wizard.def.yml @cp lcmail-wizard.def.yml $@ lcmail-wizard.cron: @echo [INFO] Create $@ from lcmail-wizard.def.cron @head -n2 lcmail-wizard.def.cron > lcmail-wizard.cron @printf '\nDEST="%s"\n\n' ${PWD} >> lcmail-wizard.cron @tail -n2 lcmail-wizard.def.cron >> lcmail-wizard.cron install: init @echo [INFO] Create .maildir structure using lcmail-wizard.py @./lcmail-wizard.py --create @echo [INFO] Backup ${PMAILRC} file, if present @if [ -f ${PMAILRC} ]; then mv -f ${PMAILRC} ${PMAILRC}.orig 2> /dev/null; fi @echo [INFO] Backup ${PMAILDIR} file, if present @if [ -d ${PMAILDIR} ]; then mv -f ${PMAILDIR} ${PMAILDIR}.orig 2> /dev/null; fi @echo [INFO] Create ${PMAILDIR} structure @mkdir -p ${PMAILDIR} @mkdir -p ${PMAILDIR}/log @echo [INFO] Copy procmail configuration files @cp -i .procmailrc ${PMAILRC} @cp -i filter-rules.rc ${PMAILDIR}/ @echo [INFO] Backup ${FORWARD} file @cp -ai ${FORWARD} ${FORWARD}.orig @echo [INFO] Enable procmail, rewriting ${FORWARD} @cp -i .forward ${FORWARD} @chmod 0644 ${FORWARD} @echo [INFO] Schedule lcmail-wizard.py using crontab on ${HOSTNAME} @crontab lcmail-wizard.cron uninstall: @echo [INFO] Restore original ${FORWARD} @cp -af ${FORWARD}.orig ${FORWARD} @rm -f ${FORWARD}.orig @echo [INFO] Remove procmail conf files @rm -rf ${PMAILDIR} @rm -f ${PMAILRC} @echo [INFO] Restore original ${PMAILRC}, if present @if [ -f ${PMAILRC}.orig ]; then mv -f ${PMAILRC}.orig ${PMAILRC} 2> /dev/null; fi @echo [INFO] Restore original ${PMAILDIR}, if present @if [ -d ${PMAILDIR}.orig ]; then mv -f ${PMAILDIR}.orig ${PMAILDIR} 2> /dev/null; fi @echo [INFO] Disable lcmail-wizard.py schedule @crontab -r @echo [WARN] Structure inside ~/.maildir not restored, @echo added dirs must be manually remove clean: @echo [INFO] Remove custom config files @rm -i filter-rules.rc lcmail-wizard.yml lcmail-wizard.cron .PHONY: init install uninstall clean