Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 94467 - dedicated use flag on games-simulation/openttd is misleading
Summary: dedicated use flag on games-simulation/openttd is misleading
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High minor (vote)
Assignee: Gentoo Games
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-30 00:43 UTC by Boyd Stephen Smith Jr.
Modified: 2005-05-31 07:37 UTC (History)
0 users

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


Attachments
openttd-0.4.0.1.ebuild.diff (openttd-0.4.0.1.ebuild.diff,1.79 KB, patch)
2005-05-30 00:58 UTC, Boyd Stephen Smith Jr.
Details | Diff
use.local.desc.diff (use.local.desc.diff,581 bytes, patch)
2005-05-30 00:59 UTC, Boyd Stephen Smith Jr.
Details | Diff
openttd-0.4.0.ebuild.diff (openttd-0.4.0.ebuild.diff,1.70 KB, patch)
2005-05-30 00:59 UTC, Boyd Stephen Smith Jr.
Details | Diff
openttd-0.3.6-r1.ebuild.diff (openttd-0.3.6-r1.ebuild.diff,1.71 KB, patch)
2005-05-30 01:00 UTC, Boyd Stephen Smith Jr.
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Boyd Stephen Smith Jr. 2005-05-30 00:43:27 UTC
From use.desc:
dedicated - Adds support for dedicated game servers

However, when emerging games-simulation/openttd with +dedicated you get this
message:
You have chosen the dedicated USE flag which builds a
version of OpenTTD to be used as a game server which
does not require SDL. You will not be able to play the
game, but if you don't pass this flag you can still use
it as a server in the same way, but SDL will be required.

Thus, in this ebuild dedicated does not "Add support for dedicated game servers"
but rather "Removes support for non-dedicated game servers".  I have not looked
into the ebuild closely, but from the messages I got during the emerge it seems
that it's not possible to actually build the game without dedicated support.  If
that is so, the dedicated use flag is inappropriate.  In any case, the current
use of the dedicated use flag is inappropriate (or at *least* misleading).  If
the behavior enabled by the dedicated use flag is kept (and I see so reason not
to), it should use a different, probably local, use flag.  I would suggest this
flag be dedicatedonly, but that's just a suggestion.

As a workaround, don't emerge games-simulation/openttd with the +dedicated.  If
you still desire dedicated for the rest of the ebuilds that use the flag, simply
add 'games-simulation/openttd -dedicated' to /usr/portage/package.use or create
that file with those contents (nothing else is required in the file).

