| author | J. Ali Harlow <ali@juiblex.co.uk> |
| Sat Aug 23 16:28:31 2014 +0100 (2014-08-23) | |
| changeset 442 | c4bcba8023a9 |
| parent 386 | 3d3fab314c4e |
| child 456 | bae5adee8c8c |
| permissions | -rwxr-xr-x |
| 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" |