Re: windows resource files, bugs and what do we actually want

Peter Eisentraut <peter.eisentraut@enterprisedb.com>

From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Andres Freund <andres@anarazel.de>, pgsql-hackers@postgresql.org, Magnus Hagander <magnus@hagander.net>, Andrew Dunstan <andrew@dunslane.net>, Kyotaro HORIGUCHI <horiguchi.kyotaro@lab.ntt.co.jp>
Date: 2022-09-07T04:42:58Z
Lists: pgsql-hackers
On 30.08.22 00:13, Andres Freund wrote:
> 1) For make based builds, all libraries that are built with MODULES rather
>     than MODULES_big have the wrong "FILETYPE", because Makefile.win32 checks
>     $(shlib), which is only set for MODULES_big.
> 
>     This used to be even more widely wrong until recently:
> 
>     commit 16a4a3d59cd5574fdc697ea16ef5692ce34c54d5
>     Author: Peter Eisentraut <peter@eisentraut.org>
>     Date:   2020-01-15 10:15:06 +0100
> 
>         Remove libpq.rc, use win32ver.rc for libpq
> 
>     Afaict before that we only set it correctly for pgevent.

Note, when I worked on this at that time, it was with the aim of 
simplifying the version stamping script.  So I don't really know much 
about this.

> 3) We don't add an icon to postgres ("This is a daemon process, which is why
>     it is not labeled as an executable"), but we do add icons to several
>     libraries, at least snowball, pgevent, libpq.
> 
>     We should probably just remove the icon from the libraries?

Wouldn't the icon still show up in the file manager or something?  Where 
is the icon actually used?

> 4) We include the date, excluding 0 for some mysterious reason, in the version
>     number. This seems to unnecessarily contribute to making the build not
>     reproducible. Hails from long ago:

Yeah, that is evil.

> 5) We have a PGFILEDESC for (nearly?) every binary/library. They largely don't
>     seem more useful descriptions than the binary's name. Why don't we just
>     drop most of them and just set the description as something like
>     "PostgreSQL $name (binary|library)"? I doubt anybody ever looks into these
>     details except to perhaps check the version number or such.

We do an equivalent shortcut with the pkg-config files:

         echo 'Description: PostgreSQL lib$(NAME) library' >>$@

Seems good enough.



Commits

  1. windows: remove date from version number in win32ver.rc

  2. Remove libpq.rc, use win32ver.rc for libpq

  3. Add Win32 version stamps that increment each day for proper SYSTEM32