8168a89f56c1aacda65d39ddf612b78a501a0d2c
max
  Wed Apr 30 12:07:56 2025 -0700
Allowing to be on a beta branch when doing make alpha. This may sound strange, but if we do not allow this, I don't know how a mirror can build into the normal alpha directory /usr/local/apache/cgi-bin/ while being on the beta branch. Mirrors should not be on the master branch, they should be on the beta branch, as that's our release. No idea why this has never come up before.

diff --git src/makefile src/makefile
index 9a50766ec7f..7543c906c35 100644
--- src/makefile
+++ src/makefile
@@ -1,201 +1,201 @@
 include inc/localEnvironment.mk
 include inc/common.mk
 
 all: utils cgi blatSuite
 
 alpha: check-alpha clean
 	${MAKE} utils-alpha cgi-alpha blatSuite
 
 beta: check-beta clean cgi-beta
 
 # do a git update and clean
 update:
 	git pull
 	${MAKE} clean
 ##
 # topLibs
 ##
 TOP_LIBS = lib parasol/lib htslib
 ifneq ($(wildcard jkOwnLib/*),)
   TOP_LIBS += jkOwnLib
 endif
 topLibs: topChecks | ${TOP_LIBS:%=%.topLibs}
 %.topLibs:
 	${MAKE} -C $*
 
 topChecks:
 	@./checkUmask.sh
 	@MACHTYPE=${MACHTYPE} ./machTest.sh
 
 optLib:
 	cd optimalLeaf && ${MAKE}
 
 ##
 # hgLib
 ##
 ifneq ($(wildcard hg/makefile),)
    HGLIB_DIRS += hg/lib
    HGLIB_CHECK = hgLibChecks
 endif
 ifneq ($(wildcard hg/cgilib/makefile),)
    HGLIB_DIRS += hg/cgilib
 endif
 
 hgLib: ${HGLIB_CHECK} | ${HGLIB_DIRS:%=%.hgLib}
 %.hgLib:
 	${MAKE} -C $*
 hgLibChecks:
 	@./hg/sqlEnvTest.sh
 
 libs: topLibs hgLib optLib
 
 cgi: libs
 	cd hg && ${MAKE} cgi
 	cd utils/bedToBigBed && ${MAKE} cgi
 
 cgi-alpha: check-alpha libs logUser
 	cd hg && ${MAKE} alpha
 	cd utils/bedToBigBed && ${MAKE} alpha
 
 cgi-beta: check-beta libs logUser
 	cd hg && ${MAKE} beta
 	cd utils/bedToBigBed && ${MAKE} beta
 
 # This log file can be useful when debugging problems on the alpha and beta builds.
 logUser:
 ifeq (${IS_HGWDEV},yes)
 	echo ${USER}, $(MAKECMDGOALS), `date` >> ${CGI_BIN}/buildLog.txt
 endif
 
 check-alpha:
-	# this will fail if we are not on master branch:
-	git branch | egrep '\* master' > /dev/null
+	# this will fail if we are not on master or beta branch:
+	git branch | egrep '\* master|beta' > /dev/null
 
 check-beta:
 	# this will fail if we are not in a beta checkout:
-	git branch | egrep '\* v[0-9]+_branch|beta' > /dev/null	
+	git branch | egrep '\* v[0-9]+_branch' > /dev/null	
 
 BLAT_SUITE_DIRS = blat gfClient gfServer webBlat hg/pslPretty hg/pslReps \
 	hg/pslSort utils/nibFrag utils/faToNib utils/faToTwoBit utils/twoBitToFa \
 	utils/twoBitInfo isPcr blatz
 
 blatSuite: ${BLAT_SUITE_DIRS:%=%.blatSuite}
 
 %.blatSuite: topLibs hgLib
 	 ${MAKE} -C $*
 
 # all of these application makefiles have been updated to include use
 #	of DESTDIR and BINDIR
 
 # common subdirs uses by multiple targets
 STD_DIRS = ameme index dnaDust protDust weblet aladdin primeMate fuse meta tagStorm \
 	tabFile parasol blat
 
 USER_APP_DIRS = utils parasol hg hg/utils \
 	hg/makeDb tabFile
 ALMOST_USER_APP_DIRS = blat gfClient gfServer isPcr ameme index/ixIxx utils/userApps
 
 userApps: ${USER_APP_DIRS:%=%.userApps} ${ALMOST_USER_APP_DIRS:%=%.almostUserApps}
 
 %.userApps: topLibs hgLib destBin
 	${MAKE} -C $* userApps
 
 # these dont have userApps targets
 %.almostUserApps: topLibs hgLib destBin
 	${MAKE} -C $*
 
 destBin:
 	${MKDIR} ${DESTBINDIR}
 
 CLEAN_DIRS = ${STD_DIRS} lib hg jkOwnLib htslib utils webBat isPcr
 
 clean: ${CLEAN_DIRS:%=%.clean}
 	find . -name \*.o -print | xargs --no-run-if-empty rm
 	rm -f tags TAGS
 	rm -f cscope.out cscope.files cscope.po.out
 
 %.clean:
 	if [ -e "$*/makefile" ] ; then ${MAKE} -C $* clean ; fi
 
 
 TEST_DIRS = blat gfServer hg lib utils
 test:: $(TEST_DIRS:%=%.test)
 %.test:
 	if test -d $* ; then ${MAKE} -C $* test; fi
 
 LIB_TAGS_IN = lib/*.[hc] */lib/*.[hc] */*/lib/*.[hc] */*/*/lib/*.[hc] jkOwnLib/*.c \
 	inc/*.h */inc/*.h */*/inc/*.h */*/*/inc/*.h */cgilib/*.[hc]
 
 # build tags for libraries
 .PHONY: tags
 tags:
 	ctags ${LIB_TAGS_IN}
 
 cscope.out:
 	find `pwd` -name '*.c' -o -name '*.h' > cscope.files
 	cscope -qRb `cat cscope.files`
 search: cscope.out
 	cscope -d
 
 # build emacs tags for libraries
 .PHONY: etags
 etags:
 	etags ${LIB_TAGS_IN}
 
 # build tags for all files
 .PHONY: tags-all
 tags-all:
 	find . -name '*.[ch]' | grep -v "/userApps/" | ctags -L -
 
 # build emacs tags for all files
 .PHONY: etags-all
 etags-all:
 	find . -name '*.[ch]' | etags -
 
 UTILS_DIRS = ${DIRS} utils
 .PHONY: utils
 utils: ${UTILS_DIRS:%=%.utils} ${STD_DIRS:%=%.utils}
 
 %.utils: libs destBin hgutils
 	@${MKDIR} ${SCRIPTS}
 	${MAKE} -C $*
 
 utils-alpha: ${UTILS_DIRS:%=%.utils-alpha}
 
 %.utils-alpha: check-alpha libs destBin hgutils
 	if [ -e "$*/makefile" ] ; then ${MAKE} -C $* ; fi
 
 hgutils: libs destBin
 	cd hg && ${MAKE} utils
 
 ##  cellar archive for obsolete programs
 
 cellarDirs = cdnaAli getgene idbQuery reformat scanIntrons tracks wormAli \
 	xenoAli
 
 buildCellar: $(cellarDirs:%=%.cellar)
 
 %.cellar: libs destBin
 	cd $* && echo $* && $(MAKE)
 
 cleanCellar: $(cellarDirs:%=%.cellarClean)
 %.cellarClean:
 	cd $* && echo $* && $(MAKE) clean
 
 ## top level target for everything html related
 DOCS_LIST = hg/htdocs hg/js hg/htdocs/style
 doc: ${DOCS_LIST:%=%.docuser}
 %.docuser:
 	cd $* && $(MAKE)
 
 doc-alpha: ${DOCS_LIST:%=%.docalpha}
 %.docalpha:
 	cd $* && $(MAKE) alpha
 
 doc-beta: ${DOCS_LIST:%=%.docbeta}
 %.docbeta:
 	cd $* && $(MAKE) beta
 
 doc-install: ${DOCS_LIST:%=%.docinstall}
 %.docinstall:
 	cd $* && $(MAKE) install