game-data-packager - Man Page
build a package (.deb|.rpm|...) of game data
Synopsis
game-data-packager [Options] GAME [Options] [Per-Game Options]
Description
Many open-source games require game data which is licensed incompatibly with the Debian Free Software Guidelines and other Linux distributions' licensing guidelines, or cannot be legally redistributed at all. game-data-packager is a tool designed to help you locally assemble packages for Debian or other packaging systems, containing such game data from CD-ROMs, the Internet or elsewhere.
Options
- --package PACKAGE, -p PACKAGE
For games that produce more than one package, only produce the specified package. This option can be repeated. For example, game-data-packager quake2 -i -pquake2-groundzero -pquake2-reckoning would update the two Quake II expansions (Ground Zero and The Reckoning), building new native-code game modules if necessary, without updating the packages for the base game or the music.
- --target-format arch|deb|rpm
Produce packages for the given packaging system. All packaging systems except for deb (which represents dpkg) are considered experimental. The default is to try to auto-detect what is appropriate for the system where game-data-packager is run.
- --target-distro fedora|suse|...
For packaging systems where different Linux distributions need different content (currently this means rpm), produce packages suitable for the selected distribution. The default is to try to auto-detect what is appropriate for the system where game-data-packager is run.
- -i|--install
Attempt to install the generated package using the --install-method and the --gain-root-command.
- --install-method apt|dpkg|gdebi|gdebi-gtk|gdebi-kde|dnf|zypper|urpmi|rpm
Install the generated package using the requested command. Only methods that can install the selected --target-format are valid.
- --gain-root-command pkexec|sudo|su|super|really|COMMAND
Use the requested command prefix to run commands as root when needed. su uses the su -c syntax to run a one-line shell command; the rest (including user-specified commands) are assumed to work as an "adverb" command prefix, similar to sudo dpkg -i ... or pkexec rpm -U ....
- -d OUT-DIRECTORY | --destination OUT-DIRECTORY
Write the generated package to the specified directory, instead of or in addition to installing it.
- -n|--no-install
Do not attempt to install the generated package. This option must be used in conjunction with -d.
- --binary-executables
Allow the creation of packages containing native executable code that was not built from publically-available source code. By default, such executables are not packaged to avoid creating a security risk. For example, this allows the proprietary Linux binaries for Quake 4 and Unreal to be packaged.
- -z|--compress
Compress the generated package. This is the default if -i is not used.
- --no-compress
Do not compress the generated package. This is the default if -i is used (since it is not usually useful to compress the package if it will just be installed and then discarded).
- --download
Automatically downloading any missing files from the Internet if possible.
- --no-download
Do not download missing files from the Internet. If the missing files are not very important (for example optional documentation), game-data-packager will produce a package that lacks those files; if the missing files are required, game-data-packager will not produce a package at all.
- --save-downloads DIRECTORY
If files are downloaded, save them to DIRECTORY.
- --verbose
Be more verbose, and in particular show output from any external tools that are invoked during operation.
- --no-verbose
Do not show verbose output. This is the default.
- --debug
Show output that is interesting to game-data-packager developers.
- GAME
The game being packaged. Running game-data-packager without arguments will display a list of valid games.
Per-Game Options
Some games have additional options. Running game-data-packager GAME --help will display a list of valid options for that game.
Non-Game Modes
Some non-game-specific modes can be selected by specifying a special keyword instead of the name of a game.
game-data-packager [COMMON Options] steam [COMMON Options] [--new|--all]
will package all your Steam games at once.
Most games can only be downloaded with the Windows version of Steam, optionally running through Wine, or by using the steamcmd tool. This mode takes the same options as game-data-packager, and adds its own options:
- --new
Only package new games
- --all
Package all games available
game-data-packager [COMMON Options] gog [COMMON Options]
will match all the GOG.com games you own against the games supported by this tool.
Each games must then be packaged individually.
Environment Variables
- LANGUAGE, LANG
These environment variables are used when a game is available in various languages to choose the correct version.
Those are normally set by your desktop environment.
Paths
game-data-packager will automatically locate applicable files in these directories:
- ~/.steam/SteamApps/common/<game>/
- ~/.wine/drive_c/Program Files/Steam/SteamApps/common/<game>/
and also the ~/.PlayOnLinux/wineprefix/Steam/drive_c/... variant
- X:/Program Files/Steam/SteamApps/common/<game>/
where X:\ is any mounted vfat or NTFS partition
Files
- /etc/game-data-packager.conf
game-data-packager configuration file
- ~/.scummvmrc
provides location information for game registered in ScummVM GUI
- ~/.steam/config/loginusers.vdf
is used to detect user's SteamID, which is then used to download a list of owned games
- ~/.cache/lgogdownloader/gamedetails.json
holds a cached list of owned GOG.com games
See Also
pkexec(1), sudo(8), su(1), lgogdownloader(1)
Project homepage: https://wiki.debian.org/Games/GameDataPackager/
Author
Copyright © 2010-2013 Jonathan Dowland <jmtd@debian.org>
Thanks to Branden Robinson for his ‘Write the Fine Manual’ presentation, once found at http://people.debian.org/~branden/talks/wtfm/