<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>168179</bug_id>
          
          <creation_ts>2007-02-23 19:09 0000</creation_ts>
          <short_desc>Packages misusing || ( use? ( ) ) constructs</short_desc>
          <delta_ts>2009-01-25 03:34:19 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Applications</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>ciaran.mccreesh@googlemail.com</reporter>
          <assigned_to>qa@gentoo.org</assigned_to>
          <cc>darkside@gentoo.org</cc>
    
    <cc>jmfo1982@yahoo.es</cc>
    
    <cc>maintainer-needed@gentoo.org</cc>
    
    <cc>nerdboy@gentoo.org</cc>
    
    <cc>net-mail@gentoo.org</cc>
    
    <cc>sci-geosciences@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>ciaran.mccreesh@googlemail.com</who>
            <bug_when>2007-02-23 19:09:13 0000</bug_when>
            <thetext>Following on from &quot;[gentoo-dev] Reliance upon || ( use? ( ) ) behaviour&quot;: the following packages look like they&apos;re misusing || ( use? ( ) ) constructs.

* If you must use || ( use? ( ) ), which you really shouldn&apos;t, you need to combine all use calls with a has_version. But that&apos;s horrid, so don&apos;t.

* The form || ( foo? ( ... ) bar/baz ) is unnecessary if foo is not used to modify build parameters. If your package needs either X or Y, but doesn&apos;t care at compile time, use || ( X Y ) with no use flag.

app-emulation/fuse-0.7.0
  Conditional on &apos;gtk&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;sdl&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;svga&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;fbcon&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;svga&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;fbcon&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;sdl&apos; inside || ( ) block in RDEPEND
  herds:        no-herd
  maintainer:   &lt;maintainer-needed@gentoo.org&gt;

app-text/estraier-1.2.25
  Conditional on &apos;chasen&apos; inside || ( ) block in DEPEND
  Conditional on &apos;mecab&apos; inside || ( ) block in DEPEND
  Conditional on &apos;kakasi&apos; inside || ( ) block in DEPEND
  Conditional on &apos;chasen&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;mecab&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;kakasi&apos; inside || ( ) block in RDEPEND
app-text/estraier-1.2.29-r1
  (the same)
app-text/estraier-1.2.29
  (the same)
  herds:        cjk
  maintainer:   &lt;hattya@gentoo.org&gt;

games-arcade/koules-1.4-r2
  Conditional on &apos;svga&apos; inside || ( ) block in DEPEND
  Conditional on &apos;tk&apos; inside || ( ) block in DEPEND
  Conditional on &apos;svga&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;tk&apos; inside || ( ) block in RDEPEND
  herds:        games

games-emulation/epsxe-1.5.2-r1
  Conditional on &apos;opengl&apos; inside || ( ) block in RDEPEND
games-emulation/epsxe-1.6.0-r3
  Conditional on &apos;opengl&apos; inside || ( ) block in RDEPEND
  herds:        games

games-emulation/pcsx-1.5-r1
  Conditional on &apos;opengl&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;x86&apos; inside || ( ) block in RDEPEND
  herds:        games

games-fps/imaze-1.4
  Conditional on &apos;Xaw3d&apos; inside || ( ) block in DEPEND
  Conditional on &apos;Xaw3d&apos; inside || ( ) block in RDEPEND
  herds:        games

games-sports/foobillard-3.0a
  Conditional on &apos;sdl&apos; inside || ( ) block in DEPEND
  Conditional on &apos;sdl&apos; inside || ( ) block in RDEPEND
  herds:        games

gnustep-base/gnustep-base-1.10.3-r1
  Conditional on &apos;ffcall&apos; inside || ( ) block in DEPEND
  Conditional on &apos;gcc-libffi&apos; inside || ( ) block in DEPEND
  Conditional on &apos;ffcall&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;gcc-libffi&apos; inside || ( ) block in RDEPEND
gnustep-base/gnustep-base-1.10.3
  Conditional on &apos;gcc-libffi&apos; inside || ( ) block in DEPEND
  Conditional on &apos;gcc-libffi&apos; inside || ( ) block in RDEPEND
gnustep-base/gnustep-base-1.12.0
  (the same)
gnustep-base/gnustep-base-1.13.0-r1
  (the same)
  herds:        gnustep

mail-filter/sqlgrey-1.6.7
  Conditional on &apos;postgres&apos; inside || ( ) block in DEPEND
  Conditional on &apos;sqlite&apos; inside || ( ) block in DEPEND
  Conditional on &apos;mysql&apos; inside || ( ) block in DEPEND
  Conditional on &apos;postgres&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;sqlite&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;mysql&apos; inside || ( ) block in RDEPEND
mail-filter/sqlgrey-1.7.4
  (the same)
  herds:        net-mail
  maintainer:   &lt;vivo@gentoo.org&gt;

net-analyzer/ipac-ng-1.31-r2
  Conditional on &apos;sqlite&apos; inside || ( ) block in DEPEND
  Conditional on &apos;postgres&apos; inside || ( ) block in DEPEND
  Conditional on &apos;sqlite&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;postgres&apos; inside || ( ) block in RDEPEND
  herds:        netmon

net-dns/mydns-1.1.0
  Conditional on &apos;mysql&apos; inside || ( ) block in DEPEND
  Conditional on &apos;postgres&apos; inside || ( ) block in DEPEND
  Conditional on &apos;postgres&apos; inside || ( ) block in DEPEND
  Conditional on &apos;mysql&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;postgres&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;postgres&apos; inside || ( ) block in RDEPEND
  maintainer:   MATSUU Takuto &lt;matsuu@gentoo.org&gt;

