so Search.tsf and Search.rdf work
[freeside.git] / Makefile
index ec37ba9..79491e9 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -34,16 +34,27 @@ INIT_FILE = /etc/init.d/freeside
 #freebsd
 #INIT_FILE = /usr/local/etc/rc.d/011.freeside.sh
 
+#deb
+INIT_INSTALL = /usr/sbin/update-rc.d freeside defaults 21 20
+#redhat, fedora
+#INIT_INSTALL = /sbin/chkconfig freeside on
+#not necessary (freebsd)
+#INIT_INSTALL = /usr/bin/true
+
 #deb, suse
 HTTPD_RESTART = /etc/init.d/apache restart
 #redhat, fedora, mandrake
 #HTTPD_RESTART = /etc/init.d/httpd restart
 #freebsd
-#HTTPD_RESTART = /usr/local/etc/rc.d/apache.sh stop; sleep 1; /usr/local/etc/rc.d/apache.sh start
+#HTTPD_RESTART = /usr/local/etc/rc.d/apache.sh stop || true; sleep 10; /usr/local/etc/rc.d/apache.sh start
 #openbsd
-#HTTPD_RESTART = kill -TERM `cat /var/www/logs/httpd.pid`; sleep 1; /usr/sbin/httpd -u -DSSL
+#HTTPD_RESTART = kill -TERM `cat /var/www/logs/httpd.pid`; sleep 10; /usr/sbin/httpd -u -DSSL
 #apache
-#HTTPD_RESTART = /usr/local/apache/bin/apachectl restart
+#HTTPD_RESTART = /usr/local/apache/bin/apachectl stop; sleep 10; /usr/local/apache/bin/apachectl startssl
+
+#(an include directory, not a file - "Include /etc/apache/conf.d" in httpd.conf)
+#deb (3.1+), 
+APACHE_CONF = /etc/apache/conf.d
 
 FREESIDE_RESTART = ${INIT_FILE} restart
 
@@ -76,6 +87,10 @@ RT_ENABLED = 0
 RT_DOMAIN = example.com
 RT_TIMEZONE = US/Pacific;
 #RT_TIMEZONE = US/Eastern;
+FREESIDE_URL = "http://localhost/freeside/"
+
+#for now, same db as specified in DATASOURCE... eventually, otherwise?
+RT_DB_DATABASE = freeside
 
 #---
 
@@ -84,8 +99,8 @@ FREESIDE_CONF = /usr/local/etc/freeside
 #rt/config.layout.in
 RT_PATH = /opt/rt3
 
-VERSION=1.5.0pre5
-TAG=freeside_1_5_0pre5
+VERSION=1.5.0pre6
+TAG=freeside_1_5_0pre6
 
 help:
        @echo "supported targets: aspdocs masondocs alldocs docs install-docs"
@@ -99,9 +114,6 @@ help:
 aspdocs: htmlman httemplate/* httemplate/*/* httemplate/*/*/* httemplate/*/*/*/* httemplate/*/*/*/*/*
        rm -rf aspdocs
        cp -pr httemplate aspdocs
-       perl -p -i -e "\
-         s/%%%VERSION%%%/${VERSION}/g;\
-       " aspdocs/index.html
        touch aspdocs
 
 
@@ -111,9 +123,6 @@ masondocs: htmlman httemplate/* httemplate/*/* httemplate/*/*/* httemplate/*/*/*
        ( cd masondocs; \
          ../bin/masonize; \
        )
-       perl -p -i -e "\
-         s/%%%VERSION%%%/${VERSION}/g;\
-       " masondocs/index.html
        touch masondocs
 
 alldocs: aspdocs masondocs
@@ -160,7 +169,10 @@ install-docs: docs
 perl-modules:
        cd FS; \
        [ -e Makefile ] || perl Makefile.PL; \
-       make
+       make; \
+       perl -p -i -e "\
+         s/%%%VERSION%%%/${VERSION}/g;\
+       " blib/lib/FS.pm
 
 install-perl-modules: perl-modules
        cd FS; \
