Blob


1 .TH INSTALL 1
2 .SH NAME
3 install \- notes about Plan 9 from User Space installation
4 .SH SYNOPSIS
5 .B
6 cd \*9; ./INSTALL
7 [
8 .B -b
9 |
10 .B -c
11 ] [
12 .B -r
13 .I path
14 ]
15 .SH DESCRIPTION
16 To obtain the Plan 9 tree, use Git
17 (see
18 .IR git (1))
19 or download a tar file from
20 .HR https://9fans.github.io/plan9port "" .
21 .PP
22 The tree can be unpacked anywhere, but the
23 usual place is
24 .BR /usr/local/plan9 .
25 In the root of the tree, run
26 .BR ./INSTALL .
27 This script builds the Plan 9 build program
28 .IR mk (1)
29 if necessary,
30 cleans all previously built object files and libraries out of the tree,
31 rebuilds and installs everything, and then cleans up.
32 .PP
33 There are a few files in tree which have the root
34 hard-coded in them.
35 After the build,
36 .I INSTALL
37 edits these files to replace the string
38 .B /usr/local/plan9
39 with the name of the root of the current tree.
40 .PP
41 Finally,
42 .I INSTALL
43 builds an HTML version of the manual and installs it in
44 .BR \*9/man .
45 .PP
46 The installation can be thought of as two steps:
47 build all the binaries, and then edit files as necessary
48 to fix the references to the installation root.
49 If necessary, these can be run separately.
50 Given the
51 .B -b
52 flag,
53 .I INSTALL
54 performs only the first step.
55 Given the
56 .B -c
57 flag,
58 .I INSTALL
59 performs only the second step.
60 The first step can be done with the tree in a temporary work directory,
61 but the second step must be done once the tree is in its final location.
62 If you want to build the project in one location and then install into
63 another location, use
64 .B -r
65 .I path
66 to specify the
67 .I final
68 location of Plan9 tree.
69 These flags are only necessary when trying to conform to the
70 expectations of certain package management systems.
71 .PP
72 At the end of the installation,
73 .I INSTALL
74 prints suggested settings for the environment variables
75 .B $PLAN9
76 and
77 .BR $PATH .
78 .PP
79 .I INSTALL
80 writes various autodetected settings to
81 .BR \*9/config .
82 The file
83 .B \*9/LOCAL.config
84 is appended to
85 .B config
86 after this auto-detection and can be used to override the choices.
87 If
88 .B LOCAL.config
89 contains a line
90 .B WSYSTYPE=nowsys
91 then the system is built without using X11.
92 .PP
93 On most Linux systems, the X11 header packages need to be installed
94 to build using X11. On Debian. the required packages are
95 libx11-dev, libxext-dev, and libxt-dev.
96 On Ubuntu, it suffices to install xorg-dev.
97 .PP
98 .I INSTALL
99 can safely be repeated to rebuild the system from scratch.
100 .PP
101 Once the system is built for the first time,
102 it can be maintained and rebuilt using
103 .IR mk (1).
104 To rebuild individual commands or libraries,
105 run
106 .B mk
107 .B install
108 and
109 .B mk
110 .B clean
111 in the appropriate source directory
112 (see
113 .IR src (1)).
114 .SH FILES
115 .TP
116 .B \*9/lib/moveplan9.files
117 the list of files that need to have
118 .B /usr/local/plan9
119 edited out of them
120 .TP
121 .B \*9/lib/moveplan9.sh
122 the script that edits the files
123 .TP
124 .B \*9/src/mkmk.sh
125 the shell script used to build
126 .IR mk (1)
127 .TP
128 .B \*9/dist/manweb
129 the shell script that builds the HTML manual
130 .TP
131 .B \*9/man/index.html
132 the top-level page in the HTML version of the manual
133 .TP
134 .B \*9/install.log
135 logged output from the last run of
136 .I INSTALL
137 .TP
138 .B \*9/install.sum
139 a summary of
140 .B install.log
141 .SH SEE ALSO
142 .IR intro (1),
143 .IR git (1)