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