#!/bin/bash # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh helper=${0##*/} if [[ -z ${T} ]] || [[ -z ${2} ]] ; then helpers_die "${helper}: Need two arguments, old file and new file" exit 1 fi (($#>2)) && \ eqawarn "QA Notice: ${helper} called with more than 2 arguments: ${@:3}" stdin= case "${EAPI}" in 0|1|2|3|4|4-python|4-slot-abi) ;; *) [[ $1 = "-" ]] && stdin=yes ;; esac rm -rf "${T}/$2" if [[ ${stdin} ]] ; then if [[ -t 0 ]] ; then helpers_die "!!! ${helper}: Input is from a terminal" exit 1 fi cat > "${T}/$2" ret=$? else if [[ ! -e $1 ]] ; then helpers_die "!!! ${helper}: $1 does not exist" exit 1 fi cp_args="-f" if [[ ${helper} == newins ]] ; then case "${EAPI}" in 0|1|2|3) ;; *) cp_args+=" -P" ;; esac fi cp ${cp_args} "$1" "${T}/$2" ret=$? fi if [[ ${ret} -ne 0 ]] ; then helpers_die "${0##*/} failed" exit ${ret} fi do${helper#new} "${T}/$2" ret=$? rm -rf "${T}/${2}" [[ $ret -ne 0 ]] && helpers_die "${helper} failed" exit $ret