#!/bin/sh
# $Id: remove_symlinks 274470 2012-06-06 12:33:15Z peroyvind $

if [ -z "$RPM_BUILD_ROOT" ]; then
    echo "No build root defined" >&2
    exit 1
fi

if [ ! -d "$RPM_BUILD_ROOT" ]; then
    echo "Invalid build root" >&2
    exit 1
fi

find "$RPM_BUILD_ROOT" \
    -type l -print0 | xargs --no-run-if-empty -0 ls 2>/dev/null |
while read symlink; do
    path="`readlink -f \"$symlink\"`"

    echo $path | grep -q -E '^(/dev|/sys|/proc)' && continue
    # absolute path needs to be made into an absolute path relative to buildroot
    echo $path | grep -q -E '^/' && path="$RPM_BUILD_ROOT$path"

    if stat -L "$path" &> /dev/null; then
	rm "$symlink"
	output="`ln -svLrf \"$path\" \"$symlink\" 2>&1`"
	if ! stat -L "$symlink" &> /dev/null; then
	    echo "symlink relativization failed:" >&2
	    echo "$output" >&2
	    ls --color -l "$symlink" >&2
	fi
    fi
done
