project-navigation
Personal tools

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - apo

Pages: 1 ... 3 4 [5]
61
Linux / Re: Official Debian release for UFO:AI
« on: July 31, 2013, 02:54:57 pm »
Hi

I have updated the ufoai packaging at http://anonscm.debian.org/gitweb/?p=pkg-games/ufoai.git
and also created two new git repositories for the ufoai-data and ufoai-music source packages.

http://anonscm.debian.org/gitweb/?p=pkg-games/ufoai-data.git
http://anonscm.debian.org/gitweb/?p=pkg-games/ufoai-music.git

So far only ufoai-maps is missing and I'm using the precompiled maps for testing purposes at the moment.

I have filed a bug report for a reproducible segfault that seems to be triggered by the sound system (probably sdl_mixer). So far I couldn't find a solution

http://ufoai.org/bugs/ufoalieninvasion/issues/5072

Quote
yes - but that one for sure isn't in debian repos
The question is, is languages.ttf something which is worth packaging separately? Normally fonts deserve a separate package because they might be useful for other software too. If that's not the case here, I suggest shipping the font with ufoai itself.

Quote
Currently, UFO:AI supports only ZIP/DEFLATE as the compression algorithm. Adding support for LZMA could be a good idea, since it will give better compression for maps and models, but do we have a manpower for that?

Yes, that would be great.

I have packaged all data in pk3 files for 2.5-dev and in total it takes up 1,2 GB disk space. 0music.pk3 and 0sound.pk3 are already highly compressed ogg files. Even lzma wouldn't improve the situation here. You can gain the most by compressing maps, textures and pictures with a better compression algorithm which will approximately save up to 150 MB.

I will open new threads for specific packaging issues because I think it will be more effective to follow them separately.

Outstanding points so far:

- Compiling the maps and producing a version that is identical to the official UFO:AI release.
- dedicated server: creating a system-wide server installation.
- picomodel: standalone package or integrated into ufoai?
- license audit.




62
Linux / Re: Official Debian release for UFO:AI
« on: July 19, 2013, 12:06:39 pm »
Hi,

I have created an initial, unfinished, git repo for the UFO:AI packaging. http://anonscm.debian.org/gitweb/?p=pkg-games/ufoai.git

At the moment it covers only the binaries and the data packages are the next goal.

Quote
DejaVuSans.ttf is the only font that's needed for

Thanks. languages.ttf is the other required font file otherwise the game won't start up.

Quote
when do you plan to publish the debian version? And you plan to do this on the 2.5 codebase, no?

At the moment I'm working with the latest code from git, 2.5-dev. There isn't any fixed date for a Debian release. I suggest we take our time to create proper Debian packages and let others comment on our efforts. I assume everything could be working at the end of summer. Then it will take another few weeks to get the packages into Debian because they need to be checked by our ftp-masters.

Quote
Makes sense - but you can also decide to hardlink the game.so (./configure --enable-hardlinkedgame) then libufoai-game would not be needed.

That was a good idea. I have done that.

Quote
Well - to be executed the server does not need the music, pics, sounds and so on - but... the server can also be configured in a way to offer these files as downloads for clients that don't have one particular file. I don't think this will ever happen - but well... it's a feature. And new user created content would be available on the server anyway. But to be honest i've never tried to run the server on a minimal dataset.

That means the ufoai-server package does not need to depend on data packages to make it useful as long as the client depends on all data packages?

UFO:AI is very similar to OpenArena, thanks to the underlying Quake technology. However the openarena-server depends on data packages to enforce compatibility in case the player uses an older version (a new pak file will be automatically downloaded). I think we should discuss the desirable behaviour later, if i also know more about a sane default (system-wide) server configuration.

Quote
Please don't bulid the maps from source - please use those that we deliever when we release 2.5 officially. The problem here is floating point stuff. You would make cross plattform multiplayer stuff impossible because the checksum is different on different architectures. If you plan to release before we official release 2.5, please use the maps-sync script (make maps-sync)

That is easier said than done. I understand that it is more work for me to build the maps from source and that we have to be careful to ensure that the pk3 files are identical to the official ones. The ability to build everything from source with tools in Debian main is a requirement for software to be included in Debian. We simply need to make sure that the build process is reproducable on the official release architecture. The maps themselves are architecture-independent, that means they are only built once on my local (amd64) pc. I just have to make sure that the package matches your official release.

The OpenArena maintainer has done a similar job in the past.

anonscm.debian.org/gitweb/?p=pkg-games/openarena-data.git


The binaries could avoid some useless dependencies if they weren't linked against certain libraries. I am attaching my build log which illustrates the problem. (It is one of the last build steps at the end, dpkg-shlibdeps) I think this could be optimized somehow.

I am now going to learn more about creating the data packages.


Edit:

If i use p7zip aka 7z to compress the pk3 files, ufo is no longer able to detect them. The default compression algorithm is lzma. Zip compression works well with p7zip-full and zip. Is there an option to make ufoai detect those lzma compressed pk3 packages somehow? Otherwise there wouldn't be any advantage in switching to p7zip.




 

63
Linux / Re: Official Debian release for UFO:AI
« on: July 14, 2013, 08:35:04 pm »
Hi Mattn,

Quote
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.

Quote
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/UpstreamGuide

Quote
I 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?

Quote
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.

Quote
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.

Quote
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: ufoai

It 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-maps
It 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-music

It 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-misc

It 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.









64
Linux / Official Debian release for UFO:AI
« on: July 14, 2013, 03:12:12 pm »
Hi everyone,

I am a member of the Debian Games Team and I am working on an official release of UFO:AI for Debian and its derivatives. So far i'm trying to get the bigger picture by figuring out in how many packages the game has to be split and if there are any license issues to consider.

You have done an extraordinary job with documenting the licenses of each and every file of the game. From Debian's point of view there exist only two issues which i think are easily solvable.

All files that are licensed under CC-BY-SA-2.0 and CC-BY-SA-2.5 are considered non-free by Debian but clause 4b) of CC-BY-SA-2.5 grants the right to upgrade the license to a later version while CC-BY-SA-3.0 is considered to be a DFSG-free license. CC-BY-2.5 is even less restrictive (no copyleft) and upgrading to CC-BY-3.0 should be no problem at all.

I have tried to compile the stable version 2.4 but the game failed to build from source with the latest packages from Debian unstable.

Code: [Select]
CamWnd.cpp:411: undefined reference to `CameraSettings::getMode() const'
However the latest development version compiles fine. I have built upon the already available Debian packaging work but upgraded almost all files to more recent technologies like source format 3.0, dh sequencer and so on.

My questions (so far):

I intend to split the game data in multiple source packages, depending on the frequency of updates, because the data is very large. Which data files change regularly and what files are more static?

UFO:AI seems to depend on many different fonts. What fonts are strictly needed to make the game run? The current unofficial Debian packaging pulls in almost 150 MB of font data.

Why do you build-depend on binutils-dev? The game appears running fine without binutils.

Do you provide a changelog somewhere?

I think i will find more questions in the future but that's it for now. ;)

Thanks for reading this far and for developing UFO.

Markus






Pages: 1 ... 3 4 [5]