Bug#884354: game-data-packager: [doom] default behaviour of downloading and packaging e1m{4, 8}b is wrong

Simon McVittie smcv at debian.org
Thu Dec 14 18:19:21 UTC 2017


On Thu, 14 Dec 2017 at 12:53:04 +0000, Jonathan Dowland wrote:
> Running "game-data-packager doom doom.wad" results in game-data-packager
> doing what I want (generating doom-wad*deb) but it also downloads and
> packages two unrelated PWADs from the Internet (E1M4B and E1M8B).

At the time they were added, this was a yes/no decision - always include
or never include - and the imperfect compromise that was chosen was
to always include them. Now that I've added the activated_by field
for #775080, they could be marked as activated_by the relevant PWAD,
meaning they're only packaged if the relevant PWAD is provided on the
command-line or found to be installed already, or if g-d-p is given the
new --everything command-line option.

(Commercially-sold expansions don't normally need activated_by, because
there's no (stable and legal) download URL we can list for them, so the
situation doesn't arise; but expansions that are free-to-download but
aren't necessarily wanted do benefit from it.)

activated_by is currently used by Threewave CTF for Quake III Arena,
HexenWorld for Hexen II, and Abyss of Pandemonium for Quake. It would
also be used for the semi-official bonus content for Jedi Academy if we
had a reliable way to download that, but we don't, so it's
unnecessary there.

The semi-official Quake Episode 5: Dimensions of the Past (by id Software
licensee MachineGames) should perhaps get activated_by as well.

Similarly, Quake II has a few semi-official extras which are currently
packaged with Quake II and flagged as optional, but could maybe be
treated like addons instead? With some games there's only quite a blurry
line between patches and official or semi-official "bonus packs", so
I've tended to err on the side of packaging the "best possible" version
of each game, even if that includes semi-officially-blessed mods like
various games' CTF addons.

You can also use --no-download if that's the behaviour you want.

> I think it's a bad idea for game-data-packager to be downloading and
> packaging individual PWADs at all, but, as a non-default behaviour, it's
> something I would just frown at. As a default behaviour I think this is
> wrong.

I think it's reasonable to package "major" unofficial addons, for some
definition of "major" that I'll delegate to people who know about the
game in question. Now that we have activated_by, I agree we should make
more use of it in general.

> [ for downloading and playing the thousands of PWADs available for Doom
>    and Doom engine games, what we need is a F/OSS Linux-supporting Doom
>    launcher, something quite different to game-data-packager. Possibly
>    something like "Quake Injector":
>    https://github.com/hrehfeld/QuakeInjector ]

You're more than welcome to find or write one (and indeed Alexandre
wrote a launcher for the Doom II Master Levels which might be a
reasonable basis), but until then, I don't want the absence of one to
block enhancements to the tools we have.

One thing I've considered doing for g-d-p in future is having "install
for only me" support, which harvests the right files (that's 90% of g-d-p
these days), but drops them into ~/.q3a or equivalent instead of actually
packaging them (the remaining 10%); or using Flatpak, which can install
either system-wide or locally. When you wrote the original g-d-p for Doom,
gathering up the right files was easy because there's only one per Doom,
and packaging was where all the work went. With many of the games that
are now supported, the relative difficulty is the other way round:
knowing what needs to be collected is the hard part, and building a .deb
(or RPM or whatever Arch uses) is easy because we basically only have to
implement it once.

    smcv



More information about the Pkg-games-devel mailing list