net-print/hplip-0.9.7-r3
  Conditional on &apos;X&apos; inside || ( ) block in RDEPEND
net-print/hplip-1.6.12
  Conditional on &apos;X&apos; inside || ( ) block in DEPEND
  Conditional on &apos;X&apos; inside || ( ) block in RDEPEND
net-print/hplip-1.7.1
  (the same)
  herds:        printing

net-print/hpoj-0.91-r3
  Conditional on &apos;X&apos; inside || ( ) block in DEPEND
  Conditional on &apos;X&apos; inside || ( ) block in RDEPEND
  herds:        printing

sci-libs/gdal-1.2.6-r4
  Conditional on &apos;postgres&apos; inside || ( ) block in DEPEND
  Conditional on &apos;mysql&apos; inside || ( ) block in DEPEND
  Conditional on &apos;netcdf&apos; inside || ( ) block in DEPEND
  Conditional on &apos;hdf&apos; inside || ( ) block in DEPEND
  Conditional on &apos;postgres&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;mysql&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;netcdf&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;hdf&apos; inside || ( ) block in RDEPEND
sci-libs/gdal-1.3.0-r1
  (the same)
sci-libs/gdal-1.3.1
  Conditional on &apos;netcdf&apos; inside || ( ) block in DEPEND
  Conditional on &apos;hdf&apos; inside || ( ) block in DEPEND
  Conditional on &apos;netcdf&apos; inside || ( ) block in RDEPEND
  Conditional on &apos;hdf&apos; inside || ( ) block in RDEPEND
sci-libs/gdal-1.3.2
  (the same)
  herds:        sci-geosciences
  maintainer:   Steve Arnold &lt;nerdboy@gentoo.org&gt;</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>nyhm@gentoo.org</who>
            <bug_when>2007-02-24 01:30:43 0000</bug_when>
            <thetext>games done</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>pva@gentoo.org</who>
            <bug_when>2007-03-01 07:03:01 0000</bug_when>
            <thetext>netmon done.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>matsuu@gentoo.org</who>
            <bug_when>2007-03-01 12:48:13 0000</bug_when>
            <thetext>mydns done.
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>genstef@gentoo.org</who>
            <bug_when>2007-03-04 23:25:47 0000</bug_when>
            <thetext>hplip fixed, hpoj is asked for removal</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>hattya@gentoo.org</who>
            <bug_when>2007-03-14 14:58:48 0000</bug_when>
            <thetext>estraier is p.masked for removal.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>grobian@gentoo.org</who>
            <bug_when>2007-03-14 20:52:26 0000</bug_when>
            <thetext>For as far as I understand this bug, gnustep-base uses the || ( use? ( ) ) construct legitimately, because it builds against one chosen implementation of a foreign function call library.  It is not just a runtime dependency.

Please re-add gnustep if I didn&apos;t get the point.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ciaran.mccreesh@googlemail.com</who>
            <bug_when>2007-03-14 21:04:50 0000</bug_when>
            <thetext>No, gnustep gets it wrong, since it uses the use flag to control behaviour:

pkg_setup() {
»···if use gcc-libffi; then

It is possible that gcc-libffi is enabled but the || ( ) block has been satisfied by dev-libs/ffcall.

For that matter, abusing gcc-config like that is pretty horrible...</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>grobian@gentoo.org</who>
            <bug_when>2007-03-15 16:48:59 0000</bug_when>
            <thetext>(In reply to comment #7)
&gt; It is possible that gcc-libffi is enabled but the || ( ) block has been
&gt; satisfied by dev-libs/ffcall.

Ok, do I get close when I think that the DEPEND should not have the || but only the use?  That way it is forced to have the right library implementation for the chosen method.

...
        ffcall? ( dev-libs/ffcall )
        gcc-libffi? ( &gt;=sys-devel/gcc-3.3.5 )
        !ffcall? ( !gcc-libffi? ( &gt;=dev-libs/libffi-3.3.5 ) )
...</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>ciaran.mccreesh@googlemail.com</who>
            <bug_when>2007-03-15 17:18:49 0000</bug_when>
            <thetext>That&apos;s an acceptable solution, yes.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>grobian@gentoo.org</who>
            <bug_when>2007-03-15 17:34:47 0000</bug_when>
            <thetext>Ok, thanks for the insight.  Should be fixed now.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>jakub@gentoo.org</who>
            <bug_when>2008-01-11 19:30:40 0000</bug_when>
            <thetext>Still unfixed:

app-emulation/fuse-0.7.0
  maintainer:   &lt;maintainer-needed@gentoo.org&gt;

mail-filter/sqlgrey-1.6.7
mail-filter/sqlgrey-1.7.4
  herds:        net-mail

sci-libs/gdal-1.3.1
sci-libs/gdal-1.3.2
sci-libs/gdal-1.4.2
  herds:        sci-geosciences
  maintainer:   Steve Arnold &lt;nerdboy@gentoo.org&gt;

Ping!</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>angelos@gentoo.org</who>
            <bug_when>2008-12-15 19:56:45 0000</bug_when>
            <thetext>adding darkside@g.o for fuse</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>darkside@gentoo.org</who>
            <bug_when>2009-01-25 03:34:19 0000</bug_when>
            <thetext>(In reply to comment #12)
&gt; adding darkside@g.o for fuse
&gt; 

Adding the real maintainer for app-emulation/fuse. ;)</thetext>
          </long_desc>
      
    </bug>

</bugzilla>