From 7c734b05adf5a98be134008dfd7b5cc2c2b5a81d Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 17 May 2016 10:34:27 -0400 Subject: refactor daily script --- Makefile | 1 + daily | 20 ++++++++++++++++++++ debian/cron.daily | 18 ++---------------- etckeeper.conf | 2 +- systemd/etckeeper | 19 ------------------- 5 files changed, 24 insertions(+), 36 deletions(-) create mode 100755 daily delete mode 100755 systemd/etckeeper diff --git a/Makefile b/Makefile index 206e44c..dd5178e 100644 --- a/Makefile +++ b/Makefile @@ -23,6 +23,7 @@ build: etckeeper.spec etckeeper.version install: etckeeper.version mkdir -p $(DESTDIR)$(etcdir)/etckeeper/ $(DESTDIR)$(vardir)/cache/etckeeper/ $(CP) *.d $(DESTDIR)$(etcdir)/etckeeper/ + $(INSTALL_DATA) daily $(DESTDIR)$(etcdir)/etckeeper/ $(INSTALL_DATA) $(CONFFILE) $(DESTDIR)$(etcdir)/etckeeper/etckeeper.conf mkdir -p $(DESTDIR)$(bindir) $(INSTALL_EXE) etckeeper $(DESTDIR)$(bindir)/etckeeper diff --git a/daily b/daily new file mode 100755 index 0000000..d35191a --- /dev/null +++ b/daily @@ -0,0 +1,20 @@ +#!/bin/sh +# Script that can be run daily to autocommit /etc changes. +set -e +if [ -x /usr/bin/etckeeper ] && [ -e /etc/etckeeper/etckeeper.conf ]; then + . /etc/etckeeper/etckeeper.conf + if [ "$AVOID_DAILY_AUTOCOMMITS" != "1" ]; then + # avoid autocommit if an install run is in progress + lockfile=/var/cache/etckeeper/packagelist.pre-install + if [ -e "$lockfile" ] && [ -n "$(find "$lockfile" -mtime +1)" ]; then + rm -f "$lockfile" # stale + fi + if [ ! -e "$lockfile" ]; then + AVOID_SPECIAL_FILE_WARNING=1 + export AVOID_SPECIAL_FILE_WARNING + if etckeeper unclean; then + etckeeper commit "daily autocommit" >/dev/null + fi + fi + fi +fi diff --git a/debian/cron.daily b/debian/cron.daily index 5255691..e00e570 100644 --- a/debian/cron.daily +++ b/debian/cron.daily @@ -1,19 +1,5 @@ #!/bin/sh set -e -if [ -x /usr/bin/etckeeper ] && [ -e /etc/etckeeper/etckeeper.conf ]; then - . /etc/etckeeper/etckeeper.conf - if [ "$AVOID_DAILY_AUTOCOMMITS" != "1" ]; then - # avoid autocommit if an install run is in progress - lockfile=/var/cache/etckeeper/packagelist.pre-install - if [ -e "$lockfile" ] && [ -n "$(find "$lockfile" -mtime +1)" ]; then - rm -f "$lockfile" # stale - fi - if [ ! -e "$lockfile" ]; then - AVOID_SPECIAL_FILE_WARNING=1 - export AVOID_SPECIAL_FILE_WARNING - if etckeeper unclean; then - etckeeper commit "daily autocommit" >/dev/null - fi - fi - fi +if [ -e /etc/etckeeper/daily ]; then + /etc/etckeeper/daily fi diff --git a/etckeeper.conf b/etckeeper.conf index 0d268bd..b17dc2b 100644 --- a/etckeeper.conf +++ b/etckeeper.conf @@ -21,7 +21,7 @@ DARCS_COMMIT_OPTIONS="-a" #AVOID_DAILY_AUTOCOMMITS=1 # Uncomment the following to avoid special file warning -# (the option is enabled automatically by cronjob regardless). +# (the option is enabled automatically for daily autocommits regardless). #AVOID_SPECIAL_FILE_WARNING=1 # Uncomment to avoid etckeeper committing existing changes to diff --git a/systemd/etckeeper b/systemd/etckeeper deleted file mode 100755 index 5255691..0000000 --- a/systemd/etckeeper +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -set -e -if [ -x /usr/bin/etckeeper ] && [ -e /etc/etckeeper/etckeeper.conf ]; then - . /etc/etckeeper/etckeeper.conf - if [ "$AVOID_DAILY_AUTOCOMMITS" != "1" ]; then - # avoid autocommit if an install run is in progress - lockfile=/var/cache/etckeeper/packagelist.pre-install - if [ -e "$lockfile" ] && [ -n "$(find "$lockfile" -mtime +1)" ]; then - rm -f "$lockfile" # stale - fi - if [ ! -e "$lockfile" ]; then - AVOID_SPECIAL_FILE_WARNING=1 - export AVOID_SPECIAL_FILE_WARNING - if etckeeper unclean; then - etckeeper commit "daily autocommit" >/dev/null - fi - fi - fi -fi -- cgit v1.2.3