| author | J. Ali Harlow <ali@juiblex.co.uk> |
| Fri Oct 17 10:13:48 2014 +0100 (2014-10-17) | |
| changeset 459 | 5576a85e174a |
| parent 410 | 6c691def7607 |
| child 475 | 008c75a5e08d |
| permissions | -rwxr-xr-x |
| ali@363 | 1 |
#!/bin/sh |
| ali@456 | 2 |
if [ $# -gt 0 ]; then |
| ali@456 | 3 |
razor="$1" |
| ali@456 | 4 |
else |
| ali@456 | 5 |
razor=../src/razor |
| ali@456 | 6 |
fi |
| ali@369 | 7 |
fs_check_file() |
| ali@369 | 8 |
{
|
| ali@369 | 9 |
if [ ! -e "$RAZOR_ROOT$1" ]; then |
| ali@369 | 10 |
echo $1: Not in filesystem >&2 |
| ali@369 | 11 |
ls -R "$RAZOR_ROOT" >&2 |
| ali@369 | 12 |
exit 1 |
| ali@369 | 13 |
fi |
| ali@369 | 14 |
} |
| ali@369 | 15 |
fs_check_no_file() |
| ali@369 | 16 |
{
|
| ali@369 | 17 |
if [ -e "$RAZOR_ROOT$1" ]; then |
| ali@369 | 18 |
echo $1: Still in filesystem >&2 |
| ali@369 | 19 |
exit 1 |
| ali@369 | 20 |
fi |
| ali@369 | 21 |
} |
| ali@363 | 22 |
check_file() |
| ali@363 | 23 |
{
|
| ali@456 | 24 |
$razor list-files | grep -x "$1" > /dev/null |
| ali@363 | 25 |
if [ $? -ne 0 ]; then |
| ali@363 | 26 |
echo $1: Not in database >&2 |
| ali@456 | 27 |
$razor list-files >&2 |
| ali@363 | 28 |
exit 1 |
| ali@363 | 29 |
fi |
| ali@456 | 30 |
$razor list-files "$1" | grep -x "$1" > /dev/null |
| ali@363 | 31 |
if [ $? -ne 0 ]; then |
| ali@363 | 32 |
echo $1: Not seen by patterned list >&2 |
| ali@456 | 33 |
$razor list-files "$1" >&2 |
| ali@363 | 34 |
exit 1 |
| ali@363 | 35 |
fi |
| ali@456 | 36 |
pkgs=`$razor list-file-packages "$1"` |
| ali@363 | 37 |
if [ -z "$pkgs" ]; then |
| ali@363 | 38 |
echo $1: Not owned by any package >&2 |
| ali@456 | 39 |
$razor list-file-packages "$1" |
| ali@363 | 40 |
exit 1 |
| ali@363 | 41 |
fi |
| ali@363 | 42 |
for nevra in "$pkgs"; do |
| ali@363 | 43 |
name=`echo $nevra | sed 's/\-.*$//'` |
| ali@456 | 44 |
$razor list-package-files "$name" | grep -x "$1" > /dev/null |
| ali@363 | 45 |
if [ $? -ne 0 ]; then |
| ali@363 | 46 |
echo $1: Not in database for package $name >&2 |
| ali@456 | 47 |
$razor list-package-files "$name" |
| ali@363 | 48 |
exit 1 |
| ali@363 | 49 |
fi |
| ali@363 | 50 |
done |
| ali@369 | 51 |
fs_check_file $1 |
| ali@363 | 52 |
} |
| ali@363 | 53 |
check_no_file() |
| ali@363 | 54 |
{
|
| ali@456 | 55 |
$razor list-files | grep -x "$1" > /dev/null |
| ali@363 | 56 |
if [ $? -eq 0 ]; then |
| ali@363 | 57 |
echo $1: Still in database >&2 |
| ali@363 | 58 |
exit 1 |
| ali@363 | 59 |
fi |
| ali@369 | 60 |
fs_check_no_file $1 |
| ali@363 | 61 |
} |
| ali@363 | 62 |
export RAZOR_ROOT=`mktemp -dt` || exit 1 |
| ali@456 | 63 |
$razor init || exit 1 |
| ali@363 | 64 |
export YUM_URL="file://localhost/`pwd`" |
| ali@456 | 65 |
$razor import-yum || exit 1 |
| ali@456 | 66 |
$razor install --relocate /usr=/opt zip || exit 1 |
| ali@372 | 67 |
fs_check_file /opt/var/lib/zip/data.zap |
| ali@456 | 68 |
$razor remove zip || exit 1 |
| ali@372 | 69 |
check_file /opt/bin/zap |
| ali@372 | 70 |
check_no_file /opt/bin/zip |
| ali@372 | 71 |
fs_check_no_file /opt/var/lib/zip/data.zap |
| ali@456 | 72 |
$razor install --relocate /usr=/opt zsh || exit 1 |
| ali@456 | 73 |
$razor install --relocate /usr=/opt zsh2 || exit 1 |
| ali@456 | 74 |
$razor remove zsh || exit 1 |
| ali@363 | 75 |
check_file /etc/zsh.conf |
| ali@372 | 76 |
check_no_file /opt/bin/zsh |
| ali@372 | 77 |
check_no_file /opt/var/lib/zsh/data.zip |
| ali@410 | 78 |
# Installing a package twice isn't handled very well at present |
| ali@410 | 79 |
# so just don't do it for now. |
| ali@456 | 80 |
#$razor install --relocate /usr=/opt zsh2 || exit 1 |
| ali@372 | 81 |
fs_check_file /opt/var/lib/zip/data.zap |
| ali@456 | 82 |
$razor remove zsh2 zip || exit 1 |
| ali@372 | 83 |
fs_check_no_file /opt/var/lib/zip/data.zap |
| ali@363 | 84 |
rm -rf "$RAZOR_ROOT" |