mirror of
https://salsa.debian.org/games-team/bsdgames
synced 2024-11-02 16:37:17 -04:00
189 lines
7.6 KiB
Plaintext
189 lines
7.6 KiB
Plaintext
|
Installation instructions
|
|||
|
=========================
|
|||
|
|
|||
|
Packaging
|
|||
|
=========
|
|||
|
|
|||
|
If packaging bsd-games or bsd-games-non-free for a Linux distribution,
|
|||
|
please read the PACKAGING file for further information after this one.
|
|||
|
Others who wish to install it under a packaging system, or rebuild it
|
|||
|
automatically and without interactive configuration, may also find
|
|||
|
this file useful.
|
|||
|
|
|||
|
Non-free games
|
|||
|
==============
|
|||
|
|
|||
|
These installation instructions apply to both bsd-games and
|
|||
|
bsd-games-non-free. bsd-games-non-free contains rogue, which it seems
|
|||
|
cannot be sold for profit, and hack, for which porting but not
|
|||
|
gameplay changes may be made: the rest of the games are under the
|
|||
|
standard BSD distribution conditions, or very similar ones (phantasia
|
|||
|
is public domain, i.e. not copyrighted). As of version 2.2 and later,
|
|||
|
the bsd-games-non-free package unpacks conventionally into a directory
|
|||
|
of its own. It can be built separately from bsd-games, or in the same
|
|||
|
source directory: to do the latter, move those files and directories
|
|||
|
that are in bsd-games-non-free but not bsd-games into the
|
|||
|
bsd-games-VERSION directory before building.
|
|||
|
|
|||
|
Prerequisites
|
|||
|
=============
|
|||
|
|
|||
|
You need the following to build this distribution:
|
|||
|
|
|||
|
* GCC (the C and C++ compilers only - other languages not needed; C++
|
|||
|
only needed for dab).
|
|||
|
|
|||
|
* glibc 2.3 or later. Older versions will not work (at least for
|
|||
|
hunt) since they lack the <ifaddrs.h> header.
|
|||
|
|
|||
|
* ncurses; other curses / termcap implementations might work, but are
|
|||
|
unsupported.
|
|||
|
|
|||
|
* lex and yacc; by default this package will use flex and bison, but
|
|||
|
byacc will probably work as well.
|
|||
|
|
|||
|
* GNU make.
|
|||
|
|
|||
|
* A POSIX shell, such as bash, in /bin/sh.
|
|||
|
|
|||
|
libcrypto from OpenSSL can optionally be used by factor.
|
|||
|
|
|||
|
You now need a word list for boggle and hangman; bsd-games no longer
|
|||
|
provides one itself. The GNU miscfiles package contains one, for
|
|||
|
example. The path can be specified at configure time (default:
|
|||
|
/usr/share/dict/words). The file used by hangman can also be
|
|||
|
specified at run time with the "-d" option.
|
|||
|
|
|||
|
Security
|
|||
|
========
|
|||
|
|
|||
|
See the SECURITY file for a discussion of security issues about the
|
|||
|
BSD games.
|
|||
|
|
|||
|
Alternative implementations
|
|||
|
===========================
|
|||
|
|
|||
|
Some of the programs in this package have alternative implementations
|
|||
|
for Linux available, which you may wish to use some of instead of the
|
|||
|
BSD versions:
|
|||
|
|
|||
|
* banner is in util-linux.
|
|||
|
* factor is in GNU sh-utils as of version 1.12q.
|
|||
|
* An extensively modified version of fortune is available as
|
|||
|
"fortune-mod". There are also many additional fortune data files
|
|||
|
(including translations of the ones included here) available.
|
|||
|
* Perl implementations of some of the games are included in the "Perl
|
|||
|
Power Tools" project (http://language.perl.com/ppt/).
|
|||
|
* My enhanced version of ppt with support for PostScript output is
|
|||
|
available as "nppt" from metalab and its mirrors.
|
|||
|
|
|||
|
Building and installation
|
|||
|
=========================
|
|||
|
|
|||
|
1. cd to the top level directory in the source distribution, i.e. the
|
|||
|
directory that contains this file. There is not yet any support
|
|||
|
for building in a directory other than the source directory.
|
|||
|
|
|||
|
2. Run "./configure" and configure the installation to your liking.
|
|||
|
There may be some games you don't want to build because you have
|
|||
|
them from elsewhere (see above). You can specify particular games
|
|||
|
you do not want built before specifying the list of games to build
|
|||
|
(which will default to all those available, except those you have
|
|||
|
excluded).
|
|||
|
|
|||
|
The filesystem structure used defaults to that the the Filesystem
|
|||
|
Hierarchy Standard (FHS), version 2.0. If you are using the older
|
|||
|
FSSTND 1.2, or a newer FHS, or wish to install into /usr/local,
|
|||
|
check the paths given and make changes as appropriate.
|
|||
|
|
|||
|
3. Type "make". You can probably ignore compiler warnings, although
|
|||
|
most should be fixed in this release. If you are building on a 64
|
|||
|
bit architecture, you might want to look over the warnings and let
|
|||
|
me know about any that are normally significant in such cases.
|
|||
|
Recent versions of gcc give many "missing initializer" warnings;
|
|||
|
these are harmless, as are the warnings in system headers
|
|||
|
mentioned above. Likewise, "null format string" warnings are
|
|||
|
harmless; future versions of GCC will probably eliminate them, by
|
|||
|
allowing headers to specify whether it is OK for a format argument
|
|||
|
to a particular function to be null.
|
|||
|
|
|||
|
At the start of the build, there will be many "No such file or
|
|||
|
directory" warnings from make. Ignore these as long as make does
|
|||
|
not stop because of them: these refer to dependency files that
|
|||
|
make can regenerate for itself. See "Automatic Dependencies" in
|
|||
|
the GNU Make manual for details.
|
|||
|
|
|||
|
In the unlikely event of an internal compiler error, the build
|
|||
|
system supports generating the files of preprocessor output
|
|||
|
required for a bug report: if the error occurs while compiling
|
|||
|
"foo/bar.c", then "make foo/bar.i" will put the preprocessor
|
|||
|
output in "foo/bar.i", suitable for sending in a bug report along
|
|||
|
with details of compiler version and options used. You may,
|
|||
|
however, wish to minimise the testcase before sending a bug
|
|||
|
report, if you have the time to do so.
|
|||
|
|
|||
|
4. Run the testsuite (non-interactive) with "make check". All tests
|
|||
|
should pass.
|
|||
|
|
|||
|
5. Save copies of any old versions of games you like and their
|
|||
|
datafiles, until you know that the new versions work.
|
|||
|
|
|||
|
6. Become root. (If, as an ordinary user, you are installing under
|
|||
|
your home directory, and have chosen not to set owners and groups
|
|||
|
on the installed files, there is of course no need to do this.)
|
|||
|
|
|||
|
7. Type "make install". If you want the installed binaries to be
|
|||
|
stripped, use "make install-strip" instead. This saves disk
|
|||
|
space, but means that you cannot debug the installed binaries.
|
|||
|
|
|||
|
8. If you had an old installation of bsd-games, check for file
|
|||
|
locations that have changed. You will probably want to remove old
|
|||
|
executables and static data (formerly defaulting to installation
|
|||
|
in /usr/games/lib), and replace any empty score files that have
|
|||
|
been installed with your old ones (checking the permissions).
|
|||
|
|
|||
|
The default locations changed again in 2.2, to those mandated by
|
|||
|
the new FHS 2.0 - manpages in /usr/share/man, variable data in
|
|||
|
/var/games. In addition, huntd's default location has changed
|
|||
|
from /usr/sbin back to /usr/games and the location for dm to keep
|
|||
|
hidden games has changed from /usr/libexec/dm to
|
|||
|
/usr/lib/games/dm.
|
|||
|
|
|||
|
In version 2.4, the recommended permissions on the directory for
|
|||
|
sail, if you installed it setgid, changed from 0775 to 2770; you
|
|||
|
may need to adjust the permissions manually if you had a previous
|
|||
|
installation of version 2.3.
|
|||
|
|
|||
|
9. The robots scorefile format changed in version 2.8, so any old
|
|||
|
score file should be removed or renamed when first upgrading to
|
|||
|
this or a later version, and a new one created with the correct
|
|||
|
permissions.
|
|||
|
|
|||
|
10. "make distclean" will restore the source directory to the original
|
|||
|
unpacked state. The automatically generated dependency files
|
|||
|
include paths to system headers, including those in gcc's internal
|
|||
|
header directory: if you have changed your compiler or library
|
|||
|
headers between building bsd-games and cleaning up, you can use
|
|||
|
"make distclean nodep=true" to avoid this causing problems.
|
|||
|
|
|||
|
"make clean" will restore the sources to the state just after
|
|||
|
configuration.
|
|||
|
|
|||
|
Further information
|
|||
|
===================
|
|||
|
|
|||
|
See TODO for information on what needs to be improved in this package;
|
|||
|
you may want to volunteer for some of the things in there.
|
|||
|
|
|||
|
The file BUGS lists known bugs. The README file discusses how to
|
|||
|
produce useful bug reports.
|
|||
|
|
|||
|
Joseph S. Myers
|
|||
|
jsm@polyomino.org.uk
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Local Variables:
|
|||
|
mode: text
|
|||
|
End:
|