INSTALL 7.6 KB

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