Re: Fwd: [gentoo-dev] More general interface to use flags

2007-11-03 Thread Mike Frysinger
On Saturday 03 November 2007, Alec Warner wrote:
> Since portage currently
> uses bash and to my knowledge is not moving to POSIX shell in the near
> term, I think bash is appropriate in the implementation.  AKA,
> everyone stop arguing about which is better.

there it is, thanks
-mike


signature.asc
Description: This is a digitally signed message part.


Fwd: [gentoo-dev] More general interface to use flags

2007-11-02 Thread Alec Warner
I hate gmail

-- Forwarded message --
From: Alec Warner <[EMAIL PROTECTED]>
Date: Nov 2, 2007 10:25 PM
Subject: Re: [gentoo-dev] More general interface to use flags
To: gentoo-dev@lists.gentoo.org


On 11/2/07, Roy Marples <[EMAIL PROTECTED]> wrote:
>
> On Fri, 2007-11-02 at 18:17 +0100, Bo Ørsted Andresen wrote:
> > On Friday 02 November 2007 17:52:13 Roy Marples wrote:
> > > On Fri, 2007-11-02 at 17:30 +0100, Bo Ørsted Andresen wrote:
> > > > Please explain why you hijack this thread to discuss POSIX vs. bash when
> > > > it's supposed to be about the API for ebuilds.
> > >
> > > I dislike the gratuitous use of bash for no good reason - and in the
> > > code he gave there is no good reason for using bashisms.
> >
> > So your approach to getting it your way is to hijack every thread that shows
> > use of bashisms until people start using your inferior workarounds?
>
> I don't see them as inferior.
> I see them as more portable and less confusing.
>
> Of course you are welcome to compare the code in question and state
> which is inferior and why it is so.
>
> Thanks
>
> Roy

I think Roy's comments about POSIX shell are appropriate in that it is
his goal to see POSIX shell used within Gentoo and it is important to
that goal to point out where one can use POSIX shell instead of bash.
That being said; as far as I'm aware the reference implementation
provided by hkbst is in relation to portage (since it was already
discussed on the gentoo-dev-portage list).  Since portage currently
uses bash and to my knowledge is not moving to POSIX shell in the near
term, I think bash is appropriate in the implementation.  AKA,
everyone stop arguing about which is better.

-Alec
--
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] More general interface to use flags

2007-11-02 Thread Roy Marples

On Fri, 2007-11-02 at 18:17 +0100, Bo Ørsted Andresen wrote:
> On Friday 02 November 2007 17:52:13 Roy Marples wrote:
> > On Fri, 2007-11-02 at 17:30 +0100, Bo Ørsted Andresen wrote:
> > > Please explain why you hijack this thread to discuss POSIX vs. bash when
> > > it's supposed to be about the API for ebuilds.
> >
> > I dislike the gratuitous use of bash for no good reason - and in the
> > code he gave there is no good reason for using bashisms.
> 
> So your approach to getting it your way is to hijack every thread that shows 
> use of bashisms until people start using your inferior workarounds?

I don't see them as inferior.
I see them as more portable and less confusing.

Of course you are welcome to compare the code in question and state
which is inferior and why it is so.

Thanks

Roy

-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] More general interface to use flags

2007-11-02 Thread Bo Ørsted Andresen
On Friday 02 November 2007 17:52:13 Roy Marples wrote:
> On Fri, 2007-11-02 at 17:30 +0100, Bo Ørsted Andresen wrote:
> > Please explain why you hijack this thread to discuss POSIX vs. bash when
> > it's supposed to be about the API for ebuilds.
>
> I dislike the gratuitous use of bash for no good reason - and in the
> code he gave there is no good reason for using bashisms.

So your approach to getting it your way is to hijack every thread that shows 
use of bashisms until people start using your inferior workarounds?

-- 
Bo Andresen


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] More general interface to use flags

2007-11-02 Thread Roy Marples
On Fri, 2007-11-02 at 17:30 +0100, Bo Ørsted Andresen wrote:
> Please explain why you hijack this thread to discuss POSIX vs. bash when it's 
> supposed to be about the API for ebuilds.

