test/named-root.sh
author J. Ali Harlow <ali@juiblex.co.uk>
Wed Apr 29 17:00:01 2009 +0100 (2009-04-29)
changeset 361 2523d03a840e
child 456 bae5adee8c8c
permissions -rwxr-xr-x
Add support for preloading lua modules. This is useful both when
providing lua bindings to applications based on librazor and when
producing static binaries using librazor (where otherwise the lua
POSIX library would need to be included as an additional dynamic
object).
     1 #!/bin/sh
     2 check_file()
     3 {
     4     ../src/razor list-files | grep -x "$1" > /dev/null
     5     if [ $? -ne 0 ]; then
     6 	echo $1: Not in database >&2
     7 	../src/razor list-files >&2
     8 	exit 1
     9     fi
    10     ../src/razor list-files c: | grep -x "$1" > /dev/null
    11     if [ $? -ne 0 ]; then
    12 	echo $1: Not seen by named root list >&2
    13 	../src/razor list-files c: >&2
    14 	exit 1
    15     fi
    16     ../src/razor list-files "$1" | grep -x "$1" > /dev/null
    17     if [ $? -ne 0 ]; then
    18 	echo $1: Not seen by patterned list >&2
    19 	../src/razor list-files "$1" >&2
    20 	exit 1
    21     fi
    22     pkgs=`../src/razor list-file-packages "$1"`
    23     if [ -z "$pkgs" ]; then
    24 	echo $1: Not owned by any package >&2
    25 	../src/razor list-file-packages "$1"
    26 	exit 1
    27     fi
    28     for nevra in "$pkgs"; do
    29 	name=`echo $nevra | sed 's/\-.*$//'`
    30 	../src/razor list-package-files "$name" | grep -x "$1" > /dev/null
    31 	if [ $? -ne 0 ]; then
    32 	    echo $1: Not in database for package $name >&2
    33 	    ../src/razor list-package-files "$name"
    34 	    exit 1
    35 	fi
    36     done
    37     if [ ! -e "$RAZOR_ROOT$1" ]; then 
    38 	echo $1: Not in filesystem >&2
    39 	exit 1
    40     fi
    41 }
    42 tmpdir=`mktemp -dt` || exit 1
    43 export RAZOR_ROOT="$tmpdir/x-"
    44 mkdir -p "$tmpdir/x-/var/lib" "$tmpdir/x-c:"
    45 export RAZOR_NO_ROOT_NAME_CHECKS=1
    46 ../src/razor init || exit 1
    47 export YUM_URL="file://localhost/`pwd`"
    48 ../src/razor import-yum || exit 1
    49 ../src/razor install --relocate /usr=c:/test zap || exit 1
    50 ../src/razor install --relocate /usr=c:/test zip || exit 1
    51 check_file c:/test/bin/zap
    52 check_file c:/test/bin/zip
    53 rm -rf "$tmpdir"