[M3devel] cvsup

Jay jay.krell at cornell.edu
Sun Apr 12 13:32:07 CEST 2009


cvsup builds and starts up on a few platforms now, including Cygwin/x86, Linux/x86, Linux/AMD64 (birch), Macosx/PowerPC, FreeBSD/x86. I can verify more later..
 
 
I expect there might be problems on Macosx/x86 and AMD64.
And FreeBSD/x86 might not work until I commit the change to use Unix/common.
That is -- these are the only platforms not using Unix/common.
 
 
Some platforms store extra "flags" with files -- Darwin and *BSD.
Historically cvsup only get/sets those on FreeBSD.
I extended that to the others, though didn't build NetBSD/OpenBSD.
  (nor have I tested any of the functionality at all..)
The source should be refactored some in this regard, the "FreeBSD" directory split into "FreeBSD" and "flags" or something. But I don't like moving files since history might not track well. (I also chose "m3-tools" arbitrarily..)
 
 
It might not even have to be refactored -- instead of the static platform checks, the code can check of the #defines in Ustat are zero or not, and UstatC.c can provide empty chflags/fchflags functions instead of none at all. It's a tricky area though in terms of what is best, providing no functions, vs. providing functions that do nothing and succeed, vs. providing functions that do nothing and fail, vs. providing a more explicit way to query if the functionality is provided, as well as deciding between build-time vs. run-time checks (we don't have anything like autoconf in our system, for better and worse).
 
 
Now hopefully we can switch to svn or monotone and cvsup won't matter to us. :)
(Well, I never use it in any case. I know it is big in FreeBSD-land.)
 
 
 - Jay


More information about the M3devel mailing list