
1: Installation instructions 2: ========================= 3: 4: Packaging 5: ========= 6: 7: If packaging bsd-games or bsd-games-non-free for a Linux distribution, 8: please read the PACKAGING file for further information after this one. 9: Others who wish to install it under a packaging system, or rebuild it 10: automatically and without interactive configuration, may also find 11: this file useful. 12: 13: Non-free games 14: ============== 15: 16: These installation instructions apply to both bsd-games and 17: bsd-games-non-free. bsd-games-non-free contains rogue, which it seems 18: cannot be sold for profit, and hack, for which porting but not 19: gameplay changes may be made: the rest of the games are under the 20: standard BSD distribution conditions, or very similar ones (phantasia 21: is public domain, i.e. not copyrighted). As of version 2.2 and later, 22: the bsd-games-non-free package unpacks conventionally into a directory 23: of its own. It can be built separately from bsd-games, or in the same 24: source directory: to do the latter, move those files and directories 25: that are in bsd-games-non-free but not bsd-games into the 26: bsd-games-VERSION directory before building. 27: 28: Prerequisites 29: ============= 30: 31: You need the following to build this distribution: 32: 33: * GCC (the C and C++ compilers only - other languages not needed; C++ 34: only needed for dab). 35: 36: * glibc 2.3 or later. Older versions will not work (at least for 37: hunt) since they lack the <ifaddrs.h> header. 38: 39: * ncurses; other curses / termcap implementations might work, but are 40: unsupported. 41: 42: * lex and yacc; by default this package will use flex and bison, but 43: byacc will probably work as well. 44: 45: * GNU make. 46: 47: * A POSIX shell, such as bash, in /bin/sh. 48: 49: libcrypto from OpenSSL can optionally be used by factor. 50: 51: You now need a word list for boggle and hangman; bsd-games no longer 52: provides one itself. The GNU miscfiles package contains one, for 53: example. The path can be specified at configure time (default: 54: /usr/share/dict/words). The file used by hangman can also be 55: specified at run time with the "-d" option. 56: 57: Security 58: ======== 59: 60: See the SECURITY file for a discussion of security issues about the 61: BSD games. 62: 63: Alternative implementations 64: =========================== 65: 66: Some of the programs in this package have alternative implementations 67: for Linux available, which you may wish to use some of instead of the 68: BSD versions: 69: 70: * banner is in util-linux. 71: * factor is in GNU sh-utils as of version 1.12q. 72: * An extensively modified version of fortune is available as 73: "fortune-mod". There are also many additional fortune data files 74: (including translations of the ones included here) available. 75: * Perl implementations of some of the games are included in the "Perl 76: Power Tools" project (http://language.perl.com/ppt/). 77: * My enhanced version of ppt with support for PostScript output is 78: available as "nppt" from metalab and its mirrors. 79: 80: Building and installation 81: ========================= 82: 83: 1. cd to the top level directory in the source distribution, i.e. the 84: directory that contains this file. There is not yet any support 85: for building in a directory other than the source directory. 86: 87: 2. Run "./configure" and configure the installation to your liking. 88: There may be some games you don't want to build because you have 89: them from elsewhere (see above). You can specify particular games 90: you do not want built before specifying the list of games to build 91: (which will default to all those available, except those you have 92: excluded). 93: 94: The filesystem structure used defaults to that the the Filesystem 95: Hierarchy Standard (FHS), version 2.0. If you are using the older 96: FSSTND 1.2, or a newer FHS, or wish to install into /usr/local, 97: check the paths given and make changes as appropriate. 98: 99: 3. Type "make". You can probably ignore compiler warnings, although 100: most should be fixed in this release. If you are building on a 64 101: bit architecture, you might want to look over the warnings and let 102: me know about any that are normally significant in such cases. 103: Recent versions of gcc give many "missing initializer" warnings; 104: these are harmless, as are the warnings in system headers 105: mentioned above. Likewise, "null format string" warnings are 106: harmless; future versions of GCC will probably eliminate them, by 107: allowing headers to specify whether it is OK for a format argument 108: to a particular function to be null. 109: 110: At the start of the build, there will be many "No such file or 111: directory" warnings from make. Ignore these as long as make does 112: not stop because of them: these refer to dependency files that 113: make can regenerate for itself. See "Automatic Dependencies" in 114: the GNU Make manual for details. 115: 116: In the unlikely event of an internal compiler error, the build 117: system supports generating the files of preprocessor output 118: required for a bug report: if the error occurs while compiling 119: "foo/bar.c", then "make foo/bar.i" will put the preprocessor 120: output in "foo/bar.i", suitable for sending in a bug report along 121: with details of compiler version and options used. You may, 122: however, wish to minimise the testcase before sending a bug 123: report, if you have the time to do so. 124: 125: 4. Run the testsuite (non-interactive) with "make check". All tests 126: should pass. 127: 128: 5. Save copies of any old versions of games you like and their 129: datafiles, until you know that the new versions work. 130: 131: 6. Become root. (If, as an ordinary user, you are installing under 132: your home directory, and have chosen not to set owners and groups 133: on the installed files, there is of course no need to do this.) 134: 135: 7. Type "make install". If you want the installed binaries to be 136: stripped, use "make install-strip" instead. This saves disk 137: space, but means that you cannot debug the installed binaries. 138: 139: 8. If you had an old installation of bsd-games, check for file 140: locations that have changed. You will probably want to remove old 141: executables and static data (formerly defaulting to installation 142: in /usr/games/lib), and replace any empty score files that have 143: been installed with your old ones (checking the permissions). 144: 145: The default locations changed again in 2.2, to those mandated by 146: the new FHS 2.0 - manpages in /usr/share/man, variable data in 147: /var/games. In addition, huntd's default location has changed 148: from /usr/sbin back to /usr/games and the location for dm to keep 149: hidden games has changed from /usr/libexec/dm to 150: /usr/lib/games/dm. 151: 152: In version 2.4, the recommended permissions on the directory for 153: sail, if you installed it setgid, changed from 0775 to 2770; you 154: may need to adjust the permissions manually if you had a previous 155: installation of version 2.3. 156: 157: 9. The robots scorefile format changed in version 2.8, so any old 158: score file should be removed or renamed when first upgrading to 159: this or a later version, and a new one created with the correct 160: permissions. 161: 162: 10. "make distclean" will restore the source directory to the original 163: unpacked state. The automatically generated dependency files 164: include paths to system headers, including those in gcc's internal 165: header directory: if you have changed your compiler or library 166: headers between building bsd-games and cleaning up, you can use 167: "make distclean nodep=true" to avoid this causing problems. 168: 169: "make clean" will restore the sources to the state just after 170: configuration. 171: 172: Further information 173: =================== 174: 175: See TODO for information on what needs to be improved in this package; 176: you may want to volunteer for some of the things in there. 177: 178: The file BUGS lists known bugs. The README file discusses how to 179: produce useful bug reports. 180: 181: Joseph S. Myers 182: jsm@polyomino.org.uk 183: 184: 185: ^L 186: Local Variables: 187: mode: text 188: End: