diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 00:45:21 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-06 00:45:21 +0000 |
commit | b3e64bc4a36b1150b6e6de6ad7b966dfd98b1d4d (patch) | |
tree | fbba61f0870404ee20c06c4fcafcb01b74f478a9 /debian/dpkg.cron.daily | |
parent | Adding upstream version 1.19.8. (diff) | |
download | dpkg-debian.tar.xz dpkg-debian.zip |
Adding debian version 1.19.8.debian/1.19.8debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'debian/dpkg.cron.daily')
-rw-r--r-- | debian/dpkg.cron.daily | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/debian/dpkg.cron.daily b/debian/dpkg.cron.daily new file mode 100644 index 0000000..62da817 --- /dev/null +++ b/debian/dpkg.cron.daily @@ -0,0 +1,36 @@ +#!/bin/sh + +dbdir=/var/lib/dpkg + +# Backup the 7 last versions of dpkg databases containing user data. +if cd /var/backups ; then + # We backup all relevant database files if any has changed, so that + # the rotation number always contains an internally consistent set. + dbchanged=no + dbfiles="arch status diversions statoverride" + for db in $dbfiles ; do + if ! cmp -s "dpkg.${db}.0" "$dbdir/$db"; then + dbchanged=yes + break; + fi + done + if [ "$dbchanged" = "yes" ] ; then + for db in $dbfiles ; do + [ -e "$dbdir/$db" ] || continue + cp -p "$dbdir/$db" "dpkg.$db" + savelog -c 7 "dpkg.$db" >/dev/null + done + fi + + # The alternatives database is independent from the dpkg database. + dbalt=alternatives + + # XXX: Ideally we'd use --warning=none instead of discarding stderr, but + # as of GNU tar 1.27.1, it does not seem to work reliably (see #749307). + if ! test -e ${dbalt}.tar.0 || + ! tar -df ${dbalt}.tar.0 -C $dbdir $dbalt >/dev/null 2>&1 ; + then + tar -cf ${dbalt}.tar -C $dbdir $dbalt >/dev/null 2>&1 + savelog -c 7 ${dbalt}.tar >/dev/null + fi +fi |