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

