#!/bin/csh -f # $NetBSD: pkgdbextract,v 1.2 2001/04/10 14:09:20 wennmach Exp $ # # pkgdbextract: tool to extract packages databases from binary packages # into a destination directory, suitable for use with pkgconflict # # Author: Lex Wennmacher # # Usage pkgdbextract BASEDIR package1.tgz [ package2.tgz ... ] set nargs=$#argv if ($nargs < 2) then echo pkgdbextract: usage: pkgdbextract BASEDIR package1.tgz [ package2.tgz ... ] exit -1 endif set BASEDIR=$1 if (! -d $BASEDIR) mkdir -p $BASEDIR if (! -d $BASEDIR) then echo could not create $BASEDIR exit -1 endif # Loop over all packages (args 2 - ) foreach pkg (`echo $argv[2-]`) if (-e $pkg) then set pkgbinname=$pkg:t set pkgname=$pkgbinname:r set DESTDIR=$BASEDIR/$pkgname mkdir -p $DESTDIR cat $pkg | (cd $DESTDIR; tar --fast-read -xzf - +CONTENTS) else # It is not an error if a package can not be read echo "pkgdbextract: warning: $pkg not readable" endif end exit 0