ali@387: #!/bin/sh ali@387: fs_check_file() ali@387: { ali@387: if [ ! -e "$RAZOR_ROOT$1" ]; then ali@387: echo $1: Not in filesystem >&2 ali@387: ls -R "$RAZOR_ROOT" >&2 ali@387: exit 1 ali@387: fi ali@387: } ali@387: fs_check_file_contents() ali@387: { ali@387: fs_check_file "$1" ali@387: if [ `cat "$RAZOR_ROOT$1"` != "$2" ]; then ali@387: echo $1: Unexpected contents >&2 ali@387: cat "$RAZOR_ROOT$1" >&2 ali@387: exit 1 ali@387: fi ali@387: } ali@387: fs_check_no_file() ali@387: { ali@387: if [ -e "$RAZOR_ROOT$1" ]; then ali@387: echo $1: Still in filesystem >&2 ali@387: exit 1 ali@387: fi ali@387: } ali@387: check_file() ali@387: { ali@387: ../src/razor list-files | grep -x "$1" > /dev/null ali@387: if [ $? -ne 0 ]; then ali@387: echo $1: Not in database >&2 ali@387: ../src/razor list-files >&2 ali@387: exit 1 ali@387: fi ali@387: ../src/razor list-files "$1" | grep -x "$1" > /dev/null ali@387: if [ $? -ne 0 ]; then ali@387: echo $1: Not seen by patterned list >&2 ali@387: ../src/razor list-files "$1" >&2 ali@387: exit 1 ali@387: fi ali@387: pkgs=`../src/razor list-file-packages "$1"` ali@387: if [ -z "$pkgs" ]; then ali@387: echo $1: Not owned by any package >&2 ali@387: ../src/razor list-file-packages "$1" ali@387: exit 1 ali@387: fi ali@387: for nevra in "$pkgs"; do ali@387: name=`echo $nevra | sed 's/\-.*$//'` ali@387: ../src/razor list-package-files "$name" | grep -x "$1" > /dev/null ali@387: if [ $? -ne 0 ]; then ali@387: echo $1: Not in database for package $name >&2 ali@387: ../src/razor list-package-files "$name" ali@387: exit 1 ali@387: fi ali@387: done ali@387: fs_check_file $1 ali@387: } ali@387: check_no_file() ali@387: { ali@387: ../src/razor list-files | grep -x "$1" > /dev/null ali@387: if [ $? -eq 0 ]; then ali@387: echo $1: Still in database >&2 ali@387: exit 1 ali@387: fi ali@387: fs_check_no_file $1 ali@387: } ali@387: export RAZOR_ROOT=`mktemp -dt` || exit 1 ali@387: ../src/razor init || exit 1 ali@387: export YUM_URL="file://localhost/`pwd`" ali@387: ../src/razor import-yum || exit 1 ali@387: ../src/razor install --relocate /usr=/opt zip || exit 1 ali@387: fs_check_file_contents /opt/bin/zip zip-1-1 ali@387: fs_check_file /opt/var/lib/zip/data.zap ali@387: ../src/razor install --relocate /usr=/opt zip || exit 1 ali@387: ../src/razor install --relocate /usr=/opt zip || exit 1 ali@387: rm -rf "$RAZOR_ROOT"