[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 |
-----BEGIN PGP SIGNED MESSAGE-----
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 1.25.4.1
diff -u -p -u -p -r1.25.4.1 config.h
--- config.h 5 Apr 2004 00:29:55 -0000 1.25.4.1
+++ 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
other
+ * 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) 1.11.18.1"
+
/* 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, ':'))
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (FreeBSD)
iD8DBQFB+SRc3x41pRYZE/gRAt2sAJwIe72ZWNh+Dd+zH0k75V855LCRhgCfZXIL
SFF7KxLtEZc3655FFN29Mlw=
=zPly
-----END PGP SIGNATURE-----