#2916 Debian packages
authorJeremy Davis <jeremyd@freeside.biz>
Thu, 2 Oct 2014 18:02:54 +0000 (13:02 -0500)
committerJeremy Davis <jeremyd@freeside.biz>
Thu, 2 Oct 2014 18:02:54 +0000 (13:02 -0500)
debian/README.Debian
debian/changelog
debian/conffiles [new file with mode: 0644]
debian/freeside-webui.links
debian/freeside.docs
debian/freeside.examples [new file with mode: 0644]
debian/postinst [new file with mode: 0644]
debian/rules

index 829b543..a14fc09 100644 (file)
@@ -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 <ivan-debian@420.am>  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 <jeremyd-debian@freeside.biz>  Tue, 30 Sept 2014 15:46:20 -0500
index 0aadb48..d5fd647 100644 (file)
@@ -1,3 +1,9 @@
+freeside (3.4~20140918-1) UNRELEASED; urgency=low
+
+  * Complete packaging.
+
+ -- Jeremy Davis <jeremyd-debian@freeside.biz>  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 (file)
index 0000000..5b6b010
--- /dev/null
@@ -0,0 +1,3 @@
+/usr/local/etc/freeside/secrets
+/etc/default/freeside
+/opt/rt3/etc/RT_SiteConfig.pm
index 7ca4030..be5749a 100644 (file)
@@ -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
 
index f4a511b..64bf802 100644 (file)
@@ -1,2 +1,3 @@
 README
 AGPL
+bin/
diff --git a/debian/freeside.examples b/debian/freeside.examples
new file mode 100644 (file)
index 0000000..ecf14d8
--- /dev/null
@@ -0,0 +1,2 @@
+fs_selfservice/
+ng_selfservice/
diff --git a/debian/postinst b/debian/postinst
new file mode 100644 (file)
index 0000000..af80afe
--- /dev/null
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+chown -R freeside /usr/local/etc/freeside
+
+exit 0
+
index 3b5ff41..7bf8aed 100755 (executable)
@@ -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/<package>-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