File: INSTALL

package info (click to toggle)
bsdgames-nonfree 2.1-3
  • links: PTS
  • area: non-free
  • in suites: hamm
  • size: 1,052 kB
  • ctags: 997
  • sloc: ansic: 12,906; sh: 342; makefile: 214
file content (126 lines) | stat: -rw-r--r-- 6,666 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
1998-03-29 - Installation instructions
======================================

Non-free games
==============

Three games, boggle, paranoia and rogue, are distributed separately
because of copyright restrictions.  If you want them, get the
bsd-games-non-free package, and unpack it in the same directory you
unpacked this in before proceeding.  If you do, cd to boggle and
decide if you want -DPURE 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.  You can also build
bsd-games-non-free separately.  (This file is also in
bsd-games-non-free; if you only have boggle, hangman, include,
paranoia and rogue subdirectories, then you have just this package.)

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 assume `make' is GNU make, which it almost certainly
will be on any Linux system.  Any other make that understands
`include' directives to include other makefiles would probably work as
well.  The configure script uses `#!/bin/bash', but you can run it
with `bash configure' if you keep bash in another place, and it should
indeed work with any POSIX.2 shell.

Security
========

Some games maintain system-wide score files or logs, and need
appropriate privileges to write to these files.  They can get these
privileges by being installed setgid games, or through the files being
world writable.  If they do not have these privileges, they will run,
but fail to update the score files.  Most of the games were written at
a time when security was not considered important; therefore, making
games setgid means that users can probably get a shell with gid games.
(This will also apply to many modern games that are badly written.)
Thus, you should only install them setgid if this is in line with
system security policy (for example, on a single-user system).  Games
should not be installed setuid, since if a setuid game is cracked this
allows games to be replaced with trojans.  Games should not be
installed setgid to a system group such as `root' or `daemon'.

An option is to use the `dungeon master' dm to regulate games playing.
I do not recommend this, since it does not actually have any useful
preventative effect because users can use their own copies of games.
I believe that it is safe (but pointless) to have dm installed setgid
if it is not being used to regulate games playing; if it is being so
used, games not designed to run setgid may nevertheless run setgid.

***********************************************************************
*                                                                     *
* DO NOT INSTALL ANY GAMES SETUID, ONLY SETGID.                       *
*                                                                     *
* INSTALLING GAMES SETGID GAMES MAY GIVE USERS SHELLS WITH GID GAMES. *
*                                                                     *
* IF IN DOUBT, CHOOSE THE DEFAULT OPTIONS FOR PERMISSIONS AND DO      *
* WITHOUT SCOREFILES.                                                 *
*                                                                     *
* THESE GAMES COME WITH NO WARRANTY.                                  *
*                                                                     *
***********************************************************************

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.  At present, there's no
    simple way to say you don't want a particular game - you have to list
    those you do want.  You can work around this by removing the
    directories for the games you don't want before running configure, or
    renaming them to begin with a dot.
3.  Type `make'.  You can probably ignore compiler warnings, although most
    should be fixed in this release.
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.
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).
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'.

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 configuaration 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.

Joseph S. Myers
jsm28@cam.ac.uk