Update the eselect-vi package to the latest version.

Update the eselect-vi package to the latest version, which should also
fix the vim symlinks under /usr/bin to use relative paths.

BUG=chromium-os:14291
TEST=emerge vim and verify that /usr/bin/vi is a symlink to vim, not //usr/bin/vim (or any other rooted path)

Change-Id: Ie1e180d62f7f78e098e449d8762c74f196ef26f9

Review URL: http://codereview.chromium.org/6879117
diff --git a/app-admin/eselect-vi/eselect-vi-1.1.7-r1.ebuild b/app-admin/eselect-vi/eselect-vi-1.1.7-r1.ebuild
new file mode 100644
index 0000000..01e58c3
--- /dev/null
+++ b/app-admin/eselect-vi/eselect-vi-1.1.7-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-admin/eselect-vi/eselect-vi-1.1.7-r1.ebuild,v 1.10 2010/10/29 22:14:00 halcy0n Exp $
+
+EAPI="3"
+inherit eutils
+
+DESCRIPTION="Manages the /usr/bin/vi symlink"
+HOMEPAGE="http://www.gentoo.org/"
+SRC_URI="mirror://gentoo/vi.eselect-${PV}.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="alpha amd64 arm hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~ppc-aix ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RDEPEND=">=app-admin/eselect-1.0.6"
+
+src_prepare() {
+	epatch "${FILESDIR}/${P}-prefix.patch"
+}
+
+src_install() {
+	insinto /usr/share/eselect/modules
+	newins "${WORKDIR}/vi.eselect-${PV}" vi.eselect || die
+}
diff --git a/app-admin/eselect-vi/files/eselect-vi-1.1.7-prefix.patch b/app-admin/eselect-vi/files/eselect-vi-1.1.7-prefix.patch
new file mode 100644
index 0000000..447e1fa
--- /dev/null
+++ b/app-admin/eselect-vi/files/eselect-vi-1.1.7-prefix.patch
@@ -0,0 +1,136 @@
+--- vi.eselect-1.1.7.orig	2010-04-24 16:16:14.000000000 +0200
++++ vi.eselect-1.1.7	2010-04-24 16:20:02.000000000 +0200
+@@ -12,13 +12,13 @@
+ find_targets() {
+ 	local f
+ 	for f in \
+-			"${ROOT}"/usr/bin/vim \
+-			"${ROOT}"/usr/bin/nvi \
+-			"${ROOT}"/usr/bin/elvis \
+-			"${ROOT}"/usr/bin/vile \
+-			"${ROOT}"/usr/bin/gvim \
+-			"${ROOT}"/usr/bin/xvile \
+-			"${ROOT}"/bin/busybox \
++			"${EROOT}"/usr/bin/vim \
++			"${EROOT}"/usr/bin/nvi \
++			"${EROOT}"/usr/bin/elvis \
++			"${EROOT}"/usr/bin/vile \
++			"${EROOT}"/usr/bin/gvim \
++			"${EROOT}"/usr/bin/xvile \
++			"${EROOT}"/bin/busybox \
+ 		; do
+ 		if [[ -f "${f}" ]] ; then
+ 			echo $(basename "${f}" )
+@@ -28,8 +28,8 @@
+ 
+ # try to remove the vi, ex, view and man vi symlinks
+ remove_symlinks() {
+-	rm -f "${ROOT}"/usr/bin/{vi,ex,view} &>/dev/null && \
+-	rm -f "${ROOT}"/usr/share/man/man1/{vi,ex,view}.1{,.gz,.bz2,.lzma} &>/dev/null
++	rm -f "${EROOT}"/usr/bin/{vi,ex,view} &>/dev/null && \
++	rm -f "${EROOT}"/usr/share/man/man1/{vi,ex,view}.1{,.gz,.bz2,.lzma} &>/dev/null
+ }
+ 
+ # set a man page symlink
+@@ -37,7 +37,7 @@
+ 	local target="${1}" link_name="${2}" x extension
+ 
+ 	for x in ".1" ".1.bz2" ".1.gz" ".1.lzma" ; do
+-		if [[ -e /usr/share/man/man1/${target}${x} ]] ; then
++		if [[ -e ${EROOT}/usr/share/man/man1/${target}${x} ]] ; then
+ 			extension="${x}"
+ 			break
+ 		fi
+@@ -49,7 +49,7 @@
+ 	fi
+ 
+ 	ln -s "${target}${extension}" \
+-		"${ROOT}/usr/share/man/man1/${link_name}${extension}"
++		"${EROOT}/usr/share/man/man1/${link_name}${extension}"
+ }
+ 
+ # set the vi, ex, view, and man vi symlinks
+@@ -62,9 +62,9 @@
+ 
+ 	local dir
+ 	if [[ ${target} == "busybox" ]]; then
+-		dir="${ROOT}/bin"
++		dir="${EROOT}/bin"
+ 	else
+-		dir="${ROOT}/usr/bin"
++		dir="${EROOT}/usr/bin"
+ 	fi
+ 
+ 	if [[ -f "${dir}/${target}" ]] ; then
+@@ -76,12 +76,12 @@
+ 		set_man_symlink "${target}" "view"
+ 
+ 		# it's not okay if these fail
+-		target=$(relative_name "${dir}/${target}" "${ROOT}/usr/bin")
+-		ln -s "${target}" "${ROOT}/usr/bin/vi" \
++		target=$(relative_name "${dir}/${target}" "${EROOT}/usr/bin")
++		ln -s "${target}" "${EROOT}/usr/bin/vi" \
+ 			|| die "Couldn't set ${target} /usr/bin/vi symlink"
+-		ln -s "${target}" "${ROOT}/usr/bin/ex" \
++		ln -s "${target}" "${EROOT}/usr/bin/ex" \
+ 			|| die "Couldn't set ${target} /usr/bin/ex symlink"
+-		ln -s "${target}" "${ROOT}/usr/bin/view" \
++		ln -s "${target}" "${EROOT}/usr/bin/view" \
+ 			|| die "Couldn't set ${target} /usr/bin/view symlink"
+ 	else
+ 		die -q  "Target \"${1}\" doesn't appear to be valid!"
+@@ -98,9 +98,9 @@
+ 	[[ -z "${@}" ]] || die -q "Too many parameters"
+ 
+ 	write_list_start "Current vi implementation:"
+-	if [[ -L "${ROOT}/usr/bin/vi" ]] ; then
+-		write_kv_list_entry "$(basename $(canonicalise ${ROOT}/usr/bin/vi ) )" ""
+-	elif [[ -e "${ROOT}/usr/bin/vi" ]] ; then
++	if [[ -L "${EROOT}/usr/bin/vi" ]] ; then
++		write_kv_list_entry "$(basename $(canonicalise ${EROOT}/usr/bin/vi ) )" ""
++	elif [[ -e "${EROOT}/usr/bin/vi" ]] ; then
+ 		write_kv_list_entry "(not a symlink)" ""
+ 	else
+ 		write_kv_list_entry "(unset)" ""
+@@ -120,7 +120,7 @@
+ 	targets=( $(find_targets ) )
+ 	for (( i = 0; i < ${#targets[@]}; i++ )); do
+ 		[[ ${targets[i]} = \
+-			$(basename "$(canonicalise "${ROOT}/usr/bin/vi")") ]] \
++			$(basename "$(canonicalise "${EROOT}/usr/bin/vi")") ]] \
+ 			&& targets[i]=$(highlight_marker "${targets[i]}")
+ 	done
+ 	write_list_start "Available vi implementations:"
+@@ -148,15 +148,15 @@
+ 	elif [[ -n "${2}" ]] ; then
+ 		die -q "Too many parameters"
+ 
+-	elif [[ -L "${ROOT}/usr/bin/vi" ]] ; then
++	elif [[ -L "${EROOT}/usr/bin/vi" ]] ; then
+ 		if ! remove_symlinks ; then
+ 			die -q "Can't remove existing provider"
+ 		elif ! set_symlinks "${1}" ; then
+ 			die -q "Can't set new provider"
+ 		fi
+ 
+-	elif [[ -e "${ROOT}/usr/bin/vi" ]] ; then
+-		die -q "Sorry, ${ROOT}/usr/bin/vi confuses me"
++	elif [[ -e "${EROOT}/usr/bin/vi" ]] ; then
++		die -q "Sorry, ${EROOT}/usr/bin/vi confuses me"
+ 
+ 	else
+ 		set_symlinks "${1}" || die -q "Can't set a new provider"
+@@ -177,11 +177,11 @@
+ 	[[ -z "${1}" ]] || ( [[ -z "${2}" ]] && [[ "${1}" == "--if-unset" ]] ) || \
+ 		die -q "Usage error"
+ 
+-	if [[ -L "${ROOT}/usr/bin/vi" ]] ; then
++	if [[ -L "${EROOT}/usr/bin/vi" ]] ; then
+ 		[[ ${1} == "--if-unset" ]] && return
+ 		remove_symlinks || die -q "Can't remove existing link"
+ 	fi
+-	if [[ -e "${ROOT}/usr/bin/vi" ]] ; then
++	if [[ -e "${EROOT}/usr/bin/vi" ]] ; then
+ 		die -q "Can't set a new provider"
+ 	elif ! [[ -z $(find_targets ) ]] ; then
+ 		set_symlinks 1 || die -q "Can't set a new provider"