RFC: Method for packaging game data (was Re: Non-commercial redistributable game data)

Hans de Goede j.w.r.degoede at hhs.nl
Tue May 25 12:03:13 CEST 2010


Hi,

On 05/23/2010 09:21 PM, Ryan Rix wrote:
> On Sun 23 May 2010 5:06:27 am Jonathan Dieter wrote:
>> I've been looking at uqm today to see how we could do this.  I did come
>> up with one method that does work (at least in Fedora 13), though it
>> will be a bit of a pain for autodownloader.  For uqm, it looks something
>> like this:
>>
>> uqm is in Fedora
>> autodownloader is in Fedora
>> uqm-content is in RPM Fusion
>>
>> Remove Requires: autodownloader from uqm
>> Add Requires: uqm(data) to uqm
>> Add Provides: uqm(data) to autodownloader
>> Add Provides: uqm(data) to uqm-content
>>
>> When installing uqm, if RPM Fusion isn't enabled, autodownloader gets
>> downloaded and installed, and then the game data gets downloaded the
>> first time uqm is run.  If RPM Fusion is enabled, yum will prefer
>> uqm-content, which mean uqm will run the first time without needing to
>> download anything.
>>
>> This should consistently work because, in the newer yum versions, one of
>> the tests for choosing which package to install as a dependency is to
>> compare how many letters match (i.e. uqm and uqm-content both start with
>> uqm, while autodownloader doesn't, so uqm-content would be preferred
>> over autodownloader).
>>
>> Do note that there are no conflicts between autodownloader and
>> uqm-content, so there's no problem if someone installs the game without
>> RPM Fusion, thus getting autodownloader, and then enables RPM Fusion and
>> installs uqm-content.  The game would proceed to use the content from
>> uqm-content rather than try to download it with autodownloader.
>>
>> The drawback of this method is that, for each game, a new version of
>> autodownloader will have to be pushed with updated Provides *before* we
>> can put the game data in RPM Fusion.
>>
>> Thoughts? Comments? Stones to throw at me? :)
>>
>> Jonathan
>
> How does all of this work after autodownloader is already pulled in? If I
> install uqm without rpmfusion enabled, autodownloader would be installed.
> Afterwards, I enabled rpmfusion, and install urban-terror, wouldn't
> autodownloader already Provides urban-terror(data) even though rpmfusion is
> enabled?
>

Yes that would be a problem, and have to object to the concept of adding
the provides foo(data) to autodownloader in general.

The correct thing to do would be IMHO (using uqm as an example):

Remove Requires: autodownloader from uqm
Add Requires: uqm-data to uqm
Add a new uqm-autodownloader subpackage which contains the
autodl config file for uqm and has a: Provides uqm-data
Put the uqm data into a uqm-data package in rpmfusion

This way we avoid the above problem and the ugliness of having
to add weird provides to autodownloader.

Regards,

Hans


More information about the rpmfusion-developers mailing list