I dislike the gratuitous use of bash for no good reason - and in the
code he gave there is no good reason for using bashisms.

Thanks

Roy

-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] More general interface to use flags

2007-11-02 Thread Bo Ørsted Andresen
On Friday 02 November 2007 17:10:29 Roy Marples wrote:
> > and the answer is still the same.  POSIX conversions are irrelevant until
> > you can propose solutions for the things bash can do but POSIX cannot. 
> > you can only provide workarounds or hacks, so any further attempt on the
> > topic is half way conversions that lead to ugly inconsistencies.
>
> Please point to the ugly inconsistent POSIX hacks in this thread?

Please explain why you hijack this thread to discuss POSIX vs. bash when it's 
supposed to be about the API for ebuilds.

-- 
Bo Andresen


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] More general interface to use flags

2007-11-02 Thread Roy Marples
On Fri, 2007-11-02 at 11:58 -0400, Mike Frysinger wrote:
> and the answer is still the same.  POSIX conversions are irrelevant until you 
> can propose solutions for the things bash can do but POSIX cannot.  you can 
> only provide workarounds or hacks, so any further attempt on the topic is 
> half way conversions that lead to ugly inconsistencies.

Please point to the ugly inconsistent POSIX hacks in this thread?

Thanks

Roy

-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] More general interface to use flags

2007-11-02 Thread Mike Frysinger
On Friday 02 November 2007, Roy Marples wrote:
> On Fri, 2007-11-02 at 11:38 -0400, Mike Frysinger wrote:
> > wrong.  the point of the discussion on the gentoo dev mailing list is to
> > go over the exported API for *ebuilds*, not for the implementation.  the
> > implementation is already baked and really, Marijn shouldnt have sent it
> > to the gentoo dev mailing list in the first place.  your pointless POSIX
> > conversions have no place in the discussion.
>
> However, I notice that you have no problem discussing the implementation
> of ebuild commits or are they special in some way?

that's because the point of said discussions *is about the implementation*.  
this thread is not about the implementation, but about the API.  besides, i'd 
give you the same answer there when you attempt to get people to change 
perfectly valid (and preferred) code structures.

> My POSIX conversations encourage the use of POSIX over non portable bash
> as that's something I try and encourage. And that is very pertinent to
> -dev.

and the answer is still the same.  POSIX conversions are irrelevant until you 
can propose solutions for the things bash can do but POSIX cannot.  you can 
only provide workarounds or hacks, so any further attempt on the topic is 
half way conversions that lead to ugly inconsistencies.
-mike


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] More general interface to use flags

2007-11-02 Thread Roy Marples
On Fri, 2007-11-02 at 11:38 -0400, Mike Frysinger wrote:
> wrong.  the point of the discussion on the gentoo dev mailing list is to go 
> over the exported API for *ebuilds*, not for the implementation.  the 
> implementation is already baked and really, Marijn shouldnt have sent it to 
> the gentoo dev mailing list in the first place.  your pointless POSIX 
> conversions have no place in the discussion.

However, I notice that you have no problem discussing the implementation
of ebuild commits or are they special in some way?

My POSIX conversations encourage the use of POSIX over non portable bash
as that's something I try and encourage. And that is very pertinent to
-dev.

Thanks

Roy

-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] More general interface to use flags

2007-11-02 Thread Mike Frysinger
On Friday 02 November 2007, Roy Marples wrote:
> On Fri, 2007-11-02 at 10:59 -0400, Mike Frysinger wrote:
> > On Friday 02 November 2007, Roy Marples wrote:
> > > On Fri, 2007-11-02 at 14:44 +0100, Marijn Schouten (hkBst) wrote:
> > > > [[ ${flag} = !* ]] && { success=1 ; flag=${flag:1} }
> > >
> > > Could be written as
> >
> > irrelevant, thanks
>
> My mail was relevant to the discussion, yours is just trolling and has
> no place here.

