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