File:  [Local Repository] / db / prgsrc / Makefile
Revision 1.95: download - view: text, annotated - select for diffs - revision graph
Sat Dec 12 16:55:21 2009 UTC (14 years, 5 months ago) by roma7
Branches: MAIN
CVS tags: HEAD
Move FULLTEXT building to deliver

    1: HOSTNAME=$(shell hostname)
    2: ifeq ($(HOSTNAME),bilbo)
    3: ROOT=/home/znatoki
    4: endif
    5: ifndef ROOT
    6: ROOT = $(HOME)
    7: endif
    8: PERL = perl
    9: TMPSAV = /tmp
   10: PMODE = 775
   11: LMODE = 664
   12: KULICHKI=chgk-db-boris@ledorub.chgk.info
   13: RSYNC = rsync -ruvptCe ssh --delete --progress 
   14: SCP=scp
   15: DESTSRCDIR=~chgk-db/public_html/dimrub/src/
   16: SRCDIR=../baza
   17: DICTDIR=../dict
   18: IMAGEDIR=$(SRCDIR)/images
   19: SOUNDDIR=$(SRCDIR)/sounds
   20: DESTIMAGEDIR=~chgk-db/public_html/images/db
   21: INSTALLIMAGEDIR=$(ROOT)/public_html/images/db
   22: DESTSOUNDDIR=~chgk-db/public_html/sounds/db
   23: INSTALLSOUNDDIR=$(ROOT)/public_html/sounds/db
   24: DESTPRGSRC=~chgk-db/db/prgsrc
   25: DESTCGIBIN=~chgk-db/public_html/cgi-bin
   26: DUMPDIR=../dump
   27: DESTDUMPDIR=/var/tmp/
   28: TABLES= Questions Tournaments word2question nf nests Authors A2Q equalto
   29: INDEXWRITER= rubash@yandex.ru, roma7@zaba.ru
   30: #INDEXWRITER= boris
   31: AUTHORCHECKER = roma7@zaba.ru
   32: #AUTHORCHECKER = boris
   33: DELIVERER = roma7@zaba.ru, boris
   34: #DELIVERER = boris
   35: UPDATELOG = $(DUMPDIR)/update.log
   36: UAUTHORS=$(DUMPDIR)/uauthors
   37: UNSORTED=$(DUMPDIR)/unsorted
   38: RSPARAMS= 2000 150
   39: TIMESTAMP= $(DUMPDIR)/timestamp
   40: 
   41: DBSCRIPTS = mkdb.pl \
   42: 	    updatem.pl \
   43: 	    updatedb.pl \
   44: 	    changecities.pl\
   45: 	    createindex.pl\
   46: 	    updateindex.pl \
   47: 	    addlinks.pl \
   48: 	    deletefiles.pl\
   49: 	    renamefile.pl \
   50: 	    makecheck.pl\
   51: 	    mkRS.pl\
   52: 	    delRS.pl\
   53: 	    updateRS.pl\
   54: 	    updateRS1.pl\
   55: 	    updateRS2.pl\
   56: 	    updateRS3.pl\
   57: 	    dumpRS.pl\
   58: 	    findequal.pl\
   59: 	    dumpin2out.pl\
   60: 	    dump2dump.pl\
   61: 	    checkPBS.pl\
   62: 	    loaddump.pl \
   63: 	    makeauthors.pl\
   64: 	    chronicles.pl\
   65: 	    stats.pl \
   66: 	    validate.pl
   67: 
   68: LIBS = chgkfiles.pm \
   69: 	    common.pl\
   70: 	    chgk.cnf\
   71: 	    dbchgk.pm\
   72:             check.pl
   73: 
   74: 
   75: CGISCRIPTS = db.cgi\
   76:              dbdefs.pl \
   77:              cw.pl
   78: 
   79: 
   80: HTMLS = contribute.html \
   81: 	copyright.html \
   82: 	copyright_mozg.html \
   83: 	credits.html \
   84: 	dbmain.html \
   85: 	footer.html \
   86: 	guestbook.html \
   87: 	index.html \
   88: 	random.html \
   89: 	reklama.html \
   90: 	reklama_bottom.html\
   91: 	dbxml.php\
   92: 	search.html  
   93: 
   94: 
   95: 
   96: DBBIN = ../bin
   97: MANDIR = ../man
   98: LIBDIR = ../lib
   99: CGIBIN = $(ROOT)/public_html/cgi-bin
  100: HTMLDIR = $(ROOT)/public_html/dimrub/db
  101: 
  102: TEXTS = $(wildcard $(SRCDIR)/*.txt) $(SRCDIR)/index
  103: IMAGES = $(wildcard $(IMAGEDIR)/*.gif) $(wildcard $(IMAGEDIR)/*.jpg)
  104: SOUNDS = $(wildcard $(SOUNDDIR)/*.mp3) $(wildcard $(SOUNDDIR)/*.mid)
  105: IMAGENAMES= $(notdir $(IMAGES))
  106: SOUNDNAMES= $(notdir $(SOUNDS))
  107: 
  108: 
  109: 
  110: BININSTALL =    ${DBSCRIPTS:%=$(DBBIN)/%}
  111: CGIINSTALL =    ${CGISCRIPTS:%.cgi=$(CGIBIN)/%.cgi}
  112: LIBINSTALL =    ${LIBS:%=$(LIBDIR)/%}
  113: HTMLINSTALL =   ${HTMLS:%.html=$(HTMLDIR)/%.html}
  114: IMAGEINSTALL =  ${IMAGENAMES:%=$(INSTALLIMAGEDIR)/%}
  115: SOUNDINSTALL =  ${SOUNDNAMES:%=$(INSTALLSOUNDDIR)/%}
  116: 
  117: 
  118: all: $(LIBINSTALL) $(BININSTALL) $(CGIINSTALL) $(HTMLINSTALL) \
  119: 	$(IMAGEINSTALL) $(SOUNDINSTALL)
  120: 
  121: 
  122: 
  123: 
  124: 
  125: $(DBBIN)/%.pl:       %.pl
  126: 	${PERL} -c $<
  127: 	- pod2man --center "Internet Club DB" $< > $*.1
  128: 	- install -m $(LMODE) $*.1 $(MANDIR)/man1
  129: 	- rm $*.1
  130: 	if [ -f $@ ]; then mv $@ $(TMPSAV); fi
  131: 	cp $< $@
  132: 	chmod $(PMODE) $@
  133: 	if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
  134: 
  135: $(CGIBIN)/%.cgi:       %.cgi
  136: 	${PERL} -c $<
  137: 	- pod2man --center "Internet Club DB" $< > $*.1
  138: 	- install -m $(LMODE) $*.1 $(MANDIR)/man1
  139: 	- rm $*.1	
  140: 	if [ -f $@ ]; then mv $@ $(TMPSAV); fi
  141: 	cp $< $@
  142: 	chmod $(PMODE) $@
  143: 	if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
  144: 
  145: 
  146: 
  147: $(LIBDIR)/%.pm:       %.pm
  148: 	${PERL} -c $<
  149: 	- pod2man --center "Internet Club DB" $< > $*.3
  150: 	- install -m $(LMODE) $*.3 $(MANDIR)/man3
  151: 	- rm $*.3
  152: 	if [ -f $@ ]; then mv $@ $(TMPSAV); fi
  153: 	cp $< $@
  154: 	chmod $(LMODE) $@
  155: 	if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
  156: 
  157: 
  158: $(LIBDIR)/%.pl:       %.pl
  159: 	${PERL} -c $<
  160: 	- pod2man --center "Internet Club DB" $< > $*.3
  161: 	- install -m $(LMODE) $*.3 $(MANDIR)/man3
  162: 	- rm $*.3
  163: 	if [ -f $@ ]; then mv $@ $(TMPSAV); fi
  164: 	cp $< $@
  165: 	chmod $(LMODE) $@
  166: 	if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
  167: 
  168: 
  169: $(LIBDIR)/%.cnf:       %.cnf
  170: 	${PERL} -c $<
  171: 	- pod2man --center "Internet Club DB" $< > $*.5
  172: 	- install -m $(LMODE) $*.5 $(MANDIR)/man5
  173: 	- rm $*.5
  174: 	if [ -f $@ ]; then mv $@ $(TMPSAV); fi
  175: 	cp $< $@
  176: 	chmod $(LMODE) $@
  177: 	if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
  178: 
  179: 
  180: $(HTMLDIR)/%.html:       %.html
  181: 	cp $< $@
  182: 
  183: 
  184: $(INSTALLIMAGEDIR)/%: $(IMAGEDIR)/%
  185: 	cp $< $@	
  186: 
  187: 
  188: $(INSTALLSOUNDDIR)/%: $(SOUNDDIR)/%
  189: 	cp $< $@	
  190: 
  191: 
  192: 
  193: srcdeliver:
  194: 	$(RSYNC) $(SRCDIR) $(KULICHKI):$(DESTSRCDIR)
  195: 
  196: 
  197: imagedeliver:
  198: 	cvs update $(SRCDIR)
  199: 	$(RSYNC) $(IMAGEDIR)/ $(KULICHKI):$(DESTIMAGEDIR)/
  200: 
  201: sounddeliver:
  202: 	cvs update $(SRCDIR)
  203: 	$(RSYNC) $(SOUNDDIR)/ $(KULICHKI):$(DESTSOUNDDIR)/
  204: 
  205: prgdeliver:
  206: 	$(RSYNC) ./ $(KULICHKI):$(DESTPRGSRC)
  207: 
  208: dbdeliver: imagedeliver sounddeliver
  209: 	echo "Starting delivering" | mail -s"Starting delivering" $(DELIVERER)
  210: 	mysqldump   --default-character-set=koi8r --add-drop-table -u piataev chgk $(TABLES)  > $(DUMPDIR)/chgkdump
  211: 	echo "delete from hash;" >> $(DUMPDIR)/chgkdump
  212: 	echo "CREATE FULLTEXT INDEX fti ON Questions (Question, Answer, PassCriteria, Comments);" >> $(DUMPDIR)/chgkdump
  213: 	gzip $(DUMPDIR)/chgkdump
  214: 	$(SCP) $(DUMPDIR)/chgkdump.gz  $(KULICHKI):$(DESTDUMPDIR)
  215: 	echo "Delivered" | mail -s"Database delivered" $(DELIVERER)
  216: 
  217: update: 
  218: 	cvs update
  219: 	cvs update $(SRCDIR)
  220: 	cvs update $(DICTDIR)
  221: 	$(MAKE) all
  222: 	$(MAKE) $(TIMESTAMP)
  223: 
  224: $(TIMESTAMP): $(TEXTS)
  225: 	mysql -upiataev chgk <delq.sql
  226: 	$(DBBIN)/mkdb.pl
  227: 	$(DBBIN)/updateindex.pl -i$(SRCDIR)/index
  228: 	$(DBBIN)/updatedb.pl $(SRCDIR)/*.txt 2>&1 | tee $(UPDATELOG)
  229: 	$(DBBIN)/findequal.pl
  230: 	$(DBBIN)/makeauthors.pl
  231: 	if [ -s $(UAUTHORS) ]; then  \
  232: 		mail -sUauthors $(AUTHORCHECKER) < $(UAUTHORS); \
  233: 	fi
  234: 	if [ -s $(UNSORTED) ]; then \
  235: 		mail -sUnsorted $(INDEXWRITER) <$(UNSORTED);\
  236: 	 else \
  237: 		$(DBBIN)/mkRS.pl; \
  238: 		$(DBBIN)/updateRS2.pl $(RSPARAMS);\
  239: 		echo "Ready to deliver" | mail -s"Ready to deliver" $(DELIVERER);\
  240: 	 fi
  241: 	touch $(TIMESTAMP)
  242: 
  243: 
  244: authorsdeliver:
  245: 	mysqldump --add-drop-table -u piataev chgk Authors A2Q  equalto > $(DUMPDIR)/chgkdump.0
  246: 	sed 's/TYPE=ISAM PACK_KEYS=1//g' $(DUMPDIR)/chgkdump.0 > $(DUMPDIR)/chgkdump
  247: 	gzip $(DUMPDIR)/chgkdump
  248: 	rm $(DUMPDIR)/chgkdump.0
  249: 	$(SCP) $(DUMPDIR)/chgkdump.gz  $(KULICHKI):$(DESTDUMPDIR)
  250: 
  251: 
  252: dbfill:
  253: 	echo "Starting filling Kulichki database" | mail -s"Starting dbfill" $(DELIVERER)
  254: 	ssh $(KULICHKI) "export LANG=ru_RU.KOI8-R; \
  255: 	echo 'ВНИМАНИЕ! Идёт заливка Базы вопросов. \
  256: 				Результаты поиска в Базе могут быть неполны' \
  257: 		> ~/public_html/dimrub/db/date;\
  258: 		gunzip -c /var/tmp/chgkdump.gz | mysql -u piataev chgk;\
  259: 		date > ~/public_html/dimrub/db/date"
  260: 	echo "Finished filling Kulichki database" | mail -s"Finished dbfill" $(DELIVERER); \
  261: 	$(DBBIN)/stats.pl >> $(SRCDIR)/fill.log; \
  262: 	cvs commit  -m "Database filled" $(SRCDIR)
  263: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>