wrong.  the point of the discussion on the gentoo dev mailing list is to go 
over the exported API for *ebuilds*, not for the implementation.  the 
implementation is already baked and really, Marijn shouldnt have sent it to 
the gentoo dev mailing list in the first place.  your pointless POSIX 
conversions have no place in the discussion.
-mike


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] More general interface to use flags

2007-11-02 Thread Roy Marples
On Fri, 2007-11-02 at 10:59 -0400, Mike Frysinger wrote:
> On Friday 02 November 2007, Roy Marples wrote:
> > On Fri, 2007-11-02 at 14:44 +0100, Marijn Schouten (hkBst) wrote:
> > > [[ ${flag} = !* ]] && { success=1 ; flag=${flag:1} }
> >
> > Could be written as
> 
> irrelevant, thanks

My mail was relevant to the discussion, yours is just trolling and has
no place here.

Thanks

Roy

-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] More general interface to use flags

2007-11-02 Thread Mike Frysinger
On Friday 02 November 2007, Roy Marples wrote:
> On Fri, 2007-11-02 at 14:44 +0100, Marijn Schouten (hkBst) wrote:
> > [[ ${flag} = !* ]] && { success=1 ; flag=${flag:1} }
>
> Could be written as

irrelevant, thanks
-mike


signature.asc
Description: This is a digitally signed message part.


Re: [gentoo-dev] More general interface to use flags

2007-11-02 Thread Marijn Schouten (hkBst)
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Daniel Drake wrote:
> Marijn Schouten (hkBst) wrote:
>> use_mime() {
>> local WORD=$(ifv "$2" "$2" "$1")
>>
>> ifuse "$1" "${WORD};"
>> }
>>
>> for generating a string of ';'-separated mime-types based on use flags.
>>
>> The explanation of this function is:
>>
>> #set WORD to argument 2 or if that is empty to argument 1
>> #output "${WORD};" if use flag $1 is set (or if it starts with ! and
>> is unset)
>> #otherwise don't output anything
> 
> I don't quite understand what this function does. What ebuild nastiness
> does it replace, or what does it allow that was not previously possible?
> (can you give an example?)

It's something I built following some questions by lack in #gentoo-dev-help.
Perhaps he can clarify if necessary.

[di okt 30 2007] [18:02:10]
  Now, I want to have each ebuild have a global variable called
'APPMIME' that somehow contains the mime-types available and the associated
USE flags, such that the eclass that actually creates the .desktop file can
appropriately go through and add only the mime-types that are enabled by the
USE flags.
  no, there is no such convenience function.
  That's too bad - it would be pretty useful.  Oh well, I'll have to
write some sort of fancy function in the ebuild then.
 lack: what about  APPMIME="thing1 $(usev thing2)"?
  I you think such a flattener would be really useful I suppose you
can suggest it on -dev@ ..
  hkBst: Hm, that's not too bad.
  *If
  I wonder, would that work like: APPMIME="one;$(if usev
thing2;thing3);thing4"?
  Maybe I'd have to do some odd escaping in that case of a
semicolon-separated list.
 lack: why do you want it to be ;-separated?
  Because that's the eventual format of 'MIME=type/one;type/two' in
the .desktop file.
  If I could just set up the variable so the eclass doesn't have to
actually do any parsing that would be easiest.
  APPMIME="type/one;type/two$(if use foo ';type/foo1;type/foo2')$(if
use bar ';type/barx;type/bary')" Perhaps?
  usemime() { useq $1 && echo "$2;"; }; APPMIME="thing1;$(usemime
useflag thing2)$(usemime useflag2 "thing3;thing4")thing5"
  Ah, that usemime feature looks useful, thanks!

But

usemime() { useq $1 && echo "$2;"; }

lacks default arguments and ifuse provides a nicer interface if you want to do
output, which is the use case I am proposing ifuse for.

Some other examples:

