diff options
author | jbj <devnull@localhost> | 2003-03-01 20:23:39 +0000 |
---|---|---|
committer | jbj <devnull@localhost> | 2003-03-01 20:23:39 +0000 |
commit | dd8e9be4ce4a9d98dea8df4eff7c1ccf1e038adf (patch) | |
tree | f79facb6b195870334e8e9dd1ac804ec9b2d2869 /scripts | |
parent | f8cf4fc4a9f675d2a2d742c481ac52065b3c58cf (diff) | |
download | rpm-dd8e9be4ce4a9d98dea8df4eff7c1ccf1e038adf.tar.gz rpm-dd8e9be4ce4a9d98dea8df4eff7c1ccf1e038adf.tar.bz2 rpm-dd8e9be4ce4a9d98dea8df4eff7c1ccf1e038adf.zip |
Sanity.
CVS patchset: 6641
CVS date: 2003/03/01 20:23:39
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/Makefile.am | 8 | ||||
-rwxr-xr-x | scripts/rpmdb_loadcvt | 69 |
2 files changed, 73 insertions, 4 deletions
diff --git a/scripts/Makefile.am b/scripts/Makefile.am index bf71819e1..c62121293 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -9,8 +9,8 @@ EXTRA_DIST = \ find-debuginfo.sh find-lang.sh find-prov.pl find-req.pl \ cpanflute cpanflute2 Specfile.pm find-provides.perl \ find-requires.perl get_magic.pl getpo.sh http.req \ - magic.prov magic.req perldeps.pl perl.prov perl.req rpmdiff \ - rpmdiff.cgi \ + magic.prov magic.req perldeps.pl perl.prov perl.req \ + rpmdb_loadcvt rpmdiff rpmdiff.cgi \ rpm.daily rpm.log rpm.xinetd rpm2cpio.sh \ sql.prov sql.req tcl.req tgpg trpm u_pkg.sh \ vpkg-provides.sh vpkg-provides2.sh \ @@ -29,8 +29,8 @@ config_SCRIPTS = \ find-debuginfo.sh find-lang.sh find-prov.pl find-req.pl \ cpanflute cpanflute2 Specfile.pm find-provides.perl \ find-requires.perl get_magic.pl getpo.sh http.req \ - magic.prov magic.req perldeps.pl perl.prov perl.req rpmdiff \ - rpmdiff.cgi \ + magic.prov magic.req perldeps.pl perl.prov perl.req \ + rpmdb_loadcvt rpmdiff rpmdiff.cgi \ rpm.daily rpm.log rpm.xinetd rpm2cpio.sh \ sql.prov sql.req tcl.req tgpg trpm u_pkg.sh \ vpkg-provides.sh vpkg-provides2.sh diff --git a/scripts/rpmdb_loadcvt b/scripts/rpmdb_loadcvt new file mode 100755 index 000000000..aa701065f --- /dev/null +++ b/scripts/rpmdb_loadcvt @@ -0,0 +1,69 @@ +#!/bin/bash + +ac=$# +cmd=`basename $0` + +rpmdb=/var/lib/rpm +dbfiles="`/bin/ls -1 $rpmdb/*`" +dbdump=/usr/lib/rpm/rpmdb_dump +dbload=/usr/bin/db_load + +set `$dbdump -V` || { + echo "The file $dbdump, usually in the rpm-devel package, is needed." + echo " Please install the rpm-devel package and retry $cmd." + exit 1 +} +dumpfmt="${5%%:}" + +set `$dbload -V` || { + echo "The file $dbload, usually in the db4-utils package, is needed." + echo " Please install the db4_utils package and retry $cmd." + exit 1 +} +loadfmt="${5%%:}" + +[ "$dumpfmt" = "$loadfmt" ] && { + echo "Both $dbdump and $dbload use db-$loadfmt format." + echo "No conversion is possible." + exit 0 +} + +[ "$ac" != "0" -o "`/usr/bin/id -u`" != "0" ] && { + echo "$cmd: Convert $rpmdb files to db-$loadfmt format." + echo "$cmd: Must be run as root, takes no arguments." + exit 1 +} + +echo "Converting to db-$loadfmt compatible format (1-10 minutes per file) ..." + +dbfile= +trap " + [ -n "$dbfile" ] && { + [ -f $dbfile-O ] && /bin/mv $dbfile-O $dbfile + /bin/rm -f $dbfile-N + } + exit 1 +" 1 2 3 15 + +rm -f $rpmdb/__db* + +for dbfile in $dbfiles +do + echo " `/usr/bin/file $dbfile`" + + $dbdump $dbfile | $dbload $dbfile-N || { + echo "Failed conversion:" + echo " $dbdump $dbfile | $dbload $dbfile-N" + echo "Cleaning up and exiting ..." + /bin/rm -f $dbfile-N + exit 1 + } + + /bin/mv $dbfile $dbfile-O + /bin/mv $dbfile-N $dbfile + /bin/rm -f $dbfile-O +done + +echo "Done!" + +exit 0 |