]> Frank Brehm's Git Trees - config/weimar/etc.git/commitdiff
Current state
authorFrank Brehm <frank.brehm@profitbricks.com>
Fri, 9 Oct 2015 08:11:21 +0000 (10:11 +0200)
committerFrank Brehm <frank.brehm@profitbricks.com>
Fri, 9 Oct 2015 08:11:21 +0000 (10:11 +0200)
41 files changed:
.etckeeper [new file with mode: 0755]
.gitignore
etckeeper/commit.d/10vcs-test [new file with mode: 0755]
etckeeper/commit.d/30bzr-add [new file with mode: 0755]
etckeeper/commit.d/30darcs-add [new file with mode: 0755]
etckeeper/commit.d/30git-add [new file with mode: 0755]
etckeeper/commit.d/30hg-addremove [new file with mode: 0755]
etckeeper/commit.d/50vcs-commit [new file with mode: 0755]
etckeeper/commit.d/99push [new file with mode: 0755]
etckeeper/commit.d/README [new file with mode: 0644]
etckeeper/etckeeper.conf [new file with mode: 0644]
etckeeper/init.d/10restore-metadata [new file with mode: 0755]
etckeeper/init.d/20restore-etckeeper [new file with mode: 0755]
etckeeper/init.d/40vcs-init [new file with mode: 0755]
etckeeper/init.d/50vcs-ignore [new file with mode: 0755]
etckeeper/init.d/50vcs-perm [new file with mode: 0755]
etckeeper/init.d/50vcs-pre-commit-hook [new file with mode: 0755]
etckeeper/init.d/60darcs-deleted-symlinks [new file with mode: 0755]
etckeeper/init.d/70vcs-add [new file with mode: 0755]
etckeeper/init.d/README [new file with mode: 0644]
etckeeper/list-installed.d/50list-installed [new file with mode: 0755]
etckeeper/post-install.d/50vcs-commit [new file with mode: 0755]
etckeeper/post-install.d/README [new file with mode: 0644]
etckeeper/pre-commit.d/20warn-problem-files [new file with mode: 0755]
etckeeper/pre-commit.d/30store-metadata [new file with mode: 0755]
etckeeper/pre-commit.d/README [new file with mode: 0644]
etckeeper/pre-install.d/10packagelist [new file with mode: 0755]
etckeeper/pre-install.d/50uncommitted-changes [new file with mode: 0755]
etckeeper/pre-install.d/README [new file with mode: 0644]
etckeeper/unclean.d/50test [new file with mode: 0755]
etckeeper/unclean.d/README [new file with mode: 0644]
etckeeper/uninit.d/01prompt [new file with mode: 0755]
etckeeper/uninit.d/50remove-metadata [new file with mode: 0755]
etckeeper/uninit.d/50vcs-uninit [new file with mode: 0755]
etckeeper/uninit.d/README [new file with mode: 0644]
etckeeper/update-ignore.d/01update-ignore [new file with mode: 0755]
etckeeper/update-ignore.d/README [new file with mode: 0644]
etckeeper/vcs.d/50vcs-cmd [new file with mode: 0755]
lvm/backup/vg0 [new file with mode: 0644]
motd [new file with mode: 0644]
portage/package.use

