[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#741640: packaging vcmi



On 17.03.2014 17:48, Johannes Schauer wrote:
[...]
> I didnt know about blhc (for some reason no mentioned in
> https://wiki.debian.org/Hardening). Handy tool! I attached its output. There
> indeed seem to be some -fPIE flags missing for a couple of things. I have to
> dive deeper into the cmake build to figure out how to make sure that they get
> passed but thanks to blhc I can now better check whether or not things get
> built the right way.

You can try to pass CFLAGS, CXXFLAGS and LDFLAGS to CMake by overriding
dh_auto_configure with e.g.

CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
CXXFLAGS:=$(shell dpkg-buildflags --get CXXFLAGS)
#CFLAGS+=$(CXXFLAGS)

dh_auto_configure -- \
-DCMAKE_C_FLAGS="$(CFLAGS)" \
-DCMAKE_CXX_FLAGS="$(CXXLAGS)"

You can also pass CXXFLAGS to CFLAGS or vice versa. It depends mostly on
upstream's (broken) build system. Sometimes they forget to add variables
for custom CFLAGS or CXXFLAGS to CMakelist.txt. Your other option is
then to patch CMakelist.txt and forward the changes upstream.

[...]

> My original plan was to replace all graphics by colored rectangles with text
> inside. The text would be the name of the object and thus one would know what
> object the rectangle represents. The result would look similar to the first
> video in my last email which only has the text missing in some objects. This
> way, the game would at least be technically playable - even though it would not
> be fun because it would look ugly. But at least one would know which rectangle
> represented what.  I wanted to do it like that because I'm much more motivated
> about having a package in main than in contrib.

Excellent attitude. You don't have to create a complete free game. The
idea is to provide users of the engine with enough material and
information, so that they are able to create more content and improve
the current status. It's a common problem that people develop some sort
of free engine but don't provide free game data as well. However I
believe we are not only here to package games but also to provide tools
for game development. Free data packages are a contribution to these
efforts.

> Though when I approached
> upstream about this solution for getting vcmi into Debian main instead of
> contrib I met only criticism. In their opinion it is not worth having vcmi in
> main if that means that the default free graphics are crappy.  Since I do not
> want to offend upstream and respect their opinion, I stopped my efforts of
> creating auto-generated rectangle graphics and instead prepared the package for
> inclusion in contrib.

It's a simple packaging issue. VCMI is the free engine and Heroes of
Might and Magic 3 is the (non-free) game. The game should depend on the
engine not vice versa. That leaves you with the following options:

If Heroes of Might and Magic is non-free but distributable, you can
prepare a package for non-free which in turn depends on vcmi.

If the game is non-free and non-distributable game-data-packager is your
tool of choice.

You can avoid any criticism when you create a distinct vcmi-data package
that provides enough data for demonstrating the basic gameplay and
perhaps some documentation how people can built upon this work. Then
vcmi-data (main) depends on vcmi (main) and Heroes3 (non-free) also
depends on vcmi (main). If the package description is meaningful enough,
those who want to play Heroes3 have to install the non-free data package
and everyone else can start developing a free replacement.
It would be great if upstream developed some free tools so that others
could create more free content for their engine.

Regards,

Markus












Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: