improved svc_acct replacement
[freeside.git] / Makefile
index 90b6bf4..677dea9 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,22 +1,20 @@
 #!/usr/bin/make
 
-#Pg
 DATASOURCE = DBI:Pg:host=localhost;dbname=freeside
-#pgsql on some systems; check /etc/passwd
-DB_ADMIN_USER = postgres
-DB_ADMIN_PASSWORD=
-
-#mysql
 #DATASOURCE=DBI:mysql:freeside
-#DB_ADMIN_USER=mysql
-#DB_ADMIN_PASSWORD=
+
+DB_USER = freeside
+DB_PASSWORD=
 
 TEMPLATE = asp
-#mason's a bit dodgy stil
+#mason's a bit dodgy still
 #TEMPLATE = mason
 
 FREESIDE_DOCUMENT_ROOT = /var/www/freeside
 
+HTTPD_RESTART = /etc/init.d/apache restart
+QUEUED_RESTART = /etc/init.d/freeside restart
+
 #---
 
 #not changable yet
@@ -48,6 +46,7 @@ docs:
        make ${TEMPLATE}docs
 
 install-docs: docs
+       [ -e ${FREESIDE_DOCUMENT_ROOT} ] && mv ${FREESIDE_DOCUMENT_ROOT} ${FREESIDE_DOCUMENT_ROOT}.`date +%Y%m%d%H%M%S`
        cp -r ${TEMPLATE}docs ${FREESIDE_DOCUMENT_ROOT}
 
 perl-modules:
@@ -57,35 +56,42 @@ perl-modules:
 
 install-perl-modules: perl-modules
        cd FS; \
-       make install
+       make install UNINST=1
 
 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_ADMIN_USER}\', \'${DB_ADMIN_PASSWORD}\' ) or die $DBIx::DataSource::errstr;'
+       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
-       [ -d ${FREESIDE_CONF} ] || mkdir ${FREESIDE_CONF}
+       [ -e ${FREESIDE_CONF} ] && mv ${FREESIDE_CONF} ${FREESIDE_CONF}.`date +%Y%m%d%H%M%S`
+       mkdir ${FREESIDE_CONF}
        chown freeside ${FREESIDE_CONF}
 
-       [ -d "${FREESIDE_CONF}/conf.${DATASOURCE}" ] \
-         || mkdir "${FREESIDE_CONF}/conf.${DATASOURCE}"
-       chown freeside "${FREESIDE_CONF/conf.${DATASOURCE}"
+       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}"
 
-       [ -d "${FREESIDE_CONF}/counters.${DATASOURCE}" ] \
-         || mkdir "${FREESIDE_CONF}/counters.${DATASOURCE}"
-       chown freeside "${FREESIDE_CONF/counters.${DATASOURCE}"
+       mkdir "${FREESIDE_CONF}/counters.${DATASOURCE}"
+       chown freeside "${FREESIDE_CONF}/counters.${DATASOURCE}"
 
-       [ -d "${FREESIDE_CONF}/cache.${DATASOURCE}" ] \
-         || mkdir "${FREESIDE_CONF}/cache.${DATASOURCE}"
-       chown freeside "${FREESIDE_CONF/cache.${DATASOURCE}"
+       mkdir "${FREESIDE_CONF}/cache.${DATASOURCE}"
+       chown freeside "${FREESIDE_CONF}/cache.${DATASOURCE}"
 
-       [ -d "${FREESIDE_CONF}/export.${DATASOURCE}" ] \
-         || mkdir "${FREESIDE_CONF}/export.${DATASOURCE}"
-       chown freeside "${FREESIDE_CONF/export.${DATASOURCE}"
+       mkdir "${FREESIDE_CONF}/export.${DATASOURCE}"
+       chown freeside "${FREESIDE_CONF}/export.${DATASOURCE}"
 
 clean:
        rm -rf aspdocs masondocs