Re: [HACKERS] Extending MSVC scripts to support --with-extra-version

2014-07-12 Thread Michael Paquier
On Sun, Jul 13, 2014 at 2:39 AM, Magnus Hagander 
> Applied, thanks!.
Thanks.
-- 
Michael


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Extending MSVC scripts to support --with-extra-version

2014-07-12 Thread Magnus Hagander
On Mon, Jun 30, 2014 at 1:43 PM, Michael Paquier
 wrote:
>
>
>
> On Mon, Jun 30, 2014 at 7:05 PM, Asif Naeem  wrote:
>> Patch looks good to me. I think it is ready for committer. Thanks.
> Thanks for the extra checks and for taking the time to review it.

Applied, thanks!


-- 
 Magnus Hagander
 Me: http://www.hagander.net/
 Work: http://www.redpill-linpro.com/


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Extending MSVC scripts to support --with-extra-version

2014-06-30 Thread Michael Paquier



On Mon, Jun 30, 2014 at 7:05 PM, Asif Naeem  wrote:
> Patch looks good to me. I think it is ready for committer. Thanks.
Thanks for the extra checks and for taking the time to review it.
-- 
Michael
On Mon, Jun 30, 2014 at 7:05 PM, Asif Naeem  wrote:
Thank you for sharing updated patch. I have compared it with MSVC and configure generated build i.e. 
MacOSX (--with-extra-version "-30JUN")
pc1dotnetpk:inst asif$ ./bin/psql -d postgres

psql (9.5devel-30JUN)Type "help" for help.postgres=# select version();                                                                  version

 PostgreSQL 9.5devel-30JUN on x86_64-apple-darwin13.2.0, compiled by Apple LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn), 64-bit(1 row)pc1dotnetpk:inst asif$ ./bin/initdb -Vinitdb (PostgreSQL) 9.5devel-30JUN

Windows7 64bit (extraver => '-30JUN')

C:\PG\postgresql\inst_withpatch_v2_extra-version>bin\psql -d postgrespsql (9.5devel-30JUN)WARNING: Console code page (437) differs from Windows code page (1252)         8-bit characters might not work correctly. See psql reference

         page "Notes for Windows users" for details.Type "help" for help.postgres=# select version();                               version--

 PostgreSQL 9.5devel-30JUN, compiled by Visual C++ build 1600, 64-bit(1 row)C:\PG\postgresql\inst_withpatch_v2_extra-version>bin\initdb.exe -Vinitdb (PostgreSQL) 9.5devel-30JUN

Patch looks good to me. I think it is ready for committer. Thanks. 
Regards,Muhammad Asif NaeemOn Fri, Jun 27, 2014 at 5:00 AM, Michael Paquier  wrote:

On Fri, Jun 27, 2014 at 8:26 AM, Asif Naeem  wrote:




I have spent some time reviewing the code. It applies well and PG master branch build fine with setting extraver or keep it undefined.




Thanks for reviewing that. 
I have observed the following output applying the patch i.e. 



It seems that extraver information only appears when version function is being used. If we use -V (--version)  with pg utilities/binaries, it does not include additional provided information. 




You are right. The first version of this patch updates PG_VERSION_STR but not PG_VERSION, which is the string used for all the binaries to report the version. 





Can you please guide how can I perform similar functionality via configure script (that can be used on Unix like OS/MinGW) or It is intended for Window specific requirement ?. Thanks.




Sure, you can do the equivalent with plain configure like that:./configure --with-extra-version="-foo" --prefix=/to/path/And here is the output that I get with such options on OSX for example:




$ psql -c 'select substring(version(), 1, 52)'  substring   -- PostgreSQL 9.5devel-foo on x86_64-apple-darwin13.2.0




(1 row)$ initdb --versioninitdb (PostgreSQL) 9.5devel-fooWith the new patch attached, the following output is generated for an MSVC build:$ psql -c 'select version()'  version



 PostgreSQL 9.5devel-foo, compiled by Visual C++ build 1600, 64-bit(1 row)$ initdb --versioninitdb (PostgreSQL) 9.5devel-foo



Regards,--
Michael


