#export MASON_HANDLER = /usr/share/freeside/handler.pl
export MASON_HANDLER=$(TMP)-webui/usr/local/etc/freeside/handler.pl
-#export FREESIDE_DOCUMENT_ROOT = /usr/share/freeside/www
-export FREESIDE_DOCUMENT_ROOT = $(TMP)-webui/var/www/freeside
+export APACHE_VERSION := $(shell /usr/sbin/apache2 -v | grep -q '\/2\.4\.' && echo '2.4' || echo '2')
+export APACHE_DOCUMENT_ROOT := $(shell [ ${APACHE_VERSION} = '2.4' ] && echo '/var/www/html' || echo '/var/www')
+export FREESIDE_DOCUMENT_ROOT = $(TMP)-webui$(APACHE_DOCUMENT_ROOT)/freeside
export INIT_FILE = $(TMP).init
export INIT_INSTALL = /bin/true
export HTTPD_RESTART = /bin/true
-#export APACHE_CONF = /etc/apache2/conf.d
-export APACHE_CONF = $(TMP)-webui/etc/freeside/apache2
+export APACHE_CONF := $(shell [ ${APACHE_VERSION} = '2.4' ] && echo "$(TMP)-webui/etc/apache2/conf-available" || echo "$(TMP)-webui/etc/apache2/conf.d")
+export TORRUS_CONF := $(shell [ ${APACHE_VERSION} = '2.4' ] && echo "$(TMP)-torrus/etc/apache2/conf-available" || echo "$(TMP)-torrus/etc/apache2/conf.d")
export FREESIDE_RESTART = /bin/true
#XXX root?
# a kludge to hack it out afterwords. look into using fakeroot (didn't
# realize it would need to be explicit argh)
# (but leaving it for now, otherwise can't get RT to put files where we need em)
-export RT_PATH = $(TMP)/opt/rt3
+export RT_PATH = $(TMP)-lib/opt/rt3
+
+export TEXMF_PATH = $(TMP)-lib/usr/local/share/texmf/tex/latex
# This has to be exported to make some magic below work.
export DH_OPTIONS
install -d $(FREESIDE_DOCUMENT_ROOT)
install -d $(TMP)-webui/usr/local/etc/freeside/
+ install -d $(TMP)-webui/etc/insserv/overrides/
install -d $(TMP)/usr/local/etc/freeside/
- install -d $(FREESIDE_CACHE)/masondata #MASONDATA
# install -d $(TMP)-lib/usr/bin
( cd FS/ && $(MAKE) -e DESTDIR=${TMP}-lib install)
$(MAKE) -e DESTDIR=$(TMP)-webui install-docs
# Install tex
- install -D -o freeside -m 444 etc/longtable.sty \
- $(TMP)-lib/usr/local/share/texmf/tex/latex/longtable.sty
- texhash $(TMP)-lib/usr/local/share/texmf
+ install -d ${TEXMF_PATH}
+ install -o freeside -m 444 etc/*.sty ${TEXMF_PATH}
# Create Apache configurations
install -d $(APACHE_CONF)
$(MAKE) -e DESTDIR=$(APACHE_CONF) install-apache
+ install -o root -m 755 init.d/insserv-override-apache2 $(TMP)-webui/etc/insserv/overrides/apache2
#Hack the build dir out of apache config
perl -p -i -e "\
s'${TMP}(-webui)?''g;\
- " $(TMP)-webui/etc/freeside/apache2/*
+ " $(APACHE_CONF)/*
# Install init
$(MAKE) -e DESTDIR=$(TMP) install-init
" ${TMP}-lib/usr/bin/* \
${TMP}-webui/usr/local/etc/freeside/handler.pl
- #Self-service
+ # Self-service
( cd fs_selfservice/FS-SelfService/; $(MAKE) -e DESTDIR=${TMP}-selfservice-lib install )
- install -d -o freeside ${TMP}-selfservice-lib/usr/local/freeside
+ install -d -o freeside -g freeside ${TMP}-selfservice-lib/usr/local/freeside
touch ${TMP}-selfservice-lib/usr/local/freeside/selfservice_socket
chown -R freeside ${TMP}-selfservice-lib/usr/local/freeside
chmod 600 ${TMP}-selfservice-lib/usr/local/freeside/selfservice_socket
- install -d ${TMP}-selfservice-ui/var/www/
- cp -R fs_selfservice/FS-SelfService/cgi ${TMP}-selfservice-ui/var/www/selfservice-DIST
+ install -d -o freeside -g freeside ${TMP}-selfservice-ui$(APACHE_DOCUMENT_ROOT)/
+ cp -R fs_selfservice/FS-SelfService/cgi ${TMP}-selfservice-ui$(APACHE_DOCUMENT_ROOT)/selfservice-DIST
+ chown freeside.freeside ${TMP}-selfservice-ui$(APACHE_DOCUMENT_ROOT)/selfservice-DIST/*.cgi ${TMP}-selfservice-ui$(APACHE_DOCUMENT_ROOT)/selfservice-DIST/*/*.cgi;
+ chmod 755 ${TMP}-selfservice-ui$(APACHE_DOCUMENT_ROOT)/selfservice-DIST/*.cgi ${TMP}-selfservice-ui$(APACHE_DOCUMENT_ROOT)/selfservice-DIST/*/*.cgi
+
+ # NG-selfservice
- #NG-selfservice
+ install -d ${TMP}-ng-selfservice$(APACHE_DOCUMENT_ROOT)/
+ cp -R ng_selfservice ${TMP}-ng-selfservice$(APACHE_DOCUMENT_ROOT)/ng_selfservice-DIST/
- install -d ${TMP}-ng-selfservice/var/www/
- cp -R ng_selfservice ${TMP}-ng-selfservice/var/www/ng_selfservice-DIST/
+ # Torrus
+
+ install -d ${TORRUS_CONF}
+ install -o root -m 755 htetc/freeside-torrus.conf $(TORRUS_CONF)/
+
+ ( cd torrus; \
+ torrus_user=freeside var_user=freeside var_group=freeside ./configure; \
+ $(MAKE) -e DESTDIR=${TMP}-torrus/; \
+ $(MAKE) -e DESTDIR=${TMP}-torrus/ install; \
+ perl -p -i -e "\
+ s'%%%FREESIDE_URL%%%'${FREESIDE_URL}'g;\
+ " ${TMP}-torrus/usr/local/etc/torrus/conf/torrus-siteconfig.pl )
#RT Config
install -d $(RT_PATH)
install -d $(RT_PATH)/share
- ( cd rt; $(MAKE) install )
+ ( cd rt; $(MAKE) config-install dirs files-install fixperms instruct )
+ cp -r rt/share/static/images ${FREESIDE_DOCUMENT_ROOT}/rt/NoAuth/
##hack the build dir out of RT. yeah, sucky.
perl -p -i -e "\
- s'${TMP}(-webui)''g;\
+ s'${TMP}(-webui|-lib)''g;\
s'${TMP}''g;\
- " ${TMP}/opt/rt3/etc/*.pm \
- ${TMP}/opt/rt3/lib/*.pm \
- ${TMP}/opt/rt3/lib/RT/*.pm \
- ${TMP}/opt/rt3/etc/upgrade/* \
- ${TMP}/opt/rt3/sbin/* \
- ${TMP}/opt/rt3/bin/* \
+ " ${TMP}-lib/opt/rt3/etc/*.pm \
+ ${TMP}-lib/opt/rt3/lib/*.pm \
+ ${TMP}-lib/opt/rt3/lib/RT/*.pm \
+ ${TMP}-lib/opt/rt3/etc/upgrade/* \
+ ${TMP}-lib/opt/rt3/sbin/* \
+ ${TMP}-lib/opt/rt3/bin/* \
# Default RT Settings
perl -p -i -e "\
dh_testroot
dh_installdeb install
dh_installdocs #freeside.docs README AGPL
- dh_installexamples eg/*
+ dh_installexamples eg bin
# dh_installmenu
dh_installdebconf
# dh_installlogrotate
dh_perl
dh_link
dh_compress
- dh_fixperms
+ dh_fixperms -X/var/www/selfservice-DIST -X/usr/local/freeside
dh_gencontrol
dh_md5sums
dh_builddeb