From: Jeremy Davis Date: Thu, 2 Oct 2014 18:02:54 +0000 (-0500) Subject: #2916 Debian packages X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=commitdiff_plain;h=53ab539ee0cd55cecccc75c6c7cff44964d9f904 #2916 Debian packages --- diff --git a/debian/README.Debian b/debian/README.Debian index 829b543e4..a14fc09b5 100644 --- a/debian/README.Debian +++ b/debian/README.Debian @@ -1,25 +1,25 @@ Freeside for Debian ------------------- -1. -Edit /etc/apache2/envvars or /etc/apache2/apache2.conf and set User and Group -to freeside +1. Initialize Freeside: +freeside-setup -d yourdomain.com -2. -/etc/init.d/apache2 restart +2. Boot strap freeside users -3. -Create one or more Freeside users (your internal sales/tech folks, not customer accounts): -$ su -# su freeside -$ freeside-adduser -g 1 desired_username -$ htpasswd /etc/freeside/htpasswd username -(enter password) +3. Initialize RT -4. -Go to http://your.host.name/freeside and log in. +4. Create one or more Freeside users (your internal sales/tech folks, not customer accounts): -Optional but recommended. -(Hopefully) get an SSL certificate setup and change that to https:// +sudo su freeside +freeside-adduser -g 1 desired_username +htpasswd /usr/local/etc/freeside/htpasswd desired_username - -- Ivan Kohler Wed, 02 Apr 2008 01:46:20 -0700 + +5. Start the Apache and the Freeside services + +/etc/init.d/apache start +/etc/init.d/freeside start + +6. Go to https://your.host.name/freeside and log in. + + -- Jeremy Davis Tue, 30 Sept 2014 15:46:20 -0500 diff --git a/debian/changelog b/debian/changelog index 0aadb48ff..d5fd64742 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +freeside (3.4~20140918-1) UNRELEASED; urgency=low + + * Complete packaging. + + -- Jeremy Davis Thu, 18 Feb 2014 15:50:36 -0500 + freeside (3.0~20130205-1) UNRELEASED; urgency=low * Another stab at packaging. diff --git a/debian/conffiles b/debian/conffiles new file mode 100644 index 000000000..5b6b01019 --- /dev/null +++ b/debian/conffiles @@ -0,0 +1,3 @@ +/usr/local/etc/freeside/secrets +/etc/default/freeside +/opt/rt3/etc/RT_SiteConfig.pm diff --git a/debian/freeside-webui.links b/debian/freeside-webui.links index 7ca403074..be5749a4a 100644 --- a/debian/freeside-webui.links +++ b/debian/freeside-webui.links @@ -1,4 +1,3 @@ -etc/freeside/apache2/freeside-alias.conf etc/apache2/conf.d/freeside-alias.conf etc/freeside/apache2/freeside-base2.conf etc/apache2/conf.d/freeside-base2.conf etc/freeside/apache2/freeside-rt.conf etc/apache2/conf.d/freeside-rt.conf diff --git a/debian/freeside.docs b/debian/freeside.docs index f4a511b64..64bf802b8 100644 --- a/debian/freeside.docs +++ b/debian/freeside.docs @@ -1,2 +1,3 @@ README AGPL +bin/ diff --git a/debian/freeside.examples b/debian/freeside.examples new file mode 100644 index 000000000..ecf14d85e --- /dev/null +++ b/debian/freeside.examples @@ -0,0 +1,2 @@ +fs_selfservice/ +ng_selfservice/ diff --git a/debian/postinst b/debian/postinst new file mode 100644 index 000000000..af80afed9 --- /dev/null +++ b/debian/postinst @@ -0,0 +1,6 @@ +#!/bin/sh + +chown -R freeside /usr/local/etc/freeside + +exit 0 + diff --git a/debian/rules b/debian/rules index 3b5ff41af..7bf8aed68 100755 --- a/debian/rules +++ b/debian/rules @@ -36,17 +36,18 @@ 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 +expory FREESIDE_SS = $(TMP)/usr/share/docs/freeside #XXX own subdir? -#export MASON_HANDLER = $(TMP)-webui/usr/share/freeside/handler.pl +#export MASON_HANDLER = /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 = /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 = /etc/apache2/conf.d export APACHE_CONF = $(TMP)-webui/etc/freeside/apache2 export FREESIDE_RESTART = /bin/true @@ -56,22 +57,21 @@ 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/ +export RT_DOMAIN = freeside.biz +export RT_TIMEZONE = US/Eastern +export HOSTNAME = localhost +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 +#export DIST_CONF = /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 +export RT_PATH = $(TMP)/opt/rt3 # This has to be exported to make some magic below work. export DH_OPTIONS @@ -91,7 +91,7 @@ build-stamp: ( cd FS/ && $(PERL) Makefile.PL INSTALLDIRS=vendor ) - $(MAKE) -e perl-modules + $(MAKE) -e DESTDIR=${TMP}-lib perl-modules #TEST# @@ -117,98 +117,95 @@ install-stamp: build-stamp # 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) + ( cd FS/ && $(MAKE) -e DESTDIR=$(TMP)-lib install ) install -d $(FREESIDE_DOCUMENT_ROOT) + install -d $(TMP)-webui/usr/local/etc/freeside/ install -d $(FREESIDE_CACHE)/masondata #MASONDATA $(MAKE) -e DESTDIR=$(TMP)-webui install-docs + + # Ugly hack, why is handler.pl not being "handled" by install-docs + install -D htetc/handler.pl DESTDIR=$(FREESIDE_CACHE) + + # Create Apache configurations + install -d $(APACHE_CONF) + $(MAKE) -e DESTDIR=$(APACHE_CONF) install-apache + + #Hack the build dir out of apache config + + perl -p -i -e "\ + s'${TMP}(-webui)?''g;\ + " $(TMP)-webui/etc/freeside/apache2/* + + # Install configuration files, hack what to do??? + $(MAKE) -e DESTDIR=$(TMP) create-config + $(MAKE) -e DESTDIR=$(TMP) install-init + #hack the build dir out of Freeside too. oh yeah, sucky. perl -p -i -e "\ s'${TMP}(-webui)?''g;\ - " ${TMP}-webui/usr/local/etc/freeside/handler.pl \ - ${TMP}-webui/etc/freeside/apache2/* \ - ${TMP}-lib/usr/share/perl5/FS/* \ - ${TMP}-lib/usr/share/perl5/FS/*/* \ - ${TMP}-lib/usr/bin/* + " ${TMP}-webui/usr/local/etc/freeside/handler.pl - #rm -r $(FREESIDE_DOCUMENT_ROOT).* + #back the build dur out of lib + perl -p -i -e "\ + s'${TMP}-lib?''g;\ + s'${TMP}(-webui)?''g;\ + " ${TMP}-webui/usr/local/etc/freeside/handler.pl \ + ${TMP}-lib/usr/share/perl5/FS/*.pm \ + ${TMP}-lib/usr/share/perl5/FS/*/*.pm + + #hack the build dir out of Freeside binaries - 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) + perl -p -i -e "\ + s'${TMP}?''g;\ + " ${TMP}-lib/usr/bin/* \ + + #RT Config + + ( 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=freeside \ + --with-db-rt-user=freeside \ + --with-db-rt-pass="" \ + --with-web-user=freeside \ + --with-web-group=freeside \ + --with-rt-group=freeside \ + --with-web-handler=modperl2 ) + + ##(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}(-webui)''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/* \ + + # Default RT Settings + 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 + dh_install touch $@ @@ -219,12 +216,13 @@ binary-arch: binary-indep: build install dh_testdir dh_testroot + dh_installdeb install dh_installdocs #freeside.docs README AGPL dh_installexamples eg/* # dh_installmenu dh_installdebconf # dh_installlogrotate - dh_installinit + dh_installinit --no-start dh_installcron # dh_installinfo dh_installman