README.md
changeset 7763 2a3817cf33cb
parent 7760 4ab84455407c
child 7769 96a1241fc627
equal deleted inserted replaced
7760:4ab84455407c 7763:2a3817cf33cb
     1 <pre><code>    Getting started with the Userland Consolidation
     1 # Getting started with the Userland Consolidation
     2 </code></pre>
     2 
     3 <p>Getting Started</p>
     3 ## Getting Started
     4 <pre><code>This README provides a very brief overview of the gate, how to retrieve
     4 This README provides a very brief overview of the gate, how to retrieve
     5 a copy, and how to build it.  Detailed documentation about the Userland
     5 a copy, and how to build it.  Detailed documentation about the Userland
     6 gate can be found in the 'doc' directory.
     6 gate can be found in the 'doc' directory.
     7 </code></pre>
     7 
     8 <p>Overview</p>
     8 ## Overview
     9 <pre><code>The Userland consolidation maintains a project at
     9 The Userland consolidation maintains a project at
    10 
    10 
    11      https://github.com/oracle/solaris-userland
    11      https://github.com/oracle/solaris-userland
    12 
    12 
    13 That repo contains build recipes, patches, IPS manifests, etc. necessary
    13 That repo contains build recipes, patches, IPS manifests, etc. necessary
    14 to download, prep, build, test, package and publish open source software.
    14 to download, prep, build, test, package and publish open source software.
    15 The build infrastructure is similar to that of the SFW consolidation in
    15 The build infrastructure is similar to that of the SFW consolidation in
    16 that it makes use of hierarchical Makefiles which provide dependency and
    16 that it makes use of hierarchical Makefiles which provide dependency and
    17 recipe information for building the components.  In order to build the
    17 recipe information for building the components.  In order to build the
    18 contents of the Userland gate, you need to clone it.  Since you are
    18 contents of the Userland gate, you need to clone it.  Since you are
    19 reading this, you probably already have.
    19 reading this, you probably already have.
    20 </code></pre>
    20 
    21 <p>Getting the Bits</p>
    21 ## Getting the Bits
    22 <pre><code>As mentioned, the gate is stored in a Mercurial repository.  In order to
    22 As mentioned, the gate is stored in a Mercurial repository.  In order to
    23 build or develop in the gate, you will need to clone it.  You can do so
    23 build or develop in the gate, you will need to clone it.  You can do so
    24 with the following command
    24 with the following command
    25 
    25 
    26   $ git clone https://github.com/oracle/solaris-userland.git /scratch/clone
    26   $ git clone https://github.com/oracle/solaris-userland.git /scratch/clone
    27 
    27 
    42 can cause gmake(1) to perform it's work in parallel by adding '-j (jobs)'
    42 can cause gmake(1) to perform it's work in parallel by adding '-j (jobs)'
    43 to the command line.  Second, if you are only interested in working on a
    43 to the command line.  Second, if you are only interested in working on a
    44 particular component, you can change directories to that component's
    44 particular component, you can change directories to that component's
    45 directory and use 'gmake download' from that to only get it's source
    45 directory and use 'gmake download' from that to only get it's source
    46 archive.
    46 archive.
    47 </code></pre>
    47 
    48 <p>Building the Bits.</p>
    48 ## Building the Bits.
    49 <pre><code>You can build individual components or the contents of the entire gate.
    49 You can build individual components or the contents of the entire gate.
    50 </code></pre>
    50 
    51 <p>Component build</p>
    51 ### Component build
    52 <pre><code>If you are only working on a single component, you can just build it using
    52 If you are only working on a single component, you can just build it using
    53 following:
    53 following:
    54 
    54 
    55   setup the workspace for building components
    55   setup the workspace for building components
    56 
    56 
    57     $ cd (your-workspace)/components ; gmake setup
    57     $ cd (your-workspace)/components ; gmake setup
    58 
    58 
    59   build the individual component
    59   build the individual component
    60 
    60 
    61     $ cd (component-dir) ; gmake publish
    61     $ cd (component-dir) ; gmake publish
    62 </code></pre>
    62 
    63 <p>Complete Top Down build  </p>
    63 ### Complete Top Down build
    64 <pre><code>Complete top down builds are also possible by simply running
    64 Complete top down builds are also possible by simply running
    65 
    65 
    66   $ cd (your-workspace)/components
    66   $ cd (your-workspace)/components
    67   $ gmake publish
    67   $ gmake publish
    68 
    68 
    69 The 'publish' target will build each component and publish it to the
    69 The 'publish' target will build each component and publish it to the
    73 networking enabled, you can pre-download any community source archives into
    73 networking enabled, you can pre-download any community source archives into
    74 your workspace from the global with:
    74 your workspace from the global with:
    75 
    75 
    76   $ cd (your-workspace)/components
    76   $ cd (your-workspace)/components
    77   $ gmake download
    77   $ gmake download
    78 </code></pre>
    78 
    79 <p>You can add parallelism to your builds by adding '-j (jobs)' to your gmake
    79 - You can add parallelism to your builds by adding '-j (jobs)' to your gmake
    80   command line arguments.</p>
    80   command line arguments.
    81 <p>The gate should only incrementally build what it needs to based on what has
    81 - The gate should only incrementally build what it needs to based on what has
    82   changed since you last built it.</p>
    82   changed since you last built it.