#!/bin/sh -efu . @RPMCONFIGDIR@/functions . @RPMCONFIGDIR@/find-package SymlinkReq() { local f="$1" to; shift [ -L "$f" ] || return 0 to=$(readlink -v "$f") [ -n "$to" ] || Fatal "$f: cannot happen" if [ -z "${to##/*}" ]; then # Link target is absolute path. # Just let FindPackage do the rest of the work. FindPackage "$f" "$to" else # Link target is relative. Do one single step of symlink resolution, # that is, catenate symlink parent directory and its target. # E.g. $RPM_BUILD_ROOT/usr/share/foo/rt.jar -> ../java/rt.jar # goes $RPM_BUILD_ROOT/usr/share/foo/../java/rt.jar to=$(dirname "$f")/$to # As we strip $RPM_BUILD_ROOT, we get possibly non-canonical # required path, which is yet okay for FindPackage. to=${to#${RPM_BUILD_ROOT-}} FindPackage "$f" "$to" fi } ArgvFileAction SymlinkReq "$@"