psss / rpms / libguestfs

Forked from rpms/libguestfs 5 years ago
Clone
fde3bca
#!/bin/bash -
ea6c8cd
# Additional custom requires for libguestfs package.
fde3bca
#
fde3bca
# Note this script is *ONLY* applicable to Fedora 17+ (ie. with UsrMove)
fde3bca
# since we now assume that /usr/lib{,64} and /lib{,64} are the same
fde3bca
# directory and hence that:
fde3bca
#
fde3bca
#   Requires: libfoo.so.1           <=>  /usr/lib/libfoo.so.1 exists
fde3bca
#   Requires: libfoo.so.1()(64bit)  <=>  /usr/lib64/libfoo.so.1 exists
ea6c8cd
ea6c8cd
original_find_requires="$1"
ea6c8cd
shift
ea6c8cd
ea6c8cd
# Get the list of files.
ea6c8cd
files=`sed "s/['\"]/\\\&/g"`
ea6c8cd
ea6c8cd
# Use ordinary find-requires first.
ea6c8cd
echo $files | tr [:blank:] '\n' | $original_find_requires
ea6c8cd
663e352
# Is supermin.d/hostfiles included in the list of files?
663e352
hostfiles=`echo $files | tr [:blank:] '\n' | grep 'supermin\.d/hostfiles$'`
ea6c8cd
ea6c8cd
if [ -z "$hostfiles" ]; then
ea6c8cd
    exit 0
ea6c8cd
fi
ea6c8cd
ea6c8cd
# Generate extra requires for libraries listed in hostfiles.
fde3bca
sofiles=`grep 'lib.*\.so\.' $hostfiles | fgrep -v '*'`
ea6c8cd
for f in $sofiles; do
ea6c8cd
    if [ -f "$f" ]; then
82faf4e
        if [[ "$f" =~ (/usr)?/lib64/([^/]*)$ ]]; then
82faf4e
            echo "${BASH_REMATCH[2]}()(64bit)"
82faf4e
        elif [[ "$f" =~ (/usr)?/lib/([^/]*)$ ]]; then
82faf4e
            echo "${BASH_REMATCH[2]}"
82faf4e
        else
82faf4e
            echo "$f"
fde3bca
        fi
ea6c8cd
    fi
ea6c8cd
done