--- db/prgsrc/Makefile 2002/11/11 08:48:43 1.22 +++ db/prgsrc/Makefile 2010/04/25 13:08:02 1.98 @@ -1,19 +1,43 @@ +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/ -SRCDIR=../baza/ -DESTPRGSRC=~piataev/db/prgsrc +DESTSRCDIR=~chgk-db/public_html/dimrub/src/ +SRCDIR=../baza +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 +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 +DELIVERER = roma7@zaba.ru, boris +#DELIVERER = boris +UPDATELOG = $(DUMPDIR)/update.log +UAUTHORS=$(DUMPDIR)/uauthors +UNSORTED=$(DUMPDIR)/unsorted +RSPARAMS= 2000 150 +TIMESTAMP= $(DUMPDIR)/timestamp DBSCRIPTS = mkdb.pl \ updatem.pl \ @@ -32,10 +56,17 @@ DBSCRIPTS = mkdb.pl \ updateRS2.pl\ updateRS3.pl\ dumpRS.pl\ + findequal.pl\ dumpin2out.pl\ dump2dump.pl\ checkPBS.pl\ - loaddump.pl + loaddump.pl \ + makeauthors.pl\ + makeeditors.pl\ + makepeople.pl\ + chronicles.pl\ + stats.pl \ + validate.pl LIBS = chgkfiles.pm \ common.pl\ @@ -44,7 +75,9 @@ LIBS = chgkfiles.pm \ check.pl -CGISCRIPTS = db.cgi +CGISCRIPTS = db.cgi\ + dbdefs.pl \ + cw.pl HTMLS = contribute.html \ @@ -57,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 @@ -69,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 @@ -86,7 +134,7 @@ $(DBBIN)/%.pl: %.pl cp $< $@ chmod $(PMODE) $@ if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi - + $(CGIBIN)/%.cgi: %.cgi ${PERL} -c $< - pod2man --center "Internet Club DB" $< > $*.1 @@ -136,30 +184,85 @@ $(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 +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 + $(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 + 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) -updatecvs: - cvs update $(SRCDIR) -unsorted: updatecvs $(wildcard $(SRCDIR)*.txt) - echo $< >>unsorted +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) - -