validate dump output with xmllint
[irspy-moved-to-github.git] / zebra / Makefile
1 IRSPY_ARCHIVE=          records-2014-11-24
2 IRSPY_ARCHIVE_EXT=      .tar.gz
3 DUMP_DIR=               irspy-dump
4 ZEBRA_DIR=              db
5 ZEBRAIDX=               zebraidx-2.0
6 ZEBRAIDX_TEST=          zebraidx-2.0 -c zebra-test.cfg
7 IRSPY_DATABASE=         $${IRSpyDbName-"localhost:8018/IR-Explain---1"}
8 ZEBRA_LOGFILE=          irspy-zebra.log
9 ZEBRA_PID_FILE=         ${ZEBRA_DIR}/lock/zebrasrv.pid
10
11
12 # debugging
13 ZEBRA_TEST_DIR=         db-test
14
15 DATE:=  $(shell date '+%Y-%m-%d')
16
17 all: help
18
19
20 test:
21         xmllint --noout --schema zeerex-2.0.xsd zeerex.xml
22
23 terse.properties: pqf.properties
24         sed -n 's/#.*//; s/[    ]*//; s/[       ][      ]*/ /g; /./p' $? > $@
25
26 newdb:
27         tar xzf ${DUMP_DIR}/${IRSPY_ARCHIVE}${IRSPY_ARCHIVE_EXT}
28         mkdir -p ${ZEBRA_DIR}/lock ${ZEBRA_DIR}/register ${ZEBRA_DIR}/shadow ${ZEBRA_DIR}/tmp
29         ${ZEBRAIDX} init
30         ${ZEBRAIDX} update zeerex.xml
31         ${ZEBRAIDX} update ${IRSPY_ARCHIVE}
32         ${ZEBRAIDX} commit
33
34 newdb-test:
35         tar xzf ${DUMP_DIR}/${IRSPY_ARCHIVE}${IRSPY_ARCHIVE_EXT}
36         mkdir -p ${ZEBRA_TEST_DIR}/lock ${ZEBRA_TEST_DIR}/register ${ZEBRA_TEST_DIR}/shadow ${ZEBRA_TEST_DIR}/tmp
37         ${ZEBRAIDX_TEST} init
38         ${ZEBRAIDX_TEST} update zeerex-test.xml
39         ${ZEBRAIDX_TEST} update ${IRSPY_ARCHIVE}
40         ${ZEBRAIDX_TEST} commit
41
42 # note: the test database use localhost:8019/IR-Explain---1
43 dump:
44         rm -rf records-${DATE}.old
45         -test -e records-${DATE} && mv records-${DATE} records-${DATE}.old
46         mkdir records-${DATE}
47         cd records-${DATE} && ../../bin/irspy-dump.pl ${IRSPY_DATABASE}
48         #cd records-${DATE}; for i in *.xml; do echo -n "$$i "; tidy -xml -i -m -w 140 $$i 2>&1 | sed 1q; done
49         find records-${DATE} -name '*.xml' -print0 | xargs -n16 -0 -P4 xmllint -format >/dev/null
50         tar cf - records-${DATE} | gzip > records-${DATE}.tar.gz
51
52 clean:
53         rm -f terse.properties
54
55 check-running-zebrasrv:
56         @if zoomsh  -e "open localhost:8018"  "quit" >/dev/null; then \
57            echo ""; \
58            echo "There is already a running zebrasrv on localhost:8018"; \
59            echo "You may need to run: killall zebrasrv-2.0"; \
60            false; \
61         else \
62            true; \
63         fi
64
65 start-zebra: check-running-zebrasrv
66         zebrasrv-2.0 -f $$(pwd)/yazserver.xml > ${ZEBRA_LOGFILE} 2>&1 &
67
68 stop-zebra:
69         kill `cat ${ZEBRA_PID_FILE}`
70         sleep 0.5
71         -kill -9 `cat ${ZEBRA_PID_FILE}`
72
73 check: newdb start-zebra dump stop-zebra distclean
74
75 distclean: clean
76         rm -rf ${IRSPY_ARCHIVE} ${ZEBRA_DIR} ${ZEBRA_DIR} ${ZEBRA_TEST_DIR} ${ZEBRA_LOGFILE}
77
78 help:
79         @echo "make [ newdb | newdb-test | dump | check ]"
80         @echo "     [ start-zebra | stop-zebra ]"
81         @echo "     [ clean | distclean ]"
82