#!/bin/sh -efu PROG="${0##*/}" etc="/etc/rpm" [ "$0" = "./$PROG" ] && etc="." ||: [ -f $etc/rpmwraprc ] && . $etc/rpmwraprc ||: [ -f ~/.rpmwraprc ] && . ~/.rpmwraprc ||: : ${RPM_PREFIX:="/usr/bin"} : ${RPM:="$RPM_PREFIX/rpm"} : ${macrofile:=".rpmwrapmacros"} cwd="$(pwd)" prefix="" args="" sIFS="$IFS" IFS=":" for i in $allow_prefix; do case "$cwd" in $i/*|$i) [ -f "$i/$macrofile" ] && prefix="$i" ||: ;; *) continue ;; esac done IFS="$sIFS" rpmrc= exit_handler() { local rc=$? trap - EXIT [ -z "$rpmrc" ] || rm -r -- "$rpmrc" exit $rc } if [ -n "$prefix" ]; then rpmrc="$(mktemp -t "$PROG-rpmrc.XXXXXXXX")" trap exit_handler HUP PIPE INT QUIT TERM EXIT macrofiles="$($RPM --showrc| grep macrofiles)" macrofiles="${macrofiles#macrofiles}" macrofiles="${macrofiles#*:}" args="--rcfile=$rpmrc" cat < "$rpmrc" include: /usr/lib/rpm/rpmrc macrofiles: ${macrofiles+$macrofiles:}$prefix/$macrofile EOF fi [ -x "$RPM_PREFIX/$PROG" ] && "$RPM_PREFIX/$PROG" $args "$@"