summaryrefslogtreecommitdiff
path: root/src/utils
diff options
context:
space:
mode:
authorPeter Eisentraut2000-07-02 15:21:27 +0000
committerPeter Eisentraut2000-07-02 15:21:27 +0000
commit6fb9d2e347b14445b85d6c97f7d16527d41ccce6 (patch)
treeb75bd707655a8abeca16f69ed58f9391d5308c5c /src/utils
parent07dfe9773127d82a960101a5a18bd9393dff0d40 (diff)
Version number now set in configure, available through Makefile.global
and config.h. Adjusted all referring code. Scrapped pg_version and changed initdb accordingly. Integrated src/utils/version.c into src/backend/utils/init/miscinit.c. Changed all callers. Set version number to `7.1devel'. (Non-numeric version suffixes now allowed.)
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/Makefile24
-rw-r--r--src/utils/version.c149
2 files changed, 8 insertions, 165 deletions
diff --git a/src/utils/Makefile b/src/utils/Makefile
index c1f153900b4..cd641ce675e 100644
--- a/src/utils/Makefile
+++ b/src/utils/Makefile
@@ -1,10 +1,8 @@
#-------------------------------------------------------------------------
#
-# Makefile--
-# Makefile for utils
+# Makefile for utils
#
-# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/utils/Attic/Makefile,v 1.7 2000/02/27 01:18:46 tgl Exp $
+# $Header: /cvsroot/pgsql/src/utils/Attic/Makefile,v 1.8 2000/07/02 15:21:27 petere Exp $
#
# About strdup: Some systems have strdup in their standard library, others
# don't. Ones that don't will use this make file to compile the strdup.c
@@ -19,24 +17,18 @@
#
#-------------------------------------------------------------------------
-SRCDIR = ..
-include $(SRCDIR)/Makefile.global
+subdir = src/utils
+top_builddir = ../..
+include ../Makefile.global
-all: version.o
+all:
-install:
+clean distclean maintainer-clean:
+ rm -f dllinit.o getopt.o strdup.o
depend dep:
$(CC) $(CFLAGS) -MM *.c >depend
-clean:
- rm -f dllinit.o getopt.o strdup.o version.o
-
-# Make sure version.o has proper dependency on version.h,
-# even if we didn't do make depend.
-version.o: version.c $(SRCDIR)/include/version.h
-
ifeq (depend,$(wildcard depend))
include depend
endif
-
diff --git a/src/utils/version.c b/src/utils/version.c
deleted file mode 100644
index d58ccdf6853..00000000000
--- a/src/utils/version.c
+++ /dev/null
@@ -1,149 +0,0 @@
-/*-------------------------------------------------------------------------
- *
- * version.c
- * Routines to handle Postgres version number.
- *
- * Portions Copyright (c) 1996-2000, PostgreSQL, Inc
- * Portions Copyright (c) 1994, Regents of the University of California
- *
- *
- * IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/utils/Attic/version.c,v 1.17 2000/06/14 18:18:01 petere Exp $
- *
- * STANDALONE CODE - do not use error routines as this code is not linked
- * with any...
- *-------------------------------------------------------------------------
- */
-#include <sys/types.h>
-#include <sys/file.h>
-#include <fcntl.h> /* For open() flags */
-#include <sys/stat.h>
-#include <ctype.h>
-#include <unistd.h>
-#include <errno.h>
-
-#include "postgres.h"
-
-#include "storage/fd.h" /* for O_ */
-
-#include "version.h"
-
-
-static void
-PathSetVersionFilePath(const char *path, char *filepathbuf)
-{
-/*----------------------------------------------------------------------------
- PathSetVersionFilePath
-
- Destructively change "filepathbuf" to contain the concatenation of "path"
- and the name of the version file name.
-----------------------------------------------------------------------------*/
- if ((strlen(path) + 1 + strlen(PG_VERFILE)) >= MAXPGPATH)
- *filepathbuf = '\0';
- else
- sprintf(filepathbuf, "%s%c%s", path, SEP_CHAR, PG_VERFILE);
-}
-
-
-
-void
-ValidatePgVersion(const char *path, char **reason_p)
-{
-/*----------------------------------------------------------------------------
- Determine whether the PG_VERSION file in directory <path> indicates
- a data version compatible with the version of this program.
-
- If compatible, return <*reason_p> == NULL. Otherwise, malloc space,
- fill it with a text string explaining how it isn't compatible (or why
- we can't tell), and return a pointer to that space as <*reason_p>.
------------------------------------------------------------------------------*/
- int fd;
- int nread;
- char myversion[32];
- char version[32];
- char full_path[MAXPGPATH];
-
- PathSetVersionFilePath(path, full_path);
-
- sprintf(myversion, "%s.%s\n", PG_RELEASE, PG_VERSION);
-
- if ((fd = open(full_path, O_RDONLY | PG_BINARY, 0)) == -1)
- {
- *reason_p = malloc(100 + strlen(full_path));
- sprintf(*reason_p, "File '%s' does not exist or no read permission.", full_path);
- }
- else
- {
- nread = read(fd, version, sizeof(version) - 1);
- if (nread < 4 ||
- !isdigit((int)version[0]) ||
- version[nread - 1] != '\n')
- {
- *reason_p = malloc(100 + strlen(full_path));
- sprintf(*reason_p, "File '%s' does not have a valid format "
- "for a PG_VERSION file.", full_path);
- }
- else
- {
- version[nread] = '\0';
- if (strcmp(version, myversion) != 0)
- {
- *reason_p = malloc(200 + strlen(full_path));
- sprintf(*reason_p,
- "Version number in file '%s' should be %s, "
- "not %s.",
- full_path, myversion, version);
- }
- else
- *reason_p = NULL;
- }
- close(fd);
- }
-}
-
-
-
-void
-SetPgVersion(const char *path, char **reason_p)
-{
-/*---------------------------------------------------------------------------
- Create the PG_VERSION file in the directory <path>.
-
- If we fail, allocate storage, fill it with a text string explaining why,
- and return a pointer to that storage as <*reason_p>. If we succeed,
- return *reason_p = NULL.
----------------------------------------------------------------------------*/
- int fd;
- char version[32];
- char full_path[MAXPGPATH];
-
- PathSetVersionFilePath(path, full_path);
-
- sprintf(version, "%s.%s\n", PG_RELEASE, PG_VERSION);
-
- fd = open(full_path, O_WRONLY | O_CREAT | O_EXCL | PG_BINARY, 0666);
- if (fd < 0)
- {
- *reason_p = malloc(100 + strlen(full_path));
- sprintf(*reason_p,
- "Unable to create file '%s', errno from open(): %s (%d).",
- full_path, strerror(errno), errno);
- }
- else
- {
- int rc; /* return code from some function we call */
-
- rc = write(fd, version, strlen(version));
- if (rc != strlen(version))
- {
- *reason_p = malloc(100 + strlen(full_path));
- sprintf(*reason_p,
- "Failed to write to file '%s', after it was already "
- "open. Errno from write(): %s (%d)",
- full_path, strerror(errno), errno);
- }
- else
- *reason_p = NULL;
- close(fd);
- }
-}