.TH "GAMES.ECLASS" "5" "Jun 2003" "Portage 2.0.51" "portage" .SH "NAME" games.eclass \- standardize the install of all games .SH "DESCRIPTION" The \fBgames\fR 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 \fBgames\fR eclass ! :) .SH "VARIABLES" .TP .B "GAMES_PREFIX" = \fI"/usr/games"\fR The prefix that the game will be installed under. .TP .B "GAMES_PREFIX_OPT" = \fI"/opt"\fR The prefix that the game will be installed under if it is a binary distribution. .TP .B "GAMES_DATADIR" = \fI"/usr/share/games"\fR The prefix for installing shared data files. .TP .B "GAMES_DATADIR_BASE" = \fI"/usr/share"\fR Same as above, but some games auto append '/games/' to the datadir path. .TP .B "GAMES_SYSCONFDIR" = \fI"/etc/games"\fR The location where games will save their configuration files. .TP .B "GAMES_STATEDIR" = \fI"/var/games"\fR 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 \fB${GAMES_STATEDIR}/${PN}\fR. Otherwise, just create the single file in \fB${GAMES_STATEDIR}/\fR. Again, try to use a package specific name for the file if you are creating it directly in the statedir. .TP .B "GAMES_LIBDIR" = \fI"/usr/games/lib"\fR The location where games will store their libraries. .TP .B "GAMES_BINDIR" = \fI"/usr/games/bin"\fR The location where the games will store/link their executables. Putting game binaries here helps to cut down on the $PATH bloat. .TP .B "GAMES_ENVD" = \fI"90games"\fR The filename that the env.d entry will use. .TP .B "GAMES_USER" = \fI"games"\fR The user that will own all game related files. .TP .B "GAMES_GROUP" = \fI"games"\fR The group that will own all game related files. .SH "FUNCTIONS: general" .TP .B "prepgamesdirs" \fI[directories]\fR This will change ownership on all files/directories found inside of the \fBGAMES_*\fR 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. .br \fB*NOTE\fR: This should *always* be the last thing called in the \fBsrc_install\fR function. If portage allowed for hookable calls then this would be hooked to the end of \fBsrc_install\fR, but until that happens, make sure to call! .TP .B games_pkg_setup This will automagically add \fBGAMES_USER\fR and \fBGAMES_GROUP\fR to your system. If you define \fBpkg_setup\fR in your ebuild, then make sure to call this function at the end of the function. .TP .B games_pkg_postinst This will automagically generate the \fBGAMES_ENVD\fR file and display a little message about being in the \fBGAMES_GROUP\fR in order to play a game. If you define \fBpkg_postinst\fR in your ebuild, then make sure to call this function at the end of the function. .SH "FUNCTIONS: compile" .TP .B egamesconf The same as \fBeconf\fR except this passes all the game related variables (see above). For more info on \fBeconf\fR see \fBebuild\fR(5). .SH "FUNCTIONS: install" .TP .B egamesinstall The same as \fBeinstall\fR except this passes all the game related variables (see above). For more info on \fBeinstall\fR see \fBebuild\fR(5). .TP .B dogamesbin dogamessbin The same as \fBdobin\fR and \fBdosbin\fR respectively except these will install binaries into \fBGAMES_PREFIX\fR. For more info see \fBebuild\fR(5). .TP .B dogameslib dogameslib.a dogameslib.so The same as \fBdolib\fR, \fBdolib.a\fR, and \fBdolib.so\fR respectively except these will install binaries into \fBGAMES_PREFIX\fR. For more info see \fBebuild\fR(5). .TP .B newgamesbin newgamessbin The same as \fBnewbin\fR and \fBnewsbin\fR respectively except these will install binaries into \fBGAMES_PREFIX\fR. For more info see \fBebuild\fR(5). .TP .B gamesowners \fI\fR \fBgamesowners\fR will change the user and group ownership to \fBGAMES_USER\fR and \fBGAMES_GROUP\fR respectively. .TP .B gamesperms \fI\fR \fBgamesperms\fR will change the permissions with a mask of u+rw,g+r-w,o-rwx. .TP .B games_make_wrapper \fI\fR \fI\fR \fI\fR 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 \fIwrapper\fR that will chdir to \fIchdir\fR before executing \fIbin\fR. The \fIwrapper\fR will be placed in \fBGAMES_BINDIR\fR. .SH "REPORTING BUGS" Please report bugs via http://bugs.gentoo.org/ .SH "SEE ALSO" .BR ebuild (5) .SH "FILES" .BR /usr/portage/eclass/games.eclass .SH "AUTHORS" Mike Frysinger .SH "CVS HEADER" $Header: /var/cvsroot/gentoo-src/portage/man/games.eclass.5,v 1.7.2.1 2005/01/15 00:19:36 vapier Exp $