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