/
Makefile
131 lines (107 loc) · 3.97 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
# this postgresql local cluster init was first developed for the
# ITERation project: http://tbs-sct.ircan.gc.ca/projects/iteration
#
APPNAME=$(shell basename $$(pwd))
TOP=$(shell pwd)
SCRIPTDIR=vendor/plugins/can-o-pg
POSTBIN?=$(shell ${SCRIPTDIR}/findpgsql.sh )
PSQL=${POSTBIN}/psql
POSTMASTER=${POSTBIN}/postmaster
INITDB=${POSTBIN}/initdb
PG_CTL=${POSTBIN}/pg_ctl
TCPIP=-h ''
# make up your own.
DBPASSWORD=baesheDaic5OhGh2
DBPATH=${TOP}/run
DBCLUSTER=${DBPATH}/dbcluster
DATABASE=${APPNAME}_development
APACHE2_MODDIR=$(shell if [ -d /usr/lib/apache2/modules ]; then echo /usr/lib/apache2/modules; else echo WHERE IS APACHE; fi; )
WEBSERVER=$(shell if [ -x /usr/sbin/httpd2 ]; then echo /usr/sbin/httpd2; elif [ -x /usr/sbin/apache2 ]; then echo /usr/sbin/apache2; fi)
PHP5_MODDIR=${APACHE2_MODDIR}
SYSTEMPORT=$(./etc/portnum.sh )
IPADDRESS=127.0.0.1
MIMETYPES=$(shell if [ -f /etc/apache2/mime.types ]; then echo /etc/apache2/mime.types; elif [ -f /etc/mime.types ]; then echo /etc/mime.types; fi)
SYSTEMURL=$(echo 'http://localhost:'${SYSTEMPORT}'/')
-include "can-o-pg.settings"
export LANG=C
export LC_TIME=C
export DATABASE
all: ${DBPATH}/postmaster.pid ${SCRIPTDIR}/database.yml
install:
ln -f -s vendor/plugins/can-o-pg/Makefile .
run/dirs:
mkdir -p run run/lock run/log run/log/apache2
touch run/dirs
run/dbinit: run/dirs ${SCRIPTDIR}/bootstrap.sql
-[ -f ${DBPATH}/postmaster.pid ] && ${PG_CTL} -D ${DBPATH} stop
-rm -f ${DBPATH}/postmaster.pid
-rm -rf ${DBCLUSTER}
mkdir -p ${DBCLUSTER} ${DBPATH}/log
chmod u=rwx,g-rx,o-rx ${DBPATH}
${INITDB} -D ${DBCLUSTER}
cp ${SCRIPTDIR}/pg_hba.conf ${DBCLUSTER}
${POSTMASTER} -D ${DBCLUSTER} ${TCPIP} -k ${DBPATH} > run/log/postgresql.log 2>&1 &
sleep 10
${PSQL} -h ${DBPATH} -f ${SCRIPTDIR}/bootstrap.sql template1
${PG_CTL} -D ${DBCLUSTER} stop
touch run/dbinit
psql:
${PSQL} -h ${TOP}/run $${DATABASE-template1}
load:
echo LOADING to database $${DATABASE-template1}
${PSQL} -h ${TOP}/run $${DATABASE-template1} -f $${INPUTFILE}
#run/dbinit: #sql/schema.sql db_dump/restore.sql
# make dbrebuild
${DBPATH}/postmaster.pid: run/dbinit #db_dump/restore.sql
mkdir -p run/postgresql
${POSTMASTER} -D ${DBCLUSTER} ${TCPIP} -k ${DBPATH} > run/log/postgresql.log 2>&1 &
stop:
${PG_CTL} -D ${DBCLUSTER} stop
${SCRIPTDIR}/%: ${SCRIPTDIR}/%.in Makefile
sed \
-e 's,@APP@,${APPNAME},g' \
-e 's,@APPNAME@,${APPNAME},g' \
-e 's,@DBPATH@,${DBPATH},g' \
-e 's,@DBPASSWORD@,${DBPASSWORD},g' \
-e 's,@SCRIPTDIR@,${SCRIPTDIR},g' \
-e 's,@TOPDIR@,'${TOP}',g' \
-e 's,@APACHE2_MODDIR@,'${APACHE2_MODDIR}',g' \
-e 's,@WEBSERVER@,'${WEBSERVER}',g' \
-e 's,@MIMETYPES@,'${MIMETYPES}',g' \
-e 's,@PHP5_MODDIR@,'${PHP5_MODDIR}',g' \
$< >$@
@if [ -x $< ]; then chmod +x $@; fi
${SCRIPTDIR}/bootstrap.sql: ${SCRIPTDIR}/bootstrap.sql.in Makefile
sed \
-e 's,@APP@,${APPNAME},g' \
-e 's,@APPNAME@,${APPNAME},g' \
-e 's,@DBPATH@,${DBPATH},g' \
-e 's,@DBPASSWORD@,${DBPASSWORD},g' \
${SCRIPTDIR}/bootstrap.sql.in >${SCRIPTDIR}/bootstrap.sql
${SCRIPTDIR}/database.yml: ${SCRIPTDIR}/database.yml.in Makefile
sed \
-e 's,@APP@,${APPNAME},g' \
-e 's,@APPNAME@,${APPNAME},g' \
-e 's,@DBPATH@,${DBPATH},g' \
-e 's,@DBPASSWORD@,${DBPASSWORD},g' \
${SCRIPTDIR}/database.yml.in >${SCRIPTDIR}/database.yml
@echo You can enable by: cp ${SCRIPTDIR}/database.yml config/database.yml
apache: ${SCRIPTDIR}/apache2.conf ${SCRIPTDIR}/runweb.sh ${SCRIPTDIR}/php.ini ${SCRIPTDIR}/php/conf/config.inc.php
${SCRIPTDIR}/runweb.sh
apachestop: ${SCRIPTDIR}/shutit.sh
${SCRIPTDIR}/shutit.sh
server: ${DBPATH}/postmaster.pid
cp ${SCRIPTDIR}/database.yml config/database.yml
script/rails server
-include can-o-pg.application
showconfig:
@echo POSTBIN ${POSTBIN}
@echo APPNAME ${APPNAME}
@echo DBPATH: ${DBPATH}
@echo DBPASSWORD: ${DBPASSWORD}
@echo SCRIPTDIR: ${SCRIPTDIR}
@echo TOP: ${TOP}
@echo APACHE2_MODDIR: ${APACHE2_MODDIR}
@echo WEBSERVER: ${WEBSERVER}
@echo MIMETYPES: ${MIMETYPES}
@echo PHP5_MODDIR:${PHP5_MODDIR}