diff --git a/.etckeeper b/.etckeeper
new file mode 100755 (executable)
index 0000000..6e52a1e
--- /dev/null
@@ -0,0 +1,1008 @@
+# Generated by etckeeper.  Do not edit.
+
+mkdir -p './ca-certificates/update.d'
+mkdir -p './salt/pki/master/minions_autosign'
+mkdir -p './salt/pki/master/minions_denied'
+mkdir -p './salt/pki/master/minions_pre'
+mkdir -p './salt/pki/master/minions_rejected'
+mkdir -p './salt/pki/minion'
+mkdir -p './security/limits.d'
+mkdir -p './security/namespace.d'
+mkdir -p './skel/.ssh'
+mkdir -p './systemd/network'
+mkdir -p './udev/hwdb.d'
+maybe chmod 0755 '.'
+maybe chmod 0700 '.etckeeper'
+maybe chmod 0600 '.gitignore'
+maybe chmod 0644 'DIR_COLORS'
+maybe chmod 0755 'acpi'
+maybe chmod 0755 'acpi/actions'
+maybe chmod 0755 'acpi/actions/powerbtn.sh'
+maybe chmod 0755 'acpi/default.sh'
+maybe chmod 0755 'acpi/events'
+maybe chmod 0644 'acpi/events/default'
+maybe chmod 0644 'anacrontab'
+maybe chmod 0755 'at'
+maybe chgrp 'at' 'at/at.deny'
+maybe chmod 0640 'at/at.deny'
+maybe chmod 0755 'autofs'
+maybe chmod 0644 'autofs/auto.master'
+maybe chmod 0644 'autofs/auto.misc'
+maybe chmod 0755 'autofs/auto.net'
+maybe chmod 0755 'autofs/auto.smb'
+maybe chmod 0600 'autofs/autofs_ldap_auth.conf'
+maybe chmod 0755 'bash'
+maybe chmod 0644 'bash/bash_logout'
+maybe chmod 0644 'bash/bashrc'
+maybe chmod 0755 'bash/bashrc.d'
+maybe chmod 0644 'bash/bashrc.d/.keep_app-shells_bash-0'
+maybe chmod 0644 'bash/bashrc.d/bash_completion.sh'
+maybe chmod 0644 'bash/bashrc.orig'
+maybe chmod 0755 'bash_completion.d'
+maybe chmod 0644 'bash_completion.d/gentoo-style-init'
+maybe chmod 0755 'ca-certificates'
+maybe chmod 0644 'ca-certificates.conf'
+maybe chmod 0755 'ca-certificates/update.d'
+maybe chmod 0644 'colordiffrc'
+maybe chmod 0644 'colordiffrc-lightbg'
+maybe chmod 0755 'conf.d'
+maybe chmod 0644 'conf.d/acpid'
+maybe chmod 0644 'conf.d/atd'
+maybe chmod 0644 'conf.d/autofs'
+maybe chmod 0644 'conf.d/bootmisc'
+maybe chmod 0644 'conf.d/busybox-ntpd'
+maybe chmod 0644 'conf.d/busybox-watchdog'
+maybe chmod 0644 'conf.d/consolefont'
+maybe chmod 0644 'conf.d/cronie'
+maybe chmod 0644 'conf.d/devfs'
+maybe chmod 0644 'conf.d/device-mapper'
+maybe chmod 0644 'conf.d/dmesg'
+maybe chmod 0644 'conf.d/fsck'
+maybe chmod 0644 'conf.d/git-daemon'
+maybe chmod 0644 'conf.d/gpm'
+maybe chmod 0644 'conf.d/hostname'
+maybe chmod 0644 'conf.d/hwclock'
+maybe chmod 0644 'conf.d/ip6tables'
+maybe chmod 0644 'conf.d/iptables'
+maybe chmod 0644 'conf.d/keymaps'
+maybe chmod 0644 'conf.d/killprocs'
+maybe chmod 0644 'conf.d/localmount'
+maybe chmod 0644 'conf.d/lvm'
+maybe chmod 0644 'conf.d/mdadm'
+maybe chmod 0644 'conf.d/mdraid'
+maybe chmod 0644 'conf.d/modules'
+maybe chmod 0644 'conf.d/mysql'
+maybe chmod 0644 'conf.d/net'
+maybe chmod 0644 'conf.d/netmount'
+maybe chmod 0644 'conf.d/ntp-client'
+maybe chmod 0644 'conf.d/ntpd'
+maybe chmod 0644 'conf.d/pciparm'
+maybe chmod 0644 'conf.d/pydoc-2.7'
+maybe chmod 0644 'conf.d/pydoc-3.4'
+maybe chmod 0644 'conf.d/rsyncd'
+maybe chmod 0644 'conf.d/salt-api'
+maybe chmod 0644 'conf.d/salt-master'
+maybe chmod 0644 'conf.d/salt-minion'
+maybe chmod 0644 'conf.d/salt-syndic'
+maybe chmod 0644 'conf.d/slapd'
+maybe chmod 0644 'conf.d/sntp'
+maybe chmod 0644 'conf.d/sshd'
+maybe chmod 0644 'conf.d/svnserve'
+maybe chmod 0644 'conf.d/syslog-ng'
+maybe chmod 0644 'conf.d/tcollector'
+maybe chmod 0644 'conf.d/tmpfiles'
+maybe chmod 0644 'conf.d/twistd'
+maybe chmod 0644 'conf.d/udev'
+maybe chmod 0644 'conf.d/unbound'
+maybe chmod 0644 'conf.d/urandom'
+maybe chmod 0700 'config-archive'
+maybe chmod 0755 'config-archive/etc'
+maybe chmod 0644 'config-archive/etc/DIR_COLORS'
+maybe chmod 0644 'config-archive/etc/DIR_COLORS.dist'
+maybe chmod 0755 'config-archive/etc/bash'
+maybe chmod 0644 'config-archive/etc/bash/bashrc'
+maybe chmod 0644 'config-archive/etc/bash/bashrc.1'
+maybe chmod 0644 'config-archive/etc/bash/bashrc.2'
+maybe chmod 0644 'config-archive/etc/bash/bashrc.dist'
+maybe chmod 0644 'config-archive/etc/bash/bashrc.dist.new'
+maybe chmod 0755 'config-archive/etc/conf.d'
+maybe chmod 0644 'config-archive/etc/conf.d/acpid'
+maybe chmod 0644 'config-archive/etc/conf.d/acpid.dist'
+maybe chmod 0644 'config-archive/etc/conf.d/consolefont'
+maybe chmod 0644 'config-archive/etc/conf.d/consolefont.dist'
+maybe chmod 0644 'config-archive/etc/conf.d/git-daemon'
+maybe chmod 0644 'config-archive/etc/conf.d/git-daemon.dist'
+maybe chmod 0644 'config-archive/etc/conf.d/hwclock'
+maybe chmod 0644 'config-archive/etc/conf.d/hwclock.1'
+maybe chmod 0644 'config-archive/etc/conf.d/hwclock.dist'
+maybe chmod 0644 'config-archive/etc/conf.d/keymaps'
+maybe chmod 0644 'config-archive/etc/conf.d/keymaps.1'
+maybe chmod 0644 'config-archive/etc/conf.d/keymaps.dist'
+maybe chmod 0644 'config-archive/etc/conf.d/syslog-ng'
+maybe chmod 0644 'config-archive/etc/conf.d/syslog-ng.dist'
+maybe chmod 0644 'config-archive/etc/conf.d/tcollector'
+maybe chmod 0644 'config-archive/etc/conf.d/tcollector.dist.new'
+maybe chmod 0644 'config-archive/etc/conf.d/udev'
+maybe chmod 0644 'config-archive/etc/conf.d/udev.dist'
+maybe chmod 0755 'config-archive/etc/cron.d'
+maybe chmod 0644 'config-archive/etc/cron.d/py-provisioning-daemon'
+maybe chmod 0644 'config-archive/etc/cron.d/py-provisioning-daemon.dist'
+maybe chmod 0755 'config-archive/etc/dbus-1'
+maybe chmod 0755 'config-archive/etc/dbus-1/system.d'
+maybe chmod 0644 'config-archive/etc/dbus-1/system.d/org.freedesktop.hostname1.conf'
+maybe chmod 0644 'config-archive/etc/dbus-1/system.d/org.freedesktop.hostname1.conf.dist'
+maybe chmod 0644 'config-archive/etc/dbus-1/system.d/org.freedesktop.locale1.conf'
+maybe chmod 0644 'config-archive/etc/dbus-1/system.d/org.freedesktop.locale1.conf.dist'
+maybe chmod 0644 'config-archive/etc/dbus-1/system.d/org.freedesktop.login1.conf'
+maybe chmod 0644 'config-archive/etc/dbus-1/system.d/org.freedesktop.login1.conf.dist'
+maybe chmod 0644 'config-archive/etc/dbus-1/system.d/org.freedesktop.systemd1.conf'
+maybe chmod 0644 'config-archive/etc/dbus-1/system.d/org.freedesktop.systemd1.conf.dist'
+maybe chmod 0644 'config-archive/etc/dbus-1/system.d/org.freedesktop.timedate1.conf'
+maybe chmod 0644 'config-archive/etc/dbus-1/system.d/org.freedesktop.timedate1.conf.dist'
+maybe chmod 0755 'config-archive/etc/default'
+maybe chmod 0644 'config-archive/etc/default/grub'
+maybe chmod 0644 'config-archive/etc/default/grub.1'
+maybe chmod 0644 'config-archive/etc/default/grub.2'
+maybe chmod 0644 'config-archive/etc/default/grub.3'
+maybe chmod 0644 'config-archive/etc/default/grub.dist'
+maybe chmod 0644 'config-archive/etc/dispatch-conf.conf'
+maybe chmod 0644 'config-archive/etc/dispatch-conf.conf.dist'
+maybe chmod 0755 'config-archive/etc/eselect'
+maybe chmod 0755 'config-archive/etc/eselect/postgresql'
+maybe chmod 0755 'config-archive/etc/eselect/postgresql/slots'
+maybe chmod 0755 'config-archive/etc/eselect/postgresql/slots/9.1'
+maybe chmod 0644 'config-archive/etc/eselect/postgresql/slots/9.1/base'
+maybe chmod 0644 'config-archive/etc/eselect/postgresql/slots/9.1/base.dist'
+maybe chmod 0644 'config-archive/etc/host.conf'
+maybe chmod 0644 'config-archive/etc/host.conf.dist'
+maybe chmod 0644 'config-archive/etc/hosts'
+maybe chmod 0644 'config-archive/etc/hosts.dist.new'
+maybe chmod 0755 'config-archive/etc/init.d'
+maybe chmod 0755 'config-archive/etc/init.d/acpid'
+maybe chmod 0755 'config-archive/etc/init.d/acpid.dist'
+maybe chmod 0755 'config-archive/etc/init.d/bootmisc'
+maybe chmod 0755 'config-archive/etc/init.d/bootmisc.dist'
+maybe chmod 0755 'config-archive/etc/init.d/consolefont'
+maybe chmod 0755 'config-archive/etc/init.d/consolefont.dist'
+maybe chmod 0755 'config-archive/etc/init.d/devfs'
+maybe chmod 0755 'config-archive/etc/init.d/devfs.dist'
+maybe chmod 0755 'config-archive/etc/init.d/fsck'
+maybe chmod 0755 'config-archive/etc/init.d/fsck.1'
+maybe chmod 0755 'config-archive/etc/init.d/fsck.dist'
+maybe chmod 0755 'config-archive/etc/init.d/hostname'
+maybe chmod 0755 'config-archive/etc/init.d/hostname.dist'
+maybe chmod 0755 'config-archive/etc/init.d/hwclock'
+maybe chmod 0755 'config-archive/etc/init.d/hwclock.dist'
+maybe chmod 0755 'config-archive/etc/init.d/keymaps'
+maybe chmod 0755 'config-archive/etc/init.d/keymaps.dist'
+maybe chmod 0755 'config-archive/etc/init.d/killprocs'
+maybe chmod 0755 'config-archive/etc/init.d/killprocs.dist'
+maybe chmod 0755 'config-archive/etc/init.d/localmount'
+maybe chmod 0755 'config-archive/etc/init.d/localmount.1'
+maybe chmod 0755 'config-archive/etc/init.d/localmount.dist'
+maybe chmod 0755 'config-archive/etc/init.d/modules'
+maybe chmod 0755 'config-archive/etc/init.d/modules.dist'
+maybe chmod 0755 'config-archive/etc/init.d/mount-ro'
+maybe chmod 0755 'config-archive/etc/init.d/mount-ro.1'
+maybe chmod 0755 'config-archive/etc/init.d/mount-ro.dist'
+maybe chmod 0755 'config-archive/etc/init.d/mtab.dist'
+maybe chmod 0755 'config-archive/etc/init.d/net.lo'
+maybe chmod 0755 'config-archive/etc/init.d/net.lo.1'
+maybe chmod 0755 'config-archive/etc/init.d/net.lo.dist'
+maybe chmod 0755 'config-archive/etc/init.d/netmount'
+maybe chmod 0755 'config-archive/etc/init.d/netmount.dist'
+maybe chmod 0755 'config-archive/etc/init.d/network'
+maybe chmod 0755 'config-archive/etc/init.d/network.dist'
+maybe chmod 0755 'config-archive/etc/init.d/nscd'
+maybe chmod 0755 'config-archive/etc/init.d/nscd.dist'
+maybe chmod 0755 'config-archive/etc/init.d/numlock'
+maybe chmod 0755 'config-archive/etc/init.d/numlock.dist'
+maybe chmod 0755 'config-archive/etc/init.d/procfs'
+maybe chmod 0755 'config-archive/etc/init.d/procfs.1'
+maybe chmod 0755 'config-archive/etc/init.d/procfs.dist'
+maybe chmod 0755 'config-archive/etc/init.d/root'
+maybe chmod 0755 'config-archive/etc/init.d/root.dist'
+maybe chmod 0755 'config-archive/etc/init.d/rsyncd'
+maybe chmod 0755 'config-archive/etc/init.d/rsyncd.dist'
+maybe chmod 0755 'config-archive/etc/init.d/staticroute'
+maybe chmod 0755 'config-archive/etc/init.d/staticroute.dist'
+maybe chmod 0755 'config-archive/etc/init.d/swap'
+maybe chmod 0755 'config-archive/etc/init.d/swap.dist'
+maybe chmod 0755 'config-archive/etc/init.d/swclock'
+maybe chmod 0755 'config-archive/etc/init.d/swclock.dist'
+maybe chmod 0755 'config-archive/etc/init.d/sysctl'
+maybe chmod 0755 'config-archive/etc/init.d/sysctl.1'
+maybe chmod 0755 'config-archive/etc/init.d/sysctl.dist'
+maybe chmod 0755 'config-archive/etc/init.d/sysfs'
+maybe chmod 0755 'config-archive/etc/init.d/sysfs.dist'
+maybe chmod 0755 'config-archive/etc/init.d/tcollector'
+maybe chmod 0755 'config-archive/etc/init.d/tcollector.1'
+maybe chmod 0755 'config-archive/etc/init.d/tcollector.dist'
+maybe chmod 0755 'config-archive/etc/init.d/termencoding'
+maybe chmod 0755 'config-archive/etc/init.d/termencoding.1'
+maybe chmod 0755 'config-archive/etc/init.d/termencoding.dist'
+maybe chmod 0755 'config-archive/etc/init.d/udev'
+maybe chmod 0755 'config-archive/etc/init.d/udev-mount'
+maybe chmod 0755 'config-archive/etc/init.d/udev-mount.1'
+maybe chmod 0755 'config-archive/etc/init.d/udev-mount.dist'
+maybe chmod 0755 'config-archive/etc/init.d/udev-postmount'
+maybe chmod 0755 'config-archive/etc/init.d/udev-postmount.dist'
+maybe chmod 0755 'config-archive/etc/init.d/udev.1'
+maybe chmod 0755 'config-archive/etc/init.d/udev.dist'
+maybe chmod 0755 'config-archive/etc/init.d/urandom'
+maybe chmod 0755 'config-archive/etc/init.d/urandom.dist'
+maybe chmod 0644 'config-archive/etc/inittab'
+maybe chmod 0644 'config-archive/etc/inittab.1'
+maybe chmod 0644 'config-archive/etc/inittab.dist'
+maybe chmod 0755 'config-archive/etc/layman'
+maybe chmod 0644 'config-archive/etc/layman/layman.cfg'
+maybe chmod 0644 'config-archive/etc/layman/layman.cfg.1'
+maybe chmod 0644 'config-archive/etc/layman/layman.cfg.dist'
+maybe chmod 0644 'config-archive/etc/locale.gen'
+maybe chmod 0644 'config-archive/etc/locale.gen.dist.new'
+maybe chmod 0755 'config-archive/etc/lvm'
+maybe chmod 0644 'config-archive/etc/lvm/lvm.conf'
+maybe chmod 0644 'config-archive/etc/lvm/lvm.conf.1'
+maybe chmod 0644 'config-archive/etc/lvm/lvm.conf.2'
+maybe chmod 0644 'config-archive/etc/lvm/lvm.conf.3'
+maybe chmod 0644 'config-archive/etc/lvm/lvm.conf.4'
+maybe chmod 0644 'config-archive/etc/lvm/lvm.conf.dist'
+maybe chmod 0644 'config-archive/etc/os-release'
+maybe chmod 0644 'config-archive/etc/os-release.dist'
+maybe chmod 0755 'config-archive/etc/pam.d'
+maybe chmod 0644 'config-archive/etc/pam.d/login'
+maybe chmod 0644 'config-archive/etc/pam.d/login.dist'
+maybe chmod 0644 'config-archive/etc/pam.d/passwd'
+maybe chmod 0644 'config-archive/etc/pam.d/passwd.dist'
+maybe chmod 0644 'config-archive/etc/pam.d/su'
+maybe chmod 0644 'config-archive/etc/pam.d/su.dist'
+maybe chmod 0755 'config-archive/etc/portage'
+maybe chmod 0644 'config-archive/etc/portage/make.conf'
+maybe chmod 0644 'config-archive/etc/portage/make.conf.dist'
+maybe chmod 0755 'config-archive/etc/portage/package.keywords'
+maybe chmod 0644 'config-archive/etc/portage/package.keywords/common'
+maybe chmod 0644 'config-archive/etc/portage/package.keywords/common.dist'
+maybe chmod 0755 'config-archive/etc/portage/repos.conf'
+maybe chmod 0644 'config-archive/etc/portage/repos.conf/gentoo.conf.dist'
+maybe chmod 0755 'config-archive/etc/portage/savedconfig'
+maybe chmod 0755 'config-archive/etc/portage/savedconfig/sys-apps'
+maybe chmod 0644 'config-archive/etc/portage/savedconfig/sys-apps/busybox-1.19.3-r1'
+maybe chmod 0644 'config-archive/etc/portage/savedconfig/sys-apps/busybox-1.19.3-r1.dist.new'
+maybe chmod 0644 'config-archive/etc/ppd.cfg'
+maybe chmod 0644 'config-archive/etc/ppd.cfg.default'
+maybe chmod 0644 'config-archive/etc/ppd.cfg.default.dist'
+maybe chmod 0644 'config-archive/etc/ppd.cfg.dist'
+maybe chmod 0644 'config-archive/etc/profile'
+maybe chmod 0644 'config-archive/etc/profile.dist'
+maybe chmod 0644 'config-archive/etc/rc.conf'
+maybe chmod 0644 'config-archive/etc/rc.conf.1'
+maybe chmod 0644 'config-archive/etc/rc.conf.2'
+maybe chmod 0644 'config-archive/etc/rc.conf.3'
+maybe chmod 0644 'config-archive/etc/rc.conf.4'
+maybe chmod 0644 'config-archive/etc/rc.conf.5'
+maybe chmod 0644 'config-archive/etc/rc.conf.dist'
+maybe chmod 0755 'config-archive/etc/salt'
+maybe chmod 0644 'config-archive/etc/salt/master'
+maybe chmod 0644 'config-archive/etc/salt/master.dist'
+maybe chmod 0644 'config-archive/etc/screenrc'
+maybe chmod 0644 'config-archive/etc/screenrc.dist'
+maybe chmod 0755 'config-archive/etc/ssl'
+maybe chmod 0755 'config-archive/etc/ssl/certs'
+maybe chmod 0644 'config-archive/etc/ssl/certs/ca-certificates.crt'
+maybe chmod 0644 'config-archive/etc/ssl/certs/ca-certificates.crt.dist'
+maybe chmod 0440 'config-archive/etc/sudoers'
+maybe chmod 0440 'config-archive/etc/sudoers.dist'
+maybe chmod 0755 'config-archive/etc/syslog-ng'
+maybe chmod 0644 'config-archive/etc/syslog-ng/syslog-ng.conf'
+maybe chmod 0644 'config-archive/etc/syslog-ng/syslog-ng.conf.1'
+maybe chmod 0644 'config-archive/etc/syslog-ng/syslog-ng.conf.dist'
+maybe chmod 0755 'config-archive/etc/systemd'
+maybe chmod 0644 'config-archive/etc/systemd/system.conf'
+maybe chmod 0644 'config-archive/etc/systemd/system.conf.dist'
+maybe chmod 0644 'config-archive/etc/systemd/user.conf'
+maybe chmod 0644 'config-archive/etc/systemd/user.conf.dist'
+maybe chmod 0755 'config-archive/etc/udev'
+maybe chmod 0644 'config-archive/etc/udev/udev.conf'
+maybe chmod 0644 'config-archive/etc/udev/udev.conf.1'
+maybe chmod 0644 'config-archive/etc/udev/udev.conf.dist'
+maybe chmod 0644 'config-archive/etc/wgetrc'
+maybe chmod 0644 'config-archive/etc/wgetrc.dist'
+maybe chmod 0755 'cron.d'
+maybe chmod 0644 'cron.d/.keep_sys-process_cronie-0'
+maybe chmod 0750 'cron.daily'
+maybe chmod 0644 'cron.daily/.keep_sys-process_cronbase-0'
+maybe chmod 0755 'cron.daily/etckeeper'
+maybe chmod 0755 'cron.daily/makewhatis'
+maybe chmod 0755 'cron.daily/mlocate'
+maybe chmod 0644 'cron.deny'
+maybe chmod 0750 'cron.hourly'
+maybe chmod 0644 'cron.hourly/.keep_sys-process_cronbase-0'
+maybe chmod 0750 'cron.hourly/0anacron'
+maybe chmod 0750 'cron.monthly'
+maybe chmod 0644 'cron.monthly/.keep_sys-process_cronbase-0'
+maybe chmod 0750 'cron.weekly'
+maybe chmod 0644 'cron.weekly/.keep_sys-process_cronbase-0'
+maybe chmod 0644 'cron.weekly/mdadm'
+maybe chmod 0644 'crontab'
+maybe chmod 0644 'csh.env'
+maybe chmod 0755 'dbus-1'
+maybe chmod 0644 'dbus-1/session.conf'
+maybe chmod 0755 'dbus-1/session.d'
+maybe chmod 0644 'dbus-1/session.d/.keep_sys-apps_dbus-0'
+maybe chmod 0644 'dbus-1/system.conf'
+maybe chmod 0755 'dbus-1/system.d'
+maybe chmod 0644 'dbus-1/system.d/.keep_sys-apps_dbus-0'
+maybe chmod 0644 'dbus-1/system.d/org.freedesktop.hostname1.conf'
+maybe chmod 0644 'dbus-1/system.d/org.freedesktop.locale1.conf'
+maybe chmod 0644 'dbus-1/system.d/org.freedesktop.login1.conf'
+maybe chmod 0644 'dbus-1/system.d/org.freedesktop.systemd1.conf'
+maybe chmod 0644 'dbus-1/system.d/org.freedesktop.timedate1.conf'
+maybe chmod 0644 'dcmanager.ini'
+maybe chmod 0755 'default'
+maybe chmod 0644 'default/grub'
+maybe chmod 0600 'default/useradd'
+maybe chmod 0644 'dispatch-conf.conf'
+maybe chmod 0644 'dmtab'
+maybe chmod 0755 'dnssec'
+maybe chmod 0644 'dnssec/Kjqmt7v.csr'
+maybe chmod 0644 'dnssec/root-anchors.txt'
+maybe chmod 0644 'dnssec/root-anchors.xml'
+maybe chmod 0644 'e2fsck.conf'
+maybe chmod 0755 'eclean'
+maybe chmod 0644 'eclean/distfiles.exclude'
+maybe chmod 0644 'eclean/packages.exclude'
+maybe chmod 0755 'eixrc'
+maybe chmod 0644 'eixrc.backup.0000'
+maybe chmod 0644 'eixrc/00-eixrc'
+maybe chmod 0755 'elinks'
+maybe chmod 0644 'elinks/elinks.conf'
+maybe chmod 0644 'elinks/keybind-full.sample'
+maybe chmod 0644 'elinks/keybind.conf.sample'
+maybe chmod 0755 'env.d'
+maybe chmod 0644 'env.d/00basic'
+maybe chmod 0644 'env.d/00glibc'
+maybe chmod 0644 'env.d/01cvs'
+maybe chmod 0644 'env.d/02locale'
+maybe chmod 0644 'env.d/04gcc-x86_64-pc-linux-gnu'
+maybe chmod 0644 'env.d/05binutils'
+maybe chmod 0644 'env.d/09sandbox'
+maybe chmod 0644 'env.d/30gnupg'
+maybe chmod 0644 'env.d/50guile'
+maybe chmod 0644 'env.d/50ncurses'
+maybe chmod 0644 'env.d/50postgresql'
+maybe chmod 0644 'env.d/70klibc'
+maybe chmod 0644 'env.d/70less'
+maybe chmod 0644 'env.d/80mercurial'
+maybe chmod 0644 'env.d/98ca-certificates'
+maybe chmod 0644 'env.d/99editor'
+maybe chmod 0644 'env.d/99gentoolkit-env'
+maybe chmod 0755 'env.d/binutils'
+maybe chmod 0644 'env.d/binutils/config-x86_64-pc-linux-gnu'
+maybe chmod 0644 'env.d/binutils/x86_64-pc-linux-gnu-2.25.1'
+maybe chmod 0755 'env.d/gcc'
+maybe chmod 0644 'env.d/gcc/config-x86_64-pc-linux-gnu'
+maybe chmod 0644 'env.d/gcc/x86_64-pc-linux-gnu-4.9.3'
+maybe chmod 0755 'env.d/python'
+maybe chmod 0644 'env.d/python/.keep_app-admin_eselect-python-0'
+maybe chmod 0644 'env.d/python/config'
+maybe chmod 0644 'environment'
+maybe chmod 0755 'eselect'
+maybe chmod 0755 'eselect/postgresql'
+maybe chmod 0644 'eselect/postgresql/.keep_app-admin_eselect-postgresql-0'
+maybe chmod 0644 'eselect/postgresql/active'
+maybe chmod 0644 'eselect/postgresql/active.links'
+maybe chmod 0644 'eselect/postgresql/active.links94'
+maybe chmod 0755 'eselect/postgresql/slots'
+maybe chmod 0755 'eselect/postgresql/slots/9.4'
+maybe chmod 0644 'eselect/postgresql/slots/9.4/base'
+maybe chmod 0644 'etc-update.conf'
+maybe chmod 0755 'etckeeper'
+maybe chmod 0755 'etckeeper/commit.d'
+maybe chmod 0755 'etckeeper/commit.d/10vcs-test'
+maybe chmod 0755 'etckeeper/commit.d/30bzr-add'
+maybe chmod 0755 'etckeeper/commit.d/30darcs-add'
+maybe chmod 0755 'etckeeper/commit.d/30git-add'
+maybe chmod 0755 'etckeeper/commit.d/30hg-addremove'
+maybe chmod 0755 'etckeeper/commit.d/50vcs-commit'
+maybe chmod 0755 'etckeeper/commit.d/99push'
+maybe chmod 0644 'etckeeper/commit.d/README'
+maybe chmod 0644 'etckeeper/etckeeper.conf'
+maybe chmod 0755 'etckeeper/init.d'
+maybe chmod 0755 'etckeeper/init.d/10restore-metadata'
+maybe chmod 0755 'etckeeper/init.d/20restore-etckeeper'
+maybe chmod 0755 'etckeeper/init.d/40vcs-init'
+maybe chmod 0755 'etckeeper/init.d/50vcs-ignore'
+maybe chmod 0755 'etckeeper/init.d/50vcs-perm'
+maybe chmod 0755 'etckeeper/init.d/50vcs-pre-commit-hook'
+maybe chmod 0755 'etckeeper/init.d/60darcs-deleted-symlinks'
+maybe chmod 0755 'etckeeper/init.d/70vcs-add'
+maybe chmod 0644 'etckeeper/init.d/README'
+maybe chmod 0755 'etckeeper/list-installed.d'
+maybe chmod 0755 'etckeeper/list-installed.d/50list-installed'
+maybe chmod 0755 'etckeeper/post-install.d'
+maybe chmod 0755 'etckeeper/post-install.d/50vcs-commit'
+maybe chmod 0644 'etckeeper/post-install.d/README'
+maybe chmod 0755 'etckeeper/pre-commit.d'
+maybe chmod 0755 'etckeeper/pre-commit.d/20warn-problem-files'
+maybe chmod 0755 'etckeeper/pre-commit.d/30store-metadata'
+maybe chmod 0644 'etckeeper/pre-commit.d/README'
+maybe chmod 0755 'etckeeper/pre-install.d'
+maybe chmod 0755 'etckeeper/pre-install.d/10packagelist'
+maybe chmod 0755 'etckeeper/pre-install.d/50uncommitted-changes'
+maybe chmod 0644 'etckeeper/pre-install.d/README'
+maybe chmod 0755 'etckeeper/unclean.d'
+maybe chmod 0755 'etckeeper/unclean.d/50test'
+maybe chmod 0644 'etckeeper/unclean.d/README'
+maybe chmod 0755 'etckeeper/uninit.d'
+maybe chmod 0755 'etckeeper/uninit.d/01prompt'
+maybe chmod 0755 'etckeeper/uninit.d/50remove-metadata'
+maybe chmod 0755 'etckeeper/uninit.d/50vcs-uninit'
+maybe chmod 0644 'etckeeper/uninit.d/README'
+maybe chmod 0755 'etckeeper/update-ignore.d'
+maybe chmod 0755 'etckeeper/update-ignore.d/01update-ignore'
+maybe chmod 0644 'etckeeper/update-ignore.d/README'
+maybe chmod 0755 'etckeeper/vcs.d'
+maybe chmod 0755 'etckeeper/vcs.d/50vcs-cmd'
+maybe chmod 0644 'filesystems'
+maybe chmod 0644 'fstab'
+maybe chmod 0644 'gai.conf'
+maybe chmod 0644 'gentoo-release'
+maybe chmod 0644 'gitconfig'
+maybe chmod 0755 'gpm'
+maybe chmod 0644 'gpm/gpm-root.conf'
+maybe chmod 0644 'gpm/gpm-syn.conf'
+maybe chmod 0644 'gpm/gpm-twiddler.conf'
+maybe chmod 0644 'group'
+maybe chmod 0600 'group-'
+maybe chmod 0755 'grub.d'
+maybe chmod 0755 'grub.d/00_header'
+maybe chmod 0755 'grub.d/05_color'
+maybe chmod 0755 'grub.d/10_linux'
+maybe chmod 0755 'grub.d/20_linux_xen'
+maybe chmod 0755 'grub.d/30_os-prober'
+maybe chmod 0755 'grub.d/40_custom'
+maybe chmod 0755 'grub.d/41_custom'
+maybe chmod 0644 'grub.d/README'
+maybe chmod 0400 'gshadow'
+maybe chmod 0600 'gshadow-'
+maybe chmod 0755 'hibernate'
+maybe chmod 0644 'hibernate/blacklisted-modules'
+maybe chmod 0644 'hibernate/common.conf'
+maybe chmod 0644 'hibernate/disk.conf'
+maybe chmod 0644 'hibernate/hibernate.conf'
+maybe chmod 0644 'hibernate/ram.conf'
+maybe chmod 0755 'hibernate/scriptlets.d'
+maybe chmod 0644 'hibernate/scriptlets.d/.keep_sys-power_hibernate-script-0'
+maybe chmod 0644 'hibernate/sysfs-disk.conf'
+maybe chmod 0644 'hibernate/sysfs-ram.conf'
+maybe chmod 0644 'hibernate/tuxonice.conf'
+maybe chmod 0644 'hibernate/ususpend-both.conf'
+maybe chmod 0644 'hibernate/ususpend-disk.conf'
+maybe chmod 0644 'hibernate/ususpend-ram.conf'
+maybe chmod 0644 'host.conf'
+maybe chmod 0644 'hostname'
+maybe chmod 0644 'hosts'
+maybe chmod 0644 'hosts.allow'
+maybe chmod 0644 'idn.conf'
+maybe chmod 0644 'idn.conf.sample'
+maybe chmod 0644 'idnalias.conf'
+maybe chmod 0644 'idnalias.conf.sample'
+maybe chmod 0755 'init.d'
+maybe chmod 0755 'init.d/acpid'
+maybe chmod 0755 'init.d/andbd'
+maybe chmod 0755 'init.d/atd'
+maybe chmod 0755 'init.d/autofs'
+maybe chmod 0755 'init.d/binfmt'
+maybe chmod 0755 'init.d/bootmisc'
+maybe chmod 0755 'init.d/busybox-ntpd'
+maybe chmod 0755 'init.d/busybox-watchdog'
+maybe chmod 0755 'init.d/consolefont'
+maybe chmod 0755 'init.d/cronie'
+maybe chmod 0755 'init.d/dbus'
+maybe chmod 0755 'init.d/devfs'
+maybe chmod 0755 'init.d/device-mapper'
+maybe chmod 0755 'init.d/dmesg'
+maybe chmod 0755 'init.d/dmeventd'
+maybe chmod 0755 'init.d/fsck'
+maybe chmod 0755 'init.d/git-daemon'
+maybe chmod 0755 'init.d/gpm'
+maybe chmod 0755 'init.d/hibernate-cleanup'
+maybe chmod 0755 'init.d/hostname'
+maybe chmod 0755 'init.d/hwclock'
+maybe chmod 0755 'init.d/ip6tables'
+maybe chmod 0755 'init.d/iptables'
+maybe chmod 0755 'init.d/keymaps'
+maybe chmod 0755 'init.d/killprocs'
+maybe chmod 0755 'init.d/kmod-static-nodes'
+maybe chmod 0755 'init.d/local'
+maybe chmod 0755 'init.d/localmount'
+maybe chmod 0755 'init.d/loopback'
+maybe chmod 0755 'init.d/lvm'
+maybe chmod 0755 'init.d/lvm-monitoring'
+maybe chmod 0755 'init.d/lvmetad'
+maybe chmod 0755 'init.d/mdadm'
+maybe chmod 0755 'init.d/mdraid'
+maybe chmod 0755 'init.d/modules'
+maybe chmod 0755 'init.d/mount-ro'
+maybe chmod 0755 'init.d/mysql'
+maybe chmod 0755 'init.d/net.lo'
+maybe chmod 0755 'init.d/netmount'
+maybe chmod 0755 'init.d/ntp-client'
+maybe chmod 0755 'init.d/ntpd'
+maybe chmod 0755 'init.d/numlock'
+maybe chmod 0755 'init.d/osclock'
+maybe chmod 0755 'init.d/pciparm'
+maybe chmod 0755 'init.d/procfs'
+maybe chmod 0755 'init.d/pydoc-2.7'
+maybe chmod 0755 'init.d/pydoc-3.4'
+maybe chmod 0755 'init.d/qemu-binfmt'
+maybe chmod 0755 'init.d/reboot.sh'
+maybe chmod 0755 'init.d/root'
+maybe chmod 0755 'init.d/rsyncd'
+maybe chmod 0755 'init.d/s6-svscan'
+maybe chmod 0755 'init.d/salt-api'
+maybe chmod 0755 'init.d/salt-master'
+maybe chmod 0755 'init.d/salt-minion'
+maybe chmod 0755 'init.d/salt-syndic'
+maybe chmod 0755 'init.d/savecache'
+maybe chmod 0755 'init.d/shutdown.sh'
+maybe chmod 0755 'init.d/slapd'
+maybe chmod 0755 'init.d/sntp'
+maybe chmod 0755 'init.d/sshd'
+maybe chmod 0755 'init.d/svnserve'
+maybe chmod 0755 'init.d/swap'
+maybe chmod 0755 'init.d/swapfiles'
+maybe chmod 0755 'init.d/swclock'
+maybe chmod 0755 'init.d/sysctl'
+maybe chmod 0755 'init.d/sysfs'
+maybe chmod 0755 'init.d/syslog-ng'
+maybe chmod 0755 'init.d/sysstat'
+maybe chmod 0755 'init.d/tcollector'
+maybe chmod 0755 'init.d/tcollector.bak'
+maybe chmod 0755 'init.d/tcollector.orig'
+maybe chmod 0755 'init.d/termencoding'
+maybe chmod 0755 'init.d/tmpfiles.dev'
+maybe chmod 0755 'init.d/tmpfiles.setup'
+maybe chmod 0755 'init.d/twistd'
+maybe chmod 0755 'init.d/udev'
+maybe chmod 0755 'init.d/unbound'
+maybe chmod 0755 'init.d/urandom'
+maybe chmod 0755 'init.d/virtualbox-guest-additions'
+maybe chmod 0644 'inittab'
+maybe chmod 0644 'inputrc'
+maybe chmod 0755 'iproute2'
+maybe chmod 0644 'iproute2/ematch_map'
+maybe chmod 0644 'iproute2/group'
+maybe chmod 0644 'iproute2/nl_protos'
+maybe chmod 0644 'iproute2/rt_dsfield'
+maybe chmod 0644 'iproute2/rt_protos'
+maybe chmod 0644 'iproute2/rt_realms'
+maybe chmod 0644 'iproute2/rt_scopes'
+maybe chmod 0644 'iproute2/rt_tables'
+maybe chmod 0644 'issue'
+maybe chmod 0644 'issue.logo'
+maybe chmod 0755 'kernel'
+maybe chmod 0755 'kernel-config'
+maybe chmod 0644 'kernel-config/config-3.10.17-gentoo-00'
+maybe chmod 0644 'kernel-config/config-3.10.17-gentoo-01'
+maybe chmod 0644 'kernel-config/config-3.12.13-gentoo-00'
+maybe chmod 0644 'kernel-config/config-3.12.21-gentoo-r1-00'
+maybe chmod 0644 'kernel-config/config-3.14.14-gentoo-00'
+maybe chmod 0644 'kernel-config/config-3.16.5-gentoo-00'
+maybe chmod 0644 'kernel-config/config-3.17.7-gentoo-00'
+maybe chmod 0644 'kernel-config/config-3.17.8-gentoo-r1-00'
+maybe chmod 0644 'kernel-config/config-3.18.7-gentoo-00'
+maybe chmod 0644 'kernel-config/config-3.2.12-gentoo-00'
+maybe chmod 0644 'kernel-config/config-3.2.12-gentoo-01'
+maybe chmod 0644 'kernel-config/config-3.2.12-gentoo-02'
+maybe chmod 0644 'kernel-config/config-3.4.9-gentoo-00'
+maybe chmod 0644 'kernel-config/config-3.6.11-gentoo-00'
+maybe chmod 0644 'kernel-config/config-3.8.13-gentoo-00'
+maybe chmod 0644 'kernel-config/config-4.0.5-gentoo-00'
+maybe chmod 0755 'kernel/postinst.d'
+maybe chmod 0644 'kernel/postinst.d/.keep_sys-apps_debianutils-0'
+maybe chmod 0755 'layman'
+maybe chmod 0644 'layman/layman.cfg'
+maybe chmod 0755 'layman/overlays'
+maybe chmod 0644 'layman/overlays/.keep_app-portage_layman-0'
+maybe chmod 0644 'ld.so.conf'
+maybe chmod 0755 'ld.so.conf.d'
+maybe chmod 0644 'ld.so.conf.d/05binutils.conf'
+maybe chmod 0644 'ld.so.conf.d/05gcc-x86_64-pc-linux-gnu.conf'
+maybe chmod 0755 'lftp'
+maybe chmod 0644 'lftp/lftp.conf'
+maybe chmod 0755 'local.d'
+maybe chmod 0644 'local.d/README'
+maybe chmod 0755 'local.d/motd.start'
+maybe chmod 0644 'locale.conf'
+maybe chmod 0644 'locale.gen'
+maybe chmod 0644 'localtime'
+maybe chmod 0644 'login.defs'
+maybe chmod 0755 'logrotate.d'
+maybe chmod 0644 'logrotate.d/elog-save-summary'
+maybe chmod 0644 'logrotate.d/hibernate-script'
+maybe chmod 0644 'logrotate.d/mysql'
+maybe chmod 0644 'logrotate.d/openrc'
+maybe chmod 0644 'logrotate.d/ppd'
+maybe chmod 0644 'logrotate.d/rsyncd'
+maybe chmod 0644 'logrotate.d/syslog-ng'
+maybe chmod 0755 'lvm'
+maybe chmod 0700 'lvm/archive'
+maybe chmod 0600 'lvm/archive/vg0_00002-516860222.vg'
+maybe chmod 0600 'lvm/archive/vg0_00003-2054495636.vg'
+maybe chmod 0600 'lvm/archive/vg0_00004-400035202.vg'
+maybe chmod 0600 'lvm/archive/vg0_00005-419192800.vg'
+maybe chmod 0600 'lvm/archive/vg0_00006-1969581553.vg'
+maybe chmod 0600 'lvm/archive/vg0_00007-813756787.vg'
+maybe chmod 0600 'lvm/archive/vg0_00008-1912139177.vg'
+maybe chmod 0600 'lvm/archive/vg0_00009-2103225091.vg'
+maybe chmod 0600 'lvm/archive/vg0_00010-418816785.vg'
+maybe chmod 0600 'lvm/archive/vg0_00011-488066955.vg'
+maybe chmod 0600 'lvm/archive/vg0_00012-1864142163.vg'
+maybe chmod 0600 'lvm/archive/vg0_00013-112128145.vg'
+maybe chmod 0600 'lvm/archive/vg0_00014-1851606182.vg'
+maybe chmod 0600 'lvm/archive/vg0_00015-1575973011.vg'
+maybe chmod 0600 'lvm/archive/vg0_00016-1642637969.vg'
+maybe chmod 0600 'lvm/archive/vg0_00017-2012038070.vg'
+maybe chmod 0700 'lvm/backup'
+maybe chmod 0600 'lvm/backup/vg0'
+maybe chmod 0700 'lvm/cache'
+maybe chmod 0600 'lvm/cache/.cache'
+maybe chmod 0644 'lvm/lvm.conf'
+maybe chmod 0755 'lvm/profile'
+maybe chmod 0444 'lvm/profile/command_profile_template.profile'
+maybe chmod 0444 'lvm/profile/metadata_profile_template.profile'
+maybe chmod 0444 'lvm/profile/thin-generic.profile'
+maybe chmod 0444 'lvm/profile/thin-performance.profile'
+maybe chmod 0644 'machine-id'
+maybe chmod 0644 'machine-info'
+maybe chmod 0755 'mail'
+maybe chmod 0644 'mail/aliases'
+maybe chmod 0644 'mailcap'
+maybe chmod 0644 'make.conf.catalyst'
+maybe chmod 0644 'man.conf'
+maybe chmod 0755 'mbuffer.conf'
+maybe chmod 0755 'mc'
+maybe chmod 0755 'mc/edit.indent.rc'
+maybe chmod 0644 'mc/filehighlight.ini'
+maybe chmod 0644 'mc/mc.default.keymap'
+maybe chmod 0644 'mc/mc.emacs.keymap'
+maybe chmod 0644 'mc/mc.ext'
+maybe chmod 0644 'mc/mc.keymap'
+maybe chmod 0644 'mc/mc.menu'
+maybe chmod 0644 'mc/mc.menu.sr'
+maybe chmod 0644 'mc/mcedit.menu'
+maybe chmod 0644 'mc/sfs.ini'
+maybe chmod 0644 'mdadm.conf'
+maybe chmod 0755 'mercurial'
+maybe chmod 0755 'mercurial/hgrc.d'
+maybe chmod 0644 'mercurial/hgrc.d/cacerts.rc'
+maybe chmod 0644 'mime.types'
+maybe chmod 0644 'mke2fs.conf'
+maybe chmod 0644 'mlocate-cron.conf'
+maybe chmod 0755 'modprobe.d'
+maybe chmod 0644 'modprobe.d/aliases.conf'
+maybe chmod 0644 'modprobe.d/i386.conf'
+maybe chmod 0644 'motd'
+maybe chmod 0644 'motd.tail'
+maybe chmod 0755 'mysql'
+maybe chmod 0644 'mysql/my.cnf'
+maybe chmod 0644 'mysql/mysqlaccess.conf'
+maybe chmod 0644 'nail.rc'
+maybe chmod 0644 'nanorc'
+maybe chmod 0644 'networks'
+maybe chmod 0644 'nsswitch.conf'
+maybe chmod 0644 'ntp.conf'
+maybe chmod 0755 'openldap'
+maybe chmod 0600 'openldap/DB_CONFIG.example'
+maybe chmod 0644 'openldap/ldap.conf'
+maybe chmod 0644 'openldap/ldap.conf.default'
+maybe chmod 0755 'openldap/schema'
+maybe chmod 0444 'openldap/schema/README'
+maybe chmod 0444 'openldap/schema/collective.ldif'
+maybe chmod 0444 'openldap/schema/collective.schema'
+maybe chmod 0444 'openldap/schema/corba.ldif'
+maybe chmod 0444 'openldap/schema/corba.schema'
+maybe chmod 0444 'openldap/schema/core.ldif'
+maybe chmod 0444 'openldap/schema/core.schema'
+maybe chmod 0444 'openldap/schema/cosine.ldif'
+maybe chmod 0444 'openldap/schema/cosine.schema'
+maybe chmod 0444 'openldap/schema/duaconf.ldif'
+maybe chmod 0444 'openldap/schema/duaconf.schema'
+maybe chmod 0444 'openldap/schema/dyngroup.ldif'
+maybe chmod 0444 'openldap/schema/dyngroup.schema'
+maybe chmod 0444 'openldap/schema/inetorgperson.ldif'
+maybe chmod 0444 'openldap/schema/inetorgperson.schema'
+maybe chmod 0444 'openldap/schema/java.ldif'
+maybe chmod 0444 'openldap/schema/java.schema'
+maybe chmod 0444 'openldap/schema/misc.ldif'
+maybe chmod 0444 'openldap/schema/misc.schema'
+maybe chmod 0444 'openldap/schema/nis.ldif'
+maybe chmod 0444 'openldap/schema/nis.schema'
+maybe chmod 0444 'openldap/schema/openldap.ldif'
+maybe chmod 0444 'openldap/schema/openldap.schema'
+maybe chmod 0444 'openldap/schema/pmi.ldif'
+maybe chmod 0444 'openldap/schema/pmi.schema'
+maybe chmod 0444 'openldap/schema/ppolicy.ldif'
+maybe chmod 0444 'openldap/schema/ppolicy.schema'
+maybe chmod 0644 'openldap/schema/rfc2307bis.schema'
+maybe chgrp 'ldap' 'openldap/slapd.conf'
+maybe chmod 0640 'openldap/slapd.conf'
+maybe chgrp 'ldap' 'openldap/slapd.conf.default'
+maybe chmod 0640 'openldap/slapd.conf.default'
+maybe chmod 0600 'openldap/slapd.ldif'
+maybe chmod 0600 'openldap/slapd.ldif.default'
+maybe chmod 0755 'openldap/ssl'
+maybe chown 'ldap' 'openldap/ssl/ldap.crt'
+maybe chgrp 'ldap' 'openldap/ssl/ldap.crt'
+maybe chmod 0444 'openldap/ssl/ldap.crt'
+maybe chown 'ldap' 'openldap/ssl/ldap.csr'
+maybe chgrp 'ldap' 'openldap/ssl/ldap.csr'
+maybe chmod 0444 'openldap/ssl/ldap.csr'
+maybe chown 'ldap' 'openldap/ssl/ldap.key'
+maybe chgrp 'ldap' 'openldap/ssl/ldap.key'
+maybe chmod 0400 'openldap/ssl/ldap.key'
+maybe chown 'ldap' 'openldap/ssl/ldap.pem'
+maybe chgrp 'ldap' 'openldap/ssl/ldap.pem'
+maybe chmod 0400 'openldap/ssl/ldap.pem'
+maybe chmod 0644 'os-release'
+maybe chmod 0755 'pam.d'
+maybe chmod 0644 'pam.d/atd'
+maybe chmod 0644 'pam.d/chage'
+maybe chmod 0644 'pam.d/chfn'
+maybe chmod 0644 'pam.d/chgpasswd'
+maybe chmod 0644 'pam.d/chpasswd'
+maybe chmod 0644 'pam.d/chsh'
+maybe chmod 0644 'pam.d/crond'
+maybe chmod 0644 'pam.d/cvs'
+maybe chmod 0644 'pam.d/groupadd'
+maybe chmod 0644 'pam.d/groupdel'
+maybe chmod 0644 'pam.d/groupmems'
+maybe chmod 0644 'pam.d/groupmod'
+maybe chmod 0644 'pam.d/imap'
+maybe chmod 0644 'pam.d/login'
+maybe chmod 0644 'pam.d/newusers'
+maybe chmod 0644 'pam.d/other'
+maybe chmod 0644 'pam.d/passwd'
+maybe chmod 0644 'pam.d/pop'
+maybe chmod 0644 'pam.d/screen'
+maybe chmod 0644 'pam.d/shadow'
+maybe chmod 0644 'pam.d/sshd'
+maybe chmod 0644 'pam.d/start-stop-daemon'
+maybe chmod 0644 'pam.d/su'
+maybe chmod 0644 'pam.d/sudo'
+maybe chmod 0644 'pam.d/system-auth'
+maybe chmod 0644 'pam.d/system-local-login'
+maybe chmod 0644 'pam.d/system-login'
+maybe chmod 0644 'pam.d/system-remote-login'
+maybe chmod 0644 'pam.d/system-services'
+maybe chmod 0644 'pam.d/useradd'
+maybe chmod 0644 'pam.d/userdel'
+maybe chmod 0644 'pam.d/usermod'
+maybe chmod 0644 'passwd'
+maybe chmod 0600 'passwd-'
+maybe chmod 0644 'pb-datacenter.info'
+maybe chmod 0755 'portage'
+maybe chmod 0755 'portage/bin'
+maybe chmod 0755 'portage/bin/post_sync'
+maybe chmod 0644 'portage/make.conf'
+maybe chmod 0755 'portage/package.keywords'
+maybe chmod 0644 'portage/package.keywords/chef'
+maybe chmod 0644 'portage/package.keywords/common'
+maybe chmod 0644 'portage/package.keywords/pb'
+maybe chmod 0644 'portage/package.mask'
+maybe chmod 0644 'portage/package.use'
+maybe chmod 0755 'portage/postsync.d'
+maybe chmod 0644 'portage/postsync.d/q-reinitialize'
+maybe chmod 0755 'portage/repo.postsync.d'
+maybe chmod 0644 'portage/repo.postsync.d/example'
+maybe chmod 0755 'portage/repos.conf'
+maybe chmod 0644 'portage/repos.conf/gentoo.conf'
+maybe chmod 0755 'portage/savedconfig'
+maybe chmod 0755 'portage/savedconfig/sys-apps'
+maybe chmod 0644 'portage/savedconfig/sys-apps/busybox-1.19.3-r1'
+maybe chmod 0644 'portage/savedconfig/sys-apps/busybox-1.23.1-r1'
+maybe chmod 0755 'postgresql-9.4'
+maybe chmod 0644 'postgresql-9.4/psqlrc'
+maybe chmod 0644 'profile'
+maybe chmod 0755 'profile.d'
+maybe chmod 0644 'profile.d/.keep'
+maybe chmod 0644 'profile.env'
+maybe chmod 0755 'profitbricks'
+maybe chmod 0644 'profitbricks/andbd.conf'
+maybe chmod 0644 'profitbricks/andbd.conf.orig'
+maybe chmod 0644 'profitbricks/andbd_admin.log'
+maybe chmod 0644 'protocols'
+maybe chmod 0755 'qemu'
+maybe chmod 0644 'qemu/bridge.conf'
+maybe chmod 0644 'rc.conf'
+maybe chmod 0644 'resolv.conf'
+maybe chmod 0755 'revdep-rebuild'
+maybe chmod 0644 'revdep-rebuild/99revdep-rebuild'
+maybe chmod 0755 'rmt'
+maybe chmod 0644 'rpc'
+maybe chmod 0644 'rsyncd.conf'
+maybe chmod 0755 'runlevels'
+maybe chmod 0755 'runlevels/boot'
+maybe chmod 0755 'runlevels/default'
+maybe chmod 0755 'runlevels/shutdown'
+maybe chmod 0755 'runlevels/sysinit'
+maybe chmod 0755 'salt'
+maybe chmod 0644 'salt/cloud'
+maybe chmod 0644 'salt/cloud.profiles'
+maybe chmod 0644 'salt/cloud.providers'
+maybe chmod 0644 'salt/master'
+maybe chmod 0644 'salt/minion'
+maybe chmod 0644 'salt/minion_id'
+maybe chmod 0770 'salt/pki'
+maybe chmod 0700 'salt/pki/master'
+maybe chmod 0400 'salt/pki/master/master.pem'
+maybe chmod 0644 'salt/pki/master/master.pub'
+maybe chmod 0770 'salt/pki/master/minions'
+maybe chmod 0644 'salt/pki/master/minions/fra-ftp-test.dc3.de.profitbricks.net'
+maybe chmod 0644 'salt/pki/master/minions/pserver1502.dc2.us.profitbricks.net'
+maybe chmod 0644 'salt/pki/master/minions/storage1501.dc2.us.profitbricks.net'
+maybe chmod 0644 'salt/pki/master/minions/storage1601.dc2.us.profitbricks.net'
+maybe chmod 0644 'salt/pki/master/minions/storage1604.dc2.us.profitbricks.net'
+maybe chmod 0755 'salt/pki/master/minions_autosign'
+maybe chmod 0755 'salt/pki/master/minions_denied'
+maybe chmod 0770 'salt/pki/master/minions_pre'
+maybe chmod 0770 'salt/pki/master/minions_rejected'
+maybe chmod 0700 'salt/pki/minion'
+maybe chmod 0644 'salt/roster'
+maybe chmod 0644 'sandbox.conf'
+maybe chmod 0755 'sandbox.d'
+maybe chmod 0644 'sandbox.d/00default'
+maybe chmod 0644 'sandbox.d/10openssl'
+maybe chmod 0644 'screenrc'
+maybe chmod 0600 'securetty'
+maybe chmod 0755 'security'
+maybe chmod 0644 'security/access.conf'
+maybe chmod 0644 'security/capability.conf'
+maybe chmod 0644 'security/group.conf'
+maybe chmod 0644 'security/limits.conf'
+maybe chmod 0755 'security/limits.d'
+maybe chmod 0644 'security/namespace.conf'
+maybe chmod 0755 'security/namespace.d'
+maybe chmod 0755 'security/namespace.init'
+maybe chmod 0644 'security/pam_env.conf'
+maybe chmod 0644 'security/time.conf'
+maybe chmod 0644 'services'
+maybe chmod 0755 'sgml'
+maybe chmod 0644 'sgml/catalog'
+maybe chmod 0644 'sgml/openjade-1.3.2.cat'
+maybe chmod 0644 'sgml/sgml-docbook.cat'
+maybe chmod 0644 'sgml/sgml-ent.cat'
+maybe chmod 0644 'sgml/sgml.conf'
+maybe chmod 0644 'sgml/xml-docbook-4.1.2.cat'
+maybe chmod 0644 'sgml/xml-docbook-4.2.cat'
+maybe chmod 0644 'sgml/xml-docbook-4.4.cat'
+maybe chmod 0640 'shadow'
+maybe chmod 0600 'shadow-'
+maybe chmod 0644 'shells'
+maybe chmod 0755 'skel'
+maybe chmod 0644 'skel/.bash_logout'
+maybe chmod 0644 'skel/.bash_profile'
+maybe chmod 0644 'skel/.bashrc'
+maybe chmod 0700 'skel/.ssh'
+maybe chmod 0644 'slsh.rc'
+maybe chmod 0755 'ssh'
+maybe chmod 0644 'ssh/moduli'
+maybe chmod 0644 'ssh/ssh_config'
+maybe chmod 0600 'ssh/ssh_host_dsa_key'
+maybe chmod 0644 'ssh/ssh_host_dsa_key.pub'
+maybe chmod 0600 'ssh/ssh_host_ecdsa_key'
+maybe chmod 0644 'ssh/ssh_host_ecdsa_key.pub'
+maybe chmod 0600 'ssh/ssh_host_ed25519_key'
+maybe chmod 0644 'ssh/ssh_host_ed25519_key.pub'
+maybe chmod 0600 'ssh/ssh_host_key'
+maybe chmod 0644 'ssh/ssh_host_key.pub'
+maybe chmod 0600 'ssh/ssh_host_rsa_key'
+maybe chmod 0644 'ssh/ssh_host_rsa_key.pub'
+maybe chmod 0600 'ssh/sshd_config'
+maybe chmod 0755 'ssl'
+maybe chmod 0755 'ssl/certs'
+maybe chmod 0644 'ssl/certs/README.RootCerts'
+maybe chmod 0644 'ssl/certs/ca-certificates.crt'
+maybe chmod 0755 'ssl/misc'
+maybe chmod 0755 'ssl/misc/CA.pl'
+maybe chmod 0755 'ssl/misc/CA.sh'
+maybe chmod 0755 'ssl/misc/c_hash'
+maybe chmod 0755 'ssl/misc/c_info'
+maybe chmod 0755 'ssl/misc/c_issuer'
+maybe chmod 0755 'ssl/misc/c_name'
+maybe chmod 0755 'ssl/misc/tsget'
+maybe chmod 0644 'ssl/openssl.cnf'
+maybe chmod 0700 'ssl/private'
+maybe chmod 0644 'ssl/private/.keep_dev-libs_openssl-0'
+maybe chmod 0755 'ssmtp'
+maybe chmod 0644 'ssmtp/revaliases'
+maybe chgrp 'ssmtp' 'ssmtp/ssmtp.conf'
+maybe chmod 0640 'ssmtp/ssmtp.conf'
+maybe chmod 0440 'sudoers'
+maybe chmod 0750 'sudoers.d'
+maybe chmod 0440 'sudoers.d/pbadmin-usb-gw'
+maybe chmod 0644 'sysctl.conf'
+maybe chmod 0755 'sysctl.d'
+maybe chmod 0644 'sysctl.d/README'
+maybe chmod 0755 'syslog-ng'
+maybe chmod 0755 'syslog-ng/patterndb.d'
+maybe chmod 0644 'syslog-ng/patterndb.d/.keep_app-admin_syslog-ng-0'
+maybe chmod 0644 'syslog-ng/scl.conf'
+maybe chmod 0644 'syslog-ng/syslog-ng.conf'
+maybe chmod 0644 'sysstat'
+maybe chmod 0644 'sysstat.ioconf'
+maybe chmod 0755 'systemd'
+maybe chmod 0755 'systemd/network'
+maybe chmod 0755 'systemd/system'
+maybe chmod 0644 'systemd/system.conf'
+maybe chmod 0644 'systemd/system/lvm.service'
+maybe chmod 0755 'systemd/system/multi-user.target.wants'
+maybe chmod 0644 'systemd/system/network.service'
+maybe chmod 0755 'systemd/system/network.target.wants'
+maybe chmod 0755 'systemd/system/ntpdate.service.d'
+maybe chmod 0644 'systemd/system/ntpdate.service.d/00gentoo.conf'
+maybe chmod 0755 'systemd/system/slapd.service.d'
+maybe chmod 0644 'systemd/system/slapd.service.d/00gentoo.conf'
+maybe chmod 0755 'systemd/system/sntp.service.d'
+maybe chmod 0644 'systemd/system/sntp.service.d/00gentoo.conf'
+maybe chmod 0755 'systemd/system/sysinit.target.wants'
+maybe chmod 0644 'systemd/system/vixie-cron.service'
+maybe chmod 0644 'systemd/user.conf'
+maybe chmod 0755 'terminfo'
+maybe chmod 0755 'terminfo/a'
+maybe chmod 0644 'terminfo/a/ansi'
+maybe chmod 0755 'terminfo/d'
+maybe chmod 0644 'terminfo/d/dumb'
+maybe chmod 0755 'terminfo/l'
+maybe chmod 0644 'terminfo/l/linux'
+maybe chmod 0755 'terminfo/r'
+maybe chmod 0644 'terminfo/r/rxvt'
+maybe chmod 0644 'terminfo/r/rxvt-unicode'
+maybe chmod 0755 'terminfo/s'
+maybe chmod 0644 'terminfo/s/screen'
+maybe chmod 0644 'terminfo/s/sun'
+maybe chmod 0755 'terminfo/v'
+maybe chmod 0644 'terminfo/v/vt100'
+maybe chmod 0644 'terminfo/v/vt102'
+maybe chmod 0644 'terminfo/v/vt220'
+maybe chmod 0644 'terminfo/v/vt52'
+maybe chmod 0755 'terminfo/x'
+maybe chmod 0644 'terminfo/x/xterm'
+maybe chmod 0644 'terminfo/x/xterm-color'
+maybe chmod 0644 'terminfo/x/xterm-xfree86'
+maybe chmod 0755 'tmpfiles.d'
+maybe chmod 0644 'tmpfiles.d/screen.conf'
+maybe chmod 0755 'udev'
+maybe chmod 0444 'udev/hwdb.bin'
+maybe chmod 0755 'udev/hwdb.d'
+maybe chmod 0755 'udev/rules.d'
+maybe chmod 0644 'udev/rules.d/70-persistent-cd.rules'
+maybe chmod 0644 'udev/rules.d/70-persistent-net.rules'
+maybe chmod 0644 'udev/rules.d/80-net-name-slot.rules'
+maybe chmod 0644 'udev/rules.d/80-net-setup-link.rules'
+maybe chmod 0644 'udev/udev.conf'
+maybe chmod 0644 'udhcpd.conf'
+maybe chown 'unbound' 'unbound'
+maybe chmod 0755 'unbound'
+maybe chmod 0644 'unbound/unbound.conf'
+maybe chmod 0644 'updatedb.conf'
+maybe chmod 0644 'vconsole.conf'
+maybe chmod 0755 'vim'
+maybe chmod 0644 'vim/vimrc'
+maybe chmod 0644 'vim/vimrc.local'
+maybe chmod 0644 'wgetrc'
+maybe chmod 0644 'whois.conf'
+maybe chmod 0755 'xdg'
+maybe chmod 0755 'xdg/autostart'
+maybe chmod 0644 'xdg/autostart/vboxclient.desktop'
+maybe chmod 0755 'xinetd.d'
+maybe chmod 0644 'xinetd.d/rsyncd'
+maybe chmod 0644 'xinetd.d/svnserve'
+maybe chmod 0755 'xml'
+maybe chmod 0644 'xml/.keep'
+maybe chmod 0644 'xml/.keep_app-text_docbook-xml-dtd-4.1.2'
+maybe chmod 0644 'xml/.keep_app-text_docbook-xml-dtd-4.2'
+maybe chmod 0644 'xml/.keep_app-text_docbook-xml-dtd-4.4'
+maybe chmod 0644 'xml/catalog'
+maybe chmod 0644 'xml/docbook'
index 6f3c373c44c06576df4729710c686be423d449ad..0986781f7501cae476487815958e75b8d64cea64 100644 (file)
@@ -1,13 +1,11 @@
 # begin section managed by etckeeper (do not edit this section by hand)
 
 # new and old versions of conffiles, stored by emerge
