ifndef ROOT
ROOT = /home/znatoki
endif
PERL = perl
TMPSAV = /tmp
PMODE = 775
LMODE = 664
KULICHKI=znatoki.kulichki.net
RSYNC = rsync -ruvptCe ssh --delete --progress
SCP=scp
DESTSRCDIR=~piataev/public_html/dimrub/src/
SRCDIR=../baza
DICTDIR=../dict
IMAGEDIR=$(SRCDIR)/images
DESTIMAGEDIR=~piataev/public_html/images/db
INSTALLIMAGEDIR=$(ROOT)/public_html/images/db
DESTPRGSRC=~piataev/db/prgsrc
DESTCGIBIN=~piataev/public_html/cgi-bin
DUMPDIR=../dump
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 \
updatedb.pl \
changecities.pl\
createindex.pl\
updateindex.pl \
addlinks.pl \
deletefiles.pl\
renamefile.pl \
makecheck.pl\
mkRS.pl\
delRS.pl\
updateRS.pl\
updateRS1.pl\
updateRS2.pl\
updateRS3.pl\
dumpRS.pl\
findequal.pl\
dumpin2out.pl\
dump2dump.pl\
checkPBS.pl\
loaddump.pl \
makeauthors.pl\
chronicles.pl\
stats.pl \
validate.pl
LIBS = chgkfiles.pm \
common.pl\
chgk.cnf\
dbchgk.pm\
check.pl
CGISCRIPTS = db.cgi\
dbdefs.pl
HTMLS = contribute.html \
copyright.html \
copyright_mozg.html \
credits.html \
dbmain.html \
footer.html \
guestbook.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)
$(DBBIN)/%.pl: %.pl
${PERL} -c $<
- pod2man --center "Internet Club DB" $< > $*.1
- install -m $(LMODE) $*.1 $(MANDIR)/man1
- rm $*.1
if [ -f $@ ]; then mv $@ $(TMPSAV); fi
cp $< $@
chmod $(PMODE) $@
if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
$(CGIBIN)/%.cgi: %.cgi
${PERL} -c $<
- pod2man --center "Internet Club DB" $< > $*.1
- install -m $(LMODE) $*.1 $(MANDIR)/man1
- rm $*.1
if [ -f $@ ]; then mv $@ $(TMPSAV); fi
cp $< $@
chmod $(PMODE) $@
if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
$(LIBDIR)/%.pm: %.pm
${PERL} -c $<
- pod2man --center "Internet Club DB" $< > $*.3
- install -m $(LMODE) $*.3 $(MANDIR)/man3
- rm $*.3
if [ -f $@ ]; then mv $@ $(TMPSAV); fi
cp $< $@
chmod $(LMODE) $@
if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
$(LIBDIR)/%.pl: %.pl
${PERL} -c $<
- pod2man --center "Internet Club DB" $< > $*.3
- install -m $(LMODE) $*.3 $(MANDIR)/man3
- rm $*.3
if [ -f $@ ]; then mv $@ $(TMPSAV); fi
cp $< $@
chmod $(LMODE) $@
if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
$(LIBDIR)/%.cnf: %.cnf
${PERL} -c $<
- pod2man --center "Internet Club DB" $< > $*.5
- install -m $(LMODE) $*.5 $(MANDIR)/man5
- rm $*.5
if [ -f $@ ]; then mv $@ $(TMPSAV); fi
cp $< $@
chmod $(LMODE) $@
if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
$(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: 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 <delq.sql
$(DBBIN)/mkdb.pl
$(DBBIN)/updateindex.pl -i$(SRCDIR)/index
$(DBBIN)/updatedb.pl $(SRCDIR)/*.txt 2>&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;\
cd db/prgsrc; \
echo 'SELECT MAX(CreatedAt) FROM Tournaments' | \
mysql -u piataev --skip-column-names chgk >_timestamp.tmp;\
gunzip -c /var/tmp/chgkdump.gz | mysql -u piataev chgk;\
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; \
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)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>