NAME
games - standardize the install of all games
DESCRIPTION
The
games eclass is used to centrally control how all games
will be emerged onto systems. Here we basically control the filesystem
locations and the ownership of all files. If you want to change an
aspect of how your games are installed, then just edit the
games
eclass ! :)
VARIABLES
- GAMES_PREFIX = /usr/games
-
The prefix that the game will be installed under.
- GAMES_PREFIX_OPT = /opt
-
The prefix that the game will be installed under if it is a binary distribution.
- GAMES_DATADIR = /usr/share/games
-
The prefix for installing shared data files.
- GAMES_DATADIR_BASE = /usr/share
-
Same as above, but some games auto append '/games/' to the datadir path.
- GAMES_SYSCONFDIR = /etc/games
-
The location where games will save their configuration files.
- GAMES_STATEDIR = /var/games
-
The location where games will save their state in behind runs. This
includes things like highscore files. If a game creates more than
one file, have it save all files inside ${GAMES_STATEDIR}/${PN}.
Otherwise, just create the single file in ${GAMES_STATEDIR}/.
Again, try to use a package specific name for the file if you are
creating it directly in the statedir.
- GAMES_LIBDIR = /usr/games/lib
-
The location where games will store their libraries.
- GAMES_BINDIR = /usr/games/bin
-
The location where the games will store/link their executables. Putting
game binaries here helps to cut down on the $PATH bloat.
- GAMES_ENVD = 90games
-
The filename that the env.d entry will use.
- GAMES_USER = games
-
The user that will own all game related files.
- GAMES_GROUP = games
-
The group that will own all game related files.
FUNCTIONS: general
- prepgamesdirs [directories]
-
This will change ownership on all files/directories found inside of
the GAMES_* variables and any extra directories specified as
parameters. It will change the permissions on all directories to
750 (u+rwx,g+rx-w,u-rwx) and change the permissions of all files
with a mask of g+r,o-rwx.
*NOTE: This should *always* be the last thing called in the
src_install function. If portage allowed for hookable calls then
this would be hooked to the end of src_install, but until that
happens, make sure to call!
- games_pkg_setup
-
This will automagically add GAMES_USER and GAMES_GROUP to
your system. If you define pkg_setup in your ebuild, then make
sure to call this function at the end of the function.
- games_pkg_postinst
-
This will automagically generate the GAMES_ENVD file and display
a little message about being in the GAMES_GROUP in order to play
a game. If you define pkg_postinst in your ebuild, then make
sure to call this function at the end of the function.
FUNCTIONS: compile
- egamesconf
-
The same as econf except this passes all the game related variables
(see above). For more info on econf see ebuild(5).
FUNCTIONS: install
- egamesinstall
-
The same as einstall except this passes all the game related variables
(see above). For more info on einstall see ebuild(5).
- dogamesbin dogamessbin
-
The same as dobin and dosbin respectively except these will
install binaries into GAMES_PREFIX. For more info see ebuild(5).
- dogameslib dogameslib.a dogameslib.so
-
The same as dolib, dolib.a, and dolib.so respectively
except these will install binaries into GAMES_PREFIX. For more info
see ebuild(5).
- newgamesbin newgamessbin
-
The same as newbin and newsbin respectively except these will
install binaries into GAMES_PREFIX. For more info see ebuild(5).
- gamesowners <files/directories>
-
gamesowners will change the user and group ownership to GAMES_USER
and GAMES_GROUP respectively.
- gamesperms <files/directories>
-
gamesperms will change the permissions with a mask of u+rw,g+r-w,o-rwx.
- games_make_wrapper <wrapper> <bin> <chdir>
-
Create a small wrapper script. Useful when dealing with packages that need to
change directory to the base of their data tree before running. This will create
a wrapper script called wrapper that will chdir to chdir before
executing bin. The wrapper will be placed in GAMES_BINDIR.
REPORTING BUGS
Please report bugs via
http://bugs.gentoo.org/
SEE ALSO
ebuild(5)
FILES
/usr/portage/eclass/games.eclass
AUTHORS
Mike Frysinger <
vapier@gentoo.org>
CVS HEADER
$Header: /var/cvsroot/gentoo-src/portage/man/games.eclass.5,v 1.7 2004/09/17 00:17:10 vapier Exp $
Index
- NAME
-
- DESCRIPTION
-
- VARIABLES
-
- FUNCTIONS: general
-
- FUNCTIONS: compile
-
- FUNCTIONS: install
-
- REPORTING BUGS
-
- SEE ALSO
-
- FILES
-
- AUTHORS
-
- CVS HEADER
-