summaryrefslogtreecommitdiff
path: root/config-etckeeper.PKGBUILD
blob: 0bf09a5a0ab1276d3d5aa7bb804d75a090dedc6b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
pkgver=1
pkgrel=1
arch=(any)

pkgname=config-etckeeper
depends=(etckeeper pristine-etc-keeper)

package() {
cd "$pkgdir"

install -dm755 etc/systemd/system/multi-user.target.wants
# etckeeper is configured to use git (the default) to keep track of
# changes in /etc. The systemd unit etckeeper.timer is enabled, which
# makes a commit (if necessary) daily.  It will also run before and
# after pacman via libalpm hooks.
ln -s /usr/lib/systemd/system/etckeeper.timer           etc/systemd/system/multi-user.target.wants/etckeeper.timer

# In addition to etckeeper keeping track of the current configuration,
# lukeshu's pristine-etc-keeper maintains a branch of what /etc would
# be like if we never made any changes from the default files. The
# clean version of etc is available as the clean remote's master
# branch. Doing a git diff clean/master master should be helpful in
# investigating how things have been configured.
ln -s /usr/lib/systemd/system/pristine-etc-keeper.timer etc/systemd/system/multi-user.target.wants/pristine-etc-keeper.timer

# Add a stub to customize /etc/.gitignrore a bit
install -Dm755 /dev/stdin etc/etckeeper/update-ignore.d/02custom <<_EOF_
#!/bin/bash
sed -i '/^# end section managed by etckeeper$/,$d' .gitignore
cat >> .gitignore <<EOF
# end section managed by etckeeper
!/mtab
/group-
/gshadow-
/passwd-
/shadow-
/resolv.conf
EOF
_EOF_

# Add some other .gitignore files scattered around
install -Dm644 /dev/stdin etc/ca-certificates/.gitignore <<EOF
/trust-source/blacklist/
/trust-source/anchors/
/extracted/
EOF
install -Dm644 /dev/stdin etc/ssl/.gitignore <<EOF
/certs/*.0
/certs/*.1
/certs/*.pem
/certs/java/cacerts
/.ssh/
EOF
install -Dm644 /dev/stdin etc/udev/.gitignore <<EOF
/hwdb.bin
EOF
install -Dm644 /dev/stdin etc/pacman.d/.gitignore <<EOF
/gnupg/
EOF

}