plan9port/man/man1/install.1
Russ Cox 93a25a0f97 install(1): mention libfontconfig1-dev for Debian
Also update install.txt, which mistakenly contained intro(1).

Pointed out by Nicholas Schwartz.
2021-04-09 15:23:55 -04:00

152 lines
3.3 KiB
Groff

.TH INSTALL 1
.SH NAME
install \- notes about Plan 9 from User Space installation
.SH SYNOPSIS
.B
cd \*9; ./INSTALL
[
.B -b
|
.B -c
] [
.B -r
.I path
]
.SH DESCRIPTION
To obtain the Plan 9 tree, use Git
(see
.MR git (1) )
or download a tar file from
.HR https://9fans.github.io/plan9port "" .
.PP
The tree can be unpacked anywhere, but the
usual place is
.BR /usr/local/plan9 .
In the root of the tree, run
.BR ./INSTALL .
This script builds the Plan 9 build program
.MR mk (1)
if necessary,
cleans all previously built object files and libraries out of the tree,
rebuilds and installs everything, and then cleans up.
.PP
There are a few files in tree which have the root
hard-coded in them.
After the build,
.I INSTALL
edits these files to replace the string
.B /usr/local/plan9
with the name of the root of the current tree.
.PP
Finally,
.I INSTALL
builds an HTML version of the manual and installs it in
.BR \*9/man .
.PP
The installation can be thought of as two steps:
build all the binaries, and then edit files as necessary
to fix the references to the installation root.
If necessary, these can be run separately.
Given the
.B -b
flag,
.I INSTALL
performs only the first step.
Given the
.B -c
flag,
.I INSTALL
performs only the second step.
The first step can be done with the tree in a temporary work directory,
but the second step must be done once the tree is in its final location.
If you want to build the project in one location and then install into
another location, use
.B -r
.I path
to specify the
.I final
location of Plan9 tree.
These flags are only necessary when trying to conform to the
expectations of certain package management systems.
.PP
At the end of the installation,
.I INSTALL
prints suggested settings for the environment variables
.B $PLAN9
and
.BR $PATH .
.PP
.I INSTALL
writes various autodetected settings to
.BR \*9/config .
The file
.B \*9/LOCAL.config
is appended to
.B config
after this auto-detection and can be used to override the choices.
If
.B LOCAL.config
contains a line
.B WSYSTYPE=nowsys
then the system is built without using X11.
.B LOCAL.config
may also list settings for
.B CC9
(the host C compiler)
and
.B CC9FLAGS
(any additional flags to pass to the compiler).
Values more complex than single words should be quoted
with single quotes.
.PP
On most Linux systems, the X11 header packages need to be installed
to build using X11. On Debian. the required packages are
libfontconfig1-dev, libx11-dev, libxext-dev, and libxt-dev.
On Ubuntu, it suffices to install xorg-dev.
.PP
.I INSTALL
can safely be repeated to rebuild the system from scratch.
.PP
Once the system is built for the first time,
it can be maintained and rebuilt using
.MR mk (1) .
To rebuild individual commands or libraries,
run
.B mk
.B install
and
.B mk
.B clean
in the appropriate source directory
(see
.MR src (1) ).
.SH FILES
.TP
.B \*9/lib/moveplan9.files
the list of files that need to have
.B /usr/local/plan9
edited out of them
.TP
.B \*9/lib/moveplan9.sh
the script that edits the files
.TP
.B \*9/src/mkmk.sh
the shell script used to build
.MR mk (1)
.TP
.B \*9/dist/manweb
the shell script that builds the HTML manual
.TP
.B \*9/man/index.html
the top-level page in the HTML version of the manual
.TP
.B \*9/install.log
logged output from the last run of
.I INSTALL
.TP
.B \*9/install.sum
a summary of
.B install.log
.SH SEE ALSO
.MR intro (1) ,
.MR git (1)