-- Michael


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Extending MSVC scripts to support --with-extra-version

2014-06-30 Thread Asif Naeem
Thank you for sharing updated patch. I have compared it with MSVC and
configure generated build i.e.

*MacOSX (*--with-extra-version "-30JUN"*)*

pc1dotnetpk:inst asif$ ./bin/psql -d postgres
> psql (9.5devel-30JUN)
> Type "help" for help.
> postgres=# select version();
>   version
>
> 
>  PostgreSQL 9.5devel-30JUN on x86_64-apple-darwin13.2.0, compiled by Apple
> LLVM version 5.1 (clang-503.0.40) (based on LLVM 3.4svn), 64-bit
> (1 row)
> pc1dotnetpk:inst asif$ ./bin/initdb -V
> initdb (PostgreSQL) 9.5devel-30JUN


*Windows7 64bit (*extraver => '-30JUN'*)*

C:\PG\postgresql\inst_withpatch_v2_extra-version>bin\psql -d postgres
> psql (9.5devel-30JUN)
> WARNING: Console code page (437) differs from Windows code page (1252)
>  8-bit characters might not work correctly. See psql reference
>  page "Notes for Windows users" for details.
> Type "help" for help.
> postgres=# select version();
>version
> --
>  PostgreSQL 9.5devel-30JUN, compiled by Visual C++ build 1600, 64-bit
> (1 row)
> C:\PG\postgresql\inst_withpatch_v2_extra-version>bin\initdb.exe -V
> initdb (PostgreSQL) 9.5devel-30JUN


Patch looks good to me. I think it is ready for committer. Thanks.

Regards,
Muhammad Asif Naeem


On Fri, Jun 27, 2014 at 5:00 AM, Michael Paquier 
wrote:

>
>
>
> On Fri, Jun 27, 2014 at 8:26 AM, Asif Naeem  wrote:
>
>> I have spent some time reviewing the code. It applies well and PG master
>> branch build fine with setting extraver or keep it undefined.
>>
> Thanks for reviewing that.
>
>
>> I have observed the following output applying the patch i.e.
>>
> It seems that extraver information only appears when version function is
>> being used. If we use -V (--version)  with pg utilities/binaries, it does
>> not include additional provided information.
>>
> You are right. The first version of this patch updates PG_VERSION_STR but
> not PG_VERSION, which is the string used for all the binaries to report the
> version.
>
>
>>  Can you please guide how can I perform similar functionality via
>> configure script (that can be used on Unix like OS/MinGW) or It is intended
>> for Window specific requirement ?. Thanks.
>>
> Sure, you can do the equivalent with plain configure like that:
> ./configure --with-extra-version="-foo" --prefix=/to/path/
> And here is the output that I get with such options on OSX for example:
> $ psql -c 'select substring(version(), 1, 52)'
>   substring
> --
>  PostgreSQL 9.5devel-foo on x86_64-apple-darwin13.2.0
> (1 row)
> $ initdb --version
> initdb (PostgreSQL) 9.5devel-foo
>
> With the new patch attached, the following output is generated for an MSVC
> build:
> $ psql -c 'select version()'
>   version
> 
>  PostgreSQL 9.5devel-foo, compiled by Visual C++ build 1600, 64-bit
> (1 row)
> $ initdb --version
> initdb (PostgreSQL) 9.5devel-foo
>
> Regards,
> --
> Michael
>


Re: [HACKERS] Extending MSVC scripts to support --with-extra-version

2014-06-26 Thread Michael Paquier
On Fri, Jun 27, 2014 at 8:26 AM, Asif Naeem  wrote:

> I have spent some time reviewing the code. It applies well and PG master
> branch build fine with setting extraver or keep it undefined.
>
Thanks for reviewing that.


> I have observed the following output applying the patch i.e.
>
It seems that extraver information only appears when version function is
> being used. If we use -V (--version)  with pg utilities/binaries, it does
> not include additional provided information.
>
You are right. The first version of this patch updates PG_VERSION_STR but
not PG_VERSION, which is the string used for all the binaries to report the
version.


