Bug 799778 - egoboo: please use Enet 1.3
egoboo: please use Enet 1.3
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: egoboo (Show other bugs)
rawhide
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Hans de Goede
Fedora Extras Quality Assurance
:
Depends On: 739313 804398
Blocks:
  Show dependency treegraph
 
Reported: 2012-03-04 20:37 EST by Martin Erik Werner
Modified: 2012-08-07 15:56 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-08-07 15:56:29 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Adapt egoboo to Enet 1.3 (2.17 KB, patch)
2012-03-05 09:37 EST, Martin Erik Werner
no flags Details | Diff
Fix left-right movement bug (1.60 KB, patch)
2012-03-11 22:26 EDT, Martin Erik Werner
no flags Details | Diff
Enable symlinks in PHYSFS (912 bytes, patch)
2012-03-14 03:38 EDT, Martin Erik Werner
no flags Details | Diff

  None (edit)
Description Martin Erik Werner 2012-03-04 20:37:07 EST
Egoboo uses an outadetd version of Enet.
Please update egoboo to use Enet 1.3
(and update the Fedora Enet package in the process)

I've added a patch which makes the current egoboo package _compile and launch_ with Enet 1.3.
I have NOT tested running egoboo with it (because I have no proper graphics acceleration on my Fedora machine).
Comment 1 Martin Erik Werner 2012-03-05 09:37:59 EST
Created attachment 567647 [details]
Adapt egoboo to Enet 1.3
Comment 2 Rakesh Pandit 2012-03-05 10:03:19 EST
(In reply to comment #1)
> Created attachment 567647 [details]
> Adapt egoboo to Enet 1.3

Give me a week at most (coming weekend). I think I can finally have a look at my piled up Fedora plate.

Thanks for reporting.

Regards,
Comment 3 Bruno Wolff III 2012-03-11 11:00:43 EDT
I'll also look at this. I'll look at updating egoboo to 2.8.1 and will check to see if that results in any enet specific problems. 1.3 is supposed to support backwards compatibility with the 1.2 protocol, so I am thinking it isn't so different that it will be a big deal.
We also need to worry about this bug noted on our mailing lists:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=662300
https://sourceforge.net/apps/mantisbt/egoboo/view.php?id=74
Comment 4 Bruno Wolff III 2012-03-11 11:31:17 EDT
It does look like the bug is fixed upstream, so that I can cherry-pick it when doing a 2.8.1 build.
Comment 5 Bruno Wolff III 2012-03-11 12:46:39 EDT
I started doing stuff with this and there are a lot of little changes that are going to be required. I probably won't get this done today. But there is a reasonable chance I'll get this done over the next week.
Comment 6 Martin Erik Werner 2012-03-11 13:08:32 EDT
For the Enet adaptation of version 2.8.1 (as opposed to 2.7.5), I submitted a patch over at http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=662258

For the Movement key bug, the only thing I have is the guess of the commit given in the Debian bug, mentioned in comment #3
Comment 7 Bruno Wolff III 2012-03-11 13:26:03 EDT
Thanks. The directory structure changed a bit for 2.8.1 breaking a lot of little details in the spec file.
Comment 8 Bruno Wolff III 2012-03-11 17:02:20 EDT
Mostly things are going OK and I have something building from the new tarball.
I still need to worry about the joystick fix, but I want to wait until I can test running it so I can see the breakage and will know when it is fixed.

One new issue is that there are several included font files. These are different than one that used to be blacklisted in the past. But I need to figure out how to check the licenses and even if they are OK (OK means I don't need to remove them from the tarball), I still need to do something special. (I think I have to package up any new to Fedora fonts.) This may slow things down a bit.
Comment 9 Bruno Wolff III 2012-03-11 19:18:49 EDT
I have egoboo 2.8.1 running and it seems to work OK. But I haven't played it before so I don't know what I am doing.

I still need to see for the joystick bug and try to apply the fix. (Though rev 1490 seems to do a lot more and it might not apply properly as is.)

I need to find out the legal status for the included fonts.

I need to find out how to package them. (Typically I have had packages that used fonts from one of the font packages and I can handle those. Where the fonts are new to Fedora, I am less sure.)

I haven't pushed my changes yet, as I want to wait until I find out if it is safe to have the fonts in an srpm before builds with them start showing up.

I have asked for some help with how to deal with the fonts on the fonts list.
Comment 10 Bruno Wolff III 2012-03-11 19:30:09 EDT
I have now tested the bug. It doesn't actually apply when using a joystick, but rather using arrow keys. (Though my joystick seems to be flipped and the naive control settings don't have a way to flip it. The manual may have more details.)
So I'll be able to test the rev 1490 patch.
Comment 11 Bruno Wolff III 2012-03-11 19:50:02 EDT
1490 doesn't apply cleanly. So this will take some more research.
Comment 12 Martin Erik Werner 2012-03-11 20:51:41 EDT
I had a look through the fonts, it appears like the Debian package for 2.8.1 is in a likewise bad shape, my bug for the Debian package would apply here to, I presume:

The egoboo package embeds several fonts:
./basicdat/Egobooish.ttf
./basicdat/Gnomish_digital.ttf
./basicdat/Squerkle.ttf
./basicdat/Bo_Chen.ttf
./basicdat/Mael.ttf

(...)

It seems like Egobooish, Squirkel and Gnomish_digital *may* be fonts that are
created by the egoboo team, and thus I presume they would be GPLv2(+?),
*without* font exception /o\, would be a good idea to contact upstream here...

Bo_Chen appears to be the same font as is listed here
http://www.dafont.com/bo-chen.d2701 which claims that it would be "PD/GPL",
there is an email address to the author at
http://www.dafont.com/profile.php?user=339942 It may be good to get a
confirmation of the license, and possibly a GPL font exception?

Mael seems to be beerware non-free, the zip file at
http://www.dafont.com/font-comment.php?file=mael reads:
"this font is provided free for personal or commercial use, it can be
redistributed however it may not be sold."

I say, we might have stumbled on a jar of pickles...
Comment 13 Martin Erik Werner 2012-03-11 22:26:58 EDT
Created attachment 569265 [details]
Fix left-right movement bug

Regarding the movement bug, it seems the post a the bottom of
http://egoboo.sourceforge.net/phpBB3/viewtopic.php?f=3&t=1177&start=15
Has a simple 2.8.1-applicable fix.

I have built the Debian package with this fix and confirmed that it works!

I'm attaching the patch with an appropriate DEP-3 header.

Though the font issue still remains, *sigh*
Comment 14 Bruno Wolff III 2012-03-11 22:50:47 EDT
It seems that at least some of the fonts can't be in the srpm, so I'll need to end up making a cleaned version of the tarball. I'll see if I can figure out what they are using the fonts for. If it's just stylistic, stand in fonts should work well enough. I am concerned they might want some special symbols that might not be generally available.

If I have to remove one font, than there isn't much of a barrier to cleaning all of the out and using substitute fonts for the time being. That should be good enough for rawhide and will let your work progress.

I'll try out the fix you pointed to, but it's getting late and it might not get it done until tomorrow.

Thanks for your help with this.
Comment 15 Bruno Wolff III 2012-03-11 23:31:10 EDT
Just for completeness, I'm also going to note that it might not be possible to distribute the pdf documents, since we don't seem to have source with them. I'm asking about this on the devel list. Dropping those won't be a big deal.
Comment 16 Bruno Wolff III 2012-03-12 08:23:24 EDT
I tested the arrow fix from the forum here and it worked.
Comment 17 Bruno Wolff III 2012-03-12 09:51:15 EDT
Upstream svn has odt versions of the pdf documents. I don't know that the pdfs were built from the same version of these that are there now. So to be safe I'll strip the pdfs as well from the tar ball and use the odt documents instead for the package.
Comment 18 Fedora Update System 2012-03-13 01:04:22 EDT
enet-1.3.3-1.fc17, egoboo-2.8.1-1.fc17, egoboo-data-2.8.1-2.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/egoboo-2.8.1-1.fc17,egoboo-data-2.8.1-2.fc17,enet-1.3.3-1.fc17
Comment 19 Bruno Wolff III 2012-03-13 01:42:25 EDT
Turns out I can't just swap in DejaVuSans for all of these fonts. So the current egoboo isn't actually playable. But since I want the enet stuff to go in so others can do their work, I'm not going to pull this build. I'll try to work on this some more tomorrow to see which fonts can't be replaced and why not and see if I can get something working again.
Comment 20 Bruno Wolff III 2012-03-13 22:51:55 EDT
It looks like egoboo's font code can't handle symlinks. That's going to need to get fixed one way or the other as font files are not allowed in application data.
Comment 21 Bruno Wolff III 2012-03-13 23:20:58 EDT
It looks like physfs is used with symlinks disabled. I should be able to find where this is set and turn it off.
Comment 22 Martin Erik Werner 2012-03-14 03:38:57 EDT
Created attachment 569890 [details]
Enable symlinks in PHYSFS

I looked at http://icculus.org/physfs/docs/html/ and it appears physfs does not enable symlinks unless specifically instructed to.

I've attached a patch which works for me on Debian.
Comment 23 Bruno Wolff III 2012-03-14 08:30:40 EDT
That's pretty much what I did. The version I have pending for testing is working. Unless there are problems, it and enet should move to f17 stable in 3 days.
Comment 24 Martin Erik Werner 2012-03-15 14:24:11 EDT
Hmm, I think we may have another problem at our hands :(

$ for i in $(find -iname *.ogg); do ogginfo $i | grep right && echo $i; done
	Copyright=(c) 1999 Westwood Studios
./modules/cobolemperor.mod/objects/hostage.obj/sound5.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./modules/soldier.mod/objects/evilforce.obj/sound0.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./modules/imprisoned5.mod/objects/demogorgon.obj/sound2.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./modules/imprisoned5.mod/objects/demogorgon.obj/sound1.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./modules/imprisoned5.mod/objects/demogorgon.obj/sound0.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./modules/imprisoned5.mod/objects/demogorgon.obj/sound13.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./modules/imprisoned5.mod/objects/demogorgon.obj/sound16.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./modules/imprisoned5.mod/objects/demogorgon.obj/sound11.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./modules/imprisoned5.mod/objects/demogorgon.obj/sound14.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./modules/imprisoned5.mod/objects/demogorgon.obj/sound17.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./modules/imprisoned5.mod/objects/demogorgon.obj/sound12.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./modules/imprisoned5.mod/objects/demogorgon.obj/sound15.ogg
	Copyright=(c) 2004 PCB Productions
./modules/archmage.mod/objects/devildoor.obj/sound8.ogg
	Copyright=(c) 2004 PCB Productions
./modules/abyss2.mod/objects/devildoor.obj/sound8.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./modules/imprisoned3.mod/objects/layna.obj/sound2.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./modules/imprisoned3.mod/objects/layna.obj/sound1.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./modules/imprisoned3.mod/objects/layna.obj/sound3.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./basicdat/globalobjects/monsters/vampyre.obj/sound2.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./basicdat/globalobjects/monsters/vampyre.obj/sound1.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./basicdat/globalobjects/monsters/vampyre.obj/sound3.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./basicdat/globalobjects/monsters/vampyre.obj/sound10.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./basicdat/globalobjects/monsters/vampyre.obj/sound9.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./basicdat/globalobjects/monsters/vampyre.obj/sound8.ogg
	Copyright=(c) 1999 Westwood Studios
./basicdat/globalobjects/players/tourist.obj/sound5.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./basicdat/globalobjects/misc/smithy.obj/sound0.ogg
	Copyright=A1 Free Sound Effects
./basicdat/globalobjects/unique/vorpalblade.obj/sound2.ogg
	Copyright message=(c) 2010 Sounddogs.com, All Rights Reserved
./basicdat/globalobjects/magic/glacialspike.obj/sound1.ogg
	Copyright message=Adam Frechette
./basicdat/music/Once_lost.ogg
	Copyright message=Adam Frechette
./basicdat/music/Irish_Night.ogg
	Copyright message=Adam Christopher Frechette
./basicdat/music/Safe_Haven.ogg

using ogginfo on separate files yields more info


IF we assume that those headers are correct (I do not know if all of them are, the music ones should be though, see below), there's quite a bit of a problem.

It MIGHT be the case that they are incorrect and all sound effects are indeed original content created by the Egoboo team, though I think that's unlikely...


The Westwoods studios stuff *may* be "freeware" at best.


The Sounddogs stuff is NOT ARReserved, but likely some sort of freeware (they provide both gratis and paid sounds), encumbered by a EULA:
http://www.sounddogs.com/htm/licensemx.htm

Maybe the source isn't actually Sounddogs though, so maybe if the originals were hunted down...?


Adam Frechette appears to be a composer which created free user content for modding Newerwinter Nights, e.g:
http://nwvault.ign.com/View.php?view=Sounds.Detail&id=127

There is no mention of license anywhere, though as per
http://egoboo.sourceforge.net/phpBB3/viewtopic.php?f=4&t=548&p=40332#p40332
they are suppossedly "open content" (whatever that means).

That thread has some more info regarding music that might be relevant as well, it would seem that there is a small set which is created by the Egoboo team, so those pieces should be fine I'm guessing.


A large portion of the sound effects appears to be long-lost things which we're unlikely to get license clarification for at all :(
Comment 25 Bruno Wolff III 2012-03-15 15:42:56 EDT
Thanks. I won't get time tonight to work on this. I'll try to sort through it all on the weekend. I want to see if this stuff is in the older version as well. If it's also a problem with the older version I think we can move a bit more slowly to get things right. If it's just the new version, I'll need to yank that right away. (Including a bad upload to the lookaside cache that is different than the current one.)

There are probably ways to replace a lot of sounds from other projects. For example Wesnoth has a lot of stuff. I don't remember if they are gpl2 or gpl2+, so there might be issues combining with Egoboo.
Comment 26 Martin Erik Werner 2012-03-15 17:11:00 EDT
I feel a bit bad reporting this so late, but it was a random grep for 'copyright' just now that actually made me stumble upon it, so it can't be helped :(


Regarding GPL sounds though... I had the impression that data and game could be treated as completely separate entities?

I mean the OFL 1.1 is frequently used for fonts, and the OFL is in itself GPL-incompatible. But there's not problem for a GPL application to use such a font, right?

So I don't think GPLv2only would be an issue in this case..
Comment 27 Fedora Update System 2012-03-15 22:40:40 EDT
Package egoboo-2.8.1-2.fc17, enet-1.3.3-1.fc17, egoboo-data-2.8.1-2.fc17:
* should fix your issue,
* was pushed to the Fedora 17 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing egoboo-2.8.1-2.fc17 enet-1.3.3-1.fc17 egoboo-data-2.8.1-2.fc17'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-3795/egoboo-2.8.1-2.fc17,egoboo-data-2.8.1-2.fc17,enet-1.3.3-1.fc17
then log in and leave karma (feedback).
Comment 28 Bruno Wolff III 2012-03-18 12:45:00 EDT
The license file also changed. For 2.7.5 it was GPLv3, but for 2.8.1, the license file now suggests it is GPLv2.

I also found a file with a license that allowed free modification while respecting the rights of the author (in 2.8.1).

In svn they have added GPLv3+ copyright notices to many files. I think the data might be in another repo.

With licensing this messed up, I think it is going to be hard to resolve things quickly.

I am going to take a look at their beta download and see how things look there.
Comment 29 Bruno Wolff III 2012-03-18 13:16:25 EDT
The license.txt file is back to GPLv3 in SVN (for egoboo-data). So the GPLv2 one might have just been an oops.
Comment 30 Bruno Wolff III 2012-03-18 13:39:01 EDT
My question now is where to go from here.

Options:

Leave egoboo as is (deleting the test build and reverting the f17 and f18 branches). This would block enet updates and doesn't seem to be acceptable. It also still leaves questionably licensed (but were not sure any aren't freely restributable) sound files in Fedora. This also passes on improvements between 2.7.5 and 2.8.1.

Go forward with with egoboo as is. This doesn't seem possible as we have indications that at least some of the sound files are not freely redistributable (though they may be derived from ones that are). I don't think we can ignore these indications in good conscious.

Strip out sound files that we think probably aren't freely distributable. Replacing them or dropping modules or objects that depend on them. This seems possible, though will take some work to remove stuff in a way that users don' trip over broken stuff. We still won't know about the real status of the sound files and the egoboo project seems to be playing a bit loose with their data licensing.

Update 2.7.5 to use enet 1.3, but otherwise revert the 2.8.1 changes. This misses out on some improvements. It leaves some files we are concerned about, but don't have direct evidence of licensing issues for any particular files. It lets us upgrade enet to 1.3.
Comment 31 Bruno Wolff III 2012-03-18 13:41:56 EDT
One other option would be to try to get egoboo to work without any sound. This may or may not be practical. This would detract from the game. It would keep any questionable sound files out of the egoboo packages, fixing known and suspected licensing issues.
Comment 32 Martin Erik Werner 2012-03-30 05:41:06 EDT
I looked a bit at the sounddogs files, and I can't find any reference to them being available even gratis, except for as a low-res sample which is only "for evaluation purposes".

The artist himself appears to have no sound effects available gratis either, and sounddogs seems to still be selling a few (all?) of the sounds in question, e.g. the first result of a search for "Coll Anderson glass shatter" yields a sound http://www.sounddogs.com/sound-effects/32/mp3/395192_SOUNDDOGS__im.mp3 which matches the file ./basicdat/globalobjects/magic/glacialspike.obj/sound1.ogg

I think that based on this it is highly unlikely that most of the sounddogs audio would be include-able in any form.

Even if the egoboo makers did _buy_ them, it would still be an issue as per http://www.sounddogs.com/htm/faq.htm :
    A. You can not redistribute the sounds as sounds by themselves,
    in whole or in part (as is or slightly modified) for a fee or for free.
Comment 33 Martin Erik Werner 2012-03-30 09:12:36 EDT
Forwarded audio issues to upstream forum: http://egoboo.sourceforge.net/phpBB3/viewtopic.php?f=4&t=1404
Comment 34 Bruno Wolff III 2012-03-30 10:19:54 EDT
Thanks for your help with this. I expect to make some progress on this this weekend. My plan is to replace the sound files we know are bad and continue to rely on the project's claim of GPL for the ones where we don't have conflicting evidence suggesting they can't be covered by the gpl. I am also going to try to reach Adam Frechette and see if his stuff can be covered by the gpl or other free license.
I was also going to push enet 1.3 in f17 once beta freeze is over, since we have stuff that wants 1.3 and I don't want egoboo holding things up.
Comment 35 Bruno Wolff III 2012-04-27 00:37:23 EDT
Since it is getting close to release and I wasn't going to get to go through the sound files for a least a couple of more weeks, I reverted the changes in F17 (there had only been builds in testing) and made a 2.7.5 version with Martin's patch for allowing the use of enet 1.3.
I get back to 2.8.1 later. I want to leave this bug open though since it has some information relevant to getting 2.8.1 built again.
Comment 36 Bruno Wolff III 2012-08-07 15:56:29 EDT
egoboo has been retired in F18/devel.

Note You need to log in before you can comment on or make changes to this bug.