]> pd.if.org Git - newsd/blob - Makefile
Let database figure out close time for connection.
[newsd] / Makefile
1 PSQL=psql -q -1 --set ON_ERROR_STOP=1 -d news
2
3 default:        test
4
5 all: postgres
6
7 configdl:       active newsgroups control.ctl
8
9 reset: stop preserve start
10
11 load: stop newsdb schema activesync start
12
13 active newsgroups:
14         wget -N ftp://ftp.isc.org/pub/usenet/CONFIG/$@.bz2
15         bzip2 -dfk $@.bz2
16
17 control.ctl:
18         wget -N ftp://ftp.isc.org/pub/usenet/CONFIG/$@
19
20 newsdb:
21         -dropdb news
22         createdb -O news -T template0 -E SQL_ASCII news
23         $(PSQL) -c 'alter database news set search_path to nntp,public'
24         $(PSQL) -c 'alter database news set client_min_messages to warning'
25
26 preserve:
27         sudo su -c 'psql -1 --set ON_ERROR_STOP=1 -U news -d news -f preserve.sql' news
28
29 activesync:     loadactive loadnewsgroups
30
31 loadactive:     active
32         cat active | DBI_DSN='dbi:Pg:dbname=news' perl convactive
33         touch $@
34
35 loadnewsgroups: newsgroups
36         cat newsgroups |DBI_DSN='dbi:Pg:dbname=news' perl convnewsgroups
37         touch $@
38
39 testserver:
40         -test -f newsd.pid && kill `cat newsd.pid`
41         rm -f news.log
42         PERL5LIB=./Net-Server-NNTP/lib ./newsd conf_file=test.conf
43
44 test:
45         -test -f newsd.pid && kill `cat newsd.pid`
46         rm -f news.log
47         PERL5LIB=./Net-Server-NNTP/lib ./newsd conf_file=t/test.conf
48         sleep 1
49         -prove t/*.t
50         -test -f newsd.pid && kill `cat newsd.pid`
51
52 vtest:
53         -test -f newsd.pid && kill `cat newsd.pid`
54         rm -f news.log
55         PERL5LIB=./Net-Server-NNTP/lib ./newsd conf_file=t/test.conf
56         sleep 1
57         -prove -v t/*.t
58         -test -f newsd.pid && kill `cat newsd.pid`
59
60 schema:
61         (echo 'set role news;'; cat schema.sql) | $(PSQL) 
62
63 startsingle:
64         sudo ./newsd log_level=3 server_type=Single
65
66 start:
67         sudo ./newsd log_level=2
68
69 stop:
70         -sudo sh -c "kill `cat /var/run/news/newsd.pid`"
71
72 restart: stop start
73
74 .PHONY: active newsgroups control.ctl configdl