File find-provides.ksyms of Package python-rpm.22277

#! /bin/bash

IFS=$'\n'

is_tumbleweed=false

if test "$1" = "--tumbleweed"; then
    if test "$2" -gt 0; then
        is_tumbleweed=true
    fi
    shift 2
fi

if ! $is_tumbleweed; then
    trap 'rm -f "$tmp"' EXIT
    tmp=$(mktemp)
fi


while read f; do
    test -e "$f" || continue
    is_module=""
    case "$f" in
    *.debug)
        continue
        ;;
    */boot/vmlinu[xz]-*)
        flavor=${f##*/vmlinu[xz]-}
        flavor=${flavor%.gz}
        version=${flavor}
        inst_prefix="$(dirname $f)"
        inst_prefix="$(dirname $inst_prefix)"
        echo "kernel-uname-r = $version"
        builtin="$inst_prefix/lib/modules/$version/modules.builtin"
        if [ -e "$builtin" ] ; then
                while read mod ; do
                        echo "kmod($(basename "$mod" .ko | tr '-' '_'))"
                done < "$builtin"
        else
                echo "Builtin modules for $f not available in $builtin" >&2
        fi
        flavor=${flavor##*-}
        ;;
    */lib/modules/*/*.ko | */lib/modules/*/*.ko.gz)
        is_module="1"
        modname="${f%%.gz}"
        modname="$(basename "$modname" .ko | tr '-' '_')"
        echo "kmod($modname)"
        ;;
    *)
        continue
    esac
    if $is_tumbleweed; then
        continue
    fi
    unzip=false
    case "$f" in
    *.gz | */boot/vmlinuz*)
        unzip=true
    esac
    if $unzip && gzip -cd "$f" >"$tmp"; then
        f=$tmp
    fi
    if test -z "$flavor" -a -n "$is_module" ; then
        flavor=$(/sbin/modinfo -F vermagic "$f")
        flavor=${flavor%% *}
        version=${flavor}
        flavor=${flavor##*-}
    fi
    if test -z "$flavor"; then
        echo "warning: cannot determine kernel flavor from $(/sbin/modinfo -F vermagic "$f" 2>&1)" >&2
        continue
    fi
    objdir=$(readlink /lib/modules/$version/build)
    objdir_build=$RPM_BUILD_ROOT$(readlink $RPM_BUILD_ROOT/lib/modules/$version/build)
    for i in $objdir_build $objdir ; do
            ksym_provides=$i/scripts/mod/ksym-provides
            [ -x $ksym_provides ] && break
    done
    if [ -x $ksym_provides ] ; then
            $ksym_provides $flavor $f
    else
            major=${version%%.*}
            sub=${version#*.}
            sub=${sub%%.*}
            if [ "$major" -ge 4 -a "$sub" -ge 10 ] ; then
                    echo "error: cannot determine ksym provides of $f - missing ksym-povides tool." >&2
            else
                    nm "$f" \
                            | sed -r -ne "s/^0*([0-9a-f]+) A __crc_(.+)/ksym($flavor:\\2) = \\1/p"
            fi
    fi
done \
| sort -u
openSUSE Build Service is sponsored by