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