Splitting large game data packages?
Hi,
I've been considering splitting up openarena-data (currently 314MB source,
345MB binary) into multiple source packages. openarena would still have to
depend on all of them (you need the complete set for network compatibility),
but they'd be easier to fit on CDs, and I wouldn't have to upload so much data
for each version. Does that sound good to the ftpmasters?
I propose to split it up like this:
81M openarena-data-0.8.5 (pak0 + mp-pak0 + pak6-patch085)
or if preferred it could be split further:
44M -data-0.8.1 (pak0 + mp-pak0)
37M -data-0.8.5 (pak6-patch085)
67M openarena-data (pak1-maps + pak5-TA + pak6-misc)
or if preferred it could be split further:
39M -maps (pak1-maps)
28M -data (pak5-TA + pak6-misc)
101M openarena-players (pak2-players + pak2-players-mature)
or if preferred it could be split further:
74M -players
27M -players-mature
95M openarena-textures (pak4-textures)
and in future,
???M openarena-data-0.8.6 etc. (extra files for future versions)
Relationships:
openarena Depends: x | openarena-data (<< first split version) for each x
openarena-server also Depends: x | openarena-data (<< ...) for each x
x Replaces: openarena-data (<< first split version) for each x
openarena-data Breaks: openarena (<< version depending on split packages)
--------------------
Background on why it's split like that:
The binary package consists of large PK3 (i.e. zip) files, currently looking
like this:
/usr/share/games/openarena/baseoa:
total 335M
*38M pak0.pk3 74M pak2-players.pk3 25M pak6-misc.pk3
39M pak1-maps.pk3 95M pak4-textures.pk3 *37M pak6-patch085.pk3
27M pak2-players-mature.pk3 2.9M pak5-TA.pk3
/usr/share/games/openarena/missionpack:
total 5.8M
*5.8M mp-pak0.pk3
The files marked * are not the same as distributed by upstream (bytecode
produced by a non-Free compiler has been removed and replaced with stub files
which cause equivalent native code to be loaded), so they're most likely to
need uploads.
Due to the way Quake III-based games achieve network compatibility, all files
except pak6-patch085.pk3 were present with the same contents in OpenArena
0.8.1, and Openarena 0.8.6 is likely to consist of a pak7-patch086.pk3 (or
something) which is appended to the search order while leaving the other
pk3 files identical. Yes, this means openarena/0.8.6 would have a Depends on
openarena-data-0.8.1, openarena-data-0.8.5 *and* openarena-data-0.8.6; that's
how the Quake III engine works.
S
Reply to: