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

Re: [leafnode-list] need help with cygwin port



"Gerrit P. Haase" <gerrit.haase@xxxxxxxxxxx> writes:

> Matthias Andree schrieb am 2001-05-05, 4:09:
> 
> > leafnode *HEAVILY* relies on several POSIX file system semantics that do
> > not map onto Windows semantics. The most important that come to my mind
> > right now are:
> > 
> > - hard links
> 
> LN(1)                          FSF                          LN(1)

That's a program, not a system call. See below.

> > - atomicity of link(2)
> 
> ..Hmmm, i'm missing that on my box...

So how about POSIX compliance in CygWin when the underlying file system
lacks the necessary semantics? ln(1) can't compensate for link(2),
because it relies on link(2)... in the material you quoted. You'd better
read carefully and think about what you've just read before you quote
entire manual pages.

BTW, not mentioned in my last mail: leafnode relies on mtime AND atime
(and them being distinct), but at least VFAT has no notion of separate
access, modification and creation times either. Not sure about NTFS.

> > - atomicity of rename(2)
> 
> rename(3)                                               rename(3)

Ah. Well... POSIX has:

rename (2)           - change the name or location of a file

That's a syscall, not a library hack.

> Yep, some problems with setuid. It is handled in another way at cygwin.
> I'll need to rewrite the function belonging on setuid.

You don't need to. setuid is only used to _de_escalate privileges
(discard root permissions, become user "news"). Running NT is a bad idea
by itself.

> Yes, i thought it will run at these systems, i tried to unset all
> security on my NT-box, to emulate, but fetchnews is not writing to
> disk.

Because NTFS lacks link(2) functionality, like VFAT. You did not mention
where exactly fetchnews failed. You did not show error messages.

> > Still, I think, porting leafnode to a non-POSIX system will require
> > rewrites of major parts, and I'm wondering if rewriting a similar
> > program from scratch instead would be worthwhile and less of an
> > effort.
> 
> Nope, Cygwin is a nearly complete posix-layer, it should work.

Haha. Stress that properly: Cygwin is a *NEARLY* complete POSIX layer,
it *SHOULD* work. But it doesn't, and it's presumably not Cygwin's
fault, and it's not leafnode's fault either. Windows lacks features that
CygWin would have to rely on for proper POSIX semantics.

I don't object to ports of a good shell and FSF utilities to Windows,
vim is a nice fellow, but you simply cannot do everything with Windows
that you can with a Real Unix.

> > Did you evaluate "Hamster"?
> 
> No, i'm not able to build it myself, because it is pascal, i don't 
> like delphi/pascal.

You're supposed to see if it does the job instead of leafnode, not if
you like its programming language. Hamster is claimed to actually work
on Windows natively... and if it's done in Delphi, what's the problem
with that?

> I need to run my NT Server the whole time, so i'm not able to run
> Linux in parallel, only way to survive is NT with cygwin on top.

1. No-one needs to run his NT server all the time unless streaming with
   NetShow. Any other claims are bogus. 

2. Get vmware for Linux, run NT in the VM.

3. If you still think that's no option, get vmware for NT, run Linux in
   the VM, but beware, 2. is the better option since it never
   bluescreens. :-}

> I will take a look at leafnode 2.

That won't help portability at all. It relies on the same items I
mentioned.

-- 
Matthias Andree

-- 
leafnode-list@xxxxxxxxxxxxxxxxxxxxxxxxxxxx -- mailing list for leafnode
To unsubscribe, send mail with "unsubscribe" in the subject to the list