Patch to add version numbers to libpq.rc

Bruce Momjian <[email protected]>
Newsgroups gmane.comp.db.postgresql.devel.win32,gmane.comp.db.postgresql.devel.patches
Message-ID <[email protected]>
Bruce Momjian wrote:
> We could do "date '+%y%j' to output 04349.  How many bits do we have for
> that last comma value?  This would work unless you put out two
> installers in the same day.  However, this would not work for VC and BCC
> because they don't have 'date'.  This would give us an ever-increasing
> value for each release.

Here is a sample patch for automatically adding the year/julian date to
the libpq.rc file.  It requires moving libpq.rc to libpq.rc.in and then
making the Makefile modifications attached.  I also included how
libpq.rc changes so you can see the numbers added.

I have used the existing *.def build method but for a final version I
think I have to make it its own rule so it is recreated on every MinGW
build rather than just when exports.txt changes or a package prepdist
build is made.  VC and BCC aleady require a prepdist build so we should
be OK with having this built at that time always.  I can see pginstaller
building from CVS and would like to make sure it has an updated day
stamp so I am thinking it should be recreated every time libpqrc.o is
created.

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [email protected]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073


---------------------------(end of broadcast)---------------------------
TIP 6: Have you searched our list archives?

               http://archives.postgresql.org
/pgpatches/libpqrc (text/plain, 3.6 KB)
Index: src/interfaces/libpq/Makefile
===================================================================
RCS file: /cvsroot/pgsql/src/interfaces/libpq/Makefile,v
retrieving revision 1.122
diff -c -c -r1.122 Makefile
*** src/interfaces/libpq/Makefile	20 Nov 2004 21:13:06 -0000	1.122
--- src/interfaces/libpq/Makefile	15 Dec 2004 04:31:09 -0000
***************
*** 92,98 ****
  
  .PHONY: def-files
  
! def-files: $(srcdir)/libpqdll.def $(srcdir)/libpqddll.def $(srcdir)/blibpqdll.def
  
  $(srcdir)/libpqdll.def: exports.txt
  	echo '; DEF file for MS VC++' > $@
--- 92,99 ----
  
  .PHONY: def-files
  
! def-files: $(srcdir)/libpqdll.def $(srcdir)/libpqddll.def \
! 	$(srcdir)/blibpqdll.def $(srcdir)/libpq.rc
  
  $(srcdir)/libpqdll.def: exports.txt
  	echo '; DEF file for MS VC++' > $@
***************
*** 118,123 ****
--- 119,128 ----
  	echo '; Aliases for MS compatible names' >> $@
  	sed -e '/^#/d' -e 's/^\(.* \)\([0-9][0-9]*\)/    \1= _\1/' < $< | sed 's/ *$$//' >> $@
  
+ $(srcdir)/libpq.rc: libpq.rc.in
+ 	sed -e 's/\(VERSION.*\)0 *$$/\1'`date '+%y%j'`'/' \
+ 	-e 's/\(Version.*\)0\\/\1'`date '+%y%j'`'\\/' < $< > $@
+ 
  
  ifneq ($(PTHREAD_H_WIN32), "")
  pthread.h: $(top_srcdir)/src/interfaces/libpq/pthread.h.win
***************
*** 145,148 ****
  	rm -f $(OBJS) crypt.c getaddrinfo.c inet_aton.c noblock.c pgstrcasecmp.c snprintf.c strerror.c open.c thread.c md5.c ip.c encnames.c wchar.c pthread.h
  
  maintainer-clean: distclean
! 	rm -f $(srcdir)/libpqdll.def $(srcdir)/libpqddll.def $(srcdir)/blibpqdll.def
--- 150,153 ----
  	rm -f $(OBJS) crypt.c getaddrinfo.c inet_aton.c noblock.c pgstrcasecmp.c snprintf.c strerror.c open.c thread.c md5.c ip.c encnames.c wchar.c pthread.h
  
  maintainer-clean: distclean
! 	rm -f $(srcdir)/libpqdll.def $(srcdir)/libpqddll.def $(srcdir)/blibpqdll.def $(srcdir)/libpq.rc
Index: src/interfaces/libpq/libpq.rc
===================================================================
RCS file: /cvsroot/pgsql/src/interfaces/libpq/libpq.rc,v
retrieving revision 1.12
diff -c -c -r1.12 libpq.rc
*** src/interfaces/libpq/libpq.rc	9 Aug 2004 01:55:42 -0000	1.12
--- src/interfaces/libpq/libpq.rc	15 Dec 2004 04:31:09 -0000
***************
*** 1,8 ****
  #include <winver.h>
  
  VS_VERSION_INFO VERSIONINFO
!  FILEVERSION 8,0,0,0
!  PRODUCTVERSION 8,0,0,0
   FILEFLAGSMASK 0x3fL
   FILEFLAGS 0
   FILEOS VOS__WINDOWS32
--- 1,8 ----
  #include <winver.h>
  
  VS_VERSION_INFO VERSIONINFO
!  FILEVERSION 8,0,0,04349
!  PRODUCTVERSION 8,0,0,04349
   FILEFLAGSMASK 0x3fL
   FILEFLAGS 0
   FILEOS VOS__WINDOWS32
***************
*** 15,27 ****
          BEGIN
              VALUE "CompanyName", "\0"
              VALUE "FileDescription", "PostgreSQL Access Library\0"
!             VALUE "FileVersion", "8, 0, 0, 0\0"
              VALUE "InternalName", "libpq\0"
              VALUE "LegalCopyright", "Copyright (C) 2004\0"
              VALUE "LegalTrademarks", "\0"
              VALUE "OriginalFilename", "libpq.dll\0"
              VALUE "ProductName", "PostgreSQL\0"
!             VALUE "ProductVersion", "8, 0, 0, 0\0"
          END
      END
      BLOCK "VarFileInfo"
--- 15,27 ----
          BEGIN
              VALUE "CompanyName", "\0"
              VALUE "FileDescription", "PostgreSQL Access Library\0"
!             VALUE "FileVersion", "8, 0, 0, 04349\0"
              VALUE "InternalName", "libpq\0"
              VALUE "LegalCopyright", "Copyright (C) 2004\0"
              VALUE "LegalTrademarks", "\0"
              VALUE "OriginalFilename", "libpq.dll\0"
              VALUE "ProductName", "PostgreSQL\0"
!             VALUE "ProductVersion", "8, 0, 0, 04349\0"
          END
      END
      BLOCK "VarFileInfo"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.