Reproducible: Always
Steps to Reproduce:
1. emerge games-simulation/openttd with +dedicated
2. Notice message stating the game is actually unplayable. :(

Actual Results:  
I had emerged a non-playable version of OpenTTD.

Expected Results:  
Provided both a locally playable version *and* a dedicated server.

Portage 2.0.51.22-r1 (default-linux/x86/2005.0, gcc-3.4.3-20050110,
glibc-2.3.5-r0, 2.6.11-gentoo-r6 i686)
=================================================================
System uname: 2.6.11-gentoo-r6 i686 Pentium II (Deschutes)
Gentoo Base System version 1.6.12
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
dev-lang/python:     2.3.5
sys-apps/sandbox:    1.2.8
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.5
sys-devel/binutils:  2.15.92.0.2-r1, 2.16
sys-devel/libtool:   1.5.18
virtual/os-headers:  2.6.8.1-r1, 2.6.11
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium2 -O3 -fomit-frame-pointer -fforce-addr
-fno-keep-static-consts -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env
/usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env
/usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-march=pentium2 -O3 -fomit-frame-pointer -fforce-addr
-fno-keep-static-consts -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig ccache distlocks sandbox sfperms strict"
GENTOO_MIRRORS="ftp:///ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/
http://gentoo.binarycompass.org http://ftp-mirror.internap.com/pub/gentoo/
http://mirror.datapipe.net/gentoo http://mirror.datapipe.net/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="x86 X aalib alsa apm arts audiofile avi berkdb bitmap-fonts cdparanoia cdr
crypt cups curl dedicated directfb divx4linux dv dvd dvdr dvdread emboss encode
esd fam flac foomaticdb fortran gd gdbm gif gnutls gpm gtk gtk2 imagemagick
imlib innodb ipv6 java jce jpeg junit kde libg++ libwww mad mikmod mmap mmx
motif mozilla mp3 mpeg mysql ncurses nls nptl odbc ogg oggvorbis opengl pam pcre
pdflib perl png postgres python qt quicktime readline samba sdl sndfile spell
ssl svga tcpd tetex theora tiff truetype truetype-fonts type1-fonts vorbis
win32codecs xine xml2 xmms xv xvid zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
Comment 1 Boyd Stephen Smith Jr. 2005-05-30 00:58:06 UTC
Created attachment 60166 [details, diff]
openttd-0.4.0.1.ebuild.diff

Not sure if this change would require a version bump, so I'm providing patches
to all the ebuilds and use.local.desc.

If it does require a version bump, you'll only need the 0.4.0.1 and
use.local.desc patches.
Comment 2 Boyd Stephen Smith Jr. 2005-05-30 00:59:12 UTC
Created attachment 60167 [details, diff]
use.local.desc.diff
Comment 3 Boyd Stephen Smith Jr. 2005-05-30 00:59:36 UTC
Created attachment 60168 [details, diff]
openttd-0.4.0.ebuild.diff
Comment 4 Boyd Stephen Smith Jr. 2005-05-30 01:00:09 UTC
Created attachment 60169 [details, diff]
openttd-0.3.6-r1.ebuild.diff
Comment 5 Boyd Stephen Smith Jr. 2005-05-30 01:06:44 UTC
Darn it, I was hoping the filename I used (<original name>.diff) would show
through at some level.  Rather than spamming bugzilla simply changing the
descriptions (esp. since I don't know if the patches will be used) I'll post the
file names here:

60166 - openttd-0.4.0.1.ebuild.diff
60167 - use.local.desc.diff
60168 - openttd-0.4.0.ebuild.diff
60169 - openttd-0.3.6-r1.ebuild.diff

I'm sure an actual bug-wrangler can change the description, or at least drop me
an email saying I should, if it really has to be done.
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2005-05-30 01:24:45 UTC
Hmm, you use dedicated, get dedicated game server and complain that it
Comment 7 Jakub Moc (RETIRED) gentoo-dev 2005-05-30 01:24:45 UTC
Hmm, you use dedicated, get dedicated game server and complain that it´s not
what you want? I don´t understand what´s to be patched here... 
Comment 8 Boyd Stephen Smith Jr. 2005-05-30 02:04:47 UTC
> Hmm, you use dedicated, get dedicated game server and complain that it
Comment 9 Boyd Stephen Smith Jr. 2005-05-30 02:04:47 UTC
> Hmm, you use dedicated, get dedicated game server and complain that it´s not
> what you want? I don´t understand what´s to be patched here... 

Dedicated /adds/ support for dedicated servers. (See use.desc or read my exerpt
in the original description.)

It *should not* /remove/ support for local play.  In this case, that's exactly
what it does.  (See the ebuild, particularly the message I quoted in my original
description.)

In fact, you can run a dedicated server even if you don't build with +dedicated!

It's simply use flag abuse / overuse.  My patches change the flag to be
something other than dedicated (so the flag doesn't get abused / overused).  The
new flag, dedicatedonly, is also more descriptive / accurate.
Comment 10 Anonymous 2005-05-30 12:34:23 UTC
It is like this with a lot of ebuilds, why make a problem of it?
Comment 11 Mr. Bones. (RETIRED) gentoo-dev 2005-05-30 12:51:13 UTC
that's what dedicated means.
Comment 12 SpanKY gentoo-dev 2005-05-30 16:44:49 UTC
+1 to Mr_Bones_ for keeping current behavior
Comment 13 Boyd Stephen Smith Jr. 2005-05-31 06:49:28 UTC
> It is like this with a lot of ebuilds, why make a problem of it?

Because, at the very least, it IS a documenation problem.  I think problems
should be fixed.  The dedicated use flag does not say it will remove local
client functionality, therefore it shouldn't.

> that's what dedicated means.

Well, then change use.desc to reflect that.  The current description says
nothing about preventing local play.  It reads like it adds to the package, not
takes away.  This is a bug.  I guess I just saw the wrong part as broken.

> +1 to Mr_Bones_ for keeping current behavior

-2 to SpanKY for hitting bugzilla (and all of our inboxes) with a content-less
post.  Anyway, the bug is not invalid, the fix I've provided is.
Comment 14 SpanKY gentoo-dev 2005-05-31 07:08:19 UTC
ah muffin, i didnt realize you'd bitch over something so small

i'll change the desc to read
'some packages are unable to sanely provide both the server and client at the
same time'
Comment 15 Boyd Stephen Smith Jr. 2005-05-31 07:37:24 UTC
> i'll change the desc to read
> 'some packages are unable to sanely provide both the server and client at the
> same time'

I don't think that's the case here; is it?

I just looked though the ebuild and it looks like I'd have to delve into the
Makefile to actually tell.

However, an excerpt from the ebuild messages sounds like it addresses the issue:
"...if you don't pass this flag [dedicated] you can still use it as a server..."
so this package can apparently give a dedicated server and a local client with
no problems.

I'm still not convinced the dedicated use flag is entirely appropriate here. 
This ebuild needs a flag that says, out loud: "By turning me on, you are
removing functionality and gaining none."  We have such flags portage already. 
One example is nptlonly.  Others, like moznomail or moznoxft, exist as well.

Dedicated, both as written and as ammended, doesn't fit this role.  In both
cases, it reads like you get something extra and, with this ebuild, you don't. 
I have proposed "dedicatedonly" (and provided patches to that ends), which is
clear and correct.  An alternative could be "ottdnoclient" or simply "noclient",
but I have a reflexive dislike for negative flags.