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: stats.pl \
59: validate.pl
60:
61: LIBS = chgkfiles.pm \
62: common.pl\
63: chgk.cnf\
64: dbchgk.pm\
65: check.pl
66:
67:
68: CGISCRIPTS = db.cgi\
69: dbdefs.pl
70:
71:
72: HTMLS = contribute.html \
73: copyright.html \
74: copyright_mozg.html \
75: credits.html \
76: dbmain.html \
77: footer.html \
78: guestbook.html \
79: index.html \
80: random.html \
81: reklama.html \
82: reklama_bottom.html\
83: search.html
84:
85:
86:
87: DBBIN = ../bin
88: MANDIR = ../man
89: LIBDIR = ../lib
90: CGIBIN = $(ROOT)/public_html/cgi-bin
91: HTMLDIR = $(ROOT)/public_html/dimrub/db
92:
93: TEXTS = $(wildcard $(SRCDIR)/*.txt) $(SRCDIR)/index
94: IMAGES = $(wildcard $(IMAGEDIR)/*.jpg)
95: IMAGENAMES= $(notdir $(IMAGES))
96:
97:
98:
99: BININSTALL = ${DBSCRIPTS:%=$(DBBIN)/%}
100: CGIINSTALL = ${CGISCRIPTS:%.cgi=$(CGIBIN)/%.cgi}
101: LIBINSTALL = ${LIBS:%=$(LIBDIR)/%}
102: HTMLINSTALL = ${HTMLS:%.html=$(HTMLDIR)/%.html}
103: IMAGEINSTALL = ${IMAGENAMES:%=$(INSTALLIMAGEDIR)/%}
104:
105: all: $(LIBINSTALL) $(BININSTALL) $(CGIINSTALL) $(HTMLINSTALL) $(IMAGEINSTALL)
106:
107:
108:
109:
110:
111: $(DBBIN)/%.pl: %.pl
112: ${PERL} -c $<
113: - pod2man --center "Internet Club DB" $< > $*.1
114: - install -m $(LMODE) $*.1 $(MANDIR)/man1
115: - rm $*.1
116: if [ -f $@ ]; then mv $@ $(TMPSAV); fi
117: cp $< $@
118: chmod $(PMODE) $@
119: if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
120:
121: $(CGIBIN)/%.cgi: %.cgi
122: ${PERL} -c $<
123: - pod2man --center "Internet Club DB" $< > $*.1
124: - install -m $(LMODE) $*.1 $(MANDIR)/man1
125: - rm $*.1
126: if [ -f $@ ]; then mv $@ $(TMPSAV); fi
127: cp $< $@
128: chmod $(PMODE) $@
129: if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
130:
131:
132:
133: $(LIBDIR)/%.pm: %.pm
134: ${PERL} -c $<
135: - pod2man --center "Internet Club DB" $< > $*.3
136: - install -m $(LMODE) $*.3 $(MANDIR)/man3
137: - rm $*.3
138: if [ -f $@ ]; then mv $@ $(TMPSAV); fi
139: cp $< $@
140: chmod $(LMODE) $@
141: if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
142:
143:
144: $(LIBDIR)/%.pl: %.pl
145: ${PERL} -c $<
146: - pod2man --center "Internet Club DB" $< > $*.3
147: - install -m $(LMODE) $*.3 $(MANDIR)/man3
148: - rm $*.3
149: if [ -f $@ ]; then mv $@ $(TMPSAV); fi
150: cp $< $@
151: chmod $(LMODE) $@
152: if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
153:
154:
155: $(LIBDIR)/%.cnf: %.cnf
156: ${PERL} -c $<
157: - pod2man --center "Internet Club DB" $< > $*.5
158: - install -m $(LMODE) $*.5 $(MANDIR)/man5
159: - rm $*.5
160: if [ -f $@ ]; then mv $@ $(TMPSAV); fi
161: cp $< $@
162: chmod $(LMODE) $@
163: if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
164:
165:
166: $(HTMLDIR)/%.html: %.html
167: cp $< $@
168:
169:
170: $(INSTALLIMAGEDIR)/%: $(IMAGEDIR)/%
171: cp $< $@
172:
173: srcdeliver:
174: $(RSYNC) $(SRCDIR) $(KULICHKI):$(DESTSRCDIR)
175:
176:
177: imagedeliver:
178: cvs update $(SRCDIR)
179: $(RSYNC) $(IMAGEDIR)/ $(KULICHKI):$(DESTIMAGEDIR)/
180:
181: prgdeliver:
182: $(RSYNC) ./ $(KULICHKI):$(DESTPRGSRC)
183:
184: dbdeliver: imagedeliver
185: echo "Starting delivering" | mail -s"Starting delivering" $(DELIVERER)
186: mysqldump --add-drop-table -u piataev chgk $(TABLES) > $(DUMPDIR)/chgkdump.0
187: sed 's/TYPE=ISAM PACK_KEYS=1//g' $(DUMPDIR)/chgkdump.0 > $(DUMPDIR)/chgkdump
188: echo "delete from hash;" >> $(DUMPDIR)/chgkdump
189: gzip $(DUMPDIR)/chgkdump
190: rm $(DUMPDIR)/chgkdump.0
191: $(SCP) $(DUMPDIR)/chgkdump.gz $(KULICHKI):$(DESTDUMPDIR)
192: echo "Delivered" | mail -s"Database delivered" $(DELIVERER)
193:
194: update:
195: cvs update
196: cvs update $(SRCDIR)
197: cvs update $(DICTDIR)
198: $(MAKE) all
199: $(MAKE) $(TIMESTAMP)
200:
201: $(TIMESTAMP): $(TEXTS)
202: mysql -upiataev chgk <delq.sql
203: $(DBBIN)/mkdb.pl
204: $(DBBIN)/updateindex.pl -i$(SRCDIR)/index
205: $(DBBIN)/updatedb.pl $(SRCDIR)/*.txt 2>&1 | tee $(UPDATELOG)
206: $(DBBIN)/findequal.pl
207: $(DBBIN)/makeauthors.pl
208: if [ -s $(UAUTHORS) ]; then \
209: mail -sUauthors $(AUTHORCHECKER) < $(UAUTHORS); \
210: fi
211: if [ -s $(UNSORTED) ]; then \
212: mail -sUnsorted $(INDEXWRITER) <$(UNSORTED);\
213: else \
214: $(DBBIN)/mkRS.pl; \
215: $(DBBIN)/updateRS2.pl $(RSPARAMS);\
216: echo "Ready to deliver" | mail -s"Ready to deliver" $(DELIVERER);\
217: fi
218: touch $(TIMESTAMP)
219:
220:
221: authorsdeliver:
222: mysqldump --add-drop-table -u piataev chgk Authors A2Q equalto > $(DUMPDIR)/chgkdump.0
223: sed 's/TYPE=ISAM PACK_KEYS=1//g' $(DUMPDIR)/chgkdump.0 > $(DUMPDIR)/chgkdump
224: gzip $(DUMPDIR)/chgkdump
225: rm $(DUMPDIR)/chgkdump.0
226: $(SCP) $(DUMPDIR)/chgkdump.gz $(KULICHKI):$(DESTDUMPDIR)
227:
228:
229: dbfill:
230: echo "Starting filling Kulichki database" | mail -s"Starting dbfill" $(DELIVERER)
231: ssh $(KULICHKI) "echo 'ВНИМАНИЕ! Идёт заливка Базы вопросов. \
232: Результаты поиска в Базе могут быть неполны' \
233: > ~/public_html/dimrub/db/date;\
234: cd db/prgsrc; \
235: echo 'SELECT MAX(CreatedAt) FROM Tournaments' | \
236: mysql -u piataev --skip-column-names chgk >_timestamp.tmp;\
237: gunzip -c /var/tmp/chgkdump.gz | mysql -u piataev chgk;\
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: echo "1900-01-01" > _timestamp.tmp;\
242: echo makehtml=1 | perl $(DESTCGIBIN)/db.cgi -z; \
243: rm -f _timestamp.tmp; \
244: date > ~/public_html/dimrub/db/date"
245: echo "Finished filling Kulichki database" | mail -s"Finished dbfill" $(DELIVERER); \
246: $(DBBIN)/stats.pl >> $(SRCDIR)/fill.log; \
247: cvs commit -m "Database filled" $(SRCDIR)
248:
249: regenerate:
250: echo "Starting regenerating Kulichki database" | mail -s"Starting regenerate" $(DELIVERER)
251: ssh $(KULICHKI) "\
252: echo "1900-01-01" > _timestamp.tmp;\
253: echo makehtml=1 | perl $(DESTCGIBIN)/db.cgi -z; \
254: echo "1900-01-01" > _timestamp.tmp;\
255: echo makehtml=1 | perl $(DESTCGIBIN)/db.cgi -z; \
256: echo "1900-01-01" > _timestamp.tmp;\
257: echo makehtml=1 | perl $(DESTCGIBIN)/db.cgi -z; \
258: rm -f _timestamp.tmp;" \
259: echo "Finished regenerating Kulichki database" | mail -s"Finished regenrate" $(DELIVERER)
260:
261:
262:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>