--- db/prgsrc/Makefile 2003/01/09 01:45:47 1.36 +++ db/prgsrc/Makefile 2010/04/25 13:08:02 1.98 @@ -1,20 +1,33 @@ +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' +KULICHKI=chgk-db-boris@ledorub.chgk.info +RSYNC = rsync -ruvptCe ssh --delete --progress SCP=scp -DESTSRCDIR=~piataev/public_html/dimrub/src/ +DESTSRCDIR=~chgk-db/public_html/dimrub/src/ SRCDIR=../baza -DESTPRGSRC=~piataev/db/prgsrc +DICTDIR=../dict +IMAGEDIR=$(SRCDIR)/images +SOUNDDIR=$(SRCDIR)/sounds +DESTIMAGEDIR=~chgk-db/public_html/images/db +INSTALLIMAGEDIR=$(ROOT)/public_html/images/db +DESTSOUNDDIR=~chgk-db/public_html/sounds/db +INSTALLSOUNDDIR=$(ROOT)/public_html/sounds/db +DESTPRGSRC=~chgk-db/db/prgsrc +DESTCGIBIN=~chgk-db/public_html/cgi-bin DUMPDIR=../dump DESTDUMPDIR=/var/tmp/ -TABLES= Questions Tournaments word2question nf nests Authors A2Q -INDEXWRITER= rubash@hotbox.ru, roma7@zaba.ru +TABLES= Questions Tournaments word2question nf nests Authors \ + P2Q equalto People P2T +INDEXWRITER= rubash@yandex.ru, roma7@zaba.ru #INDEXWRITER= boris AUTHORCHECKER = roma7@zaba.ru #AUTHORCHECKER = boris @@ -23,7 +36,8 @@ DELIVERER = roma7@zaba.ru, boris UPDATELOG = $(DUMPDIR)/update.log UAUTHORS=$(DUMPDIR)/uauthors UNSORTED=$(DUMPDIR)/unsorted -RSPARAMS= 2000 50 +RSPARAMS= 2000 150 +TIMESTAMP= $(DUMPDIR)/timestamp DBSCRIPTS = mkdb.pl \ updatem.pl \ @@ -42,11 +56,17 @@ DBSCRIPTS = mkdb.pl \ updateRS2.pl\ updateRS3.pl\ dumpRS.pl\ + findequal.pl\ dumpin2out.pl\ dump2dump.pl\ checkPBS.pl\ loaddump.pl \ - makeauthors.pl + makeauthors.pl\ + makeeditors.pl\ + makepeople.pl\ + chronicles.pl\ + stats.pl \ + validate.pl LIBS = chgkfiles.pm \ common.pl\ @@ -55,7 +75,9 @@ LIBS = chgkfiles.pm \ check.pl -CGISCRIPTS = db.cgi +CGISCRIPTS = db.cgi\ + dbdefs.pl \ + cw.pl HTMLS = contribute.html \ @@ -68,11 +90,11 @@ HTMLS = contribute.html \ index.html \ random.html \ reklama.html \ + reklama_bottom.html\ + dbxml.php\ search.html -TEXTS = $(SRCDIR)/*.txt - DBBIN = ../bin MANDIR = ../man @@ -80,12 +102,27 @@ LIBDIR = ../lib CGIBIN = $(ROOT)/public_html/cgi-bin HTMLDIR = $(ROOT)/public_html/dimrub/db +TEXTS = $(wildcard $(SRCDIR)/*.txt) $(SRCDIR)/index +IMAGES = $(wildcard $(IMAGEDIR)/*.gif) $(wildcard $(IMAGEDIR)/*.jpg) +SOUNDS = $(wildcard $(SOUNDDIR)/*.mp3) $(wildcard $(SOUNDDIR)/*.mid) +IMAGENAMES= $(notdir $(IMAGES)) +SOUNDNAMES= $(notdir $(SOUNDS)) + + + BININSTALL = ${DBSCRIPTS:%=$(DBBIN)/%} CGIINSTALL = ${CGISCRIPTS:%.cgi=$(CGIBIN)/%.cgi} LIBINSTALL = ${LIBS:%=$(LIBDIR)/%} HTMLINSTALL = ${HTMLS:%.html=$(HTMLDIR)/%.html} +IMAGEINSTALL = ${IMAGENAMES:%=$(INSTALLIMAGEDIR)/%} +SOUNDINSTALL = ${SOUNDNAMES:%=$(INSTALLSOUNDDIR)/%} + + +all: $(LIBINSTALL) $(BININSTALL) $(CGIINSTALL) $(HTMLINSTALL) \ + $(IMAGEINSTALL) $(SOUNDINSTALL) + + -all: $(LIBINSTALL) $(BININSTALL) $(CGIINSTALL) $(HTMLINSTALL) $(DBBIN)/%.pl: %.pl @@ -147,32 +184,55 @@ $(HTMLDIR)/%.html: %.html cp $< $@ -$(UNSORTED): TEXTS +$(INSTALLIMAGEDIR)/%: $(IMAGEDIR)/% + cp $< $@ + + +$(INSTALLSOUNDDIR)/%: $(SOUNDDIR)/% + cp $< $@ + -$(SRCDIR)/%.txt: - updatedb $< srcdeliver: $(RSYNC) $(SRCDIR) $(KULICHKI):$(DESTSRCDIR) +imagedeliver: + cvs update $(SRCDIR) + $(RSYNC) $(IMAGEDIR)/ $(KULICHKI):$(DESTIMAGEDIR)/ + +sounddeliver: + cvs update $(SRCDIR) + $(RSYNC) $(SOUNDDIR)/ $(KULICHKI):$(DESTSOUNDDIR)/ + prgdeliver: $(RSYNC) ./ $(KULICHKI):$(DESTPRGSRC) -dbdeliver: - mysqldump --add-drop-table -u piataev chgk $(TABLES) > $(DUMPDIR)/chgkdump.0 - sed 's/TYPE=ISAM PACK_KEYS=1//g' $(DUMPDIR)/chgkdump.0 > $(DUMPDIR)/chgkdump +dbdeliver: imagedeliver sounddeliver + echo "Starting delivering" | mail -s"Starting delivering" $(DELIVERER) + mysqldump --default-character-set=koi8r --add-drop-table -u piataev chgk $(TABLES) > $(DUMPDIR)/chgkdump + echo "delete from hash;" >> $(DUMPDIR)/chgkdump + echo "CREATE FULLTEXT INDEX fti ON Questions (Question, Answer, PassCriteria, Comments);" >> $(DUMPDIR)/chgkdump gzip $(DUMPDIR)/chgkdump - rm $(DUMPDIR)/chgkdump.0 $(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)/makepeople.pl $(DBBIN)/makeauthors.pl + $(DBBIN)/makeeditors.pl if [ -s $(UAUTHORS) ]; then \ mail -sUauthors $(AUTHORCHECKER) < $(UAUTHORS); \ fi @@ -181,13 +241,28 @@ update: else \ $(DBBIN)/mkRS.pl; \ $(DBBIN)/updateRS2.pl $(RSPARAMS);\ - mail -s"Ready to deliver" $(DELIVERER);\ + echo "Ready to deliver" | mail -s"Ready to deliver" $(DELIVERER);\ fi + touch $(TIMESTAMP) + authorsdeliver: - mysqldump --add-drop-table -u piataev chgk Authors A2Q > $(DUMPDIR)/chgkdump.0 + 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) "export LANG=ru_RU.KOI8-R; \ + 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) +