@@ -175,9 +187,19 @@ install-init:
          s/%%%SELFSERVICE_USER%%%/${SELFSERVICE_USER}/g;\
          s/%%%SELFSERVICE_MACHINES%%%/${SELFSERVICE_MACHINES}/g;\
        " ${INIT_FILE}
+       ${INIT_INSTALL}
+
+install-apache:
+       [ -d ${APACHE_CONF} ] && \
+         ( install -o root -m 755 htetc/freeside-base.conf ${APACHE_CONF} && \
+           ( [ ${RT_ENABLED} -eq 1 ] && install -o root -m 755 htetc/freeside-rt.conf ${APACHE_CONF} || true ) && \
+           perl -p -i -e "\
+             s'%%%FREESIDE_DOCUMENT_ROOT%%%'${FREESIDE_DOCUMENT_ROOT}'g; \
+           " ${APACHE_CONF}/freeside-*.conf \
+         ) || true
 
 install-selfservice:
-       [ -e ~freeside/.ssh/id_dsa.pub ] || su -c 'ssh-keygen -t dsa' - freeside
+       [ -e ~freeside/.ssh/id_dsa.pub ] || su - freeside -c 'ssh-keygen -t dsa'
        for MACHINE in ${SELFSERVICE_MACHINES}; do \
          scp -r fs_selfservice/FS-SelfService ${SELFSERVICE_INSTALL_USER}@$$MACHINE:. ;\
          ssh ${SELFSERVICE_INSTALL_USER}@$$MACHINE "cd FS-SelfService; perl Makefile.PL && make" ;\
@@ -194,7 +216,7 @@ update-selfservice:
          ssh ${SELFSERVICE_INSTALL_USER}@$$MACHINE "cd FS-SelfService; sudo make install" ;\
        done
 
-install: install-perl-modules install-docs install-init install-rt
+install: install-perl-modules install-docs install-init install-apache install-rt
 
 deploy: install
        ${HTTPD_RESTART}
@@ -240,7 +262,7 @@ configure-rt:
        ./configure --enable-layout=Freeside\
                    --with-db-type=Pg \
                    --with-db-dba=${DB_USER} \
-                   --with-db-database=freeside \
+                   --with-db-database=${RT_DB_DATABASE} \
                    --with-db-rt-user=${DB_USER} \
                    --with-db-rt-pass=${DB_PASSWORD} \
                    --with-web-user=freeside \
@@ -248,9 +270,12 @@ configure-rt:
                    --with-rt-group=freeside
 
 create-rt: configure-rt
+       [ -d /opt           ] || mkdir /opt           #doh
+       [ -d /opt/rt3       ] || mkdir /opt/rt3       #
+       [ -d /opt/rt3/share ] || mkdir /opt/rt3/share #
        cd rt; make install
        echo -e "${DB_PASSWORD}\n\\d sessions"\
-        | psql -U ${DB_USER} -W freeside 2>&1\
+        | psql -U ${DB_USER} -W ${RT_DB_DATABASE} 2>&1\
         | grep '^Did not find'\
         && rt/sbin/rt-setup-database --dba '${DB_USER}' \
                                     --dba-password '${DB_PASSWORD}' \
@@ -262,6 +287,7 @@ create-rt: configure-rt
        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-rt:
@@ -275,8 +301,8 @@ clean:
 #these are probably only useful if you're me...
 
 upload-docs: forcehtmlman
-       ssh pouncequick.420.am rm -rf /var/www/www.sisd.com/freeside/devdocs
-       scp -pr httemplate/docs pouncequick.420.am:/var/www/www.sisd.com/freeside/devdocs
+       ssh pouncequick.420.am rm -rf /var/www/www.sisd.com/freeside/docs
+       scp -pr httemplate/docs pouncequick.420.am:/var/www/www.sisd.com/freeside/docs
 
 release: upload-docs
        cd /home/ivan/freeside