mirror of
https://github.com/yquake2/yquake2remaster.git
synced 2024-11-14 00:41:03 +00:00
Update the packaging guide to be generic.
The packaging guide contained a lot if informations for the 6.x -> 7.x migration. Since 7.x has long been done remove that instructions and clarify the generic ones.
This commit is contained in:
parent
9f65dcb679
commit
544787a6b3
2 changed files with 54 additions and 47 deletions
|
@ -127,6 +127,13 @@ needs to be copied into the game data directory. The target directory is
|
||||||
just *music/*, next to *baseq2/*. **Not** inside *baseq2/*.
|
just *music/*, next to *baseq2/*. **Not** inside *baseq2/*.
|
||||||
|
|
||||||
|
|
||||||
|
### Alternate Startup Configuration
|
||||||
|
|
||||||
|
Yamagi Quake II ships with an alternative startup config that overrides
|
||||||
|
some gloibal settings to saner defaults. To use is copy *stuff/yq2.cfg*
|
||||||
|
into the *baseq2/* directory.
|
||||||
|
|
||||||
|
|
||||||
## The Demo Version
|
## The Demo Version
|
||||||
|
|
||||||
A free demo version of Quake II is available and supported by Yamagi
|
A free demo version of Quake II is available and supported by Yamagi
|
||||||
|
@ -202,7 +209,7 @@ system. The gamedata is searched at:
|
||||||
- In *$HOME/.yq2*
|
- In *$HOME/.yq2*
|
||||||
|
|
||||||
If you're a package maintainer, please look at our documentation at
|
If you're a package maintainer, please look at our documentation at
|
||||||
https://github.com/yquake2/yquake2/blob/master/doc/packaging.md
|
https://github.com/yquake2/yquake2/blob/master/doc/05_packaging.md
|
||||||
|
|
||||||
|
|
||||||
## Compiling from source
|
## Compiling from source
|
||||||
|
|
|
@ -1,66 +1,66 @@
|
||||||
# Notes for Package Maintainers
|
# Notes for Package Maintainers
|
||||||
|
|
||||||
Our 7.00 release caused some trouble for package maintainers
|
This guide shows how Yamagi Quake II should be packaged and what
|
||||||
(see https://github.com/yquake2/yquake2/issues/214), so we decided to finally
|
assumptions the games makes regarding binary and game data locations.
|
||||||
properly document how we think it should be done and what assumptions
|
|
||||||
Yamagi Quake II makes regarding binary locations etc.
|
|
||||||
|
|
||||||
## Where you should put the executables
|
This guide uses the notation for unixoid platforms. Executables have no
|
||||||
|
file extensions and libraries are given with the *.so* extension. MacOS
|
||||||
|
and Windows behave exactly the same way, but with the platform specific
|
||||||
|
file extensions.
|
||||||
|
|
||||||
Yamagi Quake II expects all binaries (executables and libs) to be in the same directory
|
|
||||||
(or, in the case of game.so/.dll/dylib, in the mod-specific subdirectory).
|
|
||||||
|
|
||||||
So the binary directory should look somehow like this *(on Unix-like systems;
|
## The Executables
|
||||||
on Windows and OSX it's very similar but with different extensions: .dll or
|
|
||||||
.dylib instead of .so, and the executables have .exe file extension on Windows of course)*:
|
Yamagi Quake II expects all binaries (executables and libraries) to be
|
||||||
|
in the same directory or, in the case of *game.so*, in the mod-specific
|
||||||
|
subdirectory.
|
||||||
|
|
||||||
|
So the binary directory should look somehow like this:
|
||||||
|
|
||||||
* /path/to/yamagi-quake2/
|
* /path/to/yamagi-quake2/
|
||||||
- quake2
|
* quake2
|
||||||
- q2ded
|
* q2ded
|
||||||
- ref_gl1.so
|
* ref_gl1.so
|
||||||
- ref_gl3.so
|
* ref_gl3.so
|
||||||
- baseq2/
|
* baseq2/
|
||||||
* game.so
|
* game.so
|
||||||
- xatrix/
|
* xatrix/
|
||||||
* game.so
|
* game.so
|
||||||
- ... *(the same for other addons/mods)*
|
* ... (the same for other addons)
|
||||||
|
|
||||||
Yamagi Quake2 will get the directory the `quake2` executable is in from the system
|
Yamagi Quake2 will get the directory the `quake2` executable is in from
|
||||||
and then look in that directory (and nowhere else!) for `ref_*.so`.
|
the system and then look in that directory (and nowhere else!) for the
|
||||||
It will look for `game.so` there first, but if it's not found in the binary directory,
|
`ref_*.so` renderer libraries. It will look for `game.so` there first,
|
||||||
it will look for it in all directories that are also searched for game
|
but if it's not found in the binary directory, it will look for it in
|
||||||
data (SYSTEMDIR, basedir, $HOME/.yq2/). This is for better compatibility with mods that
|
all directories that are also searched for game data. This is for
|
||||||
might ship their own game.so.
|
better compatibility with mods that might ship their own game.so.
|
||||||
|
|
||||||
You can **just symlink the executables to a directory in your $PATH**, like /usr/bin/.
|
You can **just symlink the executables to a directory into the $PATH**,
|
||||||
(*Except on OpenBSD, which does not provide a way to get the executable directory,
|
like */usr/bin/*. There's one exception to this rule: OpenBSD does not
|
||||||
there you'll need a shellscript that first does a `cd /path/to/yamagi-quake2/` and
|
provide a way to get the executable path, so a wrapper script is needed.
|
||||||
then executes `./quake2`*)
|
|
||||||
|
We want all binaries to be in the same directory to ensure that people
|
||||||
|
don't accidentally update only parts of their Yamagi Quake II
|
||||||
|
installation, so they'd end up with a new quake2 executable and old
|
||||||
|
renderer libraries (`ref_*.so`) and report weird bugs.
|
||||||
|
|
||||||
We want all binaries to be in the same directory to ensure that people don't accidentally
|
|
||||||
update only parts of their Yamagi Quake II installtion, so they'd end up with a new
|
|
||||||
quake2 executable and old render libraries (`ref_*.so`) and report weird bugs.
|
|
||||||
|
|
||||||
## The SYSTEMWIDE and SYSTEMDIR options
|
## The SYSTEMWIDE and SYSTEMDIR options
|
||||||
|
|
||||||
The Makefile allows you to enable the `SYSTEMWIDE` feature (`WITH_SYSTEMWIDE=yes`) and
|
The Makefile allows to enable the *SYSTEMWIDE* feature to force Yamagi
|
||||||
lets you specify the directory that will be used (`SYSTEMDIR`, `WITH_SYSTEMDIR=/your/custom/path/`).
|
Quake II to search the game data in an system specific directory. That
|
||||||
If you don't set SYSTEMDIR, it defaults to `/usr/share/games/quake2`, which is what debian uses.
|
directory can be given in the Makefile. If no directory is given the
|
||||||
|
game defaults to */usr/share/games/quake2/* which should be correct for
|
||||||
|
most Linux distributions.
|
||||||
|
|
||||||
The `SYSTEMDIR` was meant to contain just the game data, *not* the binaries, and allows
|
The `SYSTEMDIR` is meant to contain only the game data and *not* the
|
||||||
several Quake2 source ports to share the same game data.
|
binaries. It allows several Quake2 source ports to share the same game
|
||||||
Unfortunately, we didn't document this assumption, so some packages used it for both binaries
|
data.
|
||||||
and data, just binaries or - which causes most trouble - only for the game libs, but not the
|
|
||||||
executables. The latter case doesn't work anymore since we (re)introduced the render libs,
|
|
||||||
as they need to be located next to the executable, and if the executable is in /usr/bin/ you
|
|
||||||
don't want to put libs next to it.
|
|
||||||
|
|
||||||
Anyway: If you use `SYSTEMWIDE`/`SYSTEMDIR`, please use it for game data.
|
|
||||||
You *can* also put the binaries in there, but in that case please put all of them
|
|
||||||
(including executables) in there, as explained above.
|
|
||||||
|
|
||||||
## Alternative startup config
|
## Alternative startup config
|
||||||
|
|
||||||
Yamagi Quake II has support for an alternative startup config.
|
Yamagi Quake II has support for an alternative startup config. That
|
||||||
It may be a good idea to install it, since it sets some global options to sane defaults.
|
config overrides some global values with sane defaults. It may be a good
|
||||||
Copy yq2.cfg to the baseq2/ subdirectory in the gamedata (`SYSTEMDIR`) directory.
|
idea to install it. Copy yq2.cfg to the baseq2/ subdirectory in the
|
||||||
|
gamedata directory.
|
||||||
|
|
Loading…
Reference in a new issue