| author | J. Ali Harlow <ali@juiblex.co.uk> |
| Sat Feb 11 23:50:26 2012 +0000 (2012-02-11) | |
| changeset 423 | 6112bcc5d1cf |
| parent 387 | ef9237601f24 |
| child 456 | bae5adee8c8c |
| permissions | -rwxr-xr-x |
| 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" |