plan9port

[fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port # fast
git clone https://src.adamsgaard.dk/plan9port.git # slow
Log | Files | Refs | README | LICENSE Back to index

install.1 (3392B)


      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 .MR 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 .MR 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 .B LOCAL.config
     93 may also list settings for
     94 .B CC9
     95 (the host C compiler)
     96 and
     97 .B CC9FLAGS
     98 (any additional flags to pass to the compiler).
     99 Values more complex than single words should be quoted
    100 with single quotes.
    101 .PP
    102 On most Linux systems, the X11 header packages need to be installed
    103 to build using X11.  On Debian. the required packages are
    104 libfontconfig1-dev, libx11-dev, libxext-dev, and libxt-dev.
    105 On Ubuntu, it suffices to install xorg-dev.
    106 .PP
    107 .I INSTALL
    108 can safely be repeated to rebuild the system from scratch.
    109 .PP
    110 Once the system is built for the first time,
    111 it can be maintained and rebuilt using
    112 .MR mk (1) .
    113 To rebuild individual commands or libraries,
    114 run
    115 .B mk
    116 .B install
    117 and
    118 .B mk
    119 .B clean
    120 in the appropriate source directory
    121 (see
    122 .MR src (1) ).
    123 .SH FILES
    124 .TP
    125 .B \*9/lib/moveplan9.files
    126 the list of files that need to have
    127 .B /usr/local/plan9
    128 edited out of them
    129 .TP
    130 .B \*9/lib/moveplan9.sh
    131 the script that edits the files
    132 .TP
    133 .B \*9/src/mkmk.sh
    134 the shell script used to build
    135 .MR mk (1)
    136 .TP
    137 .B \*9/dist/manweb
    138 the shell script that builds the HTML manual
    139 .TP
    140 .B \*9/man/index.html
    141 the top-level page in the HTML version of the manual
    142 .TP
    143 .B \*9/install.log
    144 logged output from the last run of
    145 .I INSTALL
    146 .TP
    147 .B \*9/install.sum
    148 a summary of
    149 .B install.log
    150 .SH SEE ALSO
    151 .MR intro (1) ,
    152 .MR git (1)