Make alpha
From genomewiki
Jump to navigationJump to search
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 # csh version: # (setenv MAKE "make -j 4"; nice +19 make -j 4 cgi-alpha) >& alpha.out $ 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 # then email notify browser staff $ echo "Please note: /usr/local/apache/cgi-bin/ binaries have been updated for <reason>" \ | mail -s "new binaries in cgi-bin" <browser staff email address>
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.