test/mult-install.sh
author J. Ali Harlow <ali@juiblex.co.uk>
Sat Aug 23 11:13:48 2014 +0100 (2014-08-23)
changeset 440 48204dea0b9f
parent 387 ef9237601f24
child 456 bae5adee8c8c
permissions -rwxr-xr-x
Remove INTLLIBS from librazor_la_LIBADD.

This partially reverts 611c84a3f4b4538a65d186050608c17adbf17770.
It's not clear what motivated the initial inclusion of INTLLIBS
here since the net effect is only seen in librazor.la and not
in razor.pc and librazor.la is not normally packaged. Certainly
neither the static nor the dynamic versions of librazor currently
use libintl. At best this would cause the linker to search a
static libintl for undefined symbols without finding any; at worse
it causes a static build of plover using librazor.la to fail if
no static version of libintl is installed.
ali@387
     1
#!/bin/sh
ali@387
     2
fs_check_file()
ali@387
     3
{
ali@387
     4
    if [ ! -e "$RAZOR_ROOT$1" ]; then 
ali@387
     5
	echo $1: Not in filesystem >&2
ali@387
     6
	ls -R "$RAZOR_ROOT" >&2
ali@387
     7
	exit 1
ali@387
     8
    fi
ali@387
     9
}
ali@387
    10
fs_check_file_contents()
ali@387
    11
{
ali@387
    12
    fs_check_file "$1"
ali@387
    13
    if [ `cat "$RAZOR_ROOT$1"` != "$2" ]; then
ali@387
    14
	echo $1: Unexpected contents >&2
ali@387
    15
	cat "$RAZOR_ROOT$1" >&2
ali@387
    16
	exit 1
ali@387
    17
    fi
ali@387
    18
}
ali@387
    19
fs_check_no_file()
ali@387
    20
{
ali@387
    21
    if [ -e "$RAZOR_ROOT$1" ]; then 
ali@387
    22
	echo $1: Still in filesystem >&2
ali@387
    23
	exit 1
ali@387
    24
    fi
ali@387
    25
}
ali@387
    26
check_file()
ali@387
    27
{
ali@387
    28
    ../src/razor list-files | grep -x "$1" > /dev/null
ali@387
    29
    if [ $? -ne 0 ]; then
ali@387
    30
	echo $1: Not in database >&2
ali@387
    31
	../src/razor list-files >&2
ali@387
    32
	exit 1
ali@387
    33
    fi
ali@387
    34
    ../src/razor list-files "$1" | grep -x "$1" > /dev/null
ali@387
    35
    if [ $? -ne 0 ]; then
ali@387
    36
	echo $1: Not seen by patterned list >&2
ali@387
    37
	../src/razor list-files "$1" >&2
ali@387
    38
	exit 1
ali@387
    39
    fi
ali@387
    40
    pkgs=`../src/razor list-file-packages "$1"`
ali@387
    41
    if [ -z "$pkgs" ]; then
ali@387
    42
	echo $1: Not owned by any package >&2
ali@387
    43
	../src/razor list-file-packages "$1"
ali@387
    44
	exit 1
ali@387
    45
    fi
ali@387
    46
    for nevra in "$pkgs"; do
ali@387
    47
	name=`echo $nevra | sed 's/\-.*$//'`
ali@387
    48
	../src/razor list-package-files "$name" | grep -x "$1" > /dev/null
ali@387
    49
	if [ $? -ne 0 ]; then
ali@387
    50
	    echo $1: Not in database for package $name >&2
ali@387
    51
	    ../src/razor list-package-files "$name"
ali@387
    52
	    exit 1
ali@387
    53
	fi
ali@387
    54
    done
ali@387
    55
    fs_check_file $1
ali@387
    56
}
ali@387
    57
check_no_file()
ali@387
    58
{
ali@387
    59
    ../src/razor list-files | grep -x "$1" > /dev/null
ali@387
    60
    if [ $? -eq 0 ]; then
ali@387
    61
	echo $1: Still in database >&2
ali@387
    62
	exit 1
ali@387
    63
    fi
ali@387
    64
    fs_check_no_file $1
ali@387
    65
}
ali@389
    66
check_install_count()
ali@389
    67
{
ali@389
    68
    count=`../src/razor list "$1" | wc -l`
ali@389
    69
    if [ "$count" != "$2" ]; then
ali@389
    70
	echo $1: Install count $count, should be $2 >&2
ali@389
    71
	exit 1
ali@389
    72
    fi
ali@389
    73
}
ali@387
    74
export RAZOR_ROOT=`mktemp -dt` || exit 1
ali@387
    75
../src/razor init || exit 1
ali@387
    76
export YUM_URL="file://localhost/`pwd`"
ali@387
    77
../src/razor import-yum || exit 1
ali@387
    78
../src/razor install --relocate /usr=/opt zip || exit 1
ali@387
    79
fs_check_file_contents /opt/bin/zip zip-1-1
ali@387
    80
fs_check_file /opt/var/lib/zip/data.zap
ali@387
    81
../src/razor install --relocate /usr=/opt zip || exit 1
ali@389
    82
check_install_count zip 2
ali@387
    83
../src/razor install --relocate /usr=/opt zip || exit 1
ali@389
    84
check_install_count zip 3
ali@387
    85
rm -rf "$RAZOR_ROOT"