]> git.donarmstrong.com Git - debbugs.git/blob - Makefile
* Call the tests during package build
[debbugs.git] / Makefile
1 # top-level Makefile for debbugs
2 # probably requires GNU make to run properly
3
4 sbin_dir        := $(DESTDIR)/usr/sbin
5 etc_dir         := $(DESTDIR)/etc/debbugs
6 var_dir         := $(DESTDIR)/var/lib/debbugs
7 scripts_dir     := $(DESTDIR)/usr/lib/debbugs
8 perl_dir        := $(DESTDIR)/usr/share/perl5/Debbugs
9 doc_dir         := $(DESTDIR)/usr/share/doc/debbugs
10 man_dir         := $(DESTDIR)/usr/share/man
11 man8_dir        := $(man_dir)/man8
12 examples_dir    := $(doc_dir)/examples
13
14 scripts_in      := $(filter-out scripts/config.in scripts/errorlib.in scripts/text.in, $(wildcard scripts/*.in))
15 htmls_in        := $(wildcard html/*.html.in)
16 cgis            := $(wildcard cgi/*.cgi cgi/*.pl)
17 perls           := $(foreach name,Log MIME Mail Packages Versions,Debbugs/$(name).pm)
18
19 install_exec    := install -m755 -p
20 install_data    := install -m644 -p
21
22 test:
23         perl -MTest::Harness -I. -e 'runtests(glob(q(t/*.t)))'
24
25 install: install_mostfiles
26         # install basic debbugs documentation
27         $(install_data) COPYING UPGRADE README debian/README.mail $(doc_dir)
28
29         # configure debbugs
30         $(sbin_dir)/debbugsconfig
31
32 install_mostfiles:
33         # create the directories if they aren't there
34         for dir in $(sbin_dir) $(etc_dir)/html $(etc_dir)/indices \
35 $(var_dir)/indices $(var_dir)/www/cgi $(var_dir)/www/db $(var_dir)/www/txt \
36 $(var_dir)/spool/lock $(var_dir)/spool/archive $(var_dir)/spool/incoming \
37 $(var_dir)/spool/db-h $(scripts_dir) $(perl_dir) $(examples_dir) $(man8_dir); \
38           do test -d $$dir || $(install_exec) -d $$dir; done
39
40         # make db-h spool dirs if they don't exist
41         cd $(var_dir)/spool/db-h; \
42           for dir in $(shell seq -w 00 99); \
43             do test -d $$dir || $(install_exec) -d $$dir; done
44
45         # install the scripts
46         $(foreach script,$(scripts_in), $(install_exec) $(script) $(scripts_dir)/$(patsubst scripts/%.in,%,$(script));)
47         $(install_data) scripts/errorlib.in $(scripts_dir)/errorlib
48
49         # install examples
50         $(install_data) scripts/config.in $(examples_dir)/config
51         $(install_data) scripts/config.debian $(examples_dir)/config.debian
52         $(install_data) scripts/text.in $(examples_dir)/text
53         $(install_data) debian/crontab misc/nextnumber misc/Maintainers \
54           misc/Maintainers.override misc/pseudo-packages.description \
55           misc/sources $(examples_dir)
56         $(install_data) examples/apache.conf $(examples_dir)
57
58         # install the HTML pages etc
59         $(foreach html, $(htmls_in), $(install_data) $(html) $(etc_dir)/html;)
60         $(install_data) html/htaccess $(var_dir)/www/db/.htaccess
61         $(install_data) html/bugs.css $(var_dir)/www/bugs.css
62
63         # install the CGIs
64         for cgi in $(cgis); do $(install_exec) $$cgi $(var_dir)/www/cgi; done
65         $(install_exec) cgi/bugs-fetch2.pl.in $(var_dir)/www/cgi/bugs-fetch2.pl
66
67         # install Perl modules
68         for perl in $(perls); do $(install_data) $$perl $(perl_dir); done
69
70         # install debbugsconfig
71         $(install_exec) debian/debbugsconfig $(sbin_dir)
72         $(install_data) debian/debbugsconfig.8 $(man8_dir)
73         # install migration tools
74         $(install_exec) migrate/debbugs-dbhash $(sbin_dir)
75         $(install_data) migrate/debbugs-dbhash.8 $(man8_dir)
76         $(install_exec) migrate/debbugs-upgradestatus $(sbin_dir)
77
78         # install the updateseqs file
79         $(install_data) misc/updateseqs $(var_dir)/spool
80
81 .PHONY: test