test/update.sh
author J. Ali Harlow <ali@juiblex.co.uk>
Sat Aug 23 11:13:48 2014 +0100 (2014-08-23)
changeset 440 48204dea0b9f
parent 386 3d3fab314c4e
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@382
     1
#!/bin/sh
ali@382
     2
fs_check_file()
ali@382
     3
{
ali@382
     4
    if [ ! -e "$RAZOR_ROOT$1" ]; then 
ali@382
     5
	echo $1: Not in filesystem >&2
ali@382
     6
	ls -R "$RAZOR_ROOT" >&2
ali@382
     7
	exit 1
ali@382
     8
    fi
ali@382
     9
}
ali@382
    10
fs_check_file_contents()
ali@382
    11
{
ali@382
    12
    fs_check_file "$1"
ali@382
    13
    if [ `cat "$RAZOR_ROOT$1"` != "$2" ]; then
ali@382
    14
	echo $1: Unexpected contents >&2
ali@382
    15
	cat "$RAZOR_ROOT$1" >&2
ali@382
    16
	exit 1
ali@382
    17
    fi
ali@382
    18
}
ali@382
    19
fs_check_no_file()
ali@382
    20
{
ali@382
    21
    if [ -e "$RAZOR_ROOT$1" ]; then 
ali@382
    22
	echo $1: Still in filesystem >&2
ali@382
    23
	exit 1
ali@382
    24
    fi
ali@382
    25
}
ali@382
    26
check_file()
ali@382
    27
{
ali@382
    28
    ../src/razor list-files | grep -x "$1" > /dev/null
ali@382
    29
    if [ $? -ne 0 ]; then
ali@382
    30
	echo $1: Not in database >&2
ali@382
    31
	../src/razor list-files >&2
ali@382
    32
	exit 1
ali@382
    33
    fi
ali@382
    34
    ../src/razor list-files "$1" | grep -x "$1" > /dev/null
ali@382
    35
    if [ $? -ne 0 ]; then
ali@382
    36
	echo $1: Not seen by patterned list >&2
ali@382
    37
	../src/razor list-files "$1" >&2
ali@382
    38
	exit 1
ali@382
    39
    fi
ali@382
    40
    pkgs=`../src/razor list-file-packages "$1"`
ali@382
    41
    if [ -z "$pkgs" ]; then
ali@382
    42
	echo $1: Not owned by any package >&2
ali@382
    43
	../src/razor list-file-packages "$1"
ali@382
    44
	exit 1
ali@382
    45
    fi
ali@382
    46
    for nevra in "$pkgs"; do
ali@382
    47
	name=`echo $nevra | sed 's/\-.*$//'`
ali@382
    48
	../src/razor list-package-files "$name" | grep -x "$1" > /dev/null
ali@382
    49
	if [ $? -ne 0 ]; then
ali@382
    50
	    echo $1: Not in database for package $name >&2
ali@382
    51
	    ../src/razor list-package-files "$name"
ali@382
    52
	    exit 1
ali@382
    53
	fi
ali@382
    54
    done
ali@382
    55
    fs_check_file $1
ali@382
    56
}
ali@382
    57
check_no_file()
ali@382
    58
{
ali@382
    59
    ../src/razor list-files | grep -x "$1" > /dev/null
ali@382
    60
    if [ $? -eq 0 ]; then
ali@382
    61
	echo $1: Still in database >&2
ali@382
    62
	exit 1
ali@382
    63
    fi
ali@382
    64
    fs_check_no_file $1
ali@382
    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@382
    74
set_repository()
ali@382
    75
{
ali@382
    76
    cp $1/repodata/primary.xml.gz $1/repodata/filelists.xml.gz .
ali@382
    77
    rm -rf rpms
ali@382
    78
    ln -s $1/rpms .
ali@382
    79
}
ali@382
    80
export RAZOR_ROOT=`mktemp -dt` || exit 1
ali@382
    81
../src/razor init || exit 1
ali@382
    82
export YUM_URL="file://localhost/`pwd`"
ali@382
    83
set_repository base
ali@382
    84
../src/razor import-yum || exit 1
ali@382
    85
../src/razor install --relocate /usr=/opt zip || exit 1
ali@382
    86
fs_check_file_contents /opt/bin/zip zip-1-1
ali@382
    87
fs_check_file /opt/var/lib/zip/data.zap
ali@382
    88
trap "set_repository base" 0
ali@382
    89
set_repository updates
ali@382
    90
../src/razor import-yum || exit 1
ali@382
    91
../src/razor update --relocate /usr=/opt || exit 1
ali@382
    92
check_file /opt/bin/zip
ali@382
    93
fs_check_file_contents /opt/bin/zip zip-2-1
ali@382
    94
fs_check_file /opt/var/lib/zip/data.zap
ali@382
    95
../src/razor remove zip || exit 1
ali@382
    96
fs_check_no_file /opt/var/lib/zip/data.zap
ali@386
    97
set_repository base
ali@386
    98
../src/razor import-yum || exit 1
ali@386
    99
../src/razor install --relocate /usr=/opt zip || exit 1
ali@386
   100
../src/razor install --relocate /usr=/opt zip || exit 1
ali@389
   101
check_install_count zip 2
ali@386
   102
set_repository updates
ali@386
   103
../src/razor import-yum || exit 1
ali@386
   104
../src/razor update --relocate /usr=/opt || exit 1
ali@386
   105
check_file /opt/bin/zip
ali@386
   106
fs_check_file_contents /opt/bin/zip zip-2-1
ali@386
   107
fs_check_file /opt/var/lib/zip/data.zap
ali@389
   108
check_install_count zip 1
ali@386
   109
../src/razor remove zip || exit 1
ali@386
   110
fs_check_no_file /opt/var/lib/zip/data.zap
ali@389
   111
set_repository base
ali@389
   112
../src/razor import-yum || exit 1
ali@389
   113
../src/razor install --relocate /usr=/opt zip || exit 1
ali@389
   114
../src/razor update --relocate /usr=/opt zip || exit 1
ali@389
   115
check_install_count zip 1
ali@382
   116
rm -rf "$RAZOR_ROOT"