X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=debian%2Frules;h=a8835e5fe4c8276fd1663bd17d597f7ee1d639f1;hb=f5dc45e3e21fc7c3948dd19072fd6448984d31de;hp=71016c406868ba1a6ef7c5e7e6d85375a3b5d1c4;hpb=5fc8c5edf574ab024d4646914b6432d458e2ffbd;p=freeside.git diff --git a/debian/rules b/debian/rules index 71016c406..a8835e5fe 100755 --- a/debian/rules +++ b/debian/rules @@ -1,113 +1,240 @@ #!/usr/bin/make -f -# Sample debian/rules that uses debhelper. -# GNU copyright 1997 by Joey Hess. -# -# This version is for a hypothetical package that builds an -# architecture-dependant package, as well as an architecture-independent -# package. - -# Uncomment this to turn on verbose mode. +# -*- makefile -*- + +# Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 -# This is the debhelper compatability version to use. -export DH_COMPAT=3 +# If set to a true value then MakeMaker's prompt function will +# always return the default without waiting for user input. +#export PERL_MM_USE_DEFAULT=1 + +PERL ?= /usr/bin/perl +#PACKAGE = $(shell dh_listpackages) +PACKAGE = freeside +TMP = $(CURDIR)/debian/$(PACKAGE) +#DBC_SCRIPTS = $(TMP)/usr/share/dbconfig-common/scripts/freeside + +##this is gotten from dbconfig-common +#DB_TYPE = db_type_is_configured_during_pkg_install_by_dbconfig-common_not_at_build_time + +#no chance, it doesn't get backslash-interpolted now... +##DEBVERSION = `head -1 debian/changelog | cut -d')' -f1 | cut -c11-` +#DEBVERSION = 1.7.3~rc2-1 +#export VERSION = $(DEBVERSION) (Debian) + +#export FREESIDE_CONF = /etc/freeside +#export FREESIDE_LOG = /var/log/freeside +#export FREESIDE_LOCK = /var/lock/freeside +#export FREESIDE_CACHE = $(TMP)/var/cache/freeside +#FREESIDE_CACHE = $(TMP)/var/cache/freeside + +#XXX huh? +#export FREESIDE_EXPORT = /var/spool/freeside + +export FREESIDE_CONF = $(TMP)/usr/local/etc/freeside +export FREESIDE_LOG = $(TMP)/usr/local/etc/freeside +export FREESIDE_LOCK = $(TMP)/usr/local/etc/freeside +export FREESIDE_CACHE = $(TMP)/usr/local/etc/freeside +export FREESIDE_EXPORT = $(TMP)/usr/local/etc/freeside + +#XXX own subdir? +#export MASON_HANDLER = $(TMP)-webui/usr/share/freeside/handler.pl +export MASON_HANDLER=$(TMP)-webui/usr/local/etc/freeside/handler.pl + +#export FREESIDE_DOCUMENT_ROOT = $(TMP)-webui/usr/share/freeside/www +export FREESIDE_DOCUMENT_ROOT = $(TMP)-webui/var/www/freeside +export INIT_FILE = $(TMP).init +export INIT_INSTALL = /bin/true +export HTTPD_RESTART = /bin/true +#export APACHE_CONF = $(TMP)-webui/etc/apache2/conf.d +export APACHE_CONF = $(TMP)-webui/etc/freeside/apache2 +export FREESIDE_RESTART = /bin/true + +#XXX root? +export INSTALLGROUP = adm + +export SELFSERVICE_MACHINES = + +#prompt ? XXX these are runtime, not buildtime :/ +#export RT_DOMAIN = `dnsdomainname` +#export RT_TIMEZONE = `cat /etc/timezone` + +#export HOSTNAME = `hostname -f` +#export FREESIDE_URL = http://$(HOSTNAME)/freeside/ + +#specific to deb pkg, for purposes of saving off a permanent copy of default +#config for postinst and that sort of thing +#export DIST_CONF = $(TMP)/usr/share/freeside/default_conf + +#XXX yuck. proper RT layout is entirely necessary +#this seems to infect way to much of RT with the build location, requiring +# 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)/var/opt/freeside/rt + +# This has to be exported to make some magic below work. +export DH_OPTIONS configure: configure-stamp configure-stamp: dh_testdir # Add here commands to configure the package. - touch configure-stamp -build: configure-stamp build-stamp -build-stamp: + +build: build-stamp +build-stamp: dh_testdir + # Add commands to compile the package here + + ( cd FS/ && $(PERL) Makefile.PL INSTALLDIRS=vendor ) + + $(MAKE) -e perl-modules - # Add here commands to compile the package. - $(MAKE) + #TEST# - touch build-stamp + touch $@ clean: dh_testdir dh_testroot - rm -f build-stamp configure-stamp + dh_clean build-stamp install-stamp # Add here commands to clean up after the build process. - -$(MAKE) clean + $(MAKE) -e clean + #|| true #XXX freeside clean target fucked - dh_clean + dh_clean -install: DH_OPTIONS= -install: build +install: install-stamp +install-stamp: build-stamp dh_testdir dh_testroot dh_clean -k dh_installdirs - # Add here commands to install the package into debian/freeside. - $(MAKE) install DESTDIR=$(CURDIR)/debian/freeside + # Add here commands to install package into + # debian/-whatever. + ( cd FS/ && $(MAKE) -e DESTDIR=$(TMP)-lib install ) + + #false laziness w/install-perl-modules now + #install this for postinst later (no create-config) + ##install -d $(DIST_CONF) + #install conf/[a-z]* $(DEFAULT_CONF) + #CVS is not [a-z] + ##install `ls -d conf/[a-z]* | grep -v CVS` $(DIST_CONF) + + install -d $(FREESIDE_DOCUMENT_ROOT) + install -d $(FREESIDE_CACHE)/masondata #MASONDATA + $(MAKE) -e DESTDIR=$(TMP)-webui install-docs + + #hack the build dir out of Freeside too. oh yeah, sucky. + perl -p -i -e "\ + s'${TMP}(-webui)?''g;\ + " ${TMP}-webui/usr/share/freeside/handler.pl \ + ${TMP}/usr/share/perl5/FS/* \ + ${TMP}/usr/share/perl5/FS/*/* \ + ${TMP}/usr/bin/* + + #rm -r $(FREESIDE_DOCUMENT_ROOT).* + + install -d $(APACHE_CONF) + #install debian/freeside.apache-alias.conf $(APACHE_CONF)/freeside-alias.conf + #FREESIDE_DOCUMENT_ROOT=/usr/share/freeside/www MASON_HANDLER=/usr/share/freeside/handler.pl FREESIDE_CONF=/etc/freeside $(MAKE) -e install-apache + $(MAKE) -e install-apache + + $(MAKE) -e install-init + + #RT + #(configure-rt) + $(MAKE) -e configure-rt + + ## XXX need to adjust db-type, db-database, db-rt-user, db-rt-pass + ## based on info from dbc + #( cd rt; \ + # cp config.layout.in config.layout; \ + # perl -p -i -e "\ + # s'%%%FREESIDE_DOCUMENT_ROOT%%%'${FREESIDE_DOCUMENT_ROOT}'g;\ + # s'%%%MASONDATA%%%'${FREESIDE_CACHE}/masondata'g;\ + # " config.layout; \ + # ./configure --prefix=${RT_PATH} \ + # --enable-layout=Freeside \ + # --with-db-type=Pg \ + # --with-db-dba=freeside \ + # --with-db-database=_DBC_DBNAME_ \ + # --with-db-rt-user=_DBC_DBUSER_ \ + # --with-db-rt-pass=_DBC_DBPASS_ \ + # --with-web-user=freeside \ + # --with-web-group=freeside \ + # --with-rt-group=freeside \ + #) + + ##(create-rt) + #$(MAKE) -e create-rt + + #install -d $(RT_PATH) + #( cd rt; make install ) + ##hack the build dir out of RT. yeah, sucky. + #perl -p -i -e "\ + # s'${TMP}''g;\ + #" ${RT_PATH}/etc/RT_Config.pm \ + # ${RT_PATH}/lib/RT.pm \ + # ${RT_PATH}/bin/mason_handler.fcgi \ + # ${RT_PATH}/bin/mason_handler.scgi \ + # ${RT_PATH}/bin/standalone_httpd \ + # ${RT_PATH}/bin/webmux.pl \ + # ${RT_PATH}/bin/rt-crontool \ + # ${RT_PATH}/sbin/rt-dump-database \ + # ${RT_PATH}/sbin/rt-setup-database + # + ##hack @INC dir out of RT (well, handler.pl) too. + #perl -p -i -e "\ + # s'/opt/rt3/'/var/opt/freeside/rt/'g;\ + #" ${TMP}-webui/usr/share/freeside/handler.pl + + #mv ${RT_PATH}/etc/RT_Config.pm ${RT_PATH}/etc/RT_Config.pm.dbc + + #perl -p -i -e "\ + # s'%%%RT_DOMAIN%%%'${RT_DOMAIN}'g;\ + # s'%%%RT_TIMEZONE%%%'${RT_TIMEZONE}'g;\ + # s'%%%FREESIDE_URL%%%'${FREESIDE_URL}'g;\ + #" ${RT_PATH}/etc/RT_SiteConfig.pm + + #install -D debian/dbconfig-common.install $(DBC_SCRIPTS)/install/pgsql + #install -D debian/dbconfig-common.install $(DBC_SCRIPTS)/install/mysql + + #install -D debian/dbconfig-common.upgrade $(DBC_SCRIPTS)/upgrade/pgsql/$(DEBVERSION) + #install -D debian/dbconfig-common.upgrade $(DBC_SCRIPTS)/upgrade/mysql/$(DEBVERSION) + + dh_install + + touch $@ - dh_movefiles +binary-arch: +# We have nothing to do here for an architecture-independent package -# Build architecture-independent files here. -# Pass -i to all debhelper commands in this target to reduce clutter. binary-indep: build install - dh_testdir -i - dh_testroot -i -# dh_installdebconf -i - dh_installdocs -i - dh_installexamples -i - dh_installmenu -i -# dh_installlogrotate -i -# dh_installemacsen -i -# dh_installpam -i -# dh_installmime -i -# dh_installinit -i - dh_installcron -i -# dh_installman -i - dh_installinfo -i -# dh_undocumented -i - dh_installchangelogs -i - dh_link -i - dh_compress -i - dh_fixperms -i - dh_installdeb -i -# dh_perl -i - dh_gencontrol -i - dh_md5sums -i - dh_builddeb -i - -# Build architecture-dependent files here. -binary-arch: build install - dh_testdir -a - dh_testroot -a -# dh_installdebconf -a - dh_installdocs -a - dh_installexamples -a - dh_installmenu -a -# dh_installlogrotate -a -# dh_installemacsen -a -# dh_installpam -a -# dh_installmime -a -# dh_installinit -a - dh_installcron -a -# dh_installman -a - dh_installinfo -a -# dh_undocumented -a - dh_installchangelogs -a - dh_strip -a - dh_link -a - dh_compress -a - dh_fixperms -a -# dh_makeshlibs -a - dh_installdeb -a -# dh_perl -a - dh_shlibdeps -a - dh_gencontrol -a - dh_md5sums -a - dh_builddeb -a + dh_testdir + dh_testroot + dh_installdocs #freeside.docs README AGPL + dh_installexamples eg/* +# dh_installmenu + dh_installdebconf +# dh_installlogrotate + dh_installinit + dh_installcron +# dh_installinfo + dh_installman + dh_perl + dh_link + dh_compress + dh_fixperms + dh_installdeb + dh_gencontrol + dh_md5sums + dh_builddeb binary: binary-indep binary-arch -.PHONY: build clean binary-indep binary-arch binary install configure +.PHONY: build clean binary-indep binary-arch binary install