Blame dist/README.build-scripts

Packit fcad23
******************************************************************************
Packit fcad23
*
Packit fcad23
* README.build-scripts
Packit fcad23
*
Packit fcad23
* Author: Robert Story <rstory@freesnmp.com>
Packit fcad23
*
Packit fcad23
* $Id$
Packit fcad23
*
Packit fcad23
******************************************************************************
Packit fcad23
Packit fcad23
Packit fcad23
Introduction
Packit fcad23
============
Packit fcad23
Packit fcad23
The automated build script will automatically run configure, 'make all',
Packit fcad23
'make test' and 'make install'. Log files are kept for each step, and the
Packit fcad23
scripts should abort when errors occur.
Packit fcad23
Packit fcad23
The usage of nsb-package is:
Packit fcad23
Packit fcad23
 Usage: nsb-package [-c] [-d] [-p] [-s SRCD] [-b BUILDD] [-i INSTALLD] VERSION
Packit fcad23
  
Packit fcad23
    VERSION    : release number (eg 5.2.2)
Packit fcad23
    -s SRCDIR  : soure directory [$HOME/src/net-snmp-VERSION]
Packit fcad23
    -b BUILDD  : build directory [$HOME/build/]
Packit fcad23
                 NOTE-platform will be appended to build directory
Packit fcad23
    -i INSTALLD: install directory [$HOME/build/\$PLATFORM/usr/local]
Packit fcad23
   
Packit fcad23
    -c : skip configure
Packit fcad23
    -d : dirty build (don't make distclean)
Packit fcad23
    -m : skip 'make all'
Packit fcad23
    -p : don't pause at prompts in between stages
Packit fcad23
    -t : skip 'make test'
Packit fcad23
Packit fcad23
Packit fcad23
The defaults assume you have a 'src', 'build' and 'binaries' directory in
Packit fcad23
your home directory.
Packit fcad23
Packit fcad23
Packit fcad23
Packit fcad23
Recommended Procedure
Packit fcad23
=====================
Packit fcad23
Packit fcad23
1) Log into Sourceforge Compile Farm Server
Packit fcad23
Packit fcad23
2) Update source (this will likely be automated in the future)
Packit fcad23
Packit fcad23
   For example, for release 5.0.3:
Packit fcad23
Packit fcad23
   $ cd ~/src
Packit fcad23
   $ CVS_RSH=ssh cvs -d $USER@cvs.net-snmp.org:/cvsroot/net-snmp \
Packit fcad23
         -q co -r Ext-5-0-3 -d ~/src/net-snmp-Ext-5-0-3 net-snmp
Packit fcad23
Packit fcad23
3) Run the package script. 
Packit fcad23
Packit fcad23
   $ $HOME/src/net-snmp-cvs/dist/nsb-package -r \
Packit fcad23
        -s $HOME/src/net-snmp-5.0.5 5.0.5
Packit fcad23
Packit fcad23
4) Create tarball (assuming no errors; see next section if there are errors)
Packit fcad23
Packit fcad23
   $ cd ~/build/`nsb-platform`
Packit fcad23
   $ tar cvf net-snmp-5.0.3-`nsb-platform`.tar usr
Packit fcad23
   $ gzip --best *.tar
Packit fcad23
Packit fcad23
5) Copy tarball to Sourceforge shell sever
Packit fcad23
Packit fcad23
   $ scp *.gz net-snmp.sourceforge.net:~/binaries/
Packit fcad23
Packit fcad23
6) Log out of compile farm server, log into shell server
Packit fcad23
Packit fcad23
7) Upload to Sourceforge
Packit fcad23
Packit fcad23
   $ ftp upload.sourceforge.net
Packit fcad23
     >bin
Packit fcad23
     >put *.gz
Packit fcad23
Packit fcad23
8) Update binaries via Sourceforge admin page
Packit fcad23
Packit fcad23
Packit fcad23
Packit fcad23
Builds with errors
Packit fcad23
==================
Packit fcad23
Packit fcad23
Should you encounter a build error, you will most likely want to skip the
Packit fcad23
'make distclean' and configure step (assuming the problem wasn't with
Packit fcad23
configure!). To do this, specify the 'dirty' and 'skip configure' options:
Packit fcad23
Packit fcad23
   $ nsb-package -p -d -c Ext-5-0-3
Packit fcad23
Packit fcad23
Packit fcad23
Should the build succeed, but some tests fail during 'make test', you probably
Packit fcad23
can to skip the test step to get to the install step:
Packit fcad23
Packit fcad23
   $ nsb-package -p -d -c -t Ext-5-0-3
Packit fcad23
Packit fcad23
Packit fcad23
OTHER PROBLEMS
Packit fcad23
--------------
Packit fcad23
* "Cannot find nsb-functions"
Packit fcad23
  
Packit fcad23
   It's a hack, but symlink nsb-functions and nsb-package to your local
Packit fcad23
   bin directory ($HOME/bin).  I'm trying to think of a better solution.
Packit fcad23
Packit fcad23
* "gcc: snmp_version.lo: No such file or directory"
Packit fcad23
Packit fcad23
   This is a good indication that you have previously build in your
Packit fcad23
   source directory. 'make distclean' in your source directory, or
Packit fcad23
   check out a fresh new version from CVS.