Add a test for relocations that are valid paths but would be invalid URIs if mis-interpreted
9 if [ ! -e "$tmpdir$1" ]; then
10 echo $1: Not in filesystem >&2
15 fs_check_file_contents()
18 if [ `cat "$tmpdir$1"` != "$2" ]; then
19 echo $1: Unexpected contents >&2
26 if [ -e "$tmpdir$1" ]; then
27 echo $1: Still in filesystem >&2
33 $razor list-files | grep -F -x "$1" > /dev/null
35 echo $1: Not in database >&2
39 $razor list-files "$1" | grep -F -x "$1" > /dev/null
41 echo $1: Not seen by patterned list >&2
42 $razor list-files "$1" >&2
45 pkgs=`$razor list-file-packages "$1"`
46 if [ -z "$pkgs" ]; then
47 echo $1: Not owned by any package >&2
48 $razor list-file-packages "$1"
51 for nevra in "$pkgs"; do
52 name=`echo $nevra | sed 's/\-.*$//'`
53 $razor list-package-files "$name" | grep -F -x "$1" > /dev/null
55 echo $1: Not in database for package $name >&2
56 $razor list-package-files "$name"
64 $razor list-files | grep -F -x "$1" > /dev/null
66 echo $1: Still in database >&2
73 count=`$razor list "$1" | wc -l`
74 if [ "$count" != "$2" ]; then
75 echo $1: Install count $count, should be $2 >&2
81 export YUM_URL="file:`pwd`/$1"
82 cp $1/repodata/primary.xml.gz $1/repodata/filelists.xml.gz .
84 ln -s $1/Packages rpms
86 tmpdir=`mktemp -dt` || exit 1
87 export RAZOR_ROOT="file:$tmpdir"
90 $razor import-yum || exit 1
91 $razor install --relocate /usr=/opt zip || exit 1
92 fs_check_file_contents /opt/bin/zip zip-1-1
93 fs_check_file /opt/var/lib/zip/data.zap
94 trap "set_repository base" 0
95 set_repository updates
96 $razor import-yum || exit 1
97 $razor update --relocate /usr=/opt || exit 1
98 check_file /opt/bin/zip
99 fs_check_file_contents /opt/bin/zip zip-2-1
100 fs_check_file /opt/var/lib/zip/data.zap
101 $razor remove zip || exit 1
102 fs_check_no_file /opt/var/lib/zip/data.zap
104 $razor import-yum || exit 1
105 $razor install --relocate /usr=/opt zip || exit 1
106 $razor install --relocate /usr=/opt zip || exit 1
107 check_install_count zip 2
108 set_repository updates
109 $razor import-yum || exit 1
110 $razor update --relocate /usr=/opt || exit 1
111 check_file /opt/bin/zip
112 fs_check_file_contents /opt/bin/zip zip-2-1
113 fs_check_file /opt/var/lib/zip/data.zap
114 check_install_count zip 1
115 $razor remove zip || exit 1
116 fs_check_no_file /opt/var/lib/zip/data.zap
118 $razor import-yum || exit 1
119 $razor install --relocate /usr=/opt zip || exit 1
120 $razor update --relocate /usr=/opt zip || exit 1
121 check_install_count zip 1