trading in tar for rsync for improved vpopmail support
[freeside.git] / Makefile
index 7edc5aa..3425973 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,15 +1,46 @@
 #!/usr/bin/make
 
+DATASOURCE = DBI:Pg:host=localhost;dbname=freeside
+#DATASOURCE=DBI:mysql:freeside
+
+DB_USER = freeside
+DB_PASSWORD=
+
+<<<<<<< Makefile
+#TEMPLATE = asp
+#mason's a bit dodgy still
+TEMPLATE = mason
+=======
+TEMPLATE = asp
+#TEMPLATE = mason
+>>>>>>> 1.27
+
+ASP_GLOBAL = /usr/local/etc/freeside/asp-global
+
+FREESIDE_DOCUMENT_ROOT = /var/www/freeside
+
+HTTPD_RESTART = /etc/init.d/apache restart
+QUEUED_RESTART = /etc/init.d/freeside restart
+
+#---
+
+#not changable yet
+FREESIDE_CONF = /usr/local/etc/freeside
+
 help:
-       @echo "supported targets: aspdocs masondocs alldocs perl-modules"
-       @echo "                   install-perl-modules install clean"
+       @echo "supported targets: aspdocs masondocs alldocs docs install-docs"
+       @echo "                   htmlman"
+       @echo "                   perl-modules install-perl-modules"
+       @echo "                   install deploy"
+       @echo "                   create-database"
+       @echo "                   clean"
 
-aspdocs: httemplate/* httemplate/*/* httemplate/*/*/* httemplate/*/*/*/* httemplate/*/*/*/*/*
+aspdocs: htmlman httemplate/* httemplate/*/* httemplate/*/*/* httemplate/*/*/*/* httemplate/*/*/*/*/*
        rm -rf aspdocs
        cp -pr httemplate aspdocs
        touch aspdocs
 
-masondocs: httemplate/* httemplate/*/* httemplate/*/*/* httemplate/*/*/*/* httemplate/*/*/*/*/*
+masondocs: htmlman httemplate/* httemplate/*/* httemplate/*/*/* httemplate/*/*/*/* httemplate/*/*/*/*/*
        rm -rf masondocs
        cp -pr httemplate masondocs
        ( cd masondocs; \
@@ -19,9 +50,26 @@ masondocs: httemplate/* httemplate/*/* httemplate/*/*/* httemplate/*/*/*/* httem
 
 alldocs: aspdocs masondocs
 
-FS/Makefile:
-       cd FS
-       perl Makefile.PL
+docs:
+       make ${TEMPLATE}docs
+
+htmlman:
+       [ -e ./httemplate/docs/man ] || mkdir httemplate/docs/man
+       [ -e ./httemplate/docs/man/bin ] || mkdir httemplate/docs/man/bin
+       [ -e ./httemplate/docs/man/FS ] || mkdir httemplate/docs/man/FS
+       [ -e ./httemplate/docs/man/FS/UI ] || mkdir httemplate/docs/man/FS/UI
+       [ -e DONT_REBUILD_DOCS ] || bin/pod2x
+
+upload-docs:
+       ssh cleanwhisker.420.am rm -rf /var/www/www.sisd.com/freeside/devdocs
+       scp -pr httemplate/docs cleanwhisker.420.am:/var/www/www.sisd.com/freeside/devdocs
+
+install-docs: docs
+       [ -e ${FREESIDE_DOCUMENT_ROOT} ] && mv ${FREESIDE_DOCUMENT_ROOT} ${FREESIDE_DOCUMENT_ROOT}.`date +%Y%m%d%H%M%S` || true
+       cp -r ${TEMPLATE}docs ${FREESIDE_DOCUMENT_ROOT}
+       [ "${TEMPLATE}" = "asp" -a ! -e ${ASP_GLOBAL} ] && mkdir ${ASP_GLOBAL} || true
+       [ "${TEMPLATE}" = "asp" ] && chown -R freeside ${ASP_GLOBAL} || true
+       [ "${TEMPLATE}" = "asp" ] && cp htetc/global.asa ${ASP_GLOBAL} || true
 
 perl-modules:
        cd FS; \
@@ -30,12 +78,42 @@ perl-modules:
 
 install-perl-modules: perl-modules
        cd FS; \
-       make install
+       make install UNINST=1
 
-install: install-perl-modules
+install: install-perl-modules install-docs
 
 deploy: install
-       /etc/init.d/apache restart
+       ${HTTPD_RESTART}
+       ${QUEUED_RESTART}
+
+create-database:
+       perl -e 'use DBIx::DataSource qw( create_database ); create_database( "${DATASOURCE}", "${DB_USER}", "${DB_PASSWORD}" ) or die $$DBIx::DataSource::errstr;'
+
+create-config: install-perl-modules
+       [ -e ${FREESIDE_CONF} ] && mv ${FREESIDE_CONF} ${FREESIDE_CONF}.`date +%Y%m%d%H%M%S` || true
+       mkdir ${FREESIDE_CONF}
+       chown freeside ${FREESIDE_CONF}
+
+       touch ${FREESIDE_CONF}/secrets
+       chown freeside ${FREESIDE_CONF}/secrets
+       chmod 600 ${FREESIDE_CONF}/secrets
+
+       echo -e "${DATASOURCE}\n${DB_USER}\n${DB_PASSWORD}" >${FREESIDE_CONF}/secrets
+       chmod 600 ${FREESIDE_CONF}/secrets
+       chown freeside ${FREESIDE_CONF}/secrets
+
+       mkdir "${FREESIDE_CONF}/conf.${DATASOURCE}"
+       cp conf/[a-z]* "${FREESIDE_CONF}/conf.${DATASOURCE}"
+       chown -R freeside "${FREESIDE_CONF}/conf.${DATASOURCE}"
+
+       mkdir "${FREESIDE_CONF}/counters.${DATASOURCE}"
+       chown freeside "${FREESIDE_CONF}/counters.${DATASOURCE}"
+
+       mkdir "${FREESIDE_CONF}/cache.${DATASOURCE}"
+       chown freeside "${FREESIDE_CONF}/cache.${DATASOURCE}"
+
+       mkdir "${FREESIDE_CONF}/export.${DATASOURCE}"
+       chown freeside "${FREESIDE_CONF}/export.${DATASOURCE}"
 
 clean:
        rm -rf aspdocs masondocs