mirror of
https://github.com/vattam/BSDGames.git
synced 2025-12-20 10:54:48 +00:00
git-svn-id: file:///srv/svn/joey/bsdgames-trunk@5086 a4a2c43b-8ac3-0310-8836-e0e880c912e2
187 lines
8.5 KiB
Plaintext
187 lines
8.5 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: 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. If you are building
|
||
bsd-games, cd to boggle and decide if you want -DNEW_STYLE or not --
|
||
see boggle/README.linux for more information. If you are in a hurry,
|
||
don't worry about it ... it really is more of an aesthetic thing.
|
||
|
||
Prerequisites
|
||
=============
|
||
|
||
You need gcc, libc5 (version 5.4.5 or later) or libc6, and ncurses
|
||
(any reasonably recent version). Older versions of ncurses may work
|
||
(but are much more buggy), and BSD curses / termcap just might work
|
||
(but is obsolete), but these are completely unsupported; even with
|
||
recent ncurses versions you could run into problems with some games
|
||
dependent on the version of ncurses; if so, get a debugging version of
|
||
ncurses (libncurses_g.a), link with -lncurses_g instead of -lncurses,
|
||
and good luck bug-hunting. If the display gets confused in ordinary
|
||
use (as opposed for example to after resizing the window), this might
|
||
be a bug in the game, but is probably a bug in ncurses. You also need
|
||
some sort of lex and yacc; by default this package will use flex and
|
||
bison, but byacc will probably work as well. Libc5 versions before
|
||
5.4.5, or libc4, will not work since they don't have the BSD <err.h>
|
||
error reporting functions.
|
||
|
||
The makefiles require GNU make; if you have a strange system on which
|
||
`make' is not GNU make you can use it under some other name since
|
||
$(MAKE) is used where appropriate. The configure script assumes that
|
||
/bin/sh is a POSIX.2 shell (bash is known to work; current versions of
|
||
ksh and ash should be OK but I haven't tested them); it can be run
|
||
manually with `bash configure' or similar if /bin/sh is not a POSIX.2
|
||
shell. It uses the POSIX.2 printf utility (in GNU sh-utils, and a
|
||
builtin in bash 2.02) to avoid depending on echo -n.
|
||
|
||
I am not aware of any dependence on the version of gcc used, although
|
||
it would be advisable to use gcc 2.7.2.1 or later (or use
|
||
-fno-strength-reduce). Sufficiently recent egcs snapshots (those with
|
||
global CSE), and egcs releases 1.1 or later, may produce spurious
|
||
warnings about uninitialized variables because of limitations in the
|
||
code to detect this, but this does not affect the correctness of the
|
||
compiled code. Some glibc versions may produce many warnings in the
|
||
system headers; these can be ignored.
|
||
|
||
Some man pages may look better with the tmac.doc macros from NetBSD,
|
||
rather than the older ones distributed with groff. If any man pages
|
||
look funny or appear to have words missing (especially the program
|
||
name or a reference to NetBSD), having older tmac.doc may be the
|
||
cause.
|
||
|
||
Security
|
||
========
|
||
|
||
See the SECURITY file for a discussion of security issues about the
|
||
BSD games.
|
||
|
||
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; for example, there is another fortune package
|
||
(fortune-mod) available, and factor is included in GNU sh-utils as
|
||
of version 1.12q. Also banner is in util-linux. 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.
|
||
Some versions of gcc (e.g. egcs 1.1) give many `missing
|
||
initializer' warnings; these are harmless.
|
||
|
||
At the start of the build, their 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. Save copies of any old versions of games you like and their
|
||
datafiles, until you know that the new versions work.
|
||
|
||
5. 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.)
|
||
|
||
6. 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.
|
||
|
||
7. 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.
|
||
|
||
8. You may wish to do something with the BSD Users' Supplementary
|
||
Documents for trek and rogue, in trek/USD.doc/trek.me and
|
||
rogue/USD.doc/rogue.me. You can look at them on a text terminal
|
||
with `nroff -me' (piped to your pager), or format in PostScript
|
||
for printing with `groff -me -Tps'.
|
||
|
||
9. `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
|
||
===================
|
||
|
||
Some subdirectories have README.linux files. If you are still having
|
||
trouble with a program, check this file first -- it may contain some
|
||
helpful hints, or information about further configuration options.
|
||
|
||
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
|
||
jsm28@cam.ac.uk
|
||
|
||
|
||
|
||
Local Variables:
|
||
mode: text
|
||
End:
|