test/named-root.sh
author J. Ali Harlow <ali@juiblex.co.uk>
Wed Apr 22 13:09:42 2015 +0100 (2015-04-22)
changeset 465 271bb9e6e10f
parent 359 c9c90315ea24
child 475 008c75a5e08d
permissions -rwxr-xr-x
Add -lole32 to link libraries.

This fixes a problem when compiling with mingw-headers version 3.3
where the use of SHGetFolderPath() expands to a call to CoTaskMemFree()
which is defined in libole32.dll:

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