Allow multiple atomic transactions to be used with one root object.
This allows transactions that include barriers to be performed
while holding an exclusive system lock.
4 if [ ! -e "$RAZOR_ROOT$1" ]; then
5 echo $1: Not in filesystem >&2
6 ls -R "$RAZOR_ROOT" >&2
10 fs_check_file_contents()
13 if [ `cat "$RAZOR_ROOT$1"` != "$2" ]; then
14 echo $1: Unexpected contents >&2
15 cat "$RAZOR_ROOT$1" >&2
21 if [ -e "$RAZOR_ROOT$1" ]; then
22 echo $1: Still in filesystem >&2
28 ../src/razor list-files | grep -x "$1" > /dev/null
30 echo $1: Not in database >&2
31 ../src/razor list-files >&2
34 ../src/razor list-files "$1" | grep -x "$1" > /dev/null
36 echo $1: Not seen by patterned list >&2
37 ../src/razor list-files "$1" >&2
40 pkgs=`../src/razor list-file-packages "$1"`
41 if [ -z "$pkgs" ]; then
42 echo $1: Not owned by any package >&2
43 ../src/razor list-file-packages "$1"
46 for nevra in "$pkgs"; do
47 name=`echo $nevra | sed 's/\-.*$//'`
48 ../src/razor list-package-files "$name" | grep -x "$1" > /dev/null
50 echo $1: Not in database for package $name >&2
51 ../src/razor list-package-files "$name"
59 ../src/razor list-files | grep -x "$1" > /dev/null
61 echo $1: Still in database >&2
68 count=`../src/razor list "$1" | wc -l`
69 if [ "$count" != "$2" ]; then
70 echo $1: Install count $count, should be $2 >&2
74 export RAZOR_ROOT=`mktemp -dt` || exit 1
75 ../src/razor init || exit 1
76 export YUM_URL="file://localhost/`pwd`"
77 ../src/razor import-yum || exit 1
78 ../src/razor install --relocate /usr=/opt zip || exit 1
79 fs_check_file_contents /opt/bin/zip zip-1-1
80 fs_check_file /opt/var/lib/zip/data.zap
81 ../src/razor install --relocate /usr=/opt zip || exit 1
82 check_install_count zip 2
83 ../src/razor install --relocate /usr=/opt zip || exit 1
84 check_install_count zip 3