1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- # 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
|