regression: --demo

Alexandre Detiste alexandre.detiste at gmail.com
Wed Jan 21 21:00:54 UTC 2015


> Your patch looks fine, but as a general rule I prefer parentheses for
> line-continuation. Fixed in git (with parentheses).

I had to change this code extensively again to make Wolf3D fit :-)

Because there is now two times a for loop in a for loop,
I can't use a simple 'continue' anymore.

> Looking briefly at your changes on your github, most of them look fine,
> but I don't think I like the package.deb thing. 
I don't like it much either. 

> If you want to support Wolf v1.2, I would prefer to go to one extreme 
> or the other - either give it its own package name and make wolf4sdl 
> depend on 1.2 | 1.4 | shareware 1.4
wolf4sdl is future proof: it depends on virtual package wolf3d-data;
no changes needed there.


I choosed to do the right thing: doing wolf3d-full-v12-data + wolf3d-full-v14-data.

This needs to change demo_for: into a set.

This is quite an extensive change, but I've made it backward
compatible with the existing yaml files:

def _populate_package(self, package, d):
...
         if 'demo_for' in d:
+            if type(d['demo_for']) is str:
+                package.demo_for.add(d['demo_for'])
+            else:
+                package.demo_for |= set(d['demo_for'])

> (other games)
I don't know much of these other games  but I allways try to work in a re-usable way.

I like the way you are moving functionality from doom-common in the main lib;
I just had to rename "data/wolf3d-full-data.copyright -> data/wolf3d.copyright"
to provide both v1.2 & v1.4

[    def fill_docs(self, package, docdir):
[        for n in (package.name, self.shortname):

> It would perhaps also be nice to have a "better_version" package
> relationship that generalizes demo_for, so that if we find both
> Wolfenstein 3D 1.2 and 1.4 for some reason, we can avoid building the
> 1.2 .deb

I don't really think v1.4 data is any better than v1.2 ; all the relevant changes were probably in wolf3d.exe.
A user can still choose his prefered version with --no-search + giving a path for now.

At least gdp don't ask dpkg to install two conflicting packages.

tchet at antec:~/game-data-packager$ DEBUG=1 ./game-data-packager wolf3d /usr/local/games/wolf_dos/ 2>&1 | grep will
DEBUG:game-data-packager:will not produce "wolf3d-demo-data" because we have the full version "wolf3d-full-v14-data"
DEBUG:game-data-packager:will not produce "wolf3d-demo-data" because we have the full version "wolf3d-full-v12-data"
DEBUG:game-data-packager:will produce wolf3d-full-v12-data
ERROR:game-data-packager:will not produce "wolf3d-full-v14-data" because it conflicts with "wolf3d-full-v12-data"




More information about the Pkg-games-devel mailing list