diff options
Diffstat (limited to 'profiles/prefix/windows/interix/profile.bashrc')
-rw-r--r-- | profiles/prefix/windows/interix/profile.bashrc | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/profiles/prefix/windows/interix/profile.bashrc b/profiles/prefix/windows/interix/profile.bashrc deleted file mode 100644 index 3a32d78..0000000 --- a/profiles/prefix/windows/interix/profile.bashrc +++ /dev/null @@ -1,146 +0,0 @@ -# Copyright 1999-2009 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/profiles/prefix/windows/interix/profile.bashrc,v 1.5 2010/10/22 07:30:09 mduft Exp $ - -# use bash as config shell. this avoids _big_ problems with new libtool (>=2.2.10), -# as wrong asumptions about the shell arise when checking against /bin/sh. -export CONFIG_SHELL=${BASH} - -# On interix, binary files (executables, shared libraries) in use -# cannot be replaced during merge. -# But it is possible to rename them and remove lateron when they are -# not used any more by any running program. -# -# This is a workaround for portage bug#199868, -# and should be dropped once portage does sth. like this itself. - -interix_cleanup_removed_files() { - local removedlist=$1 - rm -f "${removedlist}".new - - if [[ -r ${removedlist} ]]; then - rm -f "${removedlist}".old - fi - # restore in case of system fault - if [[ -r ${removedlist}.old ]]; then - mv "${removedlist}"{.old,} - fi - - touch "${removedlist}"{,.new} # ensure they exist - - while read rmstem; do - # try to remove previously recorded files - for f in "${ROOT}${rmstem}"*; do - ebegin "trying to remove ${f}" - rm -f "${f}" > /dev/null 2>&1 - eend $? - done - # but keep it in list if still exists - for f in "${ROOT}${rmstem}"*; do - [[ -f ${f} ]] && echo "${rmstem}" >> "${removedlist}".new - break - done - done < "${removedlist}" - - # update the list - mv "${removedlist}"{,.old} - mv "${removedlist}"{.new,} - rm "${removedlist}".old -} - -interix_find_removed_slot() { - local f=$1 - local n=0 - while [[ ${n} -lt 100 && -f "${f}${n}" ]]; do - n=$((n=n+1)) - done - - if [[ ${n} -ge 100 ]]; then - echo "too many (>=100) old text files busy of '${f}'" >&2 - exit 1 - fi - - echo $n -} - -interix_prepare_file() { - local failed=0 - if [[ ${PN} == libiconv ]]; then - # when moving around libiconv, the prefix' coreutils will - # be damaged, so we really need to use the systems ones. - /bin/cp -p "${1}" "${1}.new" || failed=1 - /bin/mv "${1}" "${2}" || failed=1 - /bin/mv "${1}.new" "${1}" || failed=1 - else - my_mv=mv - - [[ "${1}" == */mv ]] && my_mv="${1}.new" - [[ -f "${1}.new" ]] && rm -f "${1}.new" - - cp -p "${1}" "${1}.new" || failed=1 - ${my_mv} "${1}" "${2}" || failed=1 - ${my_mv} "${1}.new" "${1}" || failed=1 - fi - - echo $failed -} - -post_pkg_preinst() { - local removedlist="${EROOT}var/lib/portage/files2bremoved" - interix_cleanup_removed_files $removedlist - - # now go for current package - cd "${D}" - find ".${EROOT}" -type f | while read f; - do - /usr/bin/file "${f}" | grep ' PE ' > /dev/null || continue - - f=${f#./} # find prints: "./path/to/file" - f=${f%:} # file prints: "file-argument: type-of-file" - test -r "${ROOT}${f}" || continue - rmstem="${f}.removedbyportage" - # keep list of old busy text files unique - grep -Fx "${rmstem}" "${removedlist}" >/dev/null \ - || echo "${rmstem}" >> "${removedlist}" - - local n=$(interix_find_removed_slot ${ROOT}${rmstem}) - ebegin "preparing ${ROOT}${f} for merge (${n})" - eend $(interix_prepare_file "${ROOT}${f}" "${ROOT}${rmstem}${n}") - done -} - -post_pkg_prerm() { - local removedlist="${EROOT}var/lib/portage/files2bremoved" - save_IFS=$IFS - IFS=' -'; - local MY_PR=${PR} - [[ ${MY_PR} == r0 ]] && MY_PR= - local -a contents=($(<"${EROOT}var/db/pkg/${CATEGORY}/${P}${MY_PR:+-}${MY_PR}/CONTENTS")); - IFS=$save_IFS - local -a cont - for content in "${contents[@]}"; do - cont=($content) - f=${cont[1]} - f=${f#/} - - test -r "${ROOT}${f}" || continue - - if /usr/bin/file "${ROOT}${f}" | grep ' PE ' > /dev/null; then - # $f should be an absolute path to the installed file - rmstem="${f}.removedbyportage" - - grep "^${rmstem}$" "${removedlist}" > /dev/null \ - || echo "${rmstem}" >> "${removedlist}" - - local n=$(interix_find_removed_slot ${ROOT}${rmstem}) - ebegin "preparing ${ROOT}${f} for unmerge ($n)" - eend $(interix_prepare_file "${ROOT}${f}" "${ROOT}${rmstem}${n}") - fi - done -} - -pre_pkg_postrm() { - local removedlist="${EROOT}var/lib/portage/files2bremoved" - interix_cleanup_removed_files $removedlist -} |