echo "PostGIS was built successfully. Ready to install."; \
fi
-all: svnrevision.h
+all:
install: all
svnrebase: authors.git
git svn rebase --authors-file authors.git
-svnrevision.h: .FORCE
- $(PERL) utils/svn_repo_revision.pl
-
.PHONY: utils liblwgeom ChangeLog.svn raster
.FORCE:
Datum postgis_scripts_released(PG_FUNCTION_ARGS);
Datum postgis_version(PG_FUNCTION_ARGS);
Datum postgis_lib_version(PG_FUNCTION_ARGS);
-Datum postgis_svn_version(PG_FUNCTION_ARGS);
Datum postgis_libxml_version(PG_FUNCTION_ARGS);
Datum postgis_lib_build_date(PG_FUNCTION_ARGS);
Datum LWGEOM_length2d_linestring(PG_FUNCTION_ARGS);
PG_RETURN_TEXT_P(result);
}
-PG_FUNCTION_INFO_V1(postgis_svn_version);
-Datum postgis_svn_version(PG_FUNCTION_ARGS)
-{
- text *result;
- char ver[256];
- snprintf(ver, 256, "%d", SVNREV);
- result = cstring2text(ver);
- PG_RETURN_TEXT_P(result);
-}
-
PG_FUNCTION_INFO_V1(postgis_lib_build_date);
Datum postgis_lib_build_date(PG_FUNCTION_ARGS)
{
PG_FUNCTION_INFO_V1(postgis_scripts_released);
Datum postgis_scripts_released(PG_FUNCTION_ARGS)
{
- char ver[256];
- text *result;
- snprintf(ver, 256, "%s.%s r%d", POSTGIS_MAJOR_VERSION, POSTGIS_MINOR_VERSION, SVNREV);
- result = cstring2text(ver);
+ char *ver = POSTGIS_SCRIPTS_VERSION;
+ text *result = cstring2text(ver);
PG_RETURN_TEXT_P(result);
}
AS 'MODULE_PATHNAME'\r
LANGUAGE 'C' IMMUTABLE; -- a new lib will require a new session\r
\r
-CREATE OR REPLACE FUNCTION postgis_svn_version() RETURNS text\r
- AS 'MODULE_PATHNAME'\r
- LANGUAGE 'C' IMMUTABLE;\r
-\r
-- NOTE: starting at 1.1.0 this is the same of postgis_lib_version()\r
CREATE OR REPLACE FUNCTION postgis_scripts_released() RETURNS text\r
AS 'MODULE_PATHNAME'\r
SELECT postgis_uses_stats() INTO usestats;\r
SELECT postgis_scripts_installed() INTO dbproc;\r
SELECT postgis_scripts_released() INTO relproc;\r
- SELECT postgis_svn_version() INTO svnver;\r
\r
fullver = 'POSTGIS="' || libver || '"';\r
\r
fullver = fullver || ' LIBXML="' || libxmlver || '"';\r
END IF;\r
\r
- IF svnver IS NOT NULL THEN\r
- fullver = fullver || ' SVN_REVISION=' || svnver;\r
- END IF;\r
-\r
IF usestats THEN\r
fullver = fullver || ' USE_STATS';\r
END IF;\r
/* postgis_config.h.in. Generated from configure.ac by autoheader. */
-#include "svnrevision.h"
-
/* Define to 1 if translation of program messages to the user's native
language is requested. */
#undef ENABLE_NLS
#!/usr/bin/perl
-$ENV{"LC_ALL"} = "C";
+my $debug = 0;
+
+my @files = (
+ "postgis.sql.in.c",
+ "geography.sql.in.c",
+ "long_xact.sql.in.c"
+ );
-use Cwd;
-my $cwd = &Cwd::cwd();
-my $svn_exe = `which svn`;
my $rev = 0;
-# We have a repo and can read from it
-if ( $svn_exe && -d ".svn" ) {
- my $svn_info;
- $svn_info = `svn info`;
-
- if ( $svn_info =~ /Last Changed Rev: (\d+)/ ) {
- $rev = $1;
- open(OUT,">$cwd/svnrevision.h");
- print OUT "#define SVNREV $rev\n";
- close(OUT);
- }
- else {
- die "Unable to find revision in svn info\n";
- }
-}
-# No repo, but there's a version file in the tarball
-elsif ( -f "svnrevision.h" ) {
- my $svn_revision_file = `cat svnrevision.h`;
- if ( $svn_revision_file =~ /SVNREV (\d+)/ ) {
- $rev = $1;
- }
- else {
- die "svnrevision.h has an unexpected format\n";
- }
-}
-else {
- die "Unable read svnrevision.h or svn repository metadata\n";
+foreach $f (@files)
+{
+ my $file = "./postgis/$f";
+ if( -f $file )
+ {
+ my $r = 0;
+ open(F, $file);
+ while(<F>)
+ {
+ $r = $1 if /\$Id: \S+ (\d+) /;
+ }
+ print "$f got revision $r\n" if $debug && $r;
+ $rev = $r if $r > $rev;
+ }
+ else
+ {
+ die "Could not open input file $f\n";
+ }
}
-print $rev;
+print "\nMaximum scripts revision: $rev\n\n" if $debug;
+
+print $rev if ! $debug;
+
+