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

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



Matthias Andree schrieb am 2001-05-05, 13:48:

Matthias,

> "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.

'link' and 'rename' are implemented. Well i didn't found 'mtime' or 'atime'
on the cygwin-list.
 
> > 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.

Well thats a good news:-)
I'll comment it out.
 
> > 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.

Thats not true, cygwin emulates it.
1. you may take a look at my last mail to see an error message.
2. You didn't read my postings complete, i described exactly, what is 
   failing.
3. You have quoted it above: 'fetchnews is not writing to disk'
   the message id's '<slrn92k8e1.5ki.l.ertl@xxxxxxxxxxxxxxxxxxxxx>'
   couldn't be written to disk.
   How were they written in Linux? with '<' and '>' in the name?

> > > 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.

You will see it working...

> 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?

Delphi is commercial.
 
> > 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.

You may take a look at cygwin's user guide:
http://www.cygwin.com/cygwin-api/std-posix.html


-- 
=^..^=

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