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 to
$ cd /scratch/$LOGNAME   # work in local filesystem, mkdir here if you need to
$ 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
$ cvs co kent               # checkout completely new source tree
$ cvs co kent           # checkout completely new source tree
                            # this checkout can take several minutes depending upon
                        # this checkout can take several minutes depending upon
                            # network traffic
                        # network traffic
$ cd kent/src               # the make command below uses 4 CPUs. nice it down
$ cd kent/src           # the make command below uses 4 CPUs. nice it down
                            # this make takes less than 30 seconds
                        # this build takes about 2 minutes
$ MAKE="make -j 4" nice -n +19 make -j 4 alpha > alpha.out 2>&1
$ 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
                        # use the following grep to check for build errors
$ egrep -y "erro|warn" alpha.out | egrep -v "Werror|disabling jobserver mode"
$ 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
</PRE>
</PRE>



Revision as of 22:38, 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 to
$ 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.