Make alpha: Difference between revisions
From genomewiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 14: | Line 14: | ||
<PRE> | <PRE> | ||
$ cd /scratch/$LOGNAME # work in local filesystem, mkdir here if you need | $ cd /scratch/$LOGNAME # work in local filesystem, mkdir here if you need one | ||
$ mv kent kent.old | $ mv kent kent.old | ||
$ rm -fr kent.old & # remove any previous builds while new one takes place | $ rm -fr kent.old & # remove any previous builds while new one takes place |
Revision as of 22:39, 26 October 2006
The 'make alpha' makefile target in the kent source tree is used to build the CGI binaries and related data files into the /usr/local/apache/cgi-bin/ hierarchy.
After a new browser feature is developed the 'make alpha' is used to deliver this feature to the genome-test browser to allow QA and other users of genome-test to begin testing the new feature.
To use the 'make alpha' procedure, keep in mind the following:
- use a local filesystem to the development machine to save compile time
- i.e. performing the build via an NFS filesystem is highly inefficient
- use a completely clean checkout of the source tree to use only top-of-tree source
- notify browser staff via email when install is done so everyone is aware that genome-test has changed
The recommended sequence is:
$ cd /scratch/$LOGNAME # work in local filesystem, mkdir here if you need one $ mv kent kent.old $ rm -fr kent.old & # remove any previous builds while new one takes place $ cvs co kent # checkout completely new source tree # this checkout can take several minutes depending upon # network traffic $ cd kent/src # the make command below uses 4 CPUs. nice it down # this build takes about 2 minutes $ MAKE="make -j 4" nice -n +19 make -j 4 cgi-alpha > alpha.out 2>&1 # use the following grep to check for build errors $ egrep -i "erro|warn" alpha.out | egrep -v "Werror|disabling jobserver mode" $ cd hg/makeDb/trackDb # to be complete, do the trackDb and hgFindSpec tables also $ make alpha
This procedure is explicitly not encapsulated into a script because it is important for developers to understand what is happening here. You can make your own script if you want, but please understand what is happening here.