in dev-scheme/bigloo-3.0b_p2 I use (econf doesn't work):

./configure \
$(use java && echo "--jvm=yes --java=$(java-config --java)
- --javac=$(java-config --javac)") \
- --prefix=/usr \
# --bee=$(if use fullbee; then echo full; else echo partial; fi)

it would be a bit nicer if I could just write:

./configure \
$(ifuse java "--jvm=yes --java=$(java-config --java) --javac=$(java-config
- --javac)") \
- --prefix=/usr \
# --bee=$(ifuse fullbee full partial)

The example from


if use gnutls ; then
myconf="${myconf} --enable-ssl --with-ssl=gnutls"
elif use ssl ; then
myconf="${myconf} --enable-ssl --with-ssl=openssl"
else
myconf="${myconf} --disable-ssl"
fi

econf \
# Other stuff
${myconf} \
|| die "configure failed"

could become:

econf \
# Other stuff
$(ifuse gnutls "--enable-ssl --with-ssl=gnutls" \
$(ifuse ssl "--enable-ssl --with-ssl=openssl" --disable-ssl)) \
|| die "configure failed"

which may require some getting used to. But no functionality will be lost, so
if you prefer the old way, all your existing methods will continue to work.
There will just be another option.

Marijn

- --
Marijn Schouten (hkBst), Gentoo Lisp project
, #gentoo-lisp on FreeNode
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHKzmzp/VmCx0OL2wRAk8bAJ9rDW57WStJ79PBpXIbQN9phEv6GwCcChaR
OqLUSnsTRttVwFdmCwDnW7I=
=Zw+z
-END PGP SIGNATURE-
-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] More general interface to use flags

2007-11-02 Thread Roy Marples

On Fri, 2007-11-02 at 15:27 +0100, Marijn Schouten (hkBst) wrote:
> 
> ifz() {
> [[ $1 = 0 ]] && echo $2 || echo $3
> }

And that could be written as

[ "$1" = 0 ] && echo "$2" || echo "$3"

Thanks

Roy

-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] More general interface to use flags

2007-11-02 Thread Marijn Schouten (hkBst)
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Daniel Drake wrote:
> Marijn Schouten (hkBst) wrote:
>> use_mime() {
>> local WORD=$(ifv "$2" "$2" "$1")
>>
>> ifuse "$1" "${WORD};"
>> }
>>
>> for generating a string of ';'-separated mime-types based on use flags.
>>
>> The explanation of this function is:
>>
>> #set WORD to argument 2 or if that is empty to argument 1
>> #output "${WORD};" if use flag $1 is set (or if it starts with ! and
>> is unset)
>> #otherwise don't output anything
> 
> I don't quite understand what this function does. What ebuild nastiness
> does it replace, or what does it allow that was not previously possible?
> (can you give an example?)

It's something I built following some questions by lack in #gentoo-dev-help.
Perhaps he can clarify if necessary.

[di okt 30 2007] [18:02:10]
  Now, I want to have each ebuild have a global variable called
'APPMIME' that somehow contains the mime-types available and the associated
USE flags, such that the eclass that actually creates the .desktop file can
appropriately go through and add only the mime-types that are enabled by the
USE flags.
  no, there is no such convenience function.
  That's too bad - it would be pretty useful.  Oh well, I'll have to
write some sort of fancy function in the ebuild then.
 lack: what about  APPMIME="thing1 $(usev thing2)"?
  I you think such a flattener would be really useful I suppose you
can suggest it on -dev@ ..
  hkBst: Hm, that's not too bad.
  *If
  I wonder, would that work like: APPMIME="one;$(if usev
thing2;thing3);thing4"?
  Maybe I'd have to do some odd escaping in that case of a
semicolon-separated list.
 lack: why do you want it to be ;-separated?
  Because that's the eventual format of 'MIME=type/one;type/two' in
the .desktop file.
  If I could just set up the variable so the eclass doesn't have to
actually do any parsing that would be easiest.
  APPMIME="type/one;type/two$(if use foo ';type/foo1;type/foo2')$(if
use bar ';type/barx;type/bary')" Perhaps?
  usemime() { useq $1 && echo "$2;"; }; APPMIME="thing1;$(usemime
useflag thing2)$(usemime useflag2 "thing3;thing4")thing5"
  Ah, that usemime feature looks useful, thanks!

But

