On Tue, 15 Jul 2008 22:34:33 +0100
Ciaran McCreesh <[EMAIL PROTECTED]> wrote:

> On Tue, 15 Jul 2008 23:23:26 +0200
> Marius Mauch <[EMAIL PROTECTED]> wrote:
> > Right, just I'd expect the parsing of SRC_URI (with conditionals) to
> > be a bit tricky in bash, not something I'm going to work on. An
> > eclass-based solution would have a few benefits though wrt the
> > metadata cache.
> 
> Well... You don't really have to parse it.
> 
> for p in $SRC_URI ; do
>     if [[ "${p}" == "(" ]] || [[ "${p}" == ")" ]] || \
>         [[ "${p%\?}" != "${p}" ]] ; then
>         UNPACK_DEPENDS="${UNPACK_DEPENDS} $p "
>     elif [[ "${p%.zip}" != "${p}" ]] ; then
>         UNPACK_DEPENDS="${UNPACK_DEPENDS} app-arch/unzip "
>     elif [[ "${p%.bz2}" != "${p}" ]] ; then
>         UNPACK_DEPENDS="${UNPACK_DEPENDS} app-arch/bzip2 "
>     fi
> done
> 
> Granted, it'll generate invalid output if SRC_URI is invalid (for
> example, if SRC_URI has mismatched parens, the output will too), but I
> can't think of any situation where breaking DEPEND if SRC_URI is
> already broken is a problem.

Interesting idea. Unfortunately our depstring parser doesn't like empty
parentheses (as they are usually problem indicators), so it doesn't
work out.

Marius
-- 
gentoo-dev@lists.gentoo.org mailing list

Reply via email to