1: ifndef ROOT
2: ROOT = $(HOME)
3: endif
4: PERL = perl
5: TMPSAV = /tmp
6: PMODE = 775
7: LMODE = 664
8: KULICHKI=chgk-db-boris@ledorub.chgk.info
9: RSYNC = rsync -ruvptCe ssh --delete --progress
10: SCP=scp
11: DESTSRCDIR=~chgk-db/public_html/dimrub/src/
12: SRCDIR=../baza
13: DICTDIR=../dict
14: IMAGEDIR=$(SRCDIR)/images
15: DESTIMAGEDIR=~chgk-db/public_html/images/db
16: INSTALLIMAGEDIR=$(ROOT)/public_html/images/db
17: DESTPRGSRC=~chgk-db/db/prgsrc
18: DESTCGIBIN=~chgk-db/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 --default-character-set=koi8r --add-drop-table --compatible=mysql323 -u piataev chgk $(TABLES) > $(DUMPDIR)/chgkdump
187: echo "delete from hash;" >> $(DUMPDIR)/chgkdump
188: gzip $(DUMPDIR)/chgkdump
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: $(DBBIN)/stats.pl >> $(SRCDIR)/fill.log; \
245: cvs commit -m "Database filled" $(SRCDIR)
246:
247: regenerate:
248: echo "Starting regenerating Kulichki database" | mail -s"Starting regenerate" $(DELIVERER)
249: ssh $(KULICHKI) "\
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: echo "1900-01-01" > _timestamp.tmp;\
255: echo makehtml=1 | perl $(DESTCGIBIN)/db.cgi -z; \
256: rm -f _timestamp.tmp;" \
257: echo "Finished regenerating Kulichki database" | mail -s"Finished regenrate" $(DELIVERER)
258:
259:
260:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>