#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.

patches     = patches-applied

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

# This is the debhelper compatability version to use.
export DH_COMPAT=3

# not www-data.  remember to sync with postinst.
TWIKI_OWNER=www-data

configure: configure-stamp
configure-stamp:
	dh_testdir
# Add here commands to configure the package.


	touch configure-stamp

build: build-stamp

build-stamp: configure-stamp 
	dh_testdir

# Add here commands to compile the package.
#	$(MAKE)
#/usr/bin/docbook-to-man debian/twiki.sgml > twiki.1

	touch build-stamp

clean:
	dh_testdir
	dh_testroot
	test -f $(patches)      # maintainer sanity check
	find . -name '*~' -print0 | xargs -0 rm -f
	rm -f build-stamp configure-stamp

# Add here commands to clean up after the build process.
#	-$(MAKE) clean

	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

# Add here commands to install the package into debian/twiki.
#	 $(MAKE) install DESTDIR=$(CURDIR)/debian/twiki
# skips .htaccess.txt
	cp -r bin/* debian/twiki/usr/lib/cgi-bin/twiki

	cp bin/.htaccess.txt debian/twiki/etc/twiki/.htaccess
	#fix up the paths  in the .htaccess file

	perl -pi~ -e 's|^(AuthUserFile).*|\1 /var/lib/twiki/data/\.htpasswd|;' debian/twiki/etc/twiki/.htaccess
	perl -pi~ -e 's|^(ErrorDocument 401).*|\1 /cgi-bin/twiki/oops/TWiki/TWikiRegistration?template=oopsauth$2|;' debian/twiki/etc/twiki/.htaccess
	rm debian/twiki/etc/twiki/.htaccess~
	#ln -s debian/twiki/usr/lib/cgi-bin/twiki/.htaccess~

	# not needed, with statoverride?
	chmod 755 debian/twiki/usr/lib/cgi-bin/twiki/*
	chmod 644 debian/twiki/usr/lib/cgi-bin/twiki/setlib.cfg
#	chown $(TWIKIOWNER) debian/twiki/usr/lib/cgi-bin/twiki/*
	cp -Rp pub/* debian/twiki/var/www/twiki/pub
	cp -pR templates debian/twiki/var/lib/twiki/
	cp -pR data/* debian/twiki/var/lib/twiki/data
	rm debian/twiki/var/lib/twiki/data/debug.txt
	rm debian/twiki/var/lib/twiki/data/warning.txt
# change the unix owners -- don't bother, tar --owner does it
# so now we don't even care if TWIKI_OWNER exists at build time
#	chown -R $(TWIKI_OWNER) debian/twiki/var/lib/twiki/data
# and change the RCS lock owners to match
	find debian/twiki/var/lib/twiki/data -type f -name '*,v' | \
	  xargs -n1 perl -pi -e 's/^(\s)nobody:/\1$(TWIKI_OWNER):/ unless $$done; $$done=1 if /^\n$$/;'
	tar -cf - -C debian/twiki var/lib/twiki/data \
		| tarcust --owner=$(TWIKI_OWNER) --group=www-data \
		| gzip -c -9 > debian/twiki/usr/share/doc/twiki/twiki-data.tar.gz
	rm -rf debian/twiki/var/lib/twiki/data

#do the same with pub - it should also only be replaced if there is none there already
# and it needs to be owned by $(TWIKI_OWNER)
	find debian/twiki/var/www/twiki/pub -type f -name '*,v' | \
	  xargs -n1 perl -pi -e 's/^(\s)nobody:/\1$(TWIKI_OWNER):/ unless $$done; $$done=1 if /^\n$$/;'
	tar -cf - -C debian/twiki var/www/twiki/pub \
		| tarcust --owner=$(TWIKI_OWNER) --group=www-data \
		| gzip -c -9 > debian/twiki/usr/share/doc/twiki/twiki-pub.tar.gz
	rm -rf debian/twiki/var/www/twiki/pub

	cp -pR lib/* debian/twiki/usr/share/perl5/
	rm -r debian/twiki/usr/share/perl5/Algorithm
	cp -p debian/apache.conf debian/twiki/etc/twiki/

#!!!!why does this not work?
	#fix up the paths to egrep and fgrep
#	perl -pi~ -e 's|^(\$egrepCmd).*|$1 = \"/usr/bin/egrep\"|;' debian/twiki/usr/share/perl5/TWiki.cfg
	perl -pi~ -e 's|^(.egrepCmd).*=.*|\1 = \"/bin/egrep\";|;' debian/twiki/usr/share/perl5/TWiki.cfg
	perl -pi~ -e 's|^(.fgrepCmd).*|\1 = \"/bin/fgrep\";|;' debian/twiki/usr/share/perl5/TWiki.cfg

	#set up the TWiki.cfg options
	perl -pi~ -e 's|^(.defaultUrlHost).*|\1 = \"http://localhost\";|;' debian/twiki/usr/share/perl5/TWiki.cfg
	perl -pi~ -e 's|^(.scriptUrlPath).*|\1 = \"/cgi-bin/twiki\";|;' debian/twiki/usr/share/perl5/TWiki.cfg
	perl -pi~ -e 's|^(.pubUrlPath).*|\1 = \"/twiki/pub\";|;' debian/twiki/usr/share/perl5/TWiki.cfg
	perl -pi~ -e 's|^(.pubDir).*|\1 = \"/var/www/twiki/pub\";|;' debian/twiki/usr/share/perl5/TWiki.cfg
	perl -pi~ -e 's|^(.templateDir).*|\1 = \"/var/lib/twiki/templates\";|;' debian/twiki/usr/share/perl5/TWiki.cfg
	perl -pi~ -e 's|^(.dataDir).*|\1 = \"/var/lib/twiki/data\";|;' debian/twiki/usr/share/perl5/TWiki.cfg
	perl -pi~ -e 's|^(.logDir).*|\1 = \"/var/log/twiki\";|;' debian/twiki/usr/share/perl5/TWiki.cfg
#use RcsLite
#	perl -pi~ -e 's|^(.storeTopicImpl\s*=\s*\"RcsWrap\").*|\#\1;|;' debian/twiki/usr/share/perl5/TWiki.cfg
#	perl -pi~ -e 's|^\#(.storeTopicImpl\s*=\s*\"RcsLite\").*|\1;|;' debian/twiki/usr/share/perl5/TWiki.cfg
#	perl -pi~ -e 's|^(.something).*|\1 = \"\";|;' debian/twiki/usr/share/perl5/TWiki.cfg

	rm debian/twiki/usr/share/perl5/TWiki.cfg~
#move twiki.cfg to /etc/twiki
	mv debian/twiki/usr/share/perl5/TWiki.cfg debian/twiki/etc/twiki/TWiki.cfg

# fix paths for index.html
	perl -pi~ -e 's|\./bin/view/Main/WebHome|/cgi-bin/twiki/view/Main/WebHome|;' index.html

# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build install
	dh_testdir
	dh_testroot
	dh_installdebconf	
	dh_installdocs -Xlicense.txt
	dh_installexamples
	dh_installmenu
#	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
#	dh_installinit
	dh_installcron
	dh_installman
	dh_installinfo
#	dh_undocumented
	dh_installchangelogs 
	dh_link
	dh_strip
	dh_compress
	dh_fixperms # --exclude /var/www/twiki/data
#	dh_makeshlibs
	dh_installdeb
	dh_perl
#	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

# maintainer targets
patch:
	test ! -f $(patches) # already patched
	ls debian/patches/* >$(patches)
	cat `cat $(patches)` | patch -p0

unpatch:
	test -f $(patches) # not patched
	cat `tac $(patches)` | patch -Rp0
	rm -f $(patches)


binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure patch unpatch
