game-data-packager man page

game-data-packager — 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/

Info

2008-07-14