tax report!
[freeside.git] / Makefile
index 20b70af..7c77aa2 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -15,7 +15,7 @@ MASONDATA = /usr/local/etc/freeside/masondata
 
 #deb
 FREESIDE_DOCUMENT_ROOT = /var/www/freeside
-#redhat, mandrake
+#redhat, fedora, mandrake
 #FREESIDE_DOCUMENT_ROOT = /var/www/html/freeside
 #freebsd
 #FREESIDE_DOCUMENT_ROOT = /usr/local/www/data/freeside
@@ -23,24 +23,28 @@ FREESIDE_DOCUMENT_ROOT = /var/www/freeside
 #FREESIDE_DOCUMENT_ROOT = /var/www/htdocs/freeside
 #suse
 #FREESIDE_DOCUMENT_ROOT = /srv/www/htdocs/freeside
+#apache
+#FREESIDE_DOCUMENT_ROOT = /usr/local/apache/htdocs/freeside
 
-#deb, redhat, mandrake, suse, others?
+#deb, redhat, fedora, mandrake, suse, others?
 INIT_FILE = /etc/init.d/freeside
 #freebsd
 #INIT_FILE = /usr/local/etc/rc.d/011.freeside.sh
 
 #deb, suse
 HTTPD_RESTART = /etc/init.d/apache restart
-#redhat, mandrake
+#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
 #openbsd
 #HTTPD_RESTART = kill -TERM `cat /var/www/logs/httpd.pid`; sleep 1; /usr/sbin/httpd -u -DSSL
+#apache
+#HTTPD_RESTART = /usr/local/apache/bin/apachectl restart
 
 FREESIDE_RESTART = ${INIT_FILE} restart
 
-#deb, redhat, mandrake, suse, others?
+#deb, redhat, fedora, mandrake, suse, others?
 INSTALLGROUP = root
 #freebsd, openbsd
 #INSTALLGROUP = wheel
@@ -53,16 +57,24 @@ QUEUED_USER=fs_queue
 FREESIDE_PATH = `pwd`
 
 SELFSERVICE_USER = fs_selfservice
+#never run on the same machine in production!!!
 SELFSERVICE_MACHINES = localhost
+# SELFSERVICE_MACHINES = www.example.com
 # SELFSERVICE_MACHINES = web1.example.com web2.example.com
 
+#user with sudo access on SELFSERVICE_MACHINES for automated self-service
+#installation.
+SELFSERVICE_INSTALL_USER = ivan
+SELFSERVICE_INSTALL_USERADD = /usr/sbin/useradd
+#SELFSERVICE_INSTALL_USERADD = "/usr/sbin/pw useradd"
+
 #---
 
 #not changable yet
 FREESIDE_CONF = /usr/local/etc/freeside
 
-VERSION=1.5.0pre4
-TAG=freeside_1_5_0pre4
+VERSION=1.4.2beta1
+TAG=freeside_1_4_2beta1
 
 help:
        @echo "supported targets: aspdocs masondocs alldocs docs install-docs"
@@ -70,7 +82,6 @@ help:
        @echo "                   perl-modules install-perl-modules"
        @echo "                   install deploy"
        @echo "                   create-database"
-       @echo "                   configure-rt create-rt"
        @echo "                   clean"
 
 aspdocs: htmlman httemplate/* httemplate/*/* httemplate/*/*/* httemplate/*/*/*/* httemplate/*/*/*/*/*
@@ -148,6 +159,24 @@ install-init:
          s/%%%SELFSERVICE_MACHINES%%%/${SELFSERVICE_MACHINES}/g;\
        " ${INIT_FILE}
 
+install-selfservice:
+       [ -e ~freeside/.ssh/id_dsa.pub ] || su -c 'ssh-keygen -t dsa' - freeside
+       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" ;\
+         ssh ${SELFSERVICE_INSTALL_USER}@$$MACHINE "cd FS-SelfService; sudo make install" ;\
+         scp ~freeside/.ssh/id_dsa.pub ${SELFSERVICE_INSTALL_USER}@$$MACHINE:. ;\
+         ssh ${SELFSERVICE_INSTALL_USER}@$$MACHINE "sudo ${SELFSERVICE_INSTALL_USERADD} freeside; sudo install -D -o freeside -m 600 ./id_dsa.pub ~freeside/.ssh/authorized_keys" ;\
+          ssh ${SELFSERVICE_INSTALL_USER}@$$MACHINE "sudo install -o freeside -d /usr/local/freeside" ;\
+       done
+
+update-selfservice:
+       for MACHINE in ${SELFSERVICE_MACHINES}; do \
+         rsync -rlptz fs_selfservice/FS-SelfService/ ${SELFSERVICE_INSTALL_USER}@$$MACHINE:FS-SelfService ;\
+         ssh ${SELFSERVICE_INSTALL_USER}@$$MACHINE "cd FS-SelfService; perl Makefile.PL && make" ;\
+         ssh ${SELFSERVICE_INSTALL_USER}@$$MACHINE "cd FS-SelfService; sudo make install" ;\
+       done
+
 install: install-perl-modules install-docs install-init
 
 deploy: install
@@ -184,24 +213,6 @@ create-config: install-perl-modules
        mkdir "${FREESIDE_CONF}/export.${DATASOURCE}"
        chown freeside "${FREESIDE_CONF}/export.${DATASOURCE}"
 
-configure-rt:
-       cd rt; \
-       ./configure --htmldir=${FREESIDE_DOCUMENT_ROOT}/rt \
-                   --masonstatedir=${MASONDATA} \
-                   --with-db-type=Pg \
-                   --with-db-database=freeside \
-                   --with-db-rt-user=${DB_USER} \
-                   --with-db-rt-pass=${DB_PASSWORD} \
-                   --with-web-user=freeside \
-                   --with-web-group=www
-
-create-rt: configure-rt
-       cd rt; make install
-       rt/sbin/rt-initialize-database --action schema
-       rt/sbin/rt-initialize-database --action insert_initial
-       rt/sbin/rt-initialize-database --action insert --datafile rt/etc/initialdata
-
-
 clean:
        rm -rf aspdocs masondocs
        cd FS; \
@@ -210,11 +221,12 @@ 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 update-webdemo
 release: upload-docs
-       cd /home/ivan/freeside
+       cd /home/ivan/freeside1.4
        #cvs tag ${TAG}
        cvs tag -F ${TAG}
 
@@ -226,7 +238,7 @@ release: upload-docs
        mv freeside-${VERSION} freeside-${VERSION}.tar.gz ..
 
 update-webdemo:
-       ssh ivan@pouncequick.420.am '( cd freeside; cvs update -d -P )'
+       ssh ivan@pouncequick.420.am '( cd freeside; cvs update -r FREESIDE_1_4_BRANCH -d -P )'
        #ssh root@pouncequick.420.am '( cd /home/ivan/freeside; make clean; make deploy )'
        ssh root@pouncequick.420.am '( cd /home/ivan/freeside; make deploy )'