>  Can you please guide how can I perform similar functionality via
> configure script (that can be used on Unix like OS/MinGW) or It is intended
> for Window specific requirement ?. Thanks.
>
Sure, you can do the equivalent with plain configure like that:
./configure --with-extra-version="-foo" --prefix=/to/path/
And here is the output that I get with such options on OSX for example:
$ psql -c 'select substring(version(), 1, 52)'
  substring
--
 PostgreSQL 9.5devel-foo on x86_64-apple-darwin13.2.0
(1 row)
$ initdb --version
initdb (PostgreSQL) 9.5devel-foo

With the new patch attached, the following output is generated for an MSVC
build:
$ psql -c 'select version()'
  version

 PostgreSQL 9.5devel-foo, compiled by Visual C++ build 1600, 64-bit
(1 row)
$ initdb --version
initdb (PostgreSQL) 9.5devel-foo

Regards,
--
Michael
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index f7a5abb..d53803e 100644
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -164,9 +164,9 @@ sub GenerateFiles
 		  || confess "Could not write to pg_config.h\n";
 		while ()
 		{
-			s{PG_VERSION "[^"]+"}{PG_VERSION "$self->{strver}"};
+			s{PG_VERSION "[^"]+"}{PG_VERSION "$self->{strver}$self->{options}->{extraver}"};
 			s{PG_VERSION_NUM \d+}{PG_VERSION_NUM $self->{numver}};
-s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY(z)\n#define PG_VERSION_STR "PostgreSQL $self->{strver}, compiled by Visual C++ build " __STRINGIFY2(_MSC_VER) ", $bits-bit"};
+			s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY(z)\n#define PG_VERSION_STR "PostgreSQL $self->{strver}$self->{options}->{extraver}, compiled by Visual C++ build " __STRINGIFY2(_MSC_VER) ", $bits-bit"};
 			print O;
 		}
 		print O "#define PG_MAJORVERSION \"$self->{majorver}\"\n";
@@ -625,14 +625,15 @@ sub GetFakeConfigure
 	$cfg .= ' --enable-nls' if ($self->{options}->{nls});
 	$cfg .= ' --with-ldap'  if ($self->{options}->{ldap});
 	$cfg .= ' --without-zlib' unless ($self->{options}->{zlib});
-	$cfg .= ' --with-openssl'   if ($self->{options}->{ssl});
-	$cfg .= ' --with-ossp-uuid' if ($self->{options}->{uuid});
-	$cfg .= ' --with-libxml'if ($self->{options}->{xml});
-	$cfg .= ' --with-libxslt'   if ($self->{options}->{xslt});
-	$cfg .= ' --with-gssapi'if ($self->{options}->{gss});
-	$cfg .= ' --with-tcl'   if ($self->{options}->{tcl});
-	$cfg .= ' --with-perl'  if ($self->{options}->{perl});
-	$cfg .= ' --with-python'if ($self->{options}->{python});
+	$cfg .= ' --with-extra-version' if ($self->{options}->{extraver});
+	$cfg .= ' --with-openssl'   if ($self->{options}->{ssl});
+	$cfg .= ' --with-ossp-uuid' if ($self->{options}->{uuid});
+	$cfg .= ' --with-libxml'if ($self->{options}->{xml});
+	$cfg .= ' --with-libxslt'   if ($self->{options}->{xslt});
+	$cfg .= ' --with-gssapi'if ($self->{options}->{gss});
+	$cfg .= ' --with-tcl'   if ($self->{options}->{tcl});
+	$cfg .= ' --with-perl'  if ($self->{options}->{perl});
+	$cfg .= ' --with-python'if ($self->{options}->{python});
 
 	return $cfg;
 }
