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