Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 168179 - Packages misusing || ( use? ( ) ) constructs
Summary: Packages misusing || ( use? ( ) ) constructs
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Quality Assurance Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-02-23 19:09 UTC by Ciaran McCreesh
Modified: 2012-10-18 10:35 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ciaran McCreesh 2007-02-23 19:09:13 UTC
Following on from "[gentoo-dev] Reliance upon || ( use? ( ) ) behaviour": the following packages look like they're misusing || ( use? ( ) ) constructs.

* If you must use || ( use? ( ) ), which you really shouldn't, you need to combine all use calls with a has_version. But that's horrid, so don'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't care at compile time, use || ( X Y ) with no use flag.

app-emulation/fuse-0.7.0
  Conditional on 'gtk' inside || ( ) block in RDEPEND
  Conditional on 'sdl' inside || ( ) block in RDEPEND
  Conditional on 'svga' inside || ( ) block in RDEPEND
  Conditional on 'fbcon' inside || ( ) block in RDEPEND
  Conditional on 'svga' inside || ( ) block in RDEPEND
  Conditional on 'fbcon' inside || ( ) block in RDEPEND
  Conditional on 'sdl' inside || ( ) block in RDEPEND
  herds:        no-herd
  maintainer:   <maintainer-needed@gentoo.org>

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

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

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

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

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

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

gnustep-base/gnustep-base-1.10.3-r1
  Conditional on 'ffcall' inside || ( ) block in DEPEND
  Conditional on 'gcc-libffi' inside || ( ) block in DEPEND
  Conditional on 'ffcall' inside || ( ) block in RDEPEND
  Conditional on 'gcc-libffi' inside || ( ) block in RDEPEND
gnustep-base/gnustep-base-1.10.3
  Conditional on 'gcc-libffi' inside || ( ) block in DEPEND
  Conditional on 'gcc-libffi' 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 'postgres' inside || ( ) block in DEPEND
  Conditional on 'sqlite' inside || ( ) block in DEPEND
  Conditional on 'mysql' inside || ( ) block in DEPEND
  Conditional on 'postgres' inside || ( ) block in RDEPEND
  Conditional on 'sqlite' inside || ( ) block in RDEPEND
  Conditional on 'mysql' inside || ( ) block in RDEPEND
mail-filter/sqlgrey-1.7.4
  (the same)
  herds:        net-mail
  maintainer:   <vivo@gentoo.org>

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

net-dns/mydns-1.1.0
  Conditional on 'mysql' inside || ( ) block in DEPEND
  Conditional on 'postgres' inside || ( ) block in DEPEND
  Conditional on 'postgres' inside || ( ) block in DEPEND
  Conditional on 'mysql' inside || ( ) block in RDEPEND
  Conditional on 'postgres' inside || ( ) block in RDEPEND
  Conditional on 'postgres' inside || ( ) block in RDEPEND
  maintainer:   MATSUU Takuto <matsuu@gentoo.org>

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

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

sci-libs/gdal-1.2.6-r4
  Conditional on 'postgres' inside || ( ) block in DEPEND
  Conditional on 'mysql' inside || ( ) block in DEPEND
  Conditional on 'netcdf' inside || ( ) block in DEPEND
  Conditional on 'hdf' inside || ( ) block in DEPEND
  Conditional on 'postgres' inside || ( ) block in RDEPEND
  Conditional on 'mysql' inside || ( ) block in RDEPEND
  Conditional on 'netcdf' inside || ( ) block in RDEPEND
  Conditional on 'hdf' inside || ( ) block in RDEPEND
sci-libs/gdal-1.3.0-r1
  (the same)
sci-libs/gdal-1.3.1
  Conditional on 'netcdf' inside || ( ) block in DEPEND
  Conditional on 'hdf' inside || ( ) block in DEPEND
  Conditional on 'netcdf' inside || ( ) block in RDEPEND
  Conditional on 'hdf' inside || ( ) block in RDEPEND
sci-libs/gdal-1.3.2
  (the same)
  herds:        sci-geosciences
  maintainer:   Steve Arnold <nerdboy@gentoo.org>
Comment 1 Tristan Heaven (RETIRED) gentoo-dev 2007-02-24 01:30:43 UTC
games done
Comment 2 Peter Volkov (RETIRED) gentoo-dev 2007-03-01 07:03:01 UTC
netmon done.
Comment 3 MATSUU Takuto (RETIRED) gentoo-dev 2007-03-01 12:48:13 UTC
mydns done.
Comment 4 Stefan Schweizer (RETIRED) gentoo-dev 2007-03-04 23:25:47 UTC
hplip fixed, hpoj is asked for removal
Comment 5 Akinori Hattori gentoo-dev 2007-03-14 14:58:48 UTC
estraier is p.masked for removal.
Comment 6 Fabian Groffen gentoo-dev 2007-03-14 20:52:26 UTC
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't get the point.
Comment 7 Ciaran McCreesh 2007-03-14 21:04:50 UTC
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...
Comment 8 Fabian Groffen gentoo-dev 2007-03-15 16:48:59 UTC
(In reply to comment #7)
> It is possible that gcc-libffi is enabled but the || ( ) block has been
> 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? ( >=sys-devel/gcc-3.3.5 )
        !ffcall? ( !gcc-libffi? ( >=dev-libs/libffi-3.3.5 ) )
...
Comment 9 Ciaran McCreesh 2007-03-15 17:18:49 UTC
That's an acceptable solution, yes.
Comment 10 Fabian Groffen gentoo-dev 2007-03-15 17:34:47 UTC
Ok, thanks for the insight.  Should be fixed now.
Comment 11 Jakub Moc (RETIRED) gentoo-dev 2008-01-11 19:30:40 UTC
Still unfixed:

app-emulation/fuse-0.7.0
  maintainer:   <maintainer-needed@gentoo.org>

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 <nerdboy@gentoo.org>

Ping!
Comment 12 Christoph Mende (RETIRED) gentoo-dev 2008-12-15 19:56:45 UTC
adding darkside@g.o for fuse
Comment 13 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2009-01-25 03:34:19 UTC
(In reply to comment #12)
> adding darkside@g.o for fuse
> 

Adding the real maintainer for app-emulation/fuse. ;)
Comment 14 Tomáš Chvátal (RETIRED) gentoo-dev 2011-06-21 09:19:56 UTC
Gdal fixed from version 1.7.
Comment 15 Eray Aslan gentoo-dev 2011-06-21 16:12:01 UTC
net-mail done.
Comment 16 Michael Palimaka (kensington) gentoo-dev 2012-10-18 10:35:05 UTC
All packages done, closing.