usr/src/README
author Sanjay Nadkarni <sanjay.nadkarni@oracle.com>
Wed, 27 Jul 2011 12:24:29 -0600
changeset 1332 952bc94b5917
parent 1272 7788c9e14874
child 1379 c41058d1a083
permissions -rw-r--r--
7072543 install-redist went missing

#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
# Copyright (c) 2007, 2011 Oracle and/or its affiliates. All rights reserved.
#


Welcome to the mercurial source repository for the Caiman Project:
GUI Install, Text Install, Distribution Constructor and Auto Installer.
This source also includes the libraries needed for the Caiman Project.
--------------------------------------------------------------------

To setup a machine for building this source repository:
-------------------------------------------------------
NOTE: The following steps require the user to have sufficient privileges,
via pfexec or sudo, to install software on the build system.
 1. Get the SunStudio compilers via the Image Packaging System (IPS). To install
    run the command "pkg install developer/sunstudio12u1"
	* Alternatively, the package "pkg:/developer/solaris-studio-express" may
	  be used. However, Solaris Studio 12 update 1 is the currently
	  supported build environment.

 2. Get the OS/Net Build Tools via the Image Packaging System (IPS). To install
    run the command "pkg install developer/build/onbld"

 3. Install required IPS packages:

	developer/build/dmake
	developer/swig
	system/boot/wanboot/internal
	system/header
	system/library/install/libinstzones
	system/library/libdiskmgt/header-libdiskmgt
	system/zones/internal
	text/gnu-gettext

    To get these packages, run "pkg install <package>"

To setup the repository to be built:
------------------------------------
 1. cd usr/src in the repository

 2. cp tools/env/developer.sh .; chmod +w developer.sh

    Some environment variables which might need to be changed:
    *You should - set the path to your repository defined by CODEMGR_WS.
    *You may - need to change the SPRO_ROOT variable to point to your
     installed compilers. Likely locations are:
	 /opt/sunstudio12.1	(default)
	 /opt/solstudioex
	 /opt/SUNWspro

     You might want to link SUNWspro to sunstudio12.1 if necessary

To build this repository use the following steps:
-------------------------------------------------
 1. cd usr/src in the repository

 2. To build, run: /opt/onbld/bin/nightly developer.sh
    This updates the source from the Mercurial repository.
 
    If you do not wish to do a Mercurial pull as part of the nightly run,
    use the -n option.

    /opt/onbld/bin/nightly -n developer.sh

 3. Before packages can be published to the redist repositories, the
    package manifests in usr/src/pkg/manifests must be free from
    pkglint(1) ERRORs and pkgfmt(1) ERRORS. Please refer to 
    usr/src/pkg/README.pkg for more details.

To run unit tests after building packages:
------------------------------------------

 1. cd usr/src/tools/tests
 2.  Follow the README and run the slim_unit tests
 3.  If there is new unit tests failures, those must be fixed before putback.

To check for pep8 slim_code_cleanliness:
----------------------------------------

 1. Install the Python setup tools:
                pkg install library/python-2/setuptools-26
 
 2. Install the pep8 3rd tool:

                easy_install pep8
                (The warning messages during installation may be ignored)

 3.  And the python setup tools will find it, download, and install it for you as /usr/bin/pep8

 4.  You can check for pep8 cleanliness mimicking the command that hudson use:

/usr/bin/pep8 --ignore=E261,W291,W293 --count -r --show-source <file/folder>

i.e.:

# cd lib/install_target
# /usr/bin/pep8 --ignore=E261,W291,W293 --count -r --show-source logical.py

logical.py:58:23: E241 multiple spaces after ','
    def __init__(self,  name):
                      ^
1

--------------------------------------------------------------------
Notes:

Please send questions, comments, contributions to:
         caiman-discuss (at) opensolaris.org