ali@363: #!/bin/sh ali@369: fs_check_file() ali@369: { ali@369: if [ ! -e "$RAZOR_ROOT$1" ]; then ali@369: echo $1: Not in filesystem >&2 ali@369: ls -R "$RAZOR_ROOT" >&2 ali@369: exit 1 ali@369: fi ali@369: } ali@369: fs_check_no_file() ali@369: { ali@369: if [ -e "$RAZOR_ROOT$1" ]; then ali@369: echo $1: Still in filesystem >&2 ali@369: exit 1 ali@369: fi ali@369: } ali@363: check_file() ali@363: { ali@363: ../src/razor list-files | grep -x "$1" > /dev/null ali@363: if [ $? -ne 0 ]; then ali@363: echo $1: Not in database >&2 ali@363: ../src/razor list-files >&2 ali@363: exit 1 ali@363: fi ali@363: ../src/razor list-files "$1" | grep -x "$1" > /dev/null ali@363: if [ $? -ne 0 ]; then ali@363: echo $1: Not seen by patterned list >&2 ali@363: ../src/razor list-files "$1" >&2 ali@363: exit 1 ali@363: fi ali@363: pkgs=`../src/razor list-file-packages "$1"` ali@363: if [ -z "$pkgs" ]; then ali@363: echo $1: Not owned by any package >&2 ali@363: ../src/razor list-file-packages "$1" ali@363: exit 1 ali@363: fi ali@363: for nevra in "$pkgs"; do ali@363: name=`echo $nevra | sed 's/\-.*$//'` ali@363: ../src/razor list-package-files "$name" | grep -x "$1" > /dev/null ali@363: if [ $? -ne 0 ]; then ali@363: echo $1: Not in database for package $name >&2 ali@363: ../src/razor list-package-files "$name" ali@363: exit 1 ali@363: fi ali@363: done ali@369: fs_check_file $1 ali@363: } ali@363: check_no_file() ali@363: { ali@363: ../src/razor list-files | grep -x "$1" > /dev/null ali@363: if [ $? -eq 0 ]; then ali@363: echo $1: Still in database >&2 ali@363: exit 1 ali@363: fi ali@369: fs_check_no_file $1 ali@363: } ali@363: export RAZOR_ROOT=`mktemp -dt` || exit 1 ali@363: ../src/razor init || exit 1 ali@363: export YUM_URL="file://localhost/`pwd`" ali@363: ../src/razor import-yum || exit 1 ali@372: ../src/razor install --relocate /usr=/opt zip || exit 1 ali@372: fs_check_file /opt/var/lib/zip/data.zap ali@363: ../src/razor remove zip || exit 1 ali@372: check_file /opt/bin/zap ali@372: check_no_file /opt/bin/zip ali@372: fs_check_no_file /opt/var/lib/zip/data.zap ali@372: ../src/razor install --relocate /usr=/opt zsh || exit 1 ali@372: ../src/razor install --relocate /usr=/opt zsh2 || exit 1 ali@363: ../src/razor remove zsh || exit 1 ali@363: check_file /etc/zsh.conf ali@372: check_no_file /opt/bin/zsh ali@372: check_no_file /opt/var/lib/zsh/data.zip ali@410: # Installing a package twice isn't handled very well at present ali@410: # so just don't do it for now. ali@410: #../src/razor install --relocate /usr=/opt zsh2 || exit 1 ali@372: fs_check_file /opt/var/lib/zip/data.zap ali@371: ../src/razor remove zsh2 zip || exit 1 ali@372: fs_check_no_file /opt/var/lib/zip/data.zap ali@363: rm -rf "$RAZOR_ROOT"