--- db/prgsrc/Makefile 2002/01/07 14:52:19 1.15 +++ db/prgsrc/Makefile 2006/09/26 23:38:16 1.85 @@ -1,17 +1,39 @@ +HOSTNAME=$(shell hostname) +ifeq ($(HOSTNAME),bilbo) +ROOT=/home/znatoki +endif ifndef ROOT -ROOT = /home/znatoki +ROOT = $(HOME) endif PERL = perl TMPSAV = /tmp PMODE = 775 LMODE = 664 -KULICHKI=znatoki.kulichki.net -RSYNC = rsync -ruvpte ssh --delete --progress --rsync-path='~/bin/rsync' -DESTSRCDIR=~piataev/public_html/dimrub/src/ -SRCDIR=../baza/ -DESTPRGSRC=~piataev/db/prgsrc +KULICHKI=chgk-db-boris@ledorub.chgk.info +RSYNC = rsync -ruvptCe ssh --delete --progress +SCP=scp +DESTSRCDIR=~chgk-db/public_html/dimrub/src/ +SRCDIR=../baza +DICTDIR=../dict +IMAGEDIR=$(SRCDIR)/images +DESTIMAGEDIR=~chgk-db/public_html/images/db +INSTALLIMAGEDIR=$(ROOT)/public_html/images/db +DESTPRGSRC=~chgk-db/db/prgsrc +DESTCGIBIN=~chgk-db/public_html/cgi-bin DUMPDIR=../dump -DESTDUMPDIR=/tmp/ +DESTDUMPDIR=/var/tmp/ +TABLES= Questions Tournaments word2question nf nests Authors A2Q equalto +INDEXWRITER= rubash@yandex.ru, roma7@zaba.ru +#INDEXWRITER= boris +AUTHORCHECKER = roma7@zaba.ru +#AUTHORCHECKER = boris +DELIVERER = roma7@zaba.ru, boris +#DELIVERER = boris +UPDATELOG = $(DUMPDIR)/update.log +UAUTHORS=$(DUMPDIR)/uauthors +UNSORTED=$(DUMPDIR)/unsorted +RSPARAMS= 2000 75 +TIMESTAMP= $(DUMPDIR)/timestamp DBSCRIPTS = mkdb.pl \ updatem.pl \ @@ -30,10 +52,15 @@ DBSCRIPTS = mkdb.pl \ updateRS2.pl\ updateRS3.pl\ dumpRS.pl\ + findequal.pl\ dumpin2out.pl\ dump2dump.pl\ checkPBS.pl\ - loaddump.pl + loaddump.pl \ + makeauthors.pl\ + chronicles.pl\ + stats.pl \ + validate.pl LIBS = chgkfiles.pm \ common.pl\ @@ -42,7 +69,8 @@ LIBS = chgkfiles.pm \ check.pl -CGISCRIPTS = db.cgi +CGISCRIPTS = db.cgi\ + dbdefs.pl HTMLS = contribute.html \ @@ -55,24 +83,34 @@ HTMLS = contribute.html \ index.html \ random.html \ reklama.html \ + reklama_bottom.html\ search.html - - DBBIN = ../bin MANDIR = ../man LIBDIR = ../lib CGIBIN = $(ROOT)/public_html/cgi-bin HTMLDIR = $(ROOT)/public_html/dimrub/db +TEXTS = $(wildcard $(SRCDIR)/*.txt) $(SRCDIR)/index +IMAGES = $(wildcard $(IMAGEDIR)/*.jpg) +IMAGENAMES= $(notdir $(IMAGES)) + + + BININSTALL = ${DBSCRIPTS:%=$(DBBIN)/%} CGIINSTALL = ${CGISCRIPTS:%.cgi=$(CGIBIN)/%.cgi} LIBINSTALL = ${LIBS:%=$(LIBDIR)/%} HTMLINSTALL = ${HTMLS:%.html=$(HTMLDIR)/%.html} +IMAGEINSTALL = ${IMAGENAMES:%=$(INSTALLIMAGEDIR)/%} + + +all: $(LIBINSTALL) $(BININSTALL) $(CGIINSTALL) $(HTMLINSTALL) $(IMAGEINSTALL) + + -all: $(LIBINSTALL) $(BININSTALL) $(CGIINSTALL) $(HTMLINSTALL) $(DBBIN)/%.pl: %.pl @@ -134,17 +172,85 @@ $(HTMLDIR)/%.html: %.html cp $< $@ - +$(INSTALLIMAGEDIR)/%: $(IMAGEDIR)/% + cp $< $@ srcdeliver: $(RSYNC) $(SRCDIR) $(KULICHKI):$(DESTSRCDIR) +imagedeliver: + cvs update $(SRCDIR) + $(RSYNC) $(IMAGEDIR)/ $(KULICHKI):$(DESTIMAGEDIR)/ + prgdeliver: $(RSYNC) ./ $(KULICHKI):$(DESTPRGSRC) -dbdeliver: - mysqldump -u piataev chgk > $(DUMPDIR)/chgkdump - $(RSYNC) $(DUMPDIR)/chgkdump $(KULICHKI):$(DESTDUMPDIR) +dbdeliver: imagedeliver + echo "Starting delivering" | mail -s"Starting delivering" $(DELIVERER) + mysqldump --default-character-set=koi8r --add-drop-table --compatible=mysql323 -u piataev chgk $(TABLES) > $(DUMPDIR)/chgkdump + echo "delete from hash;" >> $(DUMPDIR)/chgkdump + gzip $(DUMPDIR)/chgkdump + $(SCP) $(DUMPDIR)/chgkdump.gz $(KULICHKI):$(DESTDUMPDIR) + echo "Delivered" | mail -s"Database delivered" $(DELIVERER) + +update: + cvs update + cvs update $(SRCDIR) + cvs update $(DICTDIR) + $(MAKE) all + $(MAKE) $(TIMESTAMP) + +$(TIMESTAMP): $(TEXTS) + mysql -upiataev chgk &1 | tee $(UPDATELOG) + $(DBBIN)/findequal.pl + $(DBBIN)/makeauthors.pl + if [ -s $(UAUTHORS) ]; then \ + mail -sUauthors $(AUTHORCHECKER) < $(UAUTHORS); \ + fi + if [ -s $(UNSORTED) ]; then \ + mail -sUnsorted $(INDEXWRITER) <$(UNSORTED);\ + else \ + $(DBBIN)/mkRS.pl; \ + $(DBBIN)/updateRS2.pl $(RSPARAMS);\ + echo "Ready to deliver" | mail -s"Ready to deliver" $(DELIVERER);\ + fi + touch $(TIMESTAMP) + + +authorsdeliver: + mysqldump --add-drop-table -u piataev chgk Authors A2Q equalto > $(DUMPDIR)/chgkdump.0 + sed 's/TYPE=ISAM PACK_KEYS=1//g' $(DUMPDIR)/chgkdump.0 > $(DUMPDIR)/chgkdump + gzip $(DUMPDIR)/chgkdump + rm $(DUMPDIR)/chgkdump.0 + $(SCP) $(DUMPDIR)/chgkdump.gz $(KULICHKI):$(DESTDUMPDIR) + + +dbfill: + echo "Starting filling Kulichki database" | mail -s"Starting dbfill" $(DELIVERER) + ssh $(KULICHKI) "echo 'ВНИМАНИЕ! Идёт заливка Базы вопросов. \ + Результаты поиска в Базе могут быть неполны' \ + > ~/public_html/dimrub/db/date;\ + gunzip -c /var/tmp/chgkdump.gz | mysql -u piataev chgk;\ + date > ~/public_html/dimrub/db/date" + echo "Finished filling Kulichki database" | mail -s"Finished dbfill" $(DELIVERER); \ + $(DBBIN)/stats.pl >> $(SRCDIR)/fill.log; \ + cvs commit -m "Database filled" $(SRCDIR) + +regenerate: + echo "Starting regenerating Kulichki database" | mail -s"Starting regenerate" $(DELIVERER) + ssh $(KULICHKI) "\ + echo "1900-01-01" > _timestamp.tmp;\ + echo makehtml=1 | perl $(DESTCGIBIN)/db.cgi -z; \ + echo "1900-01-01" > _timestamp.tmp;\ + echo makehtml=1 | perl $(DESTCGIBIN)/db.cgi -z; \ + echo "1900-01-01" > _timestamp.tmp;\ + echo makehtml=1 | perl $(DESTCGIBIN)/db.cgi -z; \ + rm -f _timestamp.tmp;" \ + echo "Finished regenerating Kulichki database" | mail -s"Finished regenrate" $(DELIVERER) +