From 3235aa133461f328c977f7dfb6a8052ab0ed9819 Mon Sep 17 00:00:00 2001 From: fuzzyray Date: Thu, 30 Apr 2009 21:48:13 +0000 Subject: Tagging the gentoolkit-0.2.4.1 release svn path=/tags/gentoolkit-0.2.4.1/; revision=563 --- src/ego/AUTHOR | 1 + src/ego/AUTHORS | 1 + src/ego/ChangeLog | 2 ++ src/ego/Makefile | 18 ++++++++++++ src/ego/README | 2 ++ src/ego/TODO | 0 src/ego/ego | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 7 files changed, 110 insertions(+) create mode 100644 src/ego/AUTHOR create mode 100644 src/ego/AUTHORS create mode 100644 src/ego/ChangeLog create mode 100644 src/ego/Makefile create mode 100644 src/ego/README create mode 100644 src/ego/TODO create mode 100644 src/ego/ego (limited to 'src/ego') diff --git a/src/ego/AUTHOR b/src/ego/AUTHOR new file mode 100644 index 0000000..36d5bfd --- /dev/null +++ b/src/ego/AUTHOR @@ -0,0 +1 @@ +Aron Griffis diff --git a/src/ego/AUTHORS b/src/ego/AUTHORS new file mode 100644 index 0000000..36d5bfd --- /dev/null +++ b/src/ego/AUTHORS @@ -0,0 +1 @@ +Aron Griffis diff --git a/src/ego/ChangeLog b/src/ego/ChangeLog new file mode 100644 index 0000000..503d0da --- /dev/null +++ b/src/ego/ChangeLog @@ -0,0 +1,2 @@ +2004-15-01 Karl Trygve Kalleberg + * Added Makefile diff --git a/src/ego/Makefile b/src/ego/Makefile new file mode 100644 index 0000000..b27a2cb --- /dev/null +++ b/src/ego/Makefile @@ -0,0 +1,18 @@ +# Copyright 2004 Karl Trygve Kalleberg +# Copyright 2004 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# +# $Header$ + +include ../../makedefs.mak + +all: + +dist: + mkdir -p ../../$(distdir)/src/ego/ + cp Makefile AUTHORS README TODO ChangeLog ego ../../$(distdir)/src/ego/ + +install: all + install -d $(docdir)/ego + install -m 0644 AUTHORS README ego $(docdir)/ego/ + diff --git a/src/ego/README b/src/ego/README new file mode 100644 index 0000000..6c44b4c --- /dev/null +++ b/src/ego/README @@ -0,0 +1,2 @@ +[ -f ${HOME}/scripts/ego.bash ] && +alias ego="unalias ego ; source ${HOME}/scripts/ego.bash ; ego " diff --git a/src/ego/TODO b/src/ego/TODO new file mode 100644 index 0000000..e69de29 diff --git a/src/ego/ego b/src/ego/ego new file mode 100644 index 0000000..f1691f2 --- /dev/null +++ b/src/ego/ego @@ -0,0 +1,86 @@ +echo1() { + echo "$1" +} + +ego() { + local portdir tmpdir category pkg target + + # This is WAY faster than portageq: + # portdir=$(portageq portdir) + # tmpdir=$(portageq envvar PORTAGE_TMPDIR)/portage + eval $( + . /etc/make.globals + . /etc/make.conf + export PORTDIR PORTAGE_TMPDIR + export | sed -n ' + s/^declare -x PORTDIR=/portdir=/p + s/^declare -x PORTAGE_TMPDIR=\(.*\)/tmpdir=\1\/portage/p' + ) + + case $1 in + *-*/*) + pkg=${1##*/} + category=${1%/*} + ;; + + ?*) + pkg=$1 + # require an ebuild so that we can block deprecated packages + # such as dev-libs/rep-gtk + category=$(echo1 $portdir/*-*/$pkg/*.ebuild) + [[ -f $category ]] || category=$(echo1 $portdir/*-*/$pkg*/*.ebuild) + [[ -f $category ]] || category=$(echo1 $portdir/*-*/*$pkg/*.ebuild) + [[ -f $category ]] || category=$(echo1 $portdir/*-*/*$pkg*/*.ebuild) + if [[ ! -f $category ]]; then + echo "Can't find $pkg in $portdir" >&2 + return 1 + fi + pkg=${category%/*} + pkg=${pkg##*/} + category=${category#$portdir/} + category=${category%%/*} + ;; + + *) + # Check if we're under $portdir first + pkg=${PWD##*/} + category=${PWD%/*} + category=${category##*/} + if [[ ! -d $portdir/$category/$pkg ]]; then + # Next check if we're in PORTAGE_TMPDIR + if [[ $PWD = $tmpdir/* ]]; then + pkg=${PWD#$tmpdir/} + pkg=${pkg%%/*} + pkg=${pkg%%-[0-9]*} # not really a valid assumption + category=$(echo1 $portdir/*-*/$pkg/*.ebuild) + if [[ ! -f $category ]]; then + echo "Can't find $pkg in $portdir" >&2 + return 1 + fi + category=${category#$portdir/} + category=${category%%/*} + else + echo "syntax: ego [pkgname]" >&2 + echo "or simply ego from a dir under $portdir or $tmpdir" >&2 + return 1 + fi + fi + ;; + esac + + # go to tmpdir or portdir? + if [[ $PWD/ = */$category/$pkg/* ]]; then + [[ -n $tmpdir ]] || tmpdir=$(portageq envvar PORTAGE_TMPDIR)/portage + target=$(command ls -1td $tmpdir/$pkg-* 2>/dev/null | head -n 1) + if [[ -z $target ]]; then + echo "No matches found for $tmpdir/$pkg-*" >&2 + return 1 + fi + cd $target/work/$pkg* 2>/dev/null || + cd $target/work 2>/dev/null || + cd $target + else + cd $portdir/$category/$pkg + fi +} + -- cgit v1.2.3-65-gdbad