1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-01 05:45:45 +00:00

Adding a development port for PostgreSQL. postgresql-devel will have its

distfiles periodically updated to track PostgreSQL between major releases.
Port is repo copied from databases/postgresql7 and has been updated to
7.3b1.

Approved by:	portmgr && knu (mentor)
This commit is contained in:
Sean Chittenden 2002-09-23 22:01:46 +00:00
parent 69e314d5fb
commit 11d66f7e29
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=67076
14 changed files with 202 additions and 460 deletions

View File

@ -6,7 +6,8 @@
#
PORTNAME?= postgresql
PORTVERSION?= 7.2.2
PORTVERSION?= 7.3.b1
PKGNAMESUFFIX= -devel
CATEGORIES?= databases
MASTER_SITES= ftp://ftp.postgresql.org/pub/%SUBDIR%/ \
ftp://ftp.se.postgresql.org/pub/database/relational/postgresql/%SUBDIR%/ \
@ -18,89 +19,100 @@ MASTER_SITES= ftp://ftp.postgresql.org/pub/%SUBDIR%/ \
ftp://ftp.jaist.ac.jp/pub/dbms/PostgreSQL/%SUBDIR%/ \
ftp://ftp.us.postgresql.org/%SUBDIR%/
MASTER_SITE_SUBDIR= source/v${PORTVERSION}
DISTFILES= postgresql-base-${PORTVERSION}${EXTRACT_SUFX} \
postgresql-opt-${PORTVERSION}${EXTRACT_SUFX}
DISTFILES= postgresql-base-7.3b1${EXTRACT_SUFX} \
postgresql-opt-7.3b1${EXTRACT_SUFX}
MAINTAINER?= girgen@partitur.se
MAINTAINER?= seanc@FreeBSD.org
WRKSRC= ${WRKDIR}/postgresql-${PORTVERSION}
WRKSRC= ${WRKDIR}/postgresql-7.3b1
DIST_SUBDIR= postgresql
USE_SUBMAKE= yes
USE_GMAKE= YES
GNU_CONFIGURE= YES
.if defined(POSTGRESQL_SUBPORT)
## the POSTGRESQL_SUBPORTS use this port's distinfo
MD5_FILE= ${.CURDIR}/../postgresql7/distinfo
MD5_FILE= ${.CURDIR}/../postgresql-devel/distinfo
.else
## The rest of this file is for normal base installation
INSTALLS_SHLIB= YES
CONFIGURE_ARGS= --enable-locale --enable-syslog --with-CXX \
--docdir=${PREFIX}/share/doc --with-libdir=${LOCALBASE}/lib \
CONFIGURE_ARGS= --docdir=${PREFIX}/share/doc --with-libdir=${LOCALBASE}/lib \
--with-includes=${LOCALBASE}/include
.if !defined(WITHOUT_GNUGETOPT)
LDFLAGS+= -L${LOCALBASE}/lib -lgnugetopt
CONFIGURE_ENV+= LDFLAGS="${LDFLAGS}"
LIB_DEPENDS= gnugetopt:${PORTSDIR}/devel/libgnugetopt
.endif
# if you want localized messages, make -DWITH_GETTEXT
# WARNING: this seems to require relinking binaries depending on
# libpq.so, including for example mod_php and tcl.
.if defined(WITH_GETTEXT)
CONFIGURE_ARGS+=--enable-nls
CONFIGURE_ENV+= "LIBS=-lintl"
LDFLAGS+= -L${LOCALBASE}/lib -lintl
LIB_DEPENDS+= intl.4:${PORTSDIR}/devel/gettext
.if defined(WITHOUT_GETTEXT)
CONFIGURE_ARGS+=--disable-nls
PLIST_SUB+= GETTEXT=""
.else
CONFIGURE_ENV+= "LDFLAGS=-L${LOCALBASE}/lib"
LDFLAGS+= -L${LOCALBASE}/lib
CONFIGURE_ARGS+= --enable-nls
LIB_DEPENDS+= intl.4:${PORTSDIR}/devel/gettext
PLIST_SUB+= GETTEXT="@comment "
.endif
.if defined(WITH_OPTIMIZED_CFLAGS)
CFLAGS+=-O3
.endif
.if defined(WITH_DEBUG) && defined(WITH_STRIPBIN)
@${ECHO} "WITH_DEBUG and WITH_STRIPBIN are mutually exclusive tunables."
@${ECHO} "Please choose one or the other."
@exit ${FALSE}
.endif
.if defined(WITH_DEBUG)
CONFIGURE_ARGS+= --enable-debug
.endif
.if defined(WITH_STRIPBIN)
INSTALL_TARGET= install-strip
.endif
.if !defined(WITHOUT_SSL)
USE_OPENSSL= yes
CONFIGURE_ARGS+= "--with-openssl=${OPENSSLBASE}"
.endif
MAN1= createdb.1 createlang.1 createuser.1 dropdb.1 droplang.1 \
dropuser.1 ecpg.1 initdb.1 initlocation.1 ipcclean.1 pg_config.1 \
pg_ctl.1 pg_dump.1 pg_dumpall.1 pg_passwd.1 pg_restore.1 \
pgaccess.1 pgtclsh.1 pgtksh.1 postgres.1 postmaster.1 psql.1 \
vacuumdb.1
MAN7= abort.7 alter_group.7 alter_table.7 alter_user.7 analyze.7 \
begin.7 checkpoint.7 close.7 cluster.7 comment.7 commit.7 copy.7 \
create_aggregate.7 create_constraint_trigger.7 \
create_database.7 create_function.7 create_group.7 \
create_index.7 create_language.7 create_operator.7 \
create_rule.7 create_sequence.7 create_table.7 \
create_table_as.7 create_trigger.7 create_type.7 \
create_user.7 create_view.7 declare.7 delete.7 \
drop_aggregate.7 drop_database.7 drop_function.7 \
drop_group.7 drop_index.7 drop_language.7 \
drop_operator.7 drop_rule.7 drop_sequence.7 \
drop_table.7 drop_trigger.7 drop_type.7 drop_user.7 \
drop_view.7 end.7 explain.7 fetch.7 grant.7 insert.7 \
listen.7 load.7 lock.7 move.7 notify.7 reindex.7 \
reset.7 revoke.7 rollback.7 select.7 select_into.7 \
set.7 set_constraints.7 set_transaction.7 show.7 \
set_session_authorization.7 \
truncate.7 unlisten.7 update.7 vacuum.7
.if defined(WITH_MIT_KRB5) && defined(WITH_HEIMDAL_KRB5)
@${ECHO} "WITH_MIT_KRB5 and WITH_HEIMDAL_KRB5 are mutually exclusive."
@${ECHO} "Please choose one or the other."
@exit 1
.endif
SCRIPTS_ENV= WRKDIRPREFIX="${WRKDIRPREFIX}" \
WRKDIR="${WRKDIR}" \
FILESDIR="${FILESDIR}" \
TOUCH="${TOUCH}" \
MKDIR="${MKDIR}" \
DISTNAME="${DISTNAME}"
.if defined(WITH_MIT_KRB5)
KRB5CONF= ${LOCALBASE}/bin/krb5-config
.if !exists(${KRB5CONFIG})
@${ECHO} "Unable to find krb5-config in your local base, please verify that"
@${ECHO} "security/krb5 is installed or undefine the WITH_MIT_KRB5 tunable."
@exit 1
.endif
WITH_KRB5= yes
.endif
# We must .include here because we need the Makefile.inc @ pre-install
# to determine the correct plist.
.if exists(${WRKDIRPREFIX}${.CURDIR}/Makefile.inc)
.include "${WRKDIRPREFIX}${.CURDIR}/Makefile.inc"
.if defined(WITH_HEIMDAL_KRB5)
KRB5CONF= /usr/bin/krb5-config
.if !exists(${KRB5CONFIG})
@${ECHO} "Unable to find krb5-config in the base system. Undefine"
@${ECHO} "WITH_HEIMDAL_KRB5 or add MAKE_KERBEROS5=yes to /etc/make.conf"
@${ECHO} "and remake world (or undefine the WITH_HEIMDAL_KRB5 tunable)."
@exit 1
.endif
LIB_DEPENDS+= krb5.3:${PORTSDIR}/security/krb5
WITH_KRB5= yes
.endif
.if defined(WITH_KRB5)
CONFIGURE_ARGS+= --with-krb5="`${KRB5CONF} --prefix krb5`"
LDFLAGS+= `${KRB5CONF} --libs krb5`
.endif
.if defined(WITHOUT_SERVER)
@ -110,15 +122,36 @@ PLIST_SUB+= SERVER="@comment "
PLIST_SUB+= SERVER=""
.endif
.if defined(WITHOUT_MULTIBYTE)
PLIST_SUB+= MULTIBYTE="@comment "
.else
PLIST_SUB+= MULTIBYTE=""
CONFIGURE_ARGS+=--enable-multibyte=${MULTIBYTE_ENCODING}
.endif
pre-everything::
@ ${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/configure.postgresql
@${ECHO} ""
@${ECHO} "CAUTION!!!!!"
@${ECHO} ""
@${ECHO} " This is a development port! You may have to re-initdb between"
@${ECHO} " upgrades as the system catalogs may change between snapshots."
@${ECHO} " Running this version of the port implies a large degree of"
@${ECHO} " familiarity with the PostgreSQL development cycle and process."
@${ECHO} " You should _always_ backup your data using pg_dump(all) before"
@${ECHO} " every upgrade. If you have not backed up your data yet, exit"
@${ECHO} " this installation and backup your data now!!!!"
@${ECHO} ""
@${ECHO} ""
@${ECHO} "${PORTNAME} has several tunables that used to configure PostgreSQL:"
@${ECHO} ""
@${ECHO} " WITHOUT_GNUGETOPT=yes Skips building with GNU getopt"
@${ECHO} " WITHOUT_GETTEXT=yes Skips building with support for"
@${ECHO} " internationalized error messages"
@${ECHO} " WITH_DEBUG=yes Builds with debugging symbols"
@${ECHO} " WITH_STRIPBIN=yes Installs stripped binaries"
@${ECHO} " WITHOUT_SSL=yes Builds without OpenSSL support"
@${ECHO} " WITHOUT_SERVER=yes Installs the headers and libraries for"
@${ECHO} " PostgreSQL clients"
@${ECHO} " WITH_MIT_KRB5=yes Builds with MIT's kerberos support"
@${ECHO} " WITH_HEIMDAL_KRB5=yes Builds with Heimdal's kerberos support"
@${ECHO} " WITH_OPTIMIZED_CFLAGS=yes Builds with compiler optimizations (-O3)"
@${ECHO} ""
.if !defined(BATCH)
@sleep 3
.endif
pre-install:
.if !defined(WITHOUT_SERVER)
@ -126,16 +159,13 @@ pre-install:
${SH} ${PKGDIR}/pkg-install ${PORTNAME} PRE-INSTALL
.endif
post-build:
@ cd ${WRKSRC} ; ${SETENV} ${MAKE_ENV} ${GMAKE} -C src/interfaces/odbc odbc-drop.sql
post-install:
@ ${MKDIR} ${PREFIX}/share/postgresql ;\
${CAT} ${FILESDIR}/post-install-notes ${PKGMESSAGE} |\
${SED} "s|/usr/local|${PREFIX}|g" |\
tee ${PREFIX}/share/postgresql/post-install-notes
.if !defined(DEBUG_FLAGS)
.for file in ecpg pg_dump pg_id pg_passwd pg_restore psql
.for file in ecpg pg_dump pg_id pg_restore psql
@ strip ${PREFIX}/bin/${file}
.endfor
.endif
@ -159,15 +189,13 @@ post-install:
${INSTALL_DATA} ${PREFIX}/share/postgresql/post-install-notes ~pgsql/. ;\
${CHOWN} -R pgsql:pgsql ~pgsql/. ;\
${INSTALL_DATA} ${FILESDIR}/502.pgsql \
${WRKSRC}/src/interfaces/odbc/odbc.sql \
${WRKSRC}/src/interfaces/odbc/odbc-drop.sql \
${PREFIX}/share/postgresql
.else
do-install:
@ cd ${WRKSRC}; \
${GMAKE} -C src/bin install ;\
${GMAKE} -C src/include install ;\
${GMAKE} -C src/interfaces install
${GMAKE} -C src/bin ${INSTALL_TARGET} ;\
${GMAKE} -C src/include ${INSTALL_TARGET} ;\
${GMAKE} -C src/interfaces ${INSTALL_TARGET}
.endif
post-clean:

View File

@ -1,3 +1,3 @@
MD5 (postgresql/postgresql-base-7.2.2.tar.gz) = 669ccb907c8dbd901487391055fe52a5
MD5 (postgresql/postgresql-opt-7.2.2.tar.gz) = 302e5d0da833530359b55ebb5ee7dc57
MD5 (postgresql/postgresql-docs-7.2.2.tar.gz) = 1fdb72d0e980aedfefb1b629b02d0d8e
MD5 (postgresql/postgresql-base-7.3b1.tar.gz) = 4dcdb1af4555a513bf31108cf1acb7aa
MD5 (postgresql/postgresql-opt-7.3b1.tar.gz) = 62013f6856acd9f8ca219e83f12b778d
MD5 (postgresql/postgresql-docs-7.3b1.tar.gz) = 7e51c9815c48c84d11647943757de212

View File

@ -1,13 +1,7 @@
set path = ( %%PREFIX%%/bin $path )
setenv PGLIB %%PREFIX%%/lib
# note: PGDATA can be overridden by the -D startup option
setenv PGDATA $HOME/data
#You might want to set some locale stuff here
#setenv PGDATESTYLE ISO
#setenv LC_ALL sv_SE.ISO_8859-1
# if you want to make regression tests use this TZ
#setenv TZ PST8PDT

View File

@ -1,18 +1,11 @@
# both new and old layout's paths, but new path first...
PATH=%%PREFIX%%/bin:${PATH}
PGLIB=%%PREFIX%%/lib
# note: PGDATA can be overridden by the -D startup option
PGDATA=${HOME}/data
export PATH PGLIB PGDATA
export PATH PGDATA
#You might want to set some locale stuff here
#PGDATESTYLE=ISO
#LC_ALL=sv_SE.ISO_8859-1
#export PGDATESTYLE LC_ALL
# if you want to make regression tests use this TZ
#TZ=PST8PDT
#export TZ

View File

@ -1,118 +0,0 @@
--- src/bin/pg_passwd/pg_passwd.c.orig Sat Mar 24 01:54:55 2001
+++ src/bin/pg_passwd/pg_passwd.c Wed Apr 18 04:54:14 2001
@@ -7,6 +7,12 @@
#include <errno.h>
#include <time.h>
#include <ctype.h>
+
+#if defined(__FreeBSD__)
+#include <pwd.h> /* defines _PASSWORD_LEN, max # of characters in a password */
+#include <sys/time.h> /* gettimeofday for password salt */
+#endif
+
#define issaltchar(c) (isalnum((unsigned char) (c)) || (c) == '.' || (c) == '/')
#ifdef HAVE_TERMIOS_H
@@ -23,18 +29,31 @@
* We assume that the output of crypt(3) is always 13 characters,
* and that at most 8 characters can usefully be sent to it.
*
+ * For FreeBSD, take these values from /usr/include/pwd.h
* Postgres usernames are assumed to be less than NAMEDATALEN chars long.
*/
+#if defined(__FreeBSD__)
+#define CLEAR_PASSWD_LEN _PASSWORD_LEN
+#define CRYPTED_PASSWD_LEN _PASSWORD_LEN /* max length, not containing NULL */
+#define SALT_LEN 10
+#else
#define CLEAR_PASSWD_LEN 8 /* not including null */
#define CRYPTED_PASSWD_LEN 13 /* not including null */
+#define SALT_LEN 3
+#endif
+
+static unsigned char itoa64[] = /* 0 ... 63 => ascii - 64 */
+ "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
+
const char *progname;
static void usage(void);
+static void to64(char *s, long v, int n);
static void read_pwd_file(char *filename);
static void write_pwd_file(char *filename, char *bkname);
static void encrypt_pwd(char key[CLEAR_PASSWD_LEN + 1],
- char salt[3],
+ char salt[SALT_LEN],
char passwd[CRYPTED_PASSWD_LEN + 1]);
static void prompt_for_username(char *username);
static void prompt_for_password(char *prompt, char *password);
@@ -47,6 +66,15 @@
printf("Report bugs to <pgsql-bugs@postgresql.org>.\n");
}
+static void
+to64(char *s, long v, int n)
+{
+ while (--n >= 0) {
+ *s++ = itoa64[v&0x3f];
+ v >>= 6;
+ }
+}
+
typedef struct
{
char *uname;
@@ -154,7 +182,7 @@
if (q != NULL)
*(q++) = '\0';
- if (strlen(p) != CRYPTED_PASSWD_LEN && strcmp(p, "+") != 0)
+ if (strlen(p) > CRYPTED_PASSWD_LEN && strcmp(p, "+") != 0)
{
fprintf(stderr, "%s:%d: warning: invalid password length\n",
filename, npwds + 1);
@@ -221,15 +249,25 @@
static void
encrypt_pwd(char key[CLEAR_PASSWD_LEN + 1],
- char salt[3],
+ char salt[SALT_LEN],
char passwd[CRYPTED_PASSWD_LEN + 1])
{
+#if !defined(__FreeBSD__)
int n;
-
+#endif
/* select a salt, if not already given */
if (salt[0] == '\0')
{
+#if defined(__FreeBSD__)
+ struct timeval tv;
+ srandomdev();
+ gettimeofday(&tv,0);
+ to64(&salt[0], random(), 3);
+ to64(&salt[3], tv.tv_usec, 3);
+ to64(&salt[6], tv.tv_sec, 2);
+ salt[8] = '\0';
srand(time(NULL));
+#else
do
{
n = rand() % 256;
@@ -241,6 +279,7 @@
} while (!issaltchar(n));
salt[1] = n;
salt[2] = '\0';
+#endif
}
/* get encrypted password */
@@ -335,7 +374,7 @@
char *filename;
char bkname[MAXPGPATH];
char username[NAMEDATALEN];
- char salt[3];
+ char salt[SALT_LEN];
char key[CLEAR_PASSWD_LEN + 1],
key2[CLEAR_PASSWD_LEN + 1];
char e_passwd[CRYPTED_PASSWD_LEN + 1];

View File

@ -0,0 +1,23 @@
--- src/bin/pg_config/Makefile.orig Fri Mar 29 09:32:55 2002
+++ src/bin/pg_config/Makefile Mon Sep 23 10:45:24 2002
@@ -7,13 +7,13 @@
all: pg_config
pg_config: pg_config.sh $(top_builddir)/src/Makefile.global Makefile
- sed -e 's,@bindir@,$(bindir),g' \
- -e 's,@includedir@,$(includedir),g' \
- -e 's,@includedir_server@,$(includedir_server),g' \
- -e 's,@libdir@,$(libdir),g' \
- -e 's,@pkglibdir@,$(pkglibdir),g' \
- -e "s,@configure@,$(configure_args),g" \
- -e 's,@version@,$(VERSION),g' \
+ sed -e 's|@bindir@|$(bindir)|g' \
+ -e 's|@includedir@|$(includedir)|g' \
+ -e 's|@includedir_server@|$(includedir_server)|g' \
+ -e 's|@libdir@|$(libdir)|g' \
+ -e 's|@pkglibdir@|$(pkglibdir)|g' \
+ -e "s|@configure@|$(configure_args)|g" \
+ -e 's|@version@|$(VERSION)|g' \
$< >$@
chmod a+x $@

View File

@ -3,29 +3,20 @@ The PostgreSQL port has a collection of "side orders":
postgresql-doc
For all of the html documentation
p5-Pg
A perl5 API for client access to PostgreSQL databases.
postgresql-tcltk
If you want tcl/tk client support. You get a neat GUI, pgaccess, as
a bonus!
postgresql-jdbc
For Java JDBC support.
postgresql-odbc
For client access from unix applications using ODBC as access
method. Not needed to access unix PostgreSQL servers from Win32
using ODBC. See below.
method.
ruby-postgres, py-PyGreSQL
For client access to PostgreSQL databases using the ruby & python
languages.
ruby-postgres, py-PyGreSQL, p5-Pg, p5-DBD-Pg, postgresql-jdbc
For client access to PostgreSQL databases using the languages: ruby,
python, perl, perl DBI, and jdbc.
postgresql-plperl, postgresql-pltcl & postgresql-plruby
For using perl5, tcl & ruby as procedural languages.
etc etc...
For using perl5, tcl, and ruby as procedural languages.
Note that many files have moved around compared to previous versions
of PostgreSQL. For example, plpgsql.so and all other language modules
@ -52,6 +43,3 @@ postgresql.conf also needed, of course):
options SEMUME=40
options SEMMNU=120
If you plan to access your PostgreSQL server using ODBC, please
consider running the SQL script /usr/local/share/postgresql/odbc.sql
to get the functions required for ODBC compliance.

View File

@ -1 +1 @@
The most advanced open-source database available anywhere
The most advanced open-source database available anywhere.

View File

@ -1,23 +1,18 @@
PostgreSQL is a sophisticated Object-Relational DBMS, supporting
almost all SQL constructs, including subselects, transactions, and
user-defined types and functions. It is the most advanced open-source
database available anywhere. Commercial Support is also available.
almost all SQL constructs, including sub-selects, transactions,
schemas, and user-defined types and functions. It is the most advanced
open-source database available anywhere. PostgreSQL is developed
under the BSD license and has many commercial support offerings.
The original Postgres code was the effort of many graduate students,
undergraduate students, and staff programmers working under the direction of
Professor Michael Stonebraker at the University of California, Berkeley. In
1995, Andrew Yu and Jolly Chen took on the task of converting the DBMS query
language to SQL and created a new database system which came to known as
Postgres95. Many others contributed to the porting, testing, debugging and
enhancement of the Postgres95 code. As the code improved, and 1995 faded into
memory, PostgreSQL was born.
The postgresql-devel is intended for developer use and contains the
latest features in the PostgreSQL tree. This version is not intended
for production use. System catalogs may change requiring a reinitdb
and full dump/restore of your database. Use of the -devel port
implies a fair degree of knowledge of the PostgreSQL development cycle
and that the administrator is tracking changes made to the PostgreSQL
tree.
PostgreSQL development is presently being performed by a team of Internet
developers who are now responsible for all current and future development. The
development team coordinator is Marc G. Fournier (scrappy@PostgreSQL.ORG).
Support is available from the PostgreSQL developer/user community through the
support mailing list (questions@PostgreSQL.ORG).
PostgreSQL is free and the complete source is available.
This port's source tarballs are taken directly from CVS so code may
contain bugs. Use with extreme discretion.
WWW: http://www.postgresql.org/

View File

@ -9,17 +9,18 @@ DB_DIR=${PKG_PREFIX}/pgsql
case $2 in
PRE-INSTALL)
echo "
=========== BACKUP YOUR DATA! =============
As always, backup your data before
upgrading. If the upgrade leads to a higher
minor revision (e.g. 7.1.x -> 7.2), a dump
and restore of all databases is
required. This is *NOT* done by the port!
======================== BACKUP YOUR DATA! ===========================
Press ctrl-C *now* if you need to pg_dump.
===========================================
As always, backup your data before upgrading! This is a development
port and may change the data format of on disk data as well as the
system catalogs. It is always advised that you completely dump the
database and re-initdb between upgrades. This is **NOT** done by the
port!
Press ctrl-C *now* if you need to pg_dump or pg_dumpall.
======================================================================
"
sleep 3
sleep 5
USER=pgsql
GROUP=${USER}
UID=70

View File

@ -2,27 +2,23 @@
* IMPORTANT UPGRADE NOTICE * IMPORTANT UPGRADE NOTICE *
The PostgreSQL port now obeys hier(7) by default, which means that it
installs into:
If you have not backed up your data from the previous version, revert
to using an older copy of this port and dump your data before
proceeding. Upgrading without performing a dump will likely result in
instability, data loss, interoperability problems, and performance
issues. It is recommended that you re-initdb between upgrades. If
you have made a backup, ignore this warning.
/usr/local/bin
/usr/local/lib
/usr/local/include (NOTE! Changed again in 7.2, since PostgreSQL
handles standard install nowadays)
Please remember to keep PostgreSQL client installations in sync with
the server.
You *must* move away your old installation from users' and
ldconfig(8)'s PATHs.
You might want to add the following tunable to /etc/make.conf
The pgsql user's home dir is /usr/local/pgsql by default, but can be
changed with for example chpass(1). Datadir defaults to ~pgsql/data,
but can be changed by modifying the ~pgsql/.profile script.
POSTGRESQL_PORT=databases/postgresql-devel
======================================================================
To initialize the database, you should run initdb as the "pgsql" user
(if you want to use your locale for collation, edit ~pgsql/.profile
and set the locale to your preference first).
To initialize the database, you should run initdb as the "pgsql" user.
Example:
su -l pgsql -c initdb

View File

@ -2,15 +2,17 @@
* IMPORTANT UPGRADE NOTICE * IMPORTANT UPGRADE NOTICE *
The PostgreSQL port now obeys hier(7) by default, which means that it
installs into:
There may be API compatibility issues between the last stable release
and this development port. Please report any problems you have to
either the module maintainer or the postgresql-devel maintainer. It
is advised that you recompile libraries that depend on the
postgresql-devel port after completing this upgrade.
/usr/local/bin
/usr/local/lib
/usr/local/include (NOTE! Changed again in 7.2, since PostgreSQL
handles standard install nowadays)
Please remember to upgrade this client installation when upgrading the
server.
You *must* move away your old installation from users' and
ldconfig(8)'s PATHs.
You might want to add the following tunable to /etc/make.conf
POSTGRESQL_PORT=databases/postgresql-devel
======================================================================

View File

@ -1,5 +1,6 @@
%%SERVER%%bin/postmaster
%%SERVER%%bin/postgres
bin/clusterdb
bin/ecpg
bin/initdb
bin/initlocation
@ -9,7 +10,6 @@ bin/pg_dump
bin/pg_restore
bin/pg_dumpall
bin/pg_id
bin/pg_passwd
bin/psql
bin/createdb
bin/dropdb
@ -19,7 +19,9 @@ bin/droplang
bin/vacuumdb
bin/createlang
bin/pg_config
%%MULTIBYTE%%bin/pg_encoding
bin/pg_controldata
bin/pg_resetxlog
bin/pg_encoding
include/libpq/libpq-fs.h
@dirrm include/libpq
include/postgresql/internal/libpq/pqcomm.h
@ -32,12 +34,6 @@ include/postgresql/internal/libpq-int.h
include/postgresql/internal/pqexpbuffer.h
@dirrm include/postgresql/internal
@dirrm include/postgresql
include/libpq++/pgconnection.h
include/libpq++/pgdatabase.h
include/libpq++/pgtransdb.h
include/libpq++/pgcursordb.h
include/libpq++/pglobject.h
@dirrm include/libpq++
include/postgres_ext.h
include/pg_config.h
include/pg_config_os.h
@ -47,25 +43,42 @@ include/ecpglib.h
include/ecpgtype.h
include/sqlca.h
include/sql3types.h
include/libpgeasy.h
include/libpq++.h
lib/libpq.so
lib/libpq.a
lib/libpq.so.2
lib/libecpg.so
lib/libecpg.a
lib/libecpg.so.3
lib/libpgeasy.so
lib/libpgeasy.a
lib/libpgeasy.so.2
lib/libpq++.so
lib/libpq++.a
lib/libpq++.so.4
%%SERVER%%lib/postgresql/plpgsql.so
%%SERVER%%lib/postgresql/ascii_and_mic.so
%%SERVER%%lib/postgresql/cyrillic_and_mic.so
%%SERVER%%lib/postgresql/euc_cn_and_mic.so
%%SERVER%%lib/postgresql/euc_jp_and_sjis.so
%%SERVER%%lib/postgresql/euc_kr_and_mic.so
%%SERVER%%lib/postgresql/euc_tw_and_big5.so
%%SERVER%%lib/postgresql/latin2_and_win1250.so
%%SERVER%%lib/postgresql/latin_and_mic.so
%%SERVER%%lib/postgresql/utf8_and_ascii.so
%%SERVER%%lib/postgresql/utf8_and_big5.so
%%SERVER%%lib/postgresql/utf8_and_cyrillic.so
%%SERVER%%lib/postgresql/utf8_and_euc_cn.so
%%SERVER%%lib/postgresql/utf8_and_euc_jp.so
%%SERVER%%lib/postgresql/utf8_and_euc_kr.so
%%SERVER%%lib/postgresql/utf8_and_euc_tw.so
%%SERVER%%lib/postgresql/utf8_and_gb18030.so
%%SERVER%%lib/postgresql/utf8_and_gbk.so
%%SERVER%%lib/postgresql/utf8_and_iso8859.so
%%SERVER%%lib/postgresql/utf8_and_iso8859_1.so
%%SERVER%%lib/postgresql/utf8_and_johab.so
%%SERVER%%lib/postgresql/utf8_and_sjis.so
%%SERVER%%lib/postgresql/utf8_and_tcvn.so
%%SERVER%%lib/postgresql/utf8_and_uhc.so
%%SERVER%%lib/postgresql/utf8_and_win1250.so
%%SERVER%%lib/postgresql/utf8_and_win1256.so
%%SERVER%%lib/postgresql/utf8_and_win874.so
@unexec rmdir %D/lib/postgresql 2>/dev/null || true
%%SERVER%%share/postgresql/502.pgsql
%%SERVER%%share/postgresql/odbc.sql
%%SERVER%%share/postgresql/odbc-drop.sql
%%SERVER%%share/postgresql/conversion_create.sql
%%SERVER%%share/postgresql/postgres.bki
%%SERVER%%share/postgresql/postgres.description
%%SERVER%%share/postgresql/pg_hba.conf.sample

View File

@ -1,173 +0,0 @@
#!/bin/sh
# -*- tab-width: 4; -*-
# ex:ts=4
#
# $FreeBSD$
#
if [ -f ${WRKDIRPREFIX}${CURDIR}/Makefile.inc ]; then
exit
fi
if [ ! "${BATCH}" ]; then
dialog --title "Backup your data NOW" \
--yesno "As always, backup your data before
upgrading. If the upgrade leads to a higher
minor revision (e.g. 7.1.x -> 7.2, a dump
and restore of all databases is
required. This is *NOT* done by the port!
Select 'Yes' to continue the installation." -1 -1
if [ $? -eq 1 ] ; then exit 1; fi
fi
if [ "${BATCH}" ]; then
set \"MultiByte\" \"KRB5\"
else
/usr/bin/dialog --title "configuration options" --clear \
--checklist "\n\
Please select desired options:" -1 -1 3 \
MultiByte "Multibyte for Multilingualism" ON \
KRB5 "Kerberos 5 (only if it exists)" ON \
CLIENT "PostgreSQL client only, no server" OFF \
2> /tmp/checklist.tmp.$$
retval=$?
if [ -s /tmp/checklist.tmp.$$ ]; then
set `cat /tmp/checklist.tmp.$$`
fi
rm -f /tmp/checklist.tmp.$$
case $retval in
0) if [ -z "$*" ]; then
echo "Nothing selected"
fi
;;
1) echo "Cancel pressed."
exit 1
;;
esac
fi
${MKDIR} ${WRKDIRPREFIX}${CURDIR}
exec > ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
while [ "$1" ]; do
case $1 in
\"MultiByte\")
MULTIBYTE=1
;;
\"KRB5\")
KRB5=1
;;
\"CLIENT\")
CLIENT=1
;;
\"nothing\"|true)
;;
*)
echo "Invalid option(s): $*" > /dev/stderr
rm -f ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
exit 1
;;
esac
shift
done
exec > /dev/stderr
# if multibyte, determine default charset
echo "# Multibyte" >> ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
if [ ! "${MULTIBYTE}" ]; then
echo "WITHOUT_MULTIBYTE=YES" >> ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
else
if [ "${BATCH}" ]; then
set "nothing"
else
/usr/bin/dialog --title "Default encoding system" --clear \
--radiolist "\n\
Please select the default encoding:" -1 -1 16 \
nothing "Default Encoding" ON \
SQL_ASCII "SQL_ASCII - ASCII" OFF \
EUC_JP "Japanese EUC" OFF \
EUC_CN "Chinese EUC" OFF \
EUC_KR "Korean EUC" OFF \
EUC_TW "Taiwan EUC" OFF \
UNICODE "Unicode (UTF-8)" OFF \
MULE_INTERNAL "Mule internal code" OFF \
LATIN1 "ISO 8859-1" OFF \
LATIN2 "ISO 8859-2" OFF \
LATIN3 "ISO 8859-3" OFF \
LATIN4 "ISO 8859-4" OFF \
LATIN5 "ISO 8859-9" OFF \
LATIN6 "ISO 8859-10" OFF \
LATIN7 "ISO 8859-13" OFF \
LATIN8 "ISO 8859-14" OFF \
LATIN9 "ISO 8859-15" OFF \
LATIN10 "ISO 8859-16" OFF \
ISO-8859-5 "ECMA-113 Latin/Cyrillic" OFF \
ISO-8859-6 "ECMA-114 Latin/Arabic" OFF \
ISO-8859-7 "ECMA-118 Latin/Greek" OFF \
ISO-8859-8 "ECMA-121 Latin/Hebrew" OFF \
KOI8 "KOI8-R(U)" OFF \
WIN "Windows CP1251" OFF \
ALT "Windows CP866" OFF \
2> /tmp/checklist.tmp.$$
retval=$?
if [ -s /tmp/checklist.tmp.$$ ]; then
set `cat /tmp/checklist.tmp.$$`
fi
rm -f /tmp/checklist.tmp.$$
if [ $retval = 1 ]; then
echo "Cancel pressed."
rm ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
exit 1
fi
fi
if [ "$1" = "nothing" ]; then
echo "MULTIBYTE_ENCODING=yes" \
>> ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
else
echo "MULTIBYTE_ENCODING=$1" \
>> ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
fi
fi
if [ "${KRB5}" ]; then
if [ -r "/usr/bin/krb5-config" ]; then
echo " ########################################################################"
echo " ### PostgreSQL does not build with Hiemdal kerberos. Edit ###"
echo " ### /etc/make.conf and turn the knob MAKE_KERBEROS5 off and make ###"
echo " ### world (or remove all traces of Hiemdal from your system by: ###"
echo " ### rm -f /usr/bin/krb5-config /usr/lib/libkrb5.* /usr/include/krb5* ###"
echo " ########################################################################"
KRB5=""
else
KRB5CONF="`which krb5-config`"
if [ "$KRB5CONF" ]; then
cat <<-EOF >> ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
.if exists($KRB5CONF)
LIB_DEPENDS+= krb5.3:${PORTSDIR}/security/krb5
CONFIGURE_ARGS+= --with-krb5="`${KRB5CONF} --prefix krb5`"
CFLAGS+= "'`${KRB5CONF} --cflags krb5`'"
LDFLAGS+= "'`${KRB5CONF} --libs krb5`'"
.endif
EOF
else
echo " ########################################################"
echo " ### Unable to find krb5-config in your path. ###"
echo " ### Please correct and build PostgreSQL again if you ###"
echo " ### want PostgreSQL to be compiled with kerberos ###"
echo " ### support (ports/security/krb5). ###"
echo " ########################################################"
fi
fi
fi
if [ ${CLIENT} ]; then
echo "WITHOUT_SERVER=yes" >> ${WRKDIRPREFIX}${CURDIR}/Makefile.inc
fi