scripts_dir := $(DESTDIR)/usr/lib/debbugs
perl_dir := $(DESTDIR)/usr/share/perl5/Debbugs
doc_dir := $(DESTDIR)/usr/share/doc/debbugs
+templates_dir := $(DESTDIR)/usr/share/debbugs/templates
man_dir := $(DESTDIR)/usr/share/man
man8_dir := $(man_dir)/man8
examples_dir := $(doc_dir)/examples
-scripts_in := $(filter-out scripts/config.in scripts/errorlib.in scripts/text.in, $(wildcard scripts/*.in))
+scripts_in = $(foreach script, $(filter-out scripts/config% scripts/errorlib scripts/text, $(wildcard scripts/*)),$(patsubst scripts/%,%,$(script)))
htmls_in := $(wildcard html/*.html.in)
cgis := $(wildcard cgi/*.cgi cgi/*.pl)
install_exec := install -m755 -p
install_data := install -m644 -p
+PERL ?= /usr/bin/perl
+
+all: build test
+
+build:
+ $(PERL) Makefile.PL
+ $(MAKE) -f Makefile.perl
+
test:
- perl -MTest::Harness -I. -e 'runtests(glob(q(t/*.t)))'
+ $(PERL) -MTest::Harness -I. -e 'runtests(glob(q(t/*.t)))'
+
+test_%: t/%.t
+ $(PERL) -MTest::Harness -I. -e 'runtests(q($<))'
+
+testcover:
+ PERLLIB=t/cover_lib/ cover -test
+
+clean:
+ if [ -e Makefile.perl ]; then \
+ $(MAKE) -f Makefile.perl clean; \
+ fi;
install: install_mostfiles
# install basic debbugs documentation
for dir in $(sbin_dir) $(etc_dir)/html $(etc_dir)/indices \
$(var_dir)/indices $(var_dir)/www/cgi $(var_dir)/www/db $(var_dir)/www/txt \
$(var_dir)/spool/lock $(var_dir)/spool/archive $(var_dir)/spool/incoming \
-$(var_dir)/spool/db-h $(scripts_dir) $(perl_dir) $(examples_dir) $(man8_dir); \
+$(var_dir)/spool/db-h $(scripts_dir) $(examples_dir) $(man8_dir); \
do test -d $$dir || $(install_exec) -d $$dir; done
-
+# we shouldn't ship db-h spool directories
# make db-h spool dirs if they don't exist
- cd $(var_dir)/spool/db-h; \
- for dir in $(shell seq -w 00 99); \
- do test -d $$dir || $(install_exec) -d $$dir; done
+# cd $(var_dir)/spool/db-h; \
+# for dir in $(shell seq -w 00 99); \
+# do test -d $$dir || $(install_exec) -d $$dir; done
+
# install the scripts
- $(foreach script,$(scripts_in), $(install_exec) $(script) $(scripts_dir)/$(patsubst scripts/%.in,%,$(script));)
- $(install_data) scripts/errorlib.in $(scripts_dir)/errorlib
+ $(foreach script,$(scripts_in), $(install_exec) scripts/$(script) $(scripts_dir);)
+ $(install_data) scripts/errorlib $(scripts_dir)/errorlib
# install examples
- $(install_data) scripts/config.in $(examples_dir)/config
+ $(install_data) scripts/config $(examples_dir)/config
$(install_data) scripts/config.debian $(examples_dir)/config.debian
- $(install_data) scripts/text.in $(examples_dir)/text
+ $(install_data) scripts/text $(examples_dir)/text
$(install_data) debian/crontab misc/nextnumber misc/Maintainers \
misc/Maintainers.override misc/pseudo-packages.description \
misc/sources $(examples_dir)
# install the CGIs
for cgi in $(cgis); do $(install_exec) $$cgi $(var_dir)/www/cgi; done
- $(install_exec) cgi/bugs-fetch2.pl.in $(var_dir)/www/cgi/bugs-fetch2.pl
+ $(install_exec) cgi/bugs-fetch2.pl $(var_dir)/www/cgi/bugs-fetch2.pl
# # install Perl modules
# for perl in $(perls); do $(install_data) $$perl $(perl_dir); done
# install the updateseqs file
$(install_data) misc/updateseqs $(var_dir)/spool
-.PHONY: test
\ No newline at end of file
+ # install the templates
+ $(foreach dir, $(wildcard templates/*/*), $(install_exec) -d $(templates_dir)/$(patsubst templates/%,%,$(dir));)
+ $(foreach tmpl, $(wildcard templates/*/*/*.tmpl), $(install_data) $(tmpl) $(templates_dir)/$(patsubst templates/%,%,$(tmpl));)
+
+
+.PHONY: test build