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