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

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

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

INSTBASEDIR=$(CURDIR)/debian/ezpublish-src
INSTSRCDIR=$(INSTBASEDIR)/usr/src/ezpublish
INSTLIBDIR=$(INSTBASEDIR)/usr/share/ezpublish
INSTDOCDIR=$(INSTBASEDIR)/usr/share/doc/ezpublish-src
TARGETS=lib www install data
BINFILES=clearcache.sh modfix.sh secure_clearcache.sh secure_modfix.sh

LANGS=`find classes/locale -name '*.ini' ! -name 'en_GB.ini' -exec basename '{}' '.ini' \;`

install_file=install -p -m 0644
install_bin=install -p -m 0755
install_dir=install -p -d -m 0755

findclean=sed 's!^\./!!'|egrep -v '^(ezexample|ezsysinfo|upgrade|checklists|installation)'
tar=tar --append --mode='a=r,u+w,a+X'
tar_del=tar --delete
tar_list=tar --list

build:
	chmod 0755 debian/localezcreate
## Don't build the following for now: dvi latex
#	for output in ps pdf text; do \
#		lyx -e $$output installation/INSTALL.lyx; \
#		done

clean:
	dh_testdir
	dh_testroot

#	rm -f installation/INSTALL.dvi  installation/INSTALL.pdf  installation/INSTALL.ps  \
#		installation/INSTALL.tex  installation/INSTALL.txt

	dh_clean

install: build
	dh_testdir
	dh_testroot
	dh_clean -k
	dh_installdirs

	# Install shared php code
	for ext in php inc hlp; do \
		$(tar) -f $(INSTSRCDIR)/lib.tar `find . -type f -name "*.$$ext"|$(findclean)`; \
	done
	$(tar) -f $(INSTSRCDIR)/lib.tar site.ini sitedir.ini

	# Install language files
	for lang in $(LANGS); do \
		for filematch in `find . -type f -name "*.ini" | $(findclean) | grep $$lang`; do \
			$(tar) -f $(INSTSRCDIR)/lang/$$lang.tar $$filematch; \
		done; \
		for filematch in `$(tar_list) -f $(INSTSRCDIR)/lib.tar | grep $$lang`; do \
			$(tar_del) -f $(INSTSRCDIR)/lib.tar $$filematch; \
			$(tar) -f $(INSTSRCDIR)/lang/$$lang.tar $$filematch; \
		done; \
	done

	# Install module documentation
	for filematch in `find . -type f -name "site-ini.txt" | $(findclean)`; do \
		$(install_file) $$filematch $(INSTDOCDIR)/modules/`dirname $$filematch | xargs basename`.txt; \
	done

	# Install public accessible files
	for ext in gif css jpg png jar wbmp; do \
		$(tar) -f $(INSTSRCDIR)/www.tar `find . -type f -name "*.$$ext"|$(findclean)`; \
	done

	# Move files from lib to www
	for filematch in `$(tar_list) -f $(INSTSRCDIR)/lib.tar *.php sitedir.ini`; do \
		$(tar_del) -f $(INSTSRCDIR)/lib.tar $$filematch; \
		$(tar) -f $(INSTSRCDIR)/www.tar $$filematch; \
	done

	# Install templates
	for ext in tpl; do \
		$(tar) -f $(INSTSRCDIR)/install.tar `find . -type f -name "*.$$ext"|$(findclean)`; \
	done

	# Move files from lib to install
	for filematch in `$(tar_list) -f $(INSTSRCDIR)/lib.tar sitedesign site.ini`; do \
		$(tar_del) -f $(INSTSRCDIR)/lib.tar $$filematch; \
		$(tar) -f $(INSTSRCDIR)/install.tar $$filematch; \
	done

	# Cleanup upstream tarball
	$(install_file) data.tar.gz $(INSTSRCDIR)/data.tar.gz
	gunzip $(INSTSRCDIR)/data.tar.gz
	$(tar_del) -f $(INSTSRCDIR)/data.tar */CVS/* *.cache

	for file in $(TARGETS); do \
		gzip --best $(INSTSRCDIR)/$$file.tar; \
	done
	for file in $(LANGS); do \
		gzip --best $(INSTSRCDIR)/lang/$$file.tar; \
	done

	$(install_file) sql/*.sql $(INSTLIBDIR)/sql/

#	$(install_file) debian/apache.conf $(INSTBASEDIR)/etc/apache/include.d/ezpublish
	$(install_bin) $(BINFILES) $(INSTLIBDIR)/bin/

binary: build install
	dh_testdir
	dh_testroot
	dh_installdocs
	dh_undocumented
	dh_installexamples
	dh_installchangelogs CHANGELOG
	dh_link
	dh_compress
	dh_fixperms
	dh_installdeb
	dh_gencontrol
	dh_md5sums
	dh_builddeb

.PHONY: build clean binary install
