Re: Missing file versions for a bunch of dll/exe files in Windows builds - Mailing list pgsql-bugs

From MauMau
Subject Re: Missing file versions for a bunch of dll/exe files in Windows builds
Date
Msg-id 25735302B9D94C6EB8E999E48A8663C3@maumau
Whole thread Raw
In response to Re: Missing file versions for a bunch of dll/exe files in Windows builds  (Michael Paquier <michael.paquier@gmail.com>)
Responses Re: Missing file versions for a bunch of dll/exe files in Windows builds
List pgsql-bugs
From: "Michael Paquier" <michael.paquier@gmail.com>
> Patch 1 should be definitely applied, that's an existing bug. Patch 2
> and 3 are here to ensure that all the dll/exe files generated have a
> version number associated with a build on Windows, something
> particularly useful for upgrades, and important for consistency among
> files...

+1 for all these three patches.  There seems to be a few issues.


(1)
The patches applied cleanly, but the build failed.  I used MSVC 2008
Express.  build.bat output the following messages at the end.  I'm sorry the
messages are in Japanese; the compiler didn't emit English messages even
when I switched the code page with chcp.

--------------------------------------------------
...
  cl : コマンド ライン warning D9024: ソースファイルの種類
'.\src\timezone\win32ver.rc' は認識できませんでした。オブジェクト ファイルと仮定します。
  cl : コマンド ライン warning D9027: ソースファイル
'.\src\timezone\win32ver.rc' は無視されます。
  cl : コマンド ライン warning D9021: 何も実行されませんでした


"D:\postgresql-9.4\pgsql.sln" (既定のターゲット) (1) ->
(postgres ターゲット) ->
  LINK : fatal error LNK1104: ファイル
'.\release\postgres\src_timezone_win32ver.obj' を開くことができません。

    6 警告
    1 エラー

経過時間 00:06:19.96
--------------------------------------------------


The cause seems to be the following part in postgres.vcproj.
src\timezone\win32ver.rc entry is present, while it's not without the
patches.

--------------------------------------------------
    <File RelativePath="src\timezone\strftime.c" />
    <File RelativePath="src\timezone\win32ver.rc"><FileConfiguration
Name="Debug|Win32"><Tool Name="VCCLCompilerTool"
ObjectFile=".\debug\postgres\src_timezone_win32ver.obj"
/></FileConfiguration><FileConfiguration Name="Release|Win32"><Tool
Name="VCCLCompilerTool"
ObjectFile=".\release\postgres\src_timezone_win32ver.obj"
/></FileConfiguration></File>
   </Filter>
  </Filter>
 </Files>
 <Globals/>
</VisualStudioProject>
--------------------------------------------------


(2)
The line in contrib/adminpack/Makefile has one extra space after "-".  Other
contribs have one space there.

PGFILEDESC = "adminpack -  Support functions for pgAdmin"


(3)
Makefiles in contrib/int_agg and contrib/intarray do not have PGFILEDESC.



(4)
Some existing Makefiles should have better description.  If you find it
appropriate to include the improvements in your patch, could you improve the
description?

* src/bin/pg_basebackup/Makefile has the line:

PGFILEDESC = "pg_basebackup - takes a streaming base backup of a PostgreSQL
instance"

On the other hand, src/bin/pg_dump/Makefile has:

PGFILEDESC = "pg_dump/pg_restore/pg_dumpall - backup and restore PostgreSQL
databases"

I think pg_basebackup's Makefile should follow the style of pg_dump, because
multiple programs are built in pg_basebackup/.

* contrib/pg_xlogdump/Makefile lacks the command description.

PGFILEDESC = "pg_xlogdump"

Regards
MauMau

pgsql-bugs by date:

Previous
From: Andres Freund
Date:
Subject: Re: BUG #10533: 9.4 beta1 assertion failure in autovacuum process
Next
From: Michael Paquier
Date:
Subject: Re: Missing file versions for a bunch of dll/exe files in Windows builds