Обсуждение: Extending MSVC scripts to support --with-extra-version
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
Вложения
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 <michael.paquier@gmail.com> 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
On Fri, Jun 27, 2014 at 8:26 AM, Asif Naeem <anaeem.it@gmail.com> wrote:
MichaelI 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
$ 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
$ 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,
--Вложения
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 <michael.paquier@gmail.com> wrote:
MichaelOn Fri, Jun 27, 2014 at 8:26 AM, Asif Naeem <anaeem.it@gmail.com> 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-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 --version
initdb (PostgreSQL) 9.5devel-fooRegards,--
On Mon, Jun 30, 2014 at 7:05 PM, Asif Naeem <anaeem.it@gmail.com> 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 1:43 PM, Michael Paquier <michael.paquier@gmail.com> wrote: > > > > On Mon, Jun 30, 2014 at 7:05 PM, Asif Naeem <anaeem.it@gmail.com> 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 HaganderMe: http://www.hagander.net/Work: http://www.redpill-linpro.com/
On Sun, Jul 13, 2014 at 2:39 AM, Magnus Hagander <magnus@hagander.net> > Applied, thanks!. Thanks. -- Michael