[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CVS-1_11_18 Client build for VMS

From: Mark D. Baushke
Subject: Re: CVS-1_11_18 Client build for VMS
Date: Thu, 27 Jan 2005 09:26:52 -0800

Hash: SHA1

Greetings Piet,

A number of your changes seem related to not having an ANSI C compiler
available... what compiler are you using and what version of VMS?

> -=====-
> This message and any attachments are solely for the intended recipient
> and may contain confidential or privileged information. If you are not
> the intended recipient, any disclosure, copying, use, or distribution
> of the information included in this message and any attachments is
> prohibited. If you have received this communication in error, please
> notify me by reply e-mail and immediately and permanently delete this
> message and any attachments. Thank you

The above disclaimer is silly in e-mail to a mailing list.
You may wish to read http://www.goldmark.org/jeff/stupid-disclaimers/
for more information on why they are probably not desirable.

A few points concerning the patches you provided:

  - It would be good if you could provide a copy of the original warning
    messages you received that lead you to change the various parts of the
    cvs sources.

  - The missing PACKAGE_STRING macro should probably have been placed in
    vms/config.h instead of vms/vms.h

  - I am confused about the removal of the 'int link(char *from, char *to);' 
    line as that was part of the original vms port code... could you
    tells us what __VMS_VER is on your system? It would probably be best
    to protect your system with an ifdef rather than commenting the
    prototype out completely.

  - Outright removal of lines 32-43 of fnmatch.h which contains needed
    #ifdef macro logic for MacOS X is clearly not going to happen. What
    problems did you encounter with that code that caused you to remove
    it? Making it more portable is possible, but we need more
    information. Note: Changes to [DIFF]diff.c need to be coordinated
    with the GNUDIFF project. Changes to [LIB]fnmatch.h and
    [LIB]fnmatch.c need to be coordinated with the GNULIB project. It
    would be good to understand the problems you are working around in
    your compiler for these files.

  - I do not understand why use of the cvs_getopt macro was a problem
    that caused you to remove the #define and the extern declaration for
    the getopt () function. Note: Changes to [LIB]getopt.h need to be
    coordinated with the GNULIB project.

  - In [LIB]system.h, just getting rid of the OSX_filename_classes[]
    extern by commenting it out is not a patch that can be accepted back
    into the code base. If you can find a way to exlcude the code via a
    __VMS_VER macro, that would be better.

  - It would be good to know what the VMS time_t type is to better argue
    the use of 'int' for I_Minutes and friends. Espeically as time_t is
    often a 'long int' (and may become a 'long long int' for the Y2036
    epoch problem) on many platforms. Note: Changes to lib/getdate.y
    (and lib/getdate.c) need to be coordinated with the GNULIB project.

  - In [SRC]client.c, I do not understand why removal of the comment
    characters from the #else line was required. It is mandated to be a
    C-style comment by most modern compilers and old-style compilers
    have never cared what tokens came after the #else. What errors did
    you see?

  - I can understand that the handle_e and handle_m change can give you
    problems. That is a hard thing to get right completely for all
    platforms. I would be curious to understand what the call to
    select() is really doing on your system a bit better. It might be
    that the correct thing to do is to cause the sunos57-select.c code
    that is part of CVS 1.12.11 to be used as a wrapper function around
    the normal VMS select...

        -- Mark

BTW: Here would be the likely place to add the PACKAGE_STRING to
vms/config.h (it is a GNU unified diff rather than a VMS diff as I
do not have a VMS diff utility available to me).

 Index: config.h
 RCS file: /cvs/ccvs/vms/config.h,v
 retrieving revision
 diff -u -p -u -p -r1.25.4.1 config.h
 --- config.h   5 Apr 2004 00:29:55 -0000
 +++ config.h   27 Jan 2005 16:49:57 -0000
 @@ -327,6 +327,16 @@ extern void fnfold (char *FILENAME);
  /* End of CVS options.h section */
 +/* The following macros are usually defined by running ./configure under
 + * UNIX OSs.
 + *
 + * FIXME:
 + * This should probably be autogenerated somehow when configure is run on 
 + * platforms, like some of the Makefiles are.  That way, there is only one
 + * place the version string needs to be updated by hand for a new release.
 + */
 +#define PACKAGE_STRING "Concurrent Versions System (CVS)"
  /* Return non-zero iff FILENAME is absolute.
     Trivial under Unix, but more complicated under other systems.  */
  #define ISABSOLUTE(filename) (filename[0] == '/' || filename[0] == '[' || 
filename[0] == '<' || strchr(filename, ':'))
Version: GnuPG v1.2.3 (FreeBSD)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]