diff --git a/src/tools/msvc/config_default.pl b/src/tools/msvc/config_default.pl
index ebb47ab..20aee8b 100644
--- a/src/tools/msvc/config_default.pl
+++ b/src/tools/msvc/config_default.pl
@@ -10,17 +10,18 @@ our $config = {
 	  # blocksize => 8, # --with-blocksize, 8kB by default
 	  # wal_blocksize => 8, # --with-wal-blocksize, 8kB by default
 	  # wal_segsize => 16,  # --with-wal-segsize, 16MB by default
-	ldap=> 1,# --with-ldap
-	nls => undef,# --enable-nls=
-	tcl => undef,# --with-tls=
-	perl=> undef,# --with-perl
-	python  => undef,# --with-python=
-	openssl => undef,# --with-ssl=
-	uuid=> undef,# --with-ossp-uuid
-	xml => undef,# --with-libxml=
-	xslt=> undef,# --with-libxslt=
-	iconv   => undef,# (not in configure, path to iconv)
-	zlib=> undef # --with-zlib=
+	ldap => 1,   # --with-ldap
+	extraver => undef,   # --with-extra-version=
+	nls  => undef,   # --enable-nls=
+	tcl  => undef,   # --with-tls=
+	

Re: [HACKERS] Extending MSVC scripts to support --with-extra-version

2014-06-26 Thread Asif Naeem
Hi,

I have spent some time reviewing the code. It applies well and PG master
branch build fine with setting extraver or keep it undefined. I have
observed the following output applying the patch i.e.

*Keeping extraver undefined* :

C:\PG\postgresql\inst_withpatch_no_extra-version>bin\psql.exe -d postgres
> psql (9.5devel)
> WARNING: Console code page (437) differs from Windows code page (1252)
>  8-bit characters might not work correctly. See psql reference
>  page "Notes for Windows users" for details.
> Type "help" for help.
> postgres=# select version();
> version
> 
>  PostgreSQL 9.5devel, compiled by Visual C++ build 1600, 64-bit
> (1 row)
> C:\PG\postgresql\inst_withpatch_no_extra-version>bin\initdb.exe -V
> initdb (PostgreSQL) 9.5devel


*Setting extraver as ‘June27’* :

C:\PG\postgresql\inst_withpatch_extra-version>bin\psql -d postgres
> psql (9.5devel)
> WARNING: Console code page (437) differs from Windows code page (1252)
>  8-bit characters might not work correctly. See psql reference
>  page "Notes for Windows users" for details.
> Type "help" for help.
> postgres=# select version();
>version
> --
>  PostgreSQL 9.5develJune27, compiled by Visual C++ build 1600, 64-bit
> (1 row)
>
> C:\PG\postgresql\inst_withpatch_extra-version>bin\initdb.exe -V
> initdb (PostgreSQL) 9.5devel


It seems that extraver information only appears when version function is
being used. If we use -V (--version)  with pg utilities/binaries, it does
not include additional provided information.

Can you please guide how can I perform similar functionality via configure
script (that can be used on Unix like OS/MinGW) or It is intended for
Window specific requirement ?. Thanks.

Regards,
Muhammad Asif Naeem


On Tue, May 27, 2014 at 5:58 AM, Michael Paquier 
wrote:

> Hi all,
>
> Please find attached a patch extending support of --with-extra-version
> in the MSVC scripts. This is something I have been using internally,
> and I believe that it is useful for Windows packagers.
> Similarly to the other options, a new field called extraver is added
> in config_default.pl and it can be overwritten in config.pl to have an
> additional version string, similarly to what is currently doable with
> ./configure.
>
> I'll add this patch to the next commit fest.
> Regards,
> --
> Michael
>
>
> --
> Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-hackers
>
>


[HACKERS] Extending MSVC scripts to support --with-extra-version

2014-05-26 Thread Michael Paquier
Hi all,

Please find attached a patch extending support of --with-extra-version
in the MSVC scripts. This is something I have been using internally,
and I believe that it is useful for Windows packagers.
Similarly to the other options, a new field called extraver is added
in config_default.pl and it can be overwritten in config.pl to have an
additional version string, similarly to what is currently doable with
./configure.

I'll add this patch to the next commit fest.
Regards,
-- 
Michael
diff --git a/src/tools/msvc/Solution.pm b/src/tools/msvc/Solution.pm
index 283d399..a2e84a5 100644
--- a/src/tools/msvc/Solution.pm
+++ b/src/tools/msvc/Solution.pm
@@ -166,7 +166,7 @@ sub GenerateFiles
 		{
 			s{PG_VERSION "[^"]+"}{PG_VERSION "$self->{strver}"};
 			s{PG_VERSION_NUM \d+}{PG_VERSION_NUM $self->{numver}};
-s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY(z)\n#define PG_VERSION_STR "PostgreSQL $self->{strver}, compiled by Visual C++ build " __STRINGIFY2(_MSC_VER) ", $bits-bit"};
+s{PG_VERSION_STR "[^"]+"}{__STRINGIFY(x) #x\n#define __STRINGIFY2(z) __STRINGIFY(z)\n#define PG_VERSION_STR "PostgreSQL $self->{strver}$self->{options}->{extraver}, compiled by Visual C++ build " __STRINGIFY2(_MSC_VER) ", $bits-bit"};
 			print O;
 		}
 		print O "#define PG_MAJORVERSION \"$self->{majorver}\"\n";
@@ -624,14 +624,15 @@ sub GetFakeConfigure
 	$cfg .= ' --enable-nls' if ($self->{options}->{nls});
 	$cfg .= ' --with-ldap'  if ($self->{options}->{ldap});
 	$cfg .= ' --without-zlib' unless ($self->{options}->{zlib});
-	$cfg .= ' --with-openssl'   if ($self->{options}->{ssl});
-	$cfg .= ' --with-ossp-uuid' if ($self->{options}->{uuid});
-	$cfg .= ' --with-libxml'if ($self->{options}->{xml});
-	$cfg .= ' --with-libxslt'   if ($self->{options}->{xslt});
-	$cfg .= ' --with-gssapi'if ($self->{options}->{gss});
-	$cfg .= ' --with-tcl'   if ($self->{options}->{tcl});
-	$cfg .= ' --with-perl'  if ($self->{options}->{perl});
-	$cfg .= ' --with-python'if ($self->{options}->{python});
+	$cfg .= ' --with-extra-version' if ($self->{options}->{extraver});
+	$cfg .= ' --with-openssl'   if ($self->{options}->{ssl});
+	$cfg .= ' --with-ossp-uuid' if ($self->{options}->{uuid});
+	$cfg .= ' --with-libxml'if ($self->{options}->{xml});
+	$cfg .= ' --with-libxslt'   if ($self->{options}->{xslt});
+	$cfg .= ' --with-gssapi'if ($self->{options}->{gss});
+	$cfg .= ' --with-tcl'   if ($self->{options}->{tcl});
+	$cfg .= ' --with-perl'  if ($self->{options}->{perl});
+	$cfg .= ' --with-python'if ($self->{options}->{python});
 
 	return $cfg;
 }
