Turn of tar(1) -vv
[nethome.git] / bin / backup-rpm
1 #! /bin/bash
2 set -ex
3 t=/tmp/backup-rpm.$$
4 trap "rm -rf $t" EXIT
5 rm -rf $t
6 mkdir $t
7 rpm -qal|sort -u >$t/rpm-qal
8 (set +e;rpm -Va >$t/rpm-Va)
9 rpm -qa|sort >$t/rpm-qa
10 (
11         (find / -xdev -print -type d -print;cat $t/rpm-qal)|sort|uniq -u
12         sed 's#^[^/]*##' <$t/rpm-Va
13         touch $t/patch.list
14         echo $t/rpm-qa
15         for orig in `find / -xdev -name "*-orig"`;do
16                 base="`echo $orig|sed 's/-orig$//'`"
17                 if [ ! -f "$base" ];then continue;fi
18                 (set +e;diff -u "$orig" "$base" >"$base".patch)
19                 echo "$orig"
20                 echo "$base"
21                 echo "$base".patch|tee -a $t/patch.list
22                 done
23         )|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\)' \
24         |grep -v '^(contains no files)$' \
25         |sort -u|(set +e;xargs tar cf -)
26 cat $t/patch.list|xargs rm -f