Backup the whole system changes; rpm(1) based system expected.
authorshort <>
Sat, 16 Oct 2004 11:49:45 +0000 (11:49 +0000)
committershort <>
Sat, 16 Oct 2004 11:49:45 +0000 (11:49 +0000)
bin/backup-rpm [new file with mode: 0755]

diff --git a/bin/backup-rpm b/bin/backup-rpm
new file mode 100755 (executable)
index 0000000..1f96aed
--- /dev/null
@@ -0,0 +1,26 @@
+#! /bin/bash
+set -ex
+t=/tmp/backup-rpm.$$
+trap "rm -rf $t" EXIT
+rm -rf $t
+mkdir $t
+rpm -qal|sort -u >$t/rpm-qal
+(set +e;rpm -Va >$t/rpm-Va)
+rpm -qa|sort >$t/rpm-qa
+(
+       (find / -xdev -print -type d -print;cat $t/rpm-qal)|sort|uniq -u
+       sed 's#^[^/]*##' <$t/rpm-Va
+       touch $t/patch.list
+       echo $t/rpm-qa
+       for orig in `find / -xdev -name "*-orig"`;do
+               base="`echo $orig|sed 's/-orig$//'`"
+               if [ ! -f "$base" ];then continue;fi
+               (set +e;diff -u "$orig" "$base" >"$base".patch)
+               echo "$orig"
+               echo "$base"
+               echo "$base".patch|tee -a $t/patch.list
+               done
+       )|grep -v '^\(/boot/\|/dev/\|/etc/rc[.]d/rc[0-9][.]d/\|/lib/modules/[^/]*/modules[.]\|/root/\|/tmp/\|/usr/lib/perl5/\|/usr/src/redhat/RPMS/\|/var/cache/\|/var/lib/rpm/\|/var/log/\|/var/run/\|/var/spool/\|/var/lock/\|/usr/share/ntop/\|/usr/lib/locale/locale-archive\|/var/lib/slocate/slocate.db\)' \
+       |grep -v '^(contains no files)$' \
+       |sort -u|(set +e;xargs tar cvvf -)
+cat $t/patch.list|xargs rm -f