summaryrefslogtreecommitdiff
path: root/databases/postgresql/Makefile
blob: a4e14abdf536370e3b0d01478eb746ffa6ce3662 (plain)
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
# $NetBSD: Makefile,v 1.7 1998/04/15 10:38:18 agc Exp $
# FreeBSD Id: Makefile,v 1.22 1997/12/24 01:21:37 alex Exp

DISTNAME=	postgresql-6.2.1
CATEGORIES=	databases
MASTER_SITES=	ftp://ftp.PostgreSQL.org/pub/ \
		ftp://ftp.jaist.ac.jp/pub/dbms/postgres95/

MAINTAINER=	andreas@FreeBSD.ORG

MAKE_ENV+=	USE_TCL=true
LIB_DEPENDS+=	tcl80.1.:${PORTSDIR}/lang/tcl80 \
		tk80.1.:${PORTSDIR}/x11/tk80

NO_PACKAGE=	"Requires pgsql uid"
WRKSRC=		${WRKDIR}/${DISTNAME}/src
ONLY_FOR_ARCHS=	i386

PGUSER?=	pgsql

USE_GMAKE=	YES
USE_PERL5=	yes
MAKEFILE=	GNUmakefile
HAS_CONFIGURE=	YES
CONFIGURE_ARGS= --prefix=${PREFIX}/pgsql \
		--enable-locale \
		--with-template=`uname -s | ${TR} '[A-Z]' '[a-z]'`

MAN1=		cleardbdir.1 createdb.1 createuser.1 destroydb.1 \
		destroyuser.1 initdb.1 ipcclean.1 monitor.1 pg_dump.1 \
		pg_dumpall.1 pg_passwd.1 pgintro.1 postgres.1 \
		postmaster.1 psql.1
MAN3=		catalogs.3 large_objects.3 libpq.3 oracle_compat.3 pgbuiltin.3
MAN5=		bki.5 page.5 pg_hba.conf.5
MANL=		abort.l alter_table.l begin.l close.l cluster.l \
		commit.l copy.l create_aggregate.l create_database.l \
		create_function.l create_index.l create_operator.l \
		create_rule.l create_sequence.l create_table.l \
		create_trigger.l create_type.l create_version.l \
		create_view.l declare.l delete.l drop.l drop_aggregate.l \
		drop_database.l drop_function.l drop_index.l drop_operator.l \
		drop_rule.l drop_sequence.l drop_table.l drop_trigger.l \
		drop_type.l drop_view.l end.l explain.l fetch.l grant.l \
		insert.l listen.l load.l move.l notify.l purge.l rename.l \
		reset.l revoke.l rollback.l select.l set.l show.l sql.l \
		update.l vacuum.l

MANPREFIX=	${PREFIX}/pgsql

post-build:
	@ ${ECHO} "------------------------------------------------------------"
	@ ${ECHO} "Dump existing databases, before installing new db version !!"
	@ ${ECHO} "Detailed instructions, see INSTALL file under ${WRKDIR}...  "
	@ ${ECHO} "------------------------------------------------------------"

pre-install:
.if defined(PACKAGE_BUILDING)
	${RM} -rf ${PREFIX}/pgsql
.endif
	@ ${MKDIR} ${PREFIX}/pgsql
	@ ${SETENV} ${MAKE_ENV} perl ${SCRIPTDIR}/createuser ${PGUSER}

post-install:
	@ if [ ! -f ${PREFIX}/pgsql/.profile ]; then \
		${ECHO} "PATH=\$${PATH}:${PREFIX}/pgsql/bin" \
			> ${PREFIX}/pgsql/.profile; \
		${ECHO} "MANPATH=\$${MANPATH}:${PREFIX}/pgsql/bin" \
			>> ${PREFIX}/pgsql/.profile; \
		${ECHO} "PGLIB=${PREFIX}/pgsql/lib" \
			>> ${PREFIX}/pgsql/.profile; \
		${ECHO} "# note: PGDATA overwrites the -D startup option" \
			>> ${PREFIX}/pgsql/.profile; \
		${ECHO} "PGDATA=${PREFIX}/pgsql/data" \
			>> ${PREFIX}/pgsql/.profile; \
		${ECHO} "DISPLAY=:0" \
			>> ${PREFIX}/pgsql/.profile; \
		${ECHO} "export PATH MANPATH PGLIB PGDATA DISPLAY" \
			>> ${PREFIX}/pgsql/.profile; \
		${ECHO} "# if you want to make regression tests use this TZ" \
			>> ${PREFIX}/pgsql/.profile; \
		${ECHO} "#TZ=PST8PDT" \
			>> ${PREFIX}/pgsql/.profile; \
		${ECHO} "#export TZ" \
			>> ${PREFIX}/pgsql/.profile; \
	fi
	@/usr/sbin/chown -R ${PGUSER}:${PGUSER} ${PREFIX}/pgsql
	@${ECHO} 'Initializing PostgreSQL Databases - this may take a few minutes...'
	@${LDCONFIG} -m ${PREFIX}/pgsql/lib || ${TRUE}
	@${ECHO} '${PREFIX}/pgsql/bin/initdb --pglib=${PREFIX}/pgsql/lib --pgdata=${PREFIX}/pgsql/data' | su -l ${PGUSER}
	@${SED} -e "s=!!PREFIX!!=${PREFIX}=g" < ${FILESDIR}/pgsql.sh.tmpl \
		> ${PREFIX}/etc/rc.d/pgsql.sh
	@/bin/chmod 554 ${PREFIX}/etc/rc.d/pgsql.sh
	@/usr/sbin/chown root.${PGUSER} ${PREFIX}/etc/rc.d/pgsql.sh
	@${INSTALL_DATA} ${FILESDIR}/post-install-notes ${PREFIX}/pgsql
.if !defined(NOPORTDOCS)
	${MKDIR} ${PREFIX}/share/doc/pgsql
	${CP} -R ${WRKDIR}/${DISTNAME}/doc/* ${PREFIX}/share/doc/pgsql
.endif
.if !defined(BATCH)
	@${CAT} ${FILESDIR}/post-install-notes
.endif

.include "../../mk/bsd.pkg.mk"