test/named-root.sh
author ali <j.a.harlow@letterboxes.org>
Thu Nov 13 11:30:27 2014 +0000 (2014-11-13)
changeset 464 60372dd96dd6
parent 359 c9c90315ea24
child 475 008c75a5e08d
permissions -rwxr-xr-x
Release version 0.6
     1 #!/bin/sh
     2 if [ $# -gt 0 ]; then
     3     razor="$1"
     4 else
     5     razor=../src/razor
     6 fi
     7 check_file()
     8 {
     9     $razor list-files | grep -x "$1" > /dev/null
    10     if [ $? -ne 0 ]; then
    11 	echo $1: Not in database >&2
    12 	$razor list-files >&2
    13 	exit 1
    14     fi
    15     $razor list-files c: | grep -x "$1" > /dev/null
    16     if [ $? -ne 0 ]; then
    17 	echo $1: Not seen by named root list >&2
    18 	$razor list-files c: >&2
    19 	exit 1
    20     fi
    21     $razor list-files "$1" | grep -x "$1" > /dev/null
    22     if [ $? -ne 0 ]; then
    23 	echo $1: Not seen by patterned list >&2
    24 	$razor list-files "$1" >&2
    25 	exit 1
    26     fi
    27     pkgs=`$razor list-file-packages "$1"`
    28     if [ -z "$pkgs" ]; then
    29 	echo $1: Not owned by any package >&2
    30 	$razor list-file-packages "$1"
    31 	exit 1
    32     fi
    33     for nevra in "$pkgs"; do
    34 	name=`echo $nevra | sed 's/\-.*$//'`
    35 	$razor list-package-files "$name" | grep -x "$1" > /dev/null
    36 	if [ $? -ne 0 ]; then
    37 	    echo $1: Not in database for package $name >&2
    38 	    $razor list-package-files "$name"
    39 	    exit 1
    40 	fi
    41     done
    42     if [ ! -e "$RAZOR_ROOT$1" ]; then 
    43 	echo $1: Not in filesystem >&2
    44 	exit 1
    45     fi
    46 }
    47 tmpdir=`mktemp -dt` || exit 1
    48 export RAZOR_ROOT="$tmpdir/x-"
    49 mkdir -p "$tmpdir/x-/var/lib" "$tmpdir/x-c:"
    50 export RAZOR_NO_ROOT_NAME_CHECKS=1
    51 $razor init || exit 1
    52 export YUM_URL="file://localhost/`pwd`"
    53 $razor import-yum || exit 1
    54 $razor install --relocate /usr=c:/test zap || exit 1
    55 $razor install --relocate /usr=c:/test zip || exit 1
    56 check_file c:/test/bin/zap
    57 check_file c:/test/bin/zip
    58 rm -rf "$tmpdir"