test/named-root.sh
author J. Ali Harlow <ali@juiblex.co.uk>
Fri Oct 03 15:05:33 2014 +0100 (2014-10-03)
changeset 453 1fd1d221092d
child 456 bae5adee8c8c
permissions -rwxr-xr-x
Add INTLLIBS back into librazor_la_LIBADD and also into razor.pc

INTLLIBS was originally added into librazor_la_LIBADD (but not razor.pc)
in 611c84a3f4b4538a65d186050608c17adbf17770 and then removed in
236cfc8ecc5c66288e41bf9b72051a3b18326e1c over concerns that it meant
that building static applications (eg., in plover) required a static
version of libintl. Since then, however, the inclusion of gnulib's
getopt has caused the build to fail without INTLLIBS in librazor_la_LIBADD
with messages of the form:

../gl/.libs/libgnu.a(getopt.o): In function `_getopt_internal_r':
/home/ali/wk/razor/vpath/gl/../../working/gl/getopt.c:808: undefined reference to `libintl_gettext'

while building librazor.dll.a

Thus it appears that INTLLIBS really is needed and should go back into
librazor_la_LIBADD (which fixes the build) and should also be in Libs.private
in razor.pc for static builds. This means that a static version of libintl
will be required (eg., as part of mingw64-gettext-static).

Along the way, razor.pc has also been fixed to avoid overlinking
(https://wiki.openmandriva.org/en/Overlinking_issues_in_packaging)
and a missing include directory that caused the razor executable to
fail to build was added.
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"