#!/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 <wennmach@netbsd.org>
#

# 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