usemime() { useq $1 && echo "$2;"; }

lacks default arguments and ifuse provides a nicer interface if you want to do
output, which is the use case I am proposing ifuse for.

Some other examples:

in dev-scheme/bigloo-3.0b_p2 I use (econf doesn't work):

./configure \
$(use java && echo "--jvm=yes --java=$(java-config --java)
- --javac=$(java-config --javac)") \
- --prefix=/usr \
# --bee=$(if use fullbee; then echo full; else echo partial; fi)

it would be a bit nicer if I could just write:

./configure \
$(ifuse java "--jvm=yes --java=$(java-config --java) --javac=$(java-config
- --javac)") \
- --prefix=/usr \
# --bee=$(ifuse fullbee full partial)

The example from


if use gnutls ; then
myconf="${myconf} --enable-ssl --with-ssl=gnutls"
elif use ssl ; then
myconf="${myconf} --enable-ssl --with-ssl=openssl"
else
myconf="${myconf} --disable-ssl"
fi

econf \
# Other stuff
${myconf} \
|| die "configure failed"

could become:

econf \
# Other stuff
$(ifuse gnutls "--enable-ssl --with-ssl=gnutls" \
$(ifuse ssl "--enable-ssl --with-ssl=openssl" --disable-ssl)) \
|| die "configure failed"

which may require some getting used to. But no functionality will be lost, so
if you prefer the old way, all your existing methods will continue to work.
There will just be another option.

Marijn

- --
Marijn Schouten (hkBst), Gentoo Lisp project
, #gentoo-lisp on FreeNode
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHKzmzp/VmCx0OL2wRAk8bAJ9rDW57WStJ79PBpXIbQN9phEv6GwCcChaR
OqLUSnsTRttVwFdmCwDnW7I=
=Zw+z
-END PGP SIGNATURE-
-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] More general interface to use flags

2007-11-02 Thread Marijn Schouten (hkBst)
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Roy Marples wrote:
> On Fri, 2007-11-02 at 14:44 +0100, Marijn Schouten (hkBst) wrote:
>> [[ ${flag} = !* ]] && { success=1 ; flag=${flag:1} }
> 
> Could be written as
> [ "${flag#!}" != "${flag}" ] && { success=1; flag=${flag#!}; }
> 
>> string=$( (( ${success} == 0 )) && echo ${string_success} || echo
>> ${string_failure} )
>> [[ -n ${string} ]] && echo ${string}
> 
> if [ "${success}" = "0" ]; then
>string=${string_success}
> else
>string=${string_failure}
> fi
> [ -n "${string}" ] && echo "${string}"

Actually I'd prefer to introduce

ifz() {
[[ $1 = 0 ]] && echo $2 || echo $3
}

and reimplement as follows

string=$(ifz ${success} "${string_success}" "${string_failure}")

but I don't want to push my luck,

Marijn

- --
Marijn Schouten (hkBst), Gentoo Lisp project
, #gentoo-lisp on FreeNode
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFHKzPXp/VmCx0OL2wRAhvNAKCB5yPezkffi/QXx6aDEXsgB662kwCfb3DV
SDZ66FZzdoSF3uftGd+ZBik=
=ylxW
-END PGP SIGNATURE-
-- 
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] More general interface to use flags

2007-11-02 Thread Daniel Drake

Marijn Schouten (hkBst) wrote:

Hi list,

the current interface to use flags, useq, usev, use_with, use_enable, as
defined in /usr/lib/portage/bin/ebuild.sh lacks generality. The common thing
is testing a use flag and possibly echoing a string, but there is no function
that implements this common behaviour.

I propose that we add such a function. Proposed name for the function is 
"ifuse".


So these modifications are just cleanups to portage internals and would 
not affect the interfaces or behaviour of use/use_with/...?



I also propose to add the utility function "ifv" which is useful for writing
concise and clean code.

These additions would allow you to easily define your own function for
processing use flags in ebuilds and eclasses. One such example is

use_mime() {
local WORD=$(ifv "$2" "$2" "$1")

ifuse "$1" "${WORD};"
}

for generating a string of ';'-separated mime-types based on use flags.

The explanation of this function is:

#set WORD to argument 2 or if that is empty to argument 1
#output "${WORD};" if use flag $1 is set (or if it starts with ! and is unset)
#otherwise don't output anything


I don't quite understand what this function does. What ebuild nastiness 
does it replace, or what does it allow that was not previously possible? 
(can you give an example?)


Thanks,
Daniel
--
[EMAIL PROTECTED] mailing list



Re: [gentoo-dev] More general interface to use flags

2007-11-02 Thread Roy Marples

On Fri, 2007-11-02 at 14:44 +0100, Marijn Schouten (hkBst) wrote:
> [[ ${flag} = !* ]] && { success=1 ; flag=${flag:1} }

Could be written as
[ "${flag#!}" != "${flag}" ] && { success=1; flag=${flag#!}; }

> string=$( (( ${success} == 0 )) && echo ${string_success} || echo
> ${string_failure} )
> [[ -n ${string} ]] && echo ${string}

if [ "${success}" = "0" ]; then
   string=${string_success}
else
   string=${string_failure}
fi
[ -n "${string}" ] && echo "${string}"

Thanks

Roy

-- 
[EMAIL PROTECTED] mailing list



[gentoo-dev] More general interface to use flags

2007-11-02 Thread Marijn Schouten (hkBst)
Hi list,

the current interface to use flags, useq, usev, use_with, use_enable, as
defined in /usr/lib/portage/bin/ebuild.sh lacks generality. The common thing
is testing a use flag and possibly echoing a string, but there is no function
that implements this common behaviour.

I propose that we add such a function. Proposed name for the function is 
"ifuse".

I also propose to add the utility function "ifv" which is useful for writing
concise and clean code.

These additions would allow you to easily define your own function for
processing use flags in ebuilds and eclasses. One such example is

use_mime() {
local WORD=$(ifv "$2" "$2" "$1")

ifuse "$1" "${WORD};"
}

for generating a string of ';'-separated mime-types based on use flags.

The explanation of this function is:

#set WORD to argument 2 or if that is empty to argument 1
#output "${WORD};" if use flag $1 is set (or if it starts with ! and is unset)
#otherwise don't output anything

The existing interface is also simple to reimplement:

use() {
ifuse "${1}"
}

useq() {
ifuse "${1}"
}

usev() {
ifuse "${1}" "${1}"
}

use_with() {
local SUFFIX=$(ifv "$3" "=$3")
local WORD=$(ifv "$2" "$2" "$1")

ifuse "$1" "--with-${WORD}${SUFFIX}" "--without-${WORD}"
}

use_enable() {
local SUFFIX=$(ifv "$3" "=$3")
local WORD=$(ifv "$2" "$2" "$1")

ifuse "$1" "--enable-${WORD}${SUFFIX}" "--disable-${WORD}"
}

ifuse's code is much like useq's code now, but more versatile. You can find it
attached along with ifv.

Please comment,

Marijn

-- 
Marijn Schouten (hkBst), Gentoo Lisp project
, #gentoo-lisp on FreeNode
# test a use flag and return the result, possibly echo a non-empty string
ifuse() {
local flag=$1
local string_success=$2
local string_failure=$3
local success=0

# invert the return value for "!blah" and strip the '!'
[[ ${flag} = !* ]] && { success=1 ; flag=${flag:1} }

# Make sure we have this USE flag in IUSE
if ! hasq "${flag}" ${IUSE} ${E_IUSE} && ! hasq "${flag}" 
${PORTAGE_ARCHLIST} selinux; then
eqawarn "QA Notice: USE Flag '${flag}' not in IUSE for 
${CATEGORY}/${PF}"
fi

hasq "${flag}" ${USE} || ((success=1-success))

string=$( (( ${success} == 0 )) && echo ${string_success} || echo 
${string_failure} )
[[ -n ${string} ]] && echo ${string}
return ${success}
}

ifv() {
[[ -n $1 ]] && echo $2 || echo $3
}


signature.asc
Description: OpenPGP digital signature