-*.ebuild*
+*._cfg*
 
 # old versions of files
 *.old
 
-motd
-
 # mount(8) records system state here, no need to store these
 blkid.tab
 blkid.tab.old
@@ -23,7 +21,6 @@ mtab.fuselock
 network/run
 adjtime
 lvm/cache
-lvm/backup
 lvm/archive
 X11/xdm/authdir/authfiles/*
 ntp.conf.dhcp
@@ -40,6 +37,9 @@ sv/*/log/supervise/*
 *.pyo
 init.d/.depend.*
 openvpn/openvpn-status.log
+cups/subscriptions.conf
+cups/subscriptions.conf.O
+fake-hwclock.data
 
 # editor temp files
 *~
diff --git a/etckeeper/commit.d/10vcs-test b/etckeeper/commit.d/10vcs-test
new file mode 100755 (executable)
index 0000000..e33d734
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+set -e
+       
+not_enabled_warning() {
+       echo "etckeeper warning: etckeeper is not yet enabled for $(pwd)" >&2
+       echo "etckeeper warning: run etckeeper init to enable it" >&2
+}
+
+if [ "$VCS" = git ] && [ ! -d .git ]; then
+       not_enabled_warning
+elif [ "$VCS" = hg ] && [ ! -d .hg ]; then
+       not_enabled_warning
+elif [ "$VCS" = bzr ] && [ ! -d .bzr ]; then
+       not_enabled_warning
+elif [ "$VCS" = darcs ] && [ ! -d _darcs ]; then
+       not_enabled_warning
+fi
diff --git a/etckeeper/commit.d/30bzr-add b/etckeeper/commit.d/30bzr-add
new file mode 100755 (executable)
index 0000000..3e7e95d
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+set -e
+
+if [ "$VCS" = bzr ] && [ -d .bzr ]; then
+       if ! bzr add -q .; then
+               echo "etckeeper warning: bzr add failed" >&2
+       fi
+fi
diff --git a/etckeeper/commit.d/30darcs-add b/etckeeper/commit.d/30darcs-add
new file mode 100755 (executable)
index 0000000..98be4bf
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+set -e
+
+if [ "$VCS" = darcs ] && [ -d _darcs ]; then
+       rc=0
+       res=$( darcs add -qr . 2>&1 ) || rc=$?
+       if test $rc -ne 0; then
+               if ! test $rc -eq 2 -a "${res%No files were added}" != "$res"; then
+                       printf "%s" "$res"
+                       echo "etckeeper warning: darcs add failed" >&2
+               fi
+       fi
+       unset rc res
+fi
diff --git a/etckeeper/commit.d/30git-add b/etckeeper/commit.d/30git-add
new file mode 100755 (executable)
index 0000000..b08b583
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+set -e
+
+if [ "$VCS" = git ] && [ -d .git ]; then
+       if ! git add --all; then
+               echo "etckeeper warning: git add --all" >&2
+       fi
+fi
diff --git a/etckeeper/commit.d/30hg-addremove b/etckeeper/commit.d/30hg-addremove
new file mode 100755 (executable)
index 0000000..1b999bb
--- /dev/null
@@ -0,0 +1,8 @@
+#!/bin/sh
+set -e
+
+if [ "$VCS" = hg ] && [ -d .hg ]; then
+       if ! hg addremove .; then
+               echo "etckeeper warning: hg addremove failed" >&2
+       fi
+fi
diff --git a/etckeeper/commit.d/50vcs-commit b/etckeeper/commit.d/50vcs-commit
new file mode 100755 (executable)
index 0000000..7c6173f
--- /dev/null
@@ -0,0 +1,113 @@
+#!/bin/sh
+set -e
+
+cleanup () {
+       if [ -n "$logfile" ]; then
+               rm -f "$logfile"
+       fi
+}
+if [ -n "$1" ]; then
+       trap cleanup EXIT
+       logfile="$(mktemp -t etckeeper-$VCS.XXXXXXXXXX)"
+       if [ "x$1" = "x--stdin" ]; then
+               cat > "$logfile"
+       else
+               if [ "x$1" = "x-m" ]; then
+                       shift 1
+               fi
+               echo "$1" > "$logfile"
+       fi
+else
+       logfile=""
+fi
+
+hostname=`hostname`
+hostname="${hostname%%.*}"
+dnsdomainname=`dnsdomainname 2>/dev/null || true`
+if [ -n "$dnsdomainname" ]; then
+       hostname="$hostname.$dnsdomainname"
+fi
+
+USER=
+if [ -n "$SUDO_USER" ]; then
+       USER="$SUDO_USER"
+else
+       # try to check tty ownership, in case user su'd to root
+       TTY="$(tty 2>/dev/null || true)"
+       if [ -n "$TTY" ] && [ -c "$TTY" ]; then
+               USER="$(find "$TTY" -printf "%u")"
+       fi
+fi
+
+if [ "$VCS" = git ] && [ -d .git ]; then
+       if [ -n "$USER" ]; then
+               # Use user.name and user.email from the gitconfig belonging
+               # to the user who became root.
+               USER_HOME="$(perl -e 'print ((getpwnam(shift()))[7])' "$USER")"
+               if [ -n "$USER_HOME" ] && [ -e "$USER_HOME/.gitconfig" ]; then
+                       if [ -z "$GIT_AUTHOR_NAME" ]; then
+                               GIT_AUTHOR_NAME="$(git config -f "$USER_HOME/.gitconfig" user.name)" || true
+                               export GIT_AUTHOR_NAME
+                       fi
+                       if [ -z "$GIT_AUTHOR_EMAIL" ]; then
+                               GIT_AUTHOR_EMAIL="$(git config -f "$USER_HOME/.gitconfig" user.email)" || true
+                               export GIT_AUTHOR_EMAIL
+                       fi
+               fi
+               if [ -z "$GIT_COMMITTER_EMAIL" ]; then
+                       GIT_COMMITER_EMAIL="$(git config --global user.email)" || true
+                       export GIT_COMMITER_EMAIL
+               fi
+
+               if [ -z "$GIT_AUTHOR_NAME" ]; then
+                       GIT_AUTHOR_NAME="$USER"
+                       export GIT_AUTHOR_NAME
+               fi
+               if [ -z "$GIT_AUTHOR_EMAIL" ]; then
+                       GIT_AUTHOR_EMAIL="$USER@$hostname"
+                       export GIT_AUTHOR_EMAIL
+               fi
+               if [ -z "$GIT_COMMITTER_EMAIL" ]; then
+                       GIT_COMMITTER_EMAIL=`whoami`"@$hostname"
+                       export GIT_COMMITTER_EMAIL
+               fi
+       fi
+       if [ -n "$logfile" ]; then
+               git commit $GIT_COMMIT_OPTIONS -F "$logfile"
+       else
+               git commit $GIT_COMMIT_OPTIONS
+       fi
+elif [ "$VCS" = hg ] && [ -d .hg ]; then
+       if [ -n "$USER" ]; then
+               LOGNAME="$USER"
+               export LOGNAME
+       fi
+       if [ -z "$HGUSER" ]; then
+               HGUSER="$USER@$hostname"
+               export HGUSER
+       fi
+       if [ -n "$logfile" ]; then
+               hg commit $HG_COMMIT_OPTIONS -l "$logfile"
+       else
+               hg commit $HG_COMMIT_OPTIONS
+       fi
+elif [ "$VCS" = bzr ] && [ -d .bzr ]; then
+       if [ -z "$EMAIL" ] && [ -n "$USER" ]; then
+               EMAIL="$USER <$USER@$hostname>"
+               export EMAIL
+       fi
+       if [ -n "$logfile" ]; then
+               bzr commit $BZR_COMMIT_OPTIONS -F "$logfile"
+       else
+               bzr commit $BZR_COMMIT_OPTIONS
+       fi
+elif [ "$VCS" = darcs ] && [ -d _darcs ]; then
+       if [ -z "$USER" ]; then
+               USER=root
+       fi
+       if [ -n "$logfile" ]; then
+               darcs record --author="$USER" $DARCS_COMMIT_OPTIONS --logfile="$logfile"
+       else
+               darcs record --author="$USER" $DARCS_COMMIT_OPTIONS
+       fi
+fi
diff --git a/etckeeper/commit.d/99push b/etckeeper/commit.d/99push
new file mode 100755 (executable)
index 0000000..5aa8d21
--- /dev/null
@@ -0,0 +1,10 @@
+#!/bin/sh
+if [ -n "$PUSH_REMOTE" ]; then
+       if [ "$VCS" = git ] && [ -d .git ]; then
+               git push "$PUSH_REMOTE" master || true
+       elif [ "$VCS" = hg ] && [ -d .hg ]; then
+               hg push "$PUSH_REMOTE" || true
+       else
+               echo "PUSH_REMOTE not yet supported for $VCS" >&2
+       fi
+fi
diff --git a/etckeeper/commit.d/README b/etckeeper/commit.d/README
new file mode 100644 (file)
index 0000000..25d0d45
--- /dev/null
@@ -0,0 +1,3 @@
+Files in this directory are run when there might be changes to commit.
+(Before and after packages are installed, upgraded, etc.)
+They should commit changes and new files in /etc to repository.
diff --git a/etckeeper/etckeeper.conf b/etckeeper/etckeeper.conf
new file mode 100644 (file)
index 0000000..c1da4bf
--- /dev/null
@@ -0,0 +1,44 @@
+# The VCS to use.
+#VCS="hg"
+VCS="git"
+#VCS="bzr"
+#VCS="darcs"
+
+# Options passed to git commit when run by etckeeper.
+GIT_COMMIT_OPTIONS=""
+
+# Options passed to hg commit when run by etckeeper.
+HG_COMMIT_OPTIONS=""
+
+# Options passed to bzr commit when run by etckeeper.
+BZR_COMMIT_OPTIONS=""
+
+# Options passed to darcs record when run by etckeeper.
+DARCS_COMMIT_OPTIONS="-a"
+
+# Uncomment to avoid etckeeper committing existing changes
+# to /etc automatically once per day.
+#AVOID_DAILY_AUTOCOMMITS=1
+
+# Uncomment the following to avoid special file warning
+# (the option is enabled automatically by cronjob regardless).
+#AVOID_SPECIAL_FILE_WARNING=1
+
+# Uncomment to avoid etckeeper committing existing changes to 
+# /etc before installation. It will cancel the installation,
+# so you can commit the changes by hand.
+#AVOID_COMMIT_BEFORE_INSTALL=1
+
+# The high-level package manager that's being used.
+# (apt, pacman-g2, yum, zypper etc)
+# For gentoo this is emerge
+HIGHLEVEL_PACKAGE_MANAGER=emerge
+
+# The low-level package manager that's being used.
+# (dpkg, rpm, pacman, pacman-g2, etc)
+# For gentoo this is qlist
+LOWLEVEL_PACKAGE_MANAGER=qlist
+
+# To push each commit to a remote, put the name of the remote here.
+# (eg, "origin" for git).
+PUSH_REMOTE=""
diff --git a/etckeeper/init.d/10restore-metadata b/etckeeper/init.d/10restore-metadata
new file mode 100755 (executable)
index 0000000..9c2bf65
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+set -e
+
+# Note that metastore doesn't check that the .metastore file only changes
+# perms of files in the current directory. It's ok to trust the .metastore
+# file won't do anything shady, because, as documented, etckeeper-init
+# should only be run on repositories you trust.
+if [ -e .metadata ]; then
+       if which metastore >/dev/null; then
+               metastore --apply --mtime
+       else
+               echo "etckeeper warning: legacy .metastore file is present but metastore is not installed" >&2
+       fi
+fi
diff --git a/etckeeper/init.d/20restore-etckeeper b/etckeeper/init.d/20restore-etckeeper
new file mode 100755 (executable)
index 0000000..0485e63
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+set -e
+
+# Used by .etckeeper to run a command if the file it acts on
+# (the last parameter) exists.
+maybe () {
+       command="$1"
+       shift 1
+
+       if eval [ -e "\"\$$#\"" ]; then
+               "$command" "$@"
+       fi
+}
+
+# Yes, this runs code from the repository. As documented, etckeeper-init
+# should only be run on repositories you trust.
+if [ -e .etckeeper ]; then
+       . ./.etckeeper
+else
+       touch .etckeeper
+       chmod 600 .etckeeper
+fi
diff --git a/etckeeper/init.d/40vcs-init b/etckeeper/init.d/40vcs-init
new file mode 100755 (executable)
index 0000000..3c7a3bb
--- /dev/null
@@ -0,0 +1,17 @@
+#!/bin/sh
+set -e
+
+if [ "$VCS" = git ] && [ ! -e .git ]; then
+       git init
+       echo "$(hostname) /etc repository" > .git/description
+elif [ "$VCS" = hg ] && [ ! -e .hg ]; then
+       hg init
+       echo  "[web]" > .hg/hgrc
+       echo  "description = $(hostname) /etc repository" >> .hg/hgrc
+elif [ "$VCS" = bzr ] && [ ! -e .bzr ]; then
+       bzr init
+       bzr nick "$(hostname) /etc repository"
+elif [ "$VCS" = darcs ] && [ ! -e _darcs ]; then
+       darcs initialize
+       echo "$(hostname) /etc repository" > _darcs/prefs/motd
+fi
diff --git a/etckeeper/init.d/50vcs-ignore b/etckeeper/init.d/50vcs-ignore
new file mode 100755 (executable)
index 0000000..33d79d3
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+set -e
+
+etckeeper update-ignore -a || true
diff --git a/etckeeper/init.d/50vcs-perm b/etckeeper/init.d/50vcs-perm
new file mode 100755 (executable)
index 0000000..4dd080b
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+set -e
+
+if [ "$VCS" = git ]; then
+       chmod 700 .git
+elif [ "$VCS" = hg ]; then
+       chmod 700 .hg
+elif [ "$VCS" = bzr ]; then
+       chmod 700 .bzr
+elif [ "$VCS" = darcs ]; then
+       chmod 700 _darcs
+fi
diff --git a/etckeeper/init.d/50vcs-pre-commit-hook b/etckeeper/init.d/50vcs-pre-commit-hook
new file mode 100755 (executable)
index 0000000..6045981
--- /dev/null
@@ -0,0 +1,49 @@
+#!/bin/sh
+set -e
+
+case "$VCS" in
+       git)
+               if [ -x .git/hooks/pre-commit ]; then
+                       if ! grep -q "etckeeper pre-commit" .git/hooks/pre-commit; then
+                               echo "etckeeper warning: .git/hooks/pre-commit needs to be manually modified to run: etckeeper pre-commit -d `pwd`" >&2
+                       fi
+               else
+                       cat >.git/hooks/pre-commit <<EOF
+#!/bin/sh
+# pre-commit hook for etckeeper, to store metadata and do sanity checks
+set -e
+etckeeper pre-commit -d `pwd`
+EOF
+               chmod +x .git/hooks/pre-commit
+               fi
+       ;;
+       hg)
+               if [ -e .hg/hgrc ] && grep "^\[hooks\]" .hg/hgrc; then
+                       if ! grep "^pre-commit" .hg/hgrc | grep -q "etckeeper pre-commit"; then
+                               echo "etckeeper warning: [hooks] section in .hg/hgrc needs to be manually modified to contain: pre-commit = etckeeper pre-commit -d `pwd`" >&2
+                       fi
+               else
+                       touch .hg/hgrc
+                       cat >>.hg/hgrc <<EOF
+[hooks]
+# pre-commit hook for etckeeper, to store metadata and do sanity checks
+pre-commit = etckeeper pre-commit -d `pwd`
+EOF
+               fi
+       ;;
+       darcs)
+               if [ -e _darcs/prefs/defaults ]; then
+                       if ! ( grep -q "record prehook etckeeper pre-commit" _darcs/prefs/defaults &&
+                               grep -q "whatsnew prehook etckeeper pre-commit" _darcs/prefs/defaults ); then
+                               echo "etckeeper warning: _darcs/prefs/defaults needs to be manually modified to run: etckeeper pre-commit -d `pwd`" >&2
+                       fi
+               else
+                       cat >_darcs/prefs/defaults <<EOF
+record prehook etckeeper pre-commit -d `pwd`
+record run-prehook
+whatsnew prehook etckeeper pre-commit -d `pwd`
+whatsnew run-prehook
+EOF
+               fi
+       ;;
+esac
diff --git a/etckeeper/init.d/60darcs-deleted-symlinks b/etckeeper/init.d/60darcs-deleted-symlinks
new file mode 100755 (executable)
index 0000000..9c34e95
--- /dev/null
@@ -0,0 +1,48 @@
+#!/bin/sh
+set -e
+
+filter_ignore() {
+       if [ "$VCS" = darcs ]; then
+               ignorefile=.darcsignore
+       fi
+
+       if [ "$VCS" = darcs ] && [ -e "$ignorefile" ]; then
+               # Spaces embedded into patterns would break it.
+               # But really, why would anyone want to use ' ' instead of '\s' ?
+               #patterns=$( grep -v '^[[:space:]]*\(#\|$\)' "$ignorefile" | xargs -n 1 printf " -e %s" )
+               #grep -Ev $patterns
+               #unset patterns
+               # Alternative using a temp file
+               patternsfile="$( mktemp -t etckeeper-$VCS.XXXXXXXXXX )"
+               grep -v '^[[:space:]]*\(#\|$\)' "$ignorefile" > "$patternsfile" || true
+               grep -Evf "$patternsfile"
+               rm -f "$patternsfile"
+               unset patternsfile
+       else
+               cat -
+       fi
+}
+
+
+if [ "$VCS" = darcs ];then
+       NOVCS='. -path ./.git -prune -o -path ./.bzr -prune -o -path ./.hg -prune -o -path ./_darcs -prune -o'
+
+       # We assume that if .etckeeper is empty this is the first run
+       if [ -s .etckeeper ]; then
+               linksindex="$( mktemp -t etckeeper-$VCS.XXXXXXXXXX )"
+               grep '^ln -s' .etckeeper | while IFS="'" read n n n link n; do
+                       printf "%s\n" "$link" >> "$linksindex"
+               done
+
+               # Warn about symbolic links that shouldn't exist
+               if links=$( find $NOVCS -type l -print | filter_ignore | grep -vFf "$linksindex" ); then
+                       printf "%s\n%s\n" \
+                               "The following symbolic links should not exist:" \
+                               "$links" >&2
+               fi
+
+               rm -f "$linksindex"
+               unset links linksindex
+       fi
+
+fi
diff --git a/etckeeper/init.d/70vcs-add b/etckeeper/init.d/70vcs-add
new file mode 100755 (executable)
index 0000000..9a9ec45
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh
+set -e
+
+if [ "$VCS" = git ]; then
+       if ! git add .; then
+               echo "etckeeper warning: git add failed" >&2
+       fi
+elif [ "$VCS" = hg ]; then
+       if ! hg add .; then
+               echo "etckeeper warning: hg add failed" >&2
+       fi
+elif [ "$VCS" = bzr ]; then
+       if ! bzr add .; then
+               echo "etckeeper warning: bzr add failed" >&2
+       fi
+elif [ "$VCS" = darcs ]; then
+       # Don't warn if all the files were already added.
+       rc=0
+       res=$( darcs add -qr . 2>&1 ) || rc=$?
+       if test $rc -ne 0; then
+               if ! test $rc -eq 2 -a "${res%No files were added}" != "$res"; then
+                       printf "%s" "$res"
+                       echo "etckeeper warning: darcs add failed" >&2
+               fi
+       fi
+       unset rc res
+fi
diff --git a/etckeeper/init.d/README b/etckeeper/init.d/README
new file mode 100644 (file)
index 0000000..90aec67
--- /dev/null
@@ -0,0 +1,13 @@
+Executable files in this directory are run to initialise the working directory
+for use by etckeeper. If the working directory is not already in version
+control, that includes setting up the version control, but not actually
+committing anything. If the working directory is in version control,
+it includes applying stored metadata to the checked out files in the
+working directory.
+
+Please be careful to *never* overwrite existing files/directories
+in the working directory (or use absolute care when doing so). If a file
+you need to write already exists, check if its contents are sane, and 
+if not, emit a warning on stderr.
+
+If initialisation fails, exit nonzero and no later files will be run.
diff --git a/etckeeper/list-installed.d/50list-installed b/etckeeper/list-installed.d/50list-installed
new file mode 100755 (executable)
index 0000000..1dcfda1
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+# Output to stdout a *sorted* list of all currently installed 
+# (or removed but still with config-files) packages, in the
+# format "package version\n" (or something similar).
+if [ "$LOWLEVEL_PACKAGE_MANAGER" = dpkg ]; then
+       dpkg-query -W -f '${Status}\t${Package} ${Version}\n' | \
+               egrep '(ok installed|ok config-files)' | cut -f2,3
+elif [ "$LOWLEVEL_PACKAGE_MANAGER" = rpm ]; then
+       rpm -qa --qf "%|epoch?{%{epoch}}:{0}|:%{name}-%{version}-%{release}.%{arch}\n" | sort
+elif [ "$LOWLEVEL_PACKAGE_MANAGER" = pacman ]; then
+       pacman -Q
+elif [ "$LOWLEVEL_PACKAGE_MANAGER" = qlist ]; then
+       qlist -ICv
+fi
diff --git a/etckeeper/post-install.d/50vcs-commit b/etckeeper/post-install.d/50vcs-commit
new file mode 100755 (executable)
index 0000000..7710c4a
--- /dev/null
@@ -0,0 +1,23 @@
+#!/bin/sh
+set -e
+               
+pl="/var/cache/etckeeper/packagelist"
+
+if etckeeper unclean; then
+       message="committing changes in /etc after $HIGHLEVEL_PACKAGE_MANAGER run"
+
+       if [ -e $pl.pre-install ]; then
+               (
+                       echo "$message"
+                       echo
+                       echo "Package changes:"
+                       etckeeper list-installed | diff -U0 $pl.pre-install - | tail -n+4 | egrep '^[-+]' || true
+               ) | etckeeper commit --stdin
+       else
+               etckeeper commit "$(printf "$message")"
+       fi
+fi
+       
+if [ -e $pl.pre-install ]; then
+       rm -f $pl.pre-install
+fi
diff --git a/etckeeper/post-install.d/README b/etckeeper/post-install.d/README
new file mode 100644 (file)
index 0000000..62f4f9c
--- /dev/null
@@ -0,0 +1,2 @@
+Files in this directory are run after packages are installed, upgraded, etc.
+They should commit changes and new files in /etc to repository.
diff --git a/etckeeper/pre-commit.d/20warn-problem-files b/etckeeper/pre-commit.d/20warn-problem-files
new file mode 100755 (executable)
index 0000000..f7c7580
--- /dev/null
@@ -0,0 +1,30 @@
+#!/bin/sh
+set -e
+
+exclude_internal () {
+       egrep -v '(^|/)(.git|.hg|.bzr|_darcs)/'
+}
+
+if [ "$VCS" = bzr ] || [ "$VCS" = darcs ]; then
+       special=$(find . -not -type d -not -type f -not -type l | exclude_internal) || true
+       hardlinks=$(find . -type f -not -links 1 | exclude_internal ) || true
+elif [ "$VCS" = hg ]; then
+       special=$(find . -not -type d -not -type f -not -type l | exclude_internal) || true
+       hardlinks=$(find . -type f -not -links 1 -exec hg status {} \; | exclude_internal ) || true
+elif [ "$VCS" = git ]; then
+       special=$(find . -not -type d -not -type f -not -type l -exec git ls-files --exclude-standard --cached --others {} \; | exclude_internal) || true
+       hardlinks=$(find . -type f -not -links 1 -exec git ls-files --exclude-standard --cached --others {} \; | exclude_internal) || true
+else
+       special=""
+fi
+       
+if [ -n "$special" ] && [ -z "$AVOID_SPECIAL_FILE_WARNING" ]; then
+       echo "etckeeper warning: special files could cause problems with $VCS:" >&2
+       echo "$special" >&2
+fi
+if [ -n "$hardlinks" ] && [ -z "$AVOID_SPECIAL_FILE_WARNING" ]; then
+       echo "etckeeper warning: hardlinked files could cause problems with $VCS:" >&2
+       echo "$hardlinks" >&2
+fi
+
+true
diff --git a/etckeeper/pre-commit.d/30store-metadata b/etckeeper/pre-commit.d/30store-metadata
new file mode 100755 (executable)
index 0000000..9e2792f
--- /dev/null
@@ -0,0 +1,153 @@
+#!/bin/sh
+set -e
+
+# Filters out UNKNOWN users and groups, prints a warning on stderr.
+filter_unknown() {
+       CMD=$1
+       while read line; do
+               # if the first n chars of $line equal "$CMD UNKNOWN "...
+               if [ "$(printf %.$((9+${#CMD}))s "$line")" = "$CMD UNKNOWN " ]; then
+                       echo Bad "$2" for "$line" >&2
+               else
+                       echo "$line"
+               fi
+       done
+}
+
+filter_ignore() {
+       case "$VCS" in
+               darcs) ignorefile=.darcsignore ;;
+               git)   ignorefile=.gitignore ;;
+       esac
+
+       if [ -n "$ignorefile" ] && [ -e "$ignorefile" ]; then
+               listfile="$( mktemp -t etckeeper-$VCS.XXXXXXXXXX )"
+               case "$VCS" in
+                       darcs)
+                               grep -v '^[[:space:]]*\(#\|$\)' "$ignorefile" > "$listfile" || true
+                               grep -Evf "$listfile"
+                               ;;
+                       git)
+                               git ls-files --others --ignore --exclude-standard --directory > "$listfile" || true
+                               sed 's/^\.\///' | grep -xFvf "$listfile"
+                               ;;
+               esac
+               rm -f "$listfile"
+               unset listfile
+       else
+               cat -
+       fi
+}
+
+shellquote() {
+       # Single quotes text, escaping existing single quotes.
+       sed -e "s/'/'\"'\"'/g" -e "s/^/'/" -e "s/$/'/"
+}
+
+generate_metadata() {
+       # This function generates the script commands to fix any file
+       # ownerships that aren't owner=root, group=root, as well as to 
+       # store the permissions of files.
+       # The script is produced on stdout.  Errors go to stderr.
+       # 
+       # The script can use a 'maybe' function, which only runs a command
+       # if the file in its last argument exists.
+
+       # We want files in the directory containing VCS data
+       # but we want find to ignore the VCS files themselves.
+       # 
+       # (Note that when using this, the find expression must end with 
+       # -print or -exec, else the excluded directories will actually be
+       # printed!)
+       NOVCS='. -path ./.git -prune -o -path ./.bzr -prune -o -path ./.hg -prune -o -path ./_darcs -prune -o'
+
+       # Keep the sort order the same at all times.
+       LC_COLLATE=C
+       export LC_COLLATE
+
+       if [ "$VCS" = git ] || [ "$VCS" = hg ]; then
+               # These version control systems do not track directories,
+               # so empty directories must be stored specially.
+               find $NOVCS -type d -empty -print |
+                       sort | shellquote | sed -e "s/^/mkdir -p /"
+       fi
+
+       if [ "$VCS" = darcs ]; then
+               # This version control system does not track symlinks,
+               # so they must be stored specially.
+               find $NOVCS -type l -print | sort | filter_ignore | while read link; do
+                       dest=$( readlink "$link" )
+                       printf "ln -sf '%s' '%s'\n" "$(echo "$dest" | shellquote)" "$(echo "$link" | shellquote)"
+               done
+       fi
+       # Store things that don't have the default user or group.
+       # Store all file modes, in case the user has an unusual umask.
+       find $NOVCS \( -type f -or -type d \) -print | filter_ignore | sort | perl -ne '
+               BEGIN { $q=chr(39) }
+               sub uidname {
+                       my $want=shift;
+                       if (exists $uidcache{$want}) {
+                               return $uidcache{$want};
+                       }
+                       my $name=scalar getpwuid($want);
+                       return $uidcache{$want}=defined $name ? $name : $want;
+               }
+               sub gidname {
+                       my $want=shift;
+                       if (exists $gidcache{$want}) {
+                               return $gidcache{$want};
+                       }
+                       my $name=scalar getgrgid($want);
+                       return $gidcache{$want}=defined $name ? $name : $want;
+               }
+               chomp;
+               my @stat=stat($_);
+               my $mode = $stat[2];
+               my $uid = $stat[4];
+               my $gid = $stat[5];
+               s/$q/$q"$q"$q/g; # escape single quotes
+               s/^/$q/;
+               s/$/$q/;
+               if ($uid != $>) {
+                       printf "maybe chown $q%s$q %s\n", uidname($uid), $_;
+               }
+               if ($gid != $)) {
+                       printf "maybe chgrp $q%s$q %s\n", gidname($gid), $_;
+               }
+               printf "maybe chmod %04o %s\n", $mode & 07777, $_;
+       '
+
+       # We don't handle xattrs.
+       # Maybe check for getfattr/setfattr and use them if they're available?
+}
+
+if [ "$VCS" = git ] || [ "$VCS" = hg ] || [ "$VCS" = bzr ] || [ "$VCS" = darcs ]; then
+       if [ -f .metadata ]; then
+               # remove obsolete .metadata file
+               # git allows fully deleting it at this point, other VCS
+               # may not (the repo is locked for hg).
+               if [ "$VCS" = git ]; then
+                       $VCS rm .metadata
+               else
+                       rm -f .metadata
+               fi
+       fi
+
+       echo "# Generated by etckeeper.  Do not edit." > .etckeeper
+       echo >> .etckeeper
+
+       # Make sure the file is not readable by others, since it can leak
+       # information about contents of non-readable directories in /etc.
+       chmod 700 .etckeeper
+
+       generate_metadata >> .etckeeper
+
+       # stage the file as part of the current commit
+       if [ "$VCS" = git ]; then
+               # this will do nothing if the metadata file is unchanged.
+               git add .etckeeper
+       fi
+       # hg, bzr and darcs add not done, they will automatically
+       # include the file in the current commit
+fi
diff --git a/etckeeper/pre-commit.d/README b/etckeeper/pre-commit.d/README
new file mode 100644 (file)
index 0000000..051d094
--- /dev/null
@@ -0,0 +1,2 @@
+This is run by a git pre-commit hook before committing changes to the
+repository. This can be used for storing metadata, and for sanity checks.
diff --git a/etckeeper/pre-install.d/10packagelist b/etckeeper/pre-install.d/10packagelist
new file mode 100755 (executable)
index 0000000..e5fefa8
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+# This list will be later used when committing.
+mkdir -p /var/cache/etckeeper/
+etckeeper list-installed > /var/cache/etckeeper/packagelist.pre-install
diff --git a/etckeeper/pre-install.d/50uncommitted-changes b/etckeeper/pre-install.d/50uncommitted-changes
new file mode 100755 (executable)
index 0000000..d03d0e8
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/sh
+set -e
+
+if [ "$1" = "fail-debconf" ]; then
+       . /usr/share/debconf/confmodule
+       db_subst etckeeper/commit_failed VCS "$VCS"
+       db_input critical etckeeper/commit_failed || true
+       db_go || true
+       db_reset etckeeper/commit_failed || true
+       exit 0
+fi
+
+if etckeeper unclean; then
+       if [ "$AVOID_COMMIT_BEFORE_INSTALL" = 1 ]; then
+               echo "" >&2
+               echo "** etckeeper detected uncommitted changes in /etc prior to $HIGHLEVEL_PACKAGE_MANAGER run" >&2 
+               echo "** Aborting $HIGHLEVEL_PACKAGE_MANAGER run. Manually commit and restart." >&2
+               echo "" >&2
+               exit 1
+       fi
+       if ! etckeeper commit "saving uncommitted changes in /etc prior to $HIGHLEVEL_PACKAGE_MANAGER run"; then
+               if [ -e /usr/share/debconf/confmodule ]; then
+                       $0 fail-debconf
+               else
+                       echo "error: etckeeper failed to commit changes in /etc using $VCS"
+                       exit 1
+               fi
+       fi
+fi
diff --git a/etckeeper/pre-install.d/README b/etckeeper/pre-install.d/README
new file mode 100644 (file)
index 0000000..a3b5a57
--- /dev/null
@@ -0,0 +1,3 @@
+Files in this directory are run before packages are installed, upgraded,
+etc. This is mostly used for sanity checks, ie, does /etc have any
+uncommitted changes?
diff --git a/etckeeper/unclean.d/50test b/etckeeper/unclean.d/50test
new file mode 100755 (executable)
index 0000000..e52003f
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh
+set -e
+
+if [ "$VCS" = git ]; then
+       [ -d .git ] && [ -n "`git status --porcelain`" ]
+elif [ "$VCS" = hg ]; then
+       [ -d .hg ] && ! hg status 2>&1 | wc -l | grep -q "^0$"
+elif [ "$VCS" = bzr ]; then
+       [ -d .bzr ] && ! bzr version-info --custom --template="{clean}\n" | grep -q "^1$"
+elif [ "$VCS" = darcs ]; then
+       [ -d _darcs ] && darcs whatsnew -l >/dev/null
+fi
diff --git a/etckeeper/unclean.d/README b/etckeeper/unclean.d/README
new file mode 100644 (file)
index 0000000..74bfbdd
--- /dev/null
@@ -0,0 +1,2 @@
+Files in this directory are used to test if the working copy has
+uncommitted changes.
diff --git a/etckeeper/uninit.d/01prompt b/etckeeper/uninit.d/01prompt
new file mode 100755 (executable)
index 0000000..8b43937
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/sh
+set -e
+
+if [ "$1" != "-f" ]; then
+       echo "** Warning: This will DESTROY all recorded history for $ETCKEEPER_DIR,"
+       echo "** including the $VCS repository."
+       echo ""
+       printf "Are you sure you want to do this? [yN] "
+       read answer
+       case "$answer" in 
+               [Yy]*)
+                       echo "Proceeding.."
+                       exit 0
+               ;;
+               *)
+                       echo "Aborting etckeeper uninit."
+                       exit 1
+               ;;
+       esac
+fi
diff --git a/etckeeper/uninit.d/50remove-metadata b/etckeeper/uninit.d/50remove-metadata
new file mode 100755 (executable)
index 0000000..0be8d36
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+set -e
+
+# Files generated by etckeeper to store metadata the VCS cannot preserve.
+rm -f .etckeeper
+rm -f .metadata # only generated by old versions
diff --git a/etckeeper/uninit.d/50vcs-uninit b/etckeeper/uninit.d/50vcs-uninit
new file mode 100755 (executable)
index 0000000..b61abfd
--- /dev/null
@@ -0,0 +1,54 @@
+#!/bin/sh
+set -e
+
+if [ "$VCS" = git ]; then
+       rm -rf .git
+       file=.gitignore
+elif [ "$VCS" = hg ]; then
+       rm -rf .hg
+       file=.hgignore
+elif [ "$VCS" = bzr ]; then
+       rm -rf .bzr
+       file=.bzrignore
+elif [ "$VCS" = darcs ]; then
+       rm -rf _darcs
+       file=.darcsignore
+fi
+
+managed_by_etckeeper="managed by etckeeper"
+
+if ! grep -q "$managed_by_etckeeper" "$file"; then
+       exit 0
+else
+       realfile="$file"
+       if which tempfile >/dev/null 2>&1 || type -p tempfile >/dev/null 2>&1; then
+               tempfile="tempfile"
+       elif which mktemp >/dev/null 2>&1 || type -p mktemp >/dev/null 2>&1; then
+               tempfile="mktemp"
+       else
+               echo "etckeeper warning: can't find tempfile or mktemp" >&2
+               exit 1
+       fi
+       file=$($tempfile)
+       otherentries=
+       skipping=
+       while read line; do
+               if echo "$line" | grep -q "$managed_by_etckeeper"; then
+                       if [ ! "$skipping" ]; then
+                               skipping=1
+                       else
+                               skipping=
+                       fi
+               elif [ ! "$skipping" ]; then
+                       echo "$line" >> "$file"
+                       otherentries=1
+               fi
+       done <"$realfile"
+
+       if [ "$otherentries" ]; then
+               mv -f "$file" "$realfile"
+       else
+               rm -f "$file"
+               rm -f "$realfile"
+       fi
+fi
diff --git a/etckeeper/uninit.d/README b/etckeeper/uninit.d/README
new file mode 100644 (file)
index 0000000..d1a4eaa
--- /dev/null
@@ -0,0 +1,2 @@
+Executable files in this directory are run to uninitialise the working
+directory, removing files added by `etckeeper init`.
diff --git a/etckeeper/update-ignore.d/01update-ignore b/etckeeper/update-ignore.d/01update-ignore
new file mode 100755 (executable)
index 0000000..3b368e8
--- /dev/null
@@ -0,0 +1,208 @@
+#!/bin/sh
+set -e
+
+if [ "$VCS" = git ]; then
+       dir=.git
+       file=.gitignore
+elif [ "$VCS" = hg ]; then
+       dir=.hg
+       file=.hgignore
+elif [ "$VCS" = bzr ]; then
+       dir=.bzr
+       file=.bzrignore
+elif [ "$VCS" = darcs ]; then
+       dir=_darcs
+       file=.darcsignore
+else
+       echo "etckeeper: unsupported VCS $VCS" >&2
+       exit 1
+fi
+
+if [ ! -d "$dir" ]; then
+       exit 0
+fi
+
+managed_by_etckeeper="managed by etckeeper"
+
+nl() {
+       echo >>"$file"
+}
+
+comment() {
+       comment="$1"
+       echo "# $comment" >>"$file"
+}
+
+ignore() {
+       glob="$1"
+       
+       case "$VCS" in
+               git)
+                       # escape "#" in ignores, as otherwise it may
+                       # be considered a comment
+                       echo "$glob" | sed 's/#/\\#/g' >>"$file"
+               ;;
+               bzr)
+                       echo "$glob" >>"$file"
+               ;;
+               hg)
+                       # rather than converting the glob to a regexp, just
+                       # configure hg to use globs
+                       if [ -z "$hg_syntax_printed" ]; then
+                               comment "use glob syntax"
+                               echo "syntax: glob" >>"$file"
+                               nl
+                               hg_syntax_printed=1
+                       fi
+                       echo "$glob" | sed 's/#/\\#/g' >>"$file"
+               ;;
+               darcs)
+                       # darcs doesn't understand globs, so we need to
+                       # translate them into regexs. Not a complete converter,
+                       # but suitable for given globs.
+                       if [ "${glob%\*}" != "$glob" ]; then
+                               glob="${glob%\*}"
+                       else
+                               glob="$glob"'($|/)'
+                       fi
+                       if [ "${glob#\*}" != "$glob" ]; then
+                               glob="${glob#\*}"
+                       else
+                               glob='(^|/)'"$glob"
+                       fi
+                       glob="$( printf %s $glob | sed -e 's/\./\\./g;s/\*/[^\/]*/g;s/\?/[^\/]/g' )"
+                       echo "$glob" >>"$file"
+       esac
+}
+
+writefile () {
+       comment "begin section $managed_by_etckeeper (do not edit this section by hand)"
+       nl
+
+       if [ "$VCS" = darcs ]; then
+               darcs setpref boringfile .darcsignore
+       fi
+
+       if [ "$LOWLEVEL_PACKAGE_MANAGER" = dpkg ]; then
+               comment "new and old versions of conffiles, stored by dpkg"
+               ignore "*.dpkg-*"
+               comment "new and old versions of conffiles, stored by ucf"
+               ignore "*.ucf-*"
+               nl
+       elif [ "$LOWLEVEL_PACKAGE_MANAGER" = "rpm" ]; then
+               comment "new and old versions of conffiles, stored by apt/rpm"
+               ignore "*.rpm*"
+               nl
+       elif [ "$LOWLEVEL_PACKAGE_MANAGER" = "pacman-g2" -o "$LOWLEVEL_PACKAGE_MANAGER" = "pacman" ]; then
+               comment "new and old versions of conffiles, stored by pacman"
+               ignore "*.pacnew"
+               ignore "*.pacorig"
+               ignore "*.pacsave"
+               nl
+       elif [ "$LOWLEVEL_PACKAGE_MANAGER" = "qlist" ]; then
+               comment "new and old versions of conffiles, stored by emerge"
+               ignore "*._cfg*"
+               nl
+       fi
+       
+       comment "old versions of files"
+       ignore "*.old"
+       # Not currently ignored as admins tend to rely on these files.
+       #ignore "passwd-"
+       #ignore "group-"
+       #ignore "shadow-"
+       #ignore "gshadow-"
+       nl
+
+       comment "mount(8) records system state here, no need to store these"
+       ignore blkid.tab
+       ignore blkid.tab.old
+       nl
+       
+       comment "some other files in /etc that typically do not need to be tracked"
+       ignore nologin
+       ignore ld.so.cache
+       ignore prelink.cache
+       ignore mtab
+       ignore mtab.fuselock
+       ignore .pwd.lock
+       ignore "*.LOCK"
+       ignore network/run
+       ignore adjtime
+       ignore lvm/cache
+       ignore lvm/archive
+       ignore "X11/xdm/authdir/authfiles/*"
+       ignore ntp.conf.dhcp
+       ignore .initctl
+       ignore "webmin/fsdump/*.status"
+       ignore "webmin/webmin/oscache"
+       ignore "apparmor.d/cache/*"
+       ignore "service/*/supervise/*"
+       ignore "service/*/log/supervise/*"
+       ignore "sv/*/supervise/*"
+       ignore "sv/*/log/supervise/*"
+       ignore "*.elc"
+       ignore "*.pyc"
+       ignore "*.pyo"
+       ignore "init.d/.depend.*"
+       ignore "openvpn/openvpn-status.log"
+       ignore "cups/subscriptions.conf"
+       ignore "cups/subscriptions.conf.O"
+       ignore "fake-hwclock.data"
+       nl
+       
+       comment "editor temp files"
+       ignore "*~"
+       ignore ".*.sw?"
+       ignore ".sw?"
+       ignore "#*#"
+       ignore DEADJOE
+
+       nl
+       comment "end section $managed_by_etckeeper"
+}
+
+if [ -e "$file" ]; then
+       if ! grep -q "$managed_by_etckeeper" "$file"; then
+               if [ "$1" != "-a" ]; then
+                       echo "etckeeper: "$file" does not contain \"$managed_by_etckeeper\" comment; not updating"
+                       exit 1
+               else
+                       echo "etckeeper: "$file" exists but does not contain \"$managed_by_etckeeper\" comment; updating"
+                       writefile
+                       exit 0
+               fi
+       fi
+       realfile="$file"
+       if which tempfile >/dev/null 2>&1 || type -p tempfile >/dev/null 2>&1; then
+               tempfile="tempfile"
+       elif which mktemp >/dev/null 2>&1 || type -p mktemp >/dev/null 2>&1; then
+               tempfile="mktemp"
+       else
+               echo "etckeeper warning: can't find tempfile or mktemp" >&2
+       fi
+       file=$($tempfile)
+       (
+               skipping=
+               while read line; do
+                       if echo "$line" | grep -q "$managed_by_etckeeper"; then
+                               if [ ! "$skipping" ]; then
+                                       skipping=1
+                               else
+                                       skipping=
+                                       writefile
+                               fi
+                       elif [ ! "$skipping" ]; then
+                               echo "$line" >> "$file"
+                       fi
+               done
+               if [ "$skipping" ]; then
+                       # reached end of file w/o ending block
+                       writefile
+               fi
+       ) <"$realfile"
+
+       mv -f "$file" "$realfile"
+else
+       writefile
+fi
diff --git a/etckeeper/update-ignore.d/README b/etckeeper/update-ignore.d/README
new file mode 100644 (file)
index 0000000..a573135
--- /dev/null
@@ -0,0 +1,2 @@
+Executable files in this directory are run to update the VCS ignore file,
+or create it if it does not exist.
diff --git a/etckeeper/vcs.d/50vcs-cmd b/etckeeper/vcs.d/50vcs-cmd
new file mode 100755 (executable)
index 0000000..f515abb
--- /dev/null
@@ -0,0 +1,11 @@
+#!/bin/sh
+set -e
+
+# check whether we can locate the vcs binary
+if [ -n "$VCS" ] && which "$VCS" > /dev/null; then
+        # pass commands to the VCS application
+        $VCS "$@"
+else
+       echo "error: VCS ($VCS) not set or not in PATH" >&2
+       exit 1
+fi
diff --git a/lvm/backup/vg0 b/lvm/backup/vg0
new file mode 100644 (file)
index 0000000..142b14a
--- /dev/null
@@ -0,0 +1,95 @@
+# Generated by LVM2 version 2.02.98(2)-git (2012-10-15): Wed Apr 10 13:47:36 2013
+
+contents = "Text Format Volume Group"
+version = 1
+
+description = "Created *after* executing 'liblvm'"
+
+creation_host = "weimar"       # Linux weimar 3.6.11-gentoo #1 SMP Thu Jan 3 13:56:33 CET 2013 x86_64
+creation_time = 1365594456     # Wed Apr 10 13:47:36 2013
+
+vg0 {
+       id = "PybBeU-ko1d-VTqe-mh2z-HZfj-kUxo-nHWZ7m"
+       seqno = 20
+       format = "lvm2" # informational
+       status = ["RESIZEABLE", "READ", "WRITE"]
+       flags = []
+       extent_size = 8192              # 4 Megabytes
+       max_lv = 0
+       max_pv = 0
+       metadata_copies = 0
+
+       physical_volumes {
+
+               pv0 {
+                       id = "IXfBrK-HEG0-h0cK-pw46-2AHY-L3Rz-xc2a1s"
+                       device = "/dev/sda4"    # Hint only
+
+                       status = ["ALLOCATABLE"]
+                       flags = []
+                       dev_size = 99612672     # 47,499 Gigabytes
+                       pe_start = 2048
+                       pe_count = 12159        # 47,4961 Gigabytes
+               }
+       }
+
+       logical_volumes {
+
+               distfiles {
+                       id = "VMpyQ1-YTpy-kLJX-BLaU-3fT2-Rr3s-vTHY9U"
+                       status = ["READ", "WRITE", "VISIBLE"]
+                       flags = []
+                       segment_count = 1
+
+                       segment1 {
+                               start_extent = 0
+                               extent_count = 2560     # 10 Gigabytes
+
+                               type = "striped"
+                               stripe_count = 1        # linear
+
+                               stripes = [
+                                       "pv0", 0
+                               ]
+                       }
+               }
+
+               home {
+                       id = "cdfg7D-45Pm-1fnS-3cI3-WKpV-TIqB-IU1jqZ"
+                       status = ["READ", "WRITE", "VISIBLE"]
+                       flags = []
+                       segment_count = 1
+
+                       segment1 {
+                               start_extent = 0
+                               extent_count = 5120     # 20 Gigabytes
+
+                               type = "striped"
+                               stripe_count = 1        # linear
+
+                               stripes = [
+                                       "pv0", 2560
+                               ]
+                       }
+               }
+
+               swap {
+                       id = "3g1vxF-3fes-YQ2J-DP7J-JgVA-NGtE-izGrHG"
+                       status = ["READ", "WRITE", "VISIBLE"]
+                       flags = []
+                       segment_count = 1
+
+                       segment1 {
+                               start_extent = 0
+                               extent_count = 1280     # 5 Gigabytes
+
+                               type = "striped"
+                               stripe_count = 1        # linear
+
+                               stripes = [
+                                       "pv0", 7680
+                               ]
+                       }
+               }
+       }
+}
diff --git a/motd b/motd
new file mode 100644 (file)
index 0000000..9c75c83
--- /dev/null
+++ b/motd
@@ -0,0 +1,14 @@
+Linux weimar 4.0.5-gentoo #1 SMP Tue Jun 30 20:13:36 CEST 2015 x86_64 Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz GenuineIntel GNU/Linux
+Gentoo Base System release 2.2
+__        __   _                      
+\ \      / /__(_)_ __ ___   __ _ _ __ 
+ \ \ /\ / / _ \ | '_ ` _ \ / _` | '__|
+  \ V  V /  __/ | | | | | | (_| | |   
+   \_/\_/ \___|_|_| |_| |_|\__,_|_|   
+                                      
+
+Es liegt in der menschlichen Natur, vernünftig zu denken und unlogisch
+zu handeln.
+
+Today is Boomtime, the 63rd day of Bureaucracy in the YOLD 3181
+
index 68f0ccb3602e989a38768a2c19475d6c45b899dd..12589f0585dbd1fdbef4cff095be21eb8d1a92ac 100644 (file)
@@ -30,6 +30,7 @@ net-ftp/lftp                    convert-mozilla-cookies verify-file
 net-misc/iputils                caps gnutls
 net-misc/openssh                ldns
 
+sys-apps/etckeeper              cron
 sys-apps/irqbalance             caps numa
 sys-apps/openrc                 tools
 sys-apps/util-linux             tty-helpers