[M3devel] FW: cvsup
Jay
jay.krell at cornell.edu
Sun Apr 12 13:34:49 CEST 2009
[truncated again..]
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.
see man chflags and man 2 chflags.
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