Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 505636 - spring contains copies of external libraries
Summary: spring contains copies of external libraries
Keywords:
Status: ASSIGNED
Alias: None
Product: Fedora
Classification: Fedora
Component: spring
Version: rawhide
Hardware: All
OS: Linux
low
high
Target Milestone: ---
Assignee: Orphan Owner
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: DuplicSysLibsTracker
TreeView+ depends on / blocked
 
Reported: 2009-06-12 17:14 UTC by Dennis Gilmore
Modified: 2020-05-27 17:30 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Dennis Gilmore 2009-06-12 17:14:20 UTC
spring has an internal copy of 7zip that it compiles and staticlly links in. there is also copies of hpiutil2, minizip, streflop in the tree that are compiled also. there is a lua tree but it looks like its just used for headers. in all cases system versions should be used instead.

Comment 1 k-r.ernst 2009-07-06 09:14:06 UTC
The lua-sources included are patched. They have single-precission floating point maths and use streflop. Using the system-lua libraries will make the game unplayable online.

Comment 2 Bug Zapper 2009-11-16 10:10:31 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 12 development cycle.
Changing version to '12'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 3 Fedora Admin XMLRPC Client 2010-12-14 14:00:19 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 4 Gilboa Davara 2010-12-14 17:02:33 UTC
(In reply to comment #1)
> The lua-sources included are patched. They have single-precission floating
> point maths and use streflop. Using the system-lua libraries will make the game
> unplayable online.

Before I close the bug was CANTFIX, can you post a link to an official document/thread/etc? Google didn't return anything meaningful.

- Gilboa

Comment 6 Toshio Ernie Kuratomi 2010-12-15 06:20:40 UTC
Also note, this bug references multiple bundled libraries.

Comment 7 Gilboa Davara 2010-12-16 07:18:25 UTC
Dannis,

I'm fully aware of this policy, however, as I just taken over springs, and I want to find out if this is intended (read: spring uses patches version of said libraries) or can it be removed.

In post #1 it was claimed that it was intended.

- Gilboa

Comment 8 Dennis Gilmore 2010-12-16 16:34:45 UTC
intended or not doesn't matter.  its not ok.  they need to be either removed or an exception needs to be requested. Right now the package is not close to compliance and needs to be.

Comment 9 Gilboa Davara 2010-12-16 16:47:50 UTC
Given that the I've yet to ask upstream why they use static libs, this argument is mute. I'll contact upstream and I'll continue from there.

- Gilboa

Comment 10 Thom Carlin 2011-02-18 23:10:09 UTC
Gilboa, do you have any updates?

Comment 11 Thom Carlin 2011-02-22 17:32:29 UTC
Gilboa, have you contacted upstream yet?

Comment 12 Gilboa Davara 2011-02-22 19:55:04 UTC
Yes. [1]
Upstream is discussion possible fixes to this issue.
Thus far, it seems that only minizip can be replaced by the Fedora built in version.
LUA is modified - but they are looking at ways at using normal upstream LUA.
As far as I can see, Fedora doesn't have the required md5 and 7z libraries.

- Gilboa
[1] http://springrts.com/phpbb/viewtopic.php?f=12&t=24813&sid=0de5194304e7a97a6bdfb8530d3549ef

Comment 13 Thom Carlin 2011-03-14 19:35:52 UTC
Gilboa, thanks for the information.  Any updates since then?

Comment 14 Gilboa Davara 2011-04-02 11:23:17 UTC
Hello,

Sorry for the late reply.
I was busy trying to get spring working on F15 due to gcc46 issues.
Per subject at hand, I'll ping upstream if anything moved concerning the LUA changes.

As for md5 and 7z, any suggestions? Have I missed anything? 
As far as I can see, short of breaking 7za and md5 libraries and getting them included into Fedora as actual packages (A dream, given my current severe time constraints) I'm forced to continue using the supplied libraries as is.

- Gilboa

Comment 15 Gilboa Davara 2011-04-02 13:10:35 UTC
As for minizip, the version included is loosely related to version minizip used by Fedora making it far form ideal for replacement.

In short, I'll file a FPC track about it. As it stands, there's not much I could do about having static libraries inside spring - apart from making it completely incompatible with generic version. (Which will badly damage multi-player)

- Gilboa

Comment 16 Thom Carlin 2011-04-02 13:30:01 UTC
Possible candidates:
7z, Package p7zip.  It's not a large package.  Can they split out the package or use http://www.7-zip.org/download.html (7zip library)?  Another alternative is https://code.google.com/p/lib7zip/ which is GPLv2.
md5: Package lua-md5

Comment 17 Gilboa Davara 2011-04-11 07:31:14 UTC
Thom,

Given the nature of spring (multi-player game) I cannot make client side modification to the code without upstream concent as it may break multi-player gaming or worse, tag the player as a cheater.
Even small changes (like that ones required to compile spring on F15) were only introduced after a long discussion with upstream.

In the mean time, I tried finding a sample how to get file a FPC ticket for spring but found none, can anyone point me at the right direction?

- Gilboa

Comment 18 Bruno Wolff III 2011-04-11 12:28:22 UTC
Most (if not all) Fedora bodies that use a ticketing system are going to be using a trac instance on fedorahosted,org. In particular FESCO's is at:
https://fedorahosted.org/fesco/

Comment 19 Toshio Ernie Kuratomi 2011-04-11 19:59:30 UTC
You want an fpc exception so:

https://fedorahosted.org/fpc/

We have some standard questions that we'd ask here: https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Exceptions

Comment 20 Thom Carlin 2011-04-26 11:24:06 UTC
Gilboa, have you filed the exception yet?

Comment 21 Gilboa Davara 2011-05-01 20:46:05 UTC
Sadly enough - no.
I'm partially AFK till the third week of May.

Comment 22 Thom Carlin 2011-08-01 00:06:51 UTC
Did you file the exception yet?

Comment 23 Thom Carlin 2011-08-16 12:41:36 UTC
Gilboa, have you had a chance to file the exception?

Comment 24 Gilboa Davara 2011-08-17 18:21:29 UTC
Sorry for being an idiot (or simply overworked :(), but for the life of me I can't seem to find a form that I have to fill to get the exception.
Do I edit the wiki? Do I send a mailing list message?

Welp?

Comment 25 Thom Carlin 2011-08-18 09:25:07 UTC
Go to https://fedorahosted.org/fpc/
Click New Ticket (upper right)

Toshio mentioned in Comment 19 that they ask standard questions following https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#Exceptions:
"    Has the library behaviour been modified? If so, how has it been modified? If the library has been modified in ways that change the API or behaviour then there may be a case for copying. Note that fixing bugs is not grounds to copy. If the library has not been modified (ie: it can be used verbatim in the distro) there's little chance of an exception.
        Why haven't the changes been pushed to the upstream library? If no attempt has been made to push the changes upstream, we shouldn't be supporting people forking out of laziness.
        Have the changes been proposed to the Fedora package maintainer for the library? In some cases it may make sense for our package to take the changes despite upstream not taking them (for instance, if upstream for the library is dead). 
    Could we make the forked version the canonical version within Fedora? For instance, if upstream for the library is dead, is the package we're working on that bundles willing to make their fork a library that others can link against?
    Are the changes useful to consumers other than the bundling application? If so why aren't we proposing that the library be released as a fork of the upstream library?
    Is upstream keeping the base library updated or are they continuously one or more versions behind the latest upstream release?
    What is the attitude of upstream towards bundling? (Are they eager to remove the bundled version? are they engaged with the upstream for the library? Do they have a history of bundling? Are they argumentative?)
    Overview of the security ramifications of bundling
    Does the maintainer of the Fedora package of the library being bundled have any comments about this?
    Is there a plan for unbundling the library at a later time? Include things like what features would need to be added to the upstream library, a timeline for when those features would be merged, how we're helping to meet those goals, etc.
    Please include any relevant documentation -- mailing list links, bug reports for upstream or the bundled library, etc. "

An example is https://fedorahosted.org/fpc/ticket/100

Comment 26 Gilboa Davara 2011-08-31 07:32:23 UTC
Thanks. Working on it now.

- Gilboa

Comment 27 Gilboa Davara 2011-08-31 11:55:43 UTC
https://fedorahosted.org/fpc/ticket/105

Comment 28 Thom Carlin 2011-10-01 10:14:22 UTC
From that ticket: 
"In today's meeting we approved the exception for the forked lua bundling (+1:6, 0:0, -1:1), md5 bundling approved (+1:7, 0:0, -1:0).

The spring rts package must add:

Provides: bundled(lua) = X.Y.Z (where X.Y.Z is the base lua version) Provides: bundled(md5-$IMPLEMENTATION) (where $IMPLEMENTATION is the type of md5 implementation being used, see https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#cite_note-1

Remaining issues: * We hope that the lzma-sdk package will be able to be used in place of the bundled copy. If this is not plausible, we will revisit that bundling exception. * Streflop bundling decision postponed, pending research on packaging it. I'm going to try to package that for Fedora today
[...]
FYI: http://spot.fedorapeople.org/streflop-0.3-1.fc15.src.rpm

Perhaps gilboa (or the spring upstream) can figure out how to make spring check for the streflop libs/headers instead of just building the bundled copy."

Gilboa, can you check into this?

Comment 29 Gilboa Davara 2011-10-11 03:20:56 UTC
Hi Thom,

I'm waiting for upstream answer concerning lzma-sdk and streflop build-time detection. If OK by them, I'll patch the build-sys to use the Fedora copy until the next upstream release.
As for bundled(lua/md5), it'll be added to the next release.

- Gilboa

Comment 30 Gilboa Davara 2011-12-05 12:17:18 UTC
Short update.
84 was released with the required bundled(XXX) tags.
Solution to the remaining issues (lzma, streflop) requires upstream involvement.

- Gilboa

Comment 31 Ville Skyttä 2012-05-28 19:50:20 UTC
bundled(md5-Aladdin) should be bundled(md5-deutsch) per http://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries

Comment 32 Gilboa Davara 2012-06-10 05:51:43 UTC
As far as I could verify, the md5 implementation spring is using is Aladdin's code. Why deutsch?

- Gilboa

Comment 33 Ville Skyttä 2014-03-18 15:29:01 UTC
(In reply to Gilboa Davara from comment #32)
> As far as I could verify, the md5 implementation spring is using is
> Aladdin's code. Why deutsch?

http://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries#cite_note-1 does not list md5-Aladdin as a known one. The one in spring looks like md5-polstra though, not deutsch.

Comment 34 Fedora Admin user for bugzilla script actions 2020-05-27 15:26:50 UTC
This package has changed maintainer in the Fedora.
Reassigning to the new maintainer of this component.


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