diff options
Diffstat (limited to 'config-etckeeper.PKGBUILD')
-rw-r--r-- | config-etckeeper.PKGBUILD | 33 |
1 files changed, 32 insertions, 1 deletions
diff --git a/config-etckeeper.PKGBUILD b/config-etckeeper.PKGBUILD index 75f0af1..88aa419 100644 --- a/config-etckeeper.PKGBUILD +++ b/config-etckeeper.PKGBUILD @@ -1,5 +1,5 @@ . ${BUILDFILE%/*}/common.sh -pkgver=20160713.8 +pkgver=20160713.11 depends=(etckeeper pristine-etc-keeper) @@ -32,6 +32,37 @@ add-file -m755 etc/etckeeper/commit.d/40git-ignore <<EOF git ls-files --ignored --exclude-standard -z|xargs -0r git rm --cached -- EOF +# etckeepr has been configured to run the pre-commit hook at exta +# times, to work around a bug[0]. +# +# [0]: https://etckeeper.branchable.com/todo/metadata_changes_don__39__t_cause_a_new_commit/ +add-file -m755 etc/etckeeper/unclean.d/20pre-commit <<EOF +#!/bin/sh +# pre-commit hook for etckeeper, to store metadata and do sanity checks +set -e +etckeeper pre-commit -d /etc +EOF +add-file -m755 etc/etckeeper/commit.d/20pre-commit <<EOF +#!/bin/sh +# pre-commit hook for etckeeper, to store metadata and do sanity checks +set -e +etckeeper pre-commit -d /etc +EOF + +# It as also been configured to maintain a list of installed packages +# as `/etc/.installed-packages.txt`. +add-file -m755 etc/etckeeper/pre-commit.d/25list-installed <<EOF +#!/bin/sh + +etckeeper list-installed > .installed-packages.txt + +# stage the file as part of the current commit +if [ "\$VCS" = git ]; then + # this will do nothing if the file is unchanged. + git add .installed-packages.txt +fi +EOF + # The etckeeper update-ignore hook is customized to ignore a couple # more files in `/etc` (and avoid ignoring `/etc/mtab`). We ignore # `resolv.conf` because it is managed by [resolvconf][openresolv]. |