Hi Mattn,
Great to hear this - our main goal for 2.5 was to get it into debian - 2.4 still contains a lot of invalid licensed stuff. I will check the licensing of the files as you said.
That would be great. If
http://ufoai.org/licenses/ is up-to-date then there are no blockers anymore for an inclusion in Debian main. However i discovered license.txt in base/textures and it claims that there are still textures of unknown origin. If this file is outdated and all other information correct, i see no reason at the moment why UFO:AI can't be included in Debian.
Btw. please also send the updates for to the debian files upstream.
I will always send all patches upstream as long as they are of general interest for others, i promise.
Though please consider to remove the debian directory in your source packages as soon as an official version exist. Keeping it in your git repository is a sane default, though. I will create an initial git repository for the Debian package soon and everyone can follow the progress there.
Some best practices for upstreams are described here:
https://wiki.debian.org/UpstreamGuideI think we will do a cleanup of translations before we release 2.5 - because some are outdated and not yet updated for 2.5. and the fonts are only needed for e.g. the chinese translation.
Ok, i only need to know what fonts are essential to make the game work. I think it is sane to suggest all other ones (e.g. the chinese translation). I assume the dejavu- and free fonts are mandatory?
we depend on binutils-dev because we do backtraces on crashes and upload them to our server - if you don't use binutils-dev (libbfd) for building the game - the backtrace feature is disabled automatically.
Allright, then i will omit binutils-dev and aim for an optimized release version only.
we will create a changelog for the final 2.5 version. we only provide changelogs for every official release - and we provide monthly changelogs in the news for the current dev builds.
I saw your really nice monthly updates on the frontpage. I am only asking because it would be nice to include some kind of text file in the official release that documents all changes since the last version. Another option would be to convert the git commits to a changelog file. That's nice to have but not a big issue.
oh, btw. do you also plan to include uforadiant into debian? if yes, that would be awesome. but it would be even cooler to also get picomodel packages then - https://github.com/ufoai/picomodel
Yes, I intend to package uforadiant as well. I don't know much about picomodel yet but if you think it is a valuable tool to enhance the game or to make developing of UFO:AI easier, I'm absolutely open for packaging it.
Here are my current thoughts how to split the game in multiple packages for ease of use.
Source package: ufoaiIt builds those binary packages:
ufoai (game client)
ufoai-server (dedicated server)
ufoai-uforadiant (mapping tool)
ufoai-tools (ufo2map, ufomodel, ufoslicer)
ufoai-common (architecture-independent files which are shared between server and client, e.g. language files, documentation)
libufoai-game (the game.so shared library)
I am not sure about the last two binary packages. I only saw that a shared library called game.so is built and as far as I understand, it is required by both, client and server. Hence I think it would make sense to package the library in a single binary package and let client and server depend on it.
Game data:I haven't found any information about required data packages for client and server yet. I presume the client will need all files under /base in the git repository to run correctly. My goal is to create a ufoai-server binary package that is similar to the existing openarena-server package in Debian. That means you can easily run the server with the help of an init script. Does the server require all data packages as well?
I intend to keep the .pk3 structure but i would like to build as much as possible from source. I had the following structure in mind:
Source package: ufoai-mapsIt builds the binary package ufoai-maps.
All maps need to be compiled from source and they are quite large so i think they deserve a separate source package.
Source package: ufoai-musicIt builds the binary package ufoai-music
Very simple package that only installs the music files to the right place. I would make ufoai-music a recommendation but not a strictly required dependency of ufoai.
Source package: ufoai-miscIt builds the binary package ufoai-misc.
Basically that would be everything else that is architecture-independent like textures, videos, scripts, pics, sounds and so on.
The reasoning behind the splitting is that nobody has to upload a 900 MB data package to the mirrors every time something changes.
Although the data is splitted in multiple source packages, it think it makes sense to keep the same pk3 files you are offering today. It was great, if we could use xz compression for the source and binary packages. Probably the zip format for pk3 files is mandatory, but i was thinking about compressing everything with xz (which saves a lot of bandwith) and to create zip compressed binary data packages in Debian's post-installation step. That means the user downloads xz compressed files and automatically runs a script that creates zip compressed pk3 files in the end.
Unfortunately the downside is that it might take several minutes to recompress the data on the user's pc. So obviously it would be better if we could ship xz compressed pk3 files right from the start. I assume that's easier said than done.