4 # Uncomment this to turn on verbose mode.
7 # If set to a true value then MakeMaker's prompt function will
8 # always return the default without waiting for user input.
9 #export PERL_MM_USE_DEFAULT=1
12 #PACKAGE = $(shell dh_listpackages)
14 TMP = $(CURDIR)/debian/$(PACKAGE)
15 #DBC_SCRIPTS = $(TMP)/usr/share/dbconfig-common/scripts/freeside
17 ##this is gotten from dbconfig-common
21 DATASOURCE = DBI:${DB_TYPE}:dbname=freeside
23 #no chance, it doesn't get backslash-interpolted now...
24 ##DEBVERSION = `head -1 debian/changelog | cut -d')' -f1 | cut -c11-`
25 #DEBVERSION = 1.7.3~rc2-1
26 #export VERSION = $(DEBVERSION) (Debian)
28 #export FREESIDE_CONF = /etc/freeside
29 #export FREESIDE_LOG = /var/log/freeside
30 #export FREESIDE_LOCK = /var/lock/freeside
31 #export FREESIDE_CACHE = $(TMP)/var/cache/freeside
32 #FREESIDE_CACHE = $(TMP)/var/cache/freeside
35 #export FREESIDE_EXPORT = /var/spool/freeside
37 export FREESIDE_CONF = $(TMP)/usr/local/etc/freeside
38 export FREESIDE_LOG = $(TMP)/usr/local/etc/freeside
39 export FREESIDE_LOCK = $(TMP)/usr/local/etc/freeside
40 export FREESIDE_CACHE = $(TMP)/usr/local/etc/freeside
41 export FREESIDE_EXPORT = $(TMP)/usr/local/etc/freeside
42 export FREESIDE_SS = $(TMP)/usr/share/docs/freeside
43 export DIST_CONF = ${FREESIDE_CONF}/default_conf
46 #export MASON_HANDLER = /usr/share/freeside/handler.pl
47 export MASON_HANDLER=$(TMP)-webui/usr/local/etc/freeside/handler.pl
49 #export FREESIDE_DOCUMENT_ROOT = /usr/share/freeside/www
50 export FREESIDE_DOCUMENT_ROOT = $(TMP)-webui/var/www/freeside
51 export INIT_FILE = $(TMP).init
52 export INIT_INSTALL = /bin/true
53 export HTTPD_RESTART = /bin/true
54 #export APACHE_CONF = /etc/apache2/conf.d
55 export APACHE_CONF = $(TMP)-webui/etc/freeside/apache2
56 export FREESIDE_RESTART = /bin/true
59 export INSTALLGROUP = adm
61 export SELFSERVICE_MACHINES =
63 #prompt ? XXX these are runtime, not buildtime :/
64 export RT_DOMAIN = freeside.biz
65 export RT_TIMEZONE = US/Eastern
66 export HOSTNAME = localhost
67 export FREESIDE_URL = http://$(HOSTNAME)/freeside/
69 #specific to deb pkg, for purposes of saving off a permanent copy of default
70 #config for postinst and that sort of thing
71 #export DIST_CONF = /usr/share/freeside/default_conf
73 #XXX yuck. proper RT layout is entirely necessary
74 #this seems to infect way to much of RT with the build location, requiring
75 # a kludge to hack it out afterwords. look into using fakeroot (didn't
76 # realize it would need to be explicit argh)
77 # (but leaving it for now, otherwise can't get RT to put files where we need em)
78 export RT_PATH = $(TMP)/opt/rt3
80 # This has to be exported to make some magic below work.
83 configure: configure-stamp
86 # Add here commands to configure the package.
94 # Add commands to compile the package here
96 ( cd FS/ && $(PERL) Makefile.PL INSTALLDIRS=vendor && $(MAKE) )
98 #install this for freeside-setup
99 install -d $(DIST_CONF)
100 install `ls -d conf/[a-z]* | grep -v CVS | grep -v '^conf/registries'` $(DIST_CONF)
109 dh_clean build-stamp install-stamp
111 # Add here commands to clean up after the build process.
113 #|| true #XXX freeside clean target fucked
117 install: install-stamp
118 install-stamp: build-stamp
124 # Add here commands to install package into
125 # debian/<package>-whatever.
127 install -d $(FREESIDE_DOCUMENT_ROOT)
128 install -d $(TMP)-webui/usr/local/etc/freeside/
129 install -d $(TMP)/usr/local/etc/freeside/
130 install -d $(FREESIDE_CACHE)/masondata #MASONDATA
131 # install -d $(TMP)-lib/usr/bin
133 ( cd FS/ && $(MAKE) -e DESTDIR=${TMP}-lib install)
135 # Install configuration files
136 install -d -o freeside ${FREESIDE_CONF}
138 touch ${FREESIDE_CONF}/secrets
139 chown freeside ${FREESIDE_CONF}/secrets
140 chmod 600 ${FREESIDE_CONF}/secrets
142 /bin/echo -e "${DATASOURCE}\n${DB_USER}\n${DB_PASSWORD}" >${FREESIDE_CONF}/secrets
143 chmod 600 ${FREESIDE_CONF}/secrets
144 chown freeside ${FREESIDE_CONF}/secrets
146 mkdir "${FREESIDE_CACHE}/counters.${DATASOURCE}"
147 chown freeside "${FREESIDE_CACHE}/counters.${DATASOURCE}"
149 mkdir "${FREESIDE_CACHE}/cache.${DATASOURCE}"
150 chown freeside "${FREESIDE_CACHE}/cache.${DATASOURCE}"
152 mkdir "${FREESIDE_EXPORT}/export.${DATASOURCE}"
153 chown freeside "${FREESIDE_EXPORT}/export.${DATASOURCE}"
155 #install this for freeside-setup
156 install -d $(DIST_CONF)
157 #install conf/[a-z]* $(DEFAULT_CONF)
159 install `ls -d conf/[a-z]* | grep -v CVS | grep -v '^conf/registries'` $(DIST_CONF)
162 $(MAKE) -e DESTDIR=$(TMP)-webui install-docs
164 # Create Apache configurations
165 install -d $(APACHE_CONF)
166 $(MAKE) -e DESTDIR=$(APACHE_CONF) install-apache
168 #Hack the build dir out of apache config
171 s'${TMP}(-webui)?''g;\
172 " $(TMP)-webui/etc/freeside/apache2/*
175 $(MAKE) -e DESTDIR=$(TMP) install-init
177 #hack the build dir out of Freeside too. oh yeah, sucky.
179 s'${TMP}(-webui)?''g;\
180 " ${TMP}/usr/local/etc/freeside/handler.pl \
181 ${TMP}/usr/share/perl5/FS/* \
182 ${TMP}/usr/share/perl5/FS/*/* \
185 #hack the build dur out of lib
188 s'${TMP}(-webui)?''g;\
189 " ${TMP}/usr/local/etc/freeside/handler.pl \
190 ${TMP}-lib/usr/share/perl5/FS/*.pm \
191 ${TMP}-lib/usr/share/perl5/FS/*/*.pm
193 #hack the build dir out of Freeside binaries
197 " ${TMP}-lib/usr/bin/* \
198 ${TMP}-webui/usr/local/etc/freeside/handler.pl
203 cp config.layout.in config.layout; \
205 s'%%%FREESIDE_DOCUMENT_ROOT%%%'${FREESIDE_DOCUMENT_ROOT}'g;\
206 s'%%%MASONDATA%%%'${FREESIDE_CACHE}/masondata'g;\
208 ./configure --prefix=${RT_PATH} \
209 --enable-layout=Freeside \
211 --with-db-dba=freeside \
212 --with-db-database=freeside \
213 --with-db-rt-user=freeside \
214 --with-db-rt-pass="" \
215 --with-web-user=freeside \
216 --with-web-group=freeside \
217 --with-rt-group=freeside \
218 --with-web-handler=modperl2 )
221 #$(MAKE) -e DESTDIR=${TMP}-lib create-rt
222 install -d $(RT_PATH)
223 install -d $(RT_PATH)/share
225 ( cd rt; $(MAKE) install )
227 ##hack the build dir out of RT. yeah, sucky.
230 s'${TMP}(-webui)''g;\
232 " ${TMP}/opt/rt3/etc/*.pm \
233 ${TMP}/opt/rt3/lib/*.pm \
234 ${TMP}/opt/rt3/lib/RT/*.pm \
235 ${TMP}/opt/rt3/etc/upgrade/* \
236 ${TMP}/opt/rt3/sbin/* \
237 ${TMP}/opt/rt3/bin/* \
239 # Default RT Settings
241 s'%%%RT_DOMAIN%%%'${RT_DOMAIN}'g;\
242 s'%%%RT_TIMEZONE%%%'${RT_TIMEZONE}'g;\
243 s'%%%FREESIDE_URL%%%'${FREESIDE_URL}'g;\
244 " ${RT_PATH}/etc/RT_SiteConfig.pm
251 # We have nothing to do here for an architecture-independent package
253 binary-indep: build install
256 dh_installdeb install
257 dh_installdocs #freeside.docs README AGPL
258 dh_installexamples eg/*
261 # dh_installlogrotate
262 dh_installinit --no-start
274 binary: binary-indep binary-arch
275 .PHONY: build clean binary-indep binary-arch binary install