summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'profiles/prefix/windows/interix/profile.bashrc')
-rw-r--r--profiles/prefix/windows/interix/profile.bashrc146
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
-}