diff --git a/src/tools/msvc/config_default.pl b/src/tools/msvc/config_default.pl
index ebb47ab..20aee8b 100644
--- a/src/tools/msvc/config_default.pl
+++ b/src/tools/msvc/config_default.pl
@@ -10,17 +10,18 @@ our $config = {
 	  # blocksize => 8, # --with-blocksize, 8kB by default
 	  # wal_blocksize => 8, # --with-wal-blocksize, 8kB by default
 	  # wal_segsize => 16,  # --with-wal-segsize, 16MB by default
-	ldap=> 1,# --with-ldap
-	nls => undef,# --enable-nls=
-	tcl => undef,# --with-tls=
-	perl=> undef,# --with-perl
-	python  => undef,# --with-python=
-	openssl => undef,# --with-ssl=
-	uuid=> undef,# --with-ossp-uuid
-	xml => undef,# --with-libxml=
-	xslt=> undef,# --with-libxslt=
-	iconv   => undef,# (not in configure, path to iconv)
-	zlib=> undef # --with-zlib=
+	ldap => 1,   # --with-ldap
+	extraver => undef,   # --with-extra-version=
+	nls  => undef,   # --enable-nls=
+	tcl  => undef,   # --with-tls=
+	perl => undef,   # --with-perl
+	python   => undef,   # --with-python=
+	openssl  => undef,   # --with-ssl=
+	uuid => undef,   # --with-ossp-uuid
+	xml  => undef,   # --with-libxml=
+	xslt => undef,   # --with-libxslt=
+	iconv=> undef,   # (not in configure, path to iconv)
+	zlib => undef# --with-zlib=
 };
 
 1;

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers