Post by Cedric BlancherGlenn, when is the next alpha/beta due for AST and for UWIN? Is there
a roadmap what you are planning long-term for AST and UWIN?
I've been working on an ast-open pre-alpha that will (hopefully) clean up
pseudo devs, O_XATTR extended attributes, and *at() usage across ast by
these pseudo paths
/dev/<IP-PROTOCOL>/<HOST>/<PORT>
/dev/fd/<FD>[/...]
/proc/<PID>/fd/<FD>[/...]
/dev/file/<FLAG>[,<FLAG>...]:/<ABSOLUTE-PATH>
/dev/file/<FLAG>[,<FLAG>...]:<RELATIVE-PATH>
/dev/@/:/<ABSOLUTE-PATH>[/@/<RELATIVE-ATTRIBUTE-PATH>]
/dev/@/:<RELATIVE-PATH>[/@/<RELATIVE-ATTRIBUTE-PATH>]
currently ast + patches for the non-path variant of these pseudo paths
is morphing into an #ifdef mess making some portions unreadable and very fragile
the idea is to concentrate all of it in libast so it will be easy to
debug and extend -- in the current situation a bug fix for say O_XATTR
might involve a half-dozen or more files and that doesn't include the
ones that have yet to be patched for O_XATTR -- and these patches are rife
warnings that would surely get botched in future patches
the current pre-alpha has all ast commands, including cd, working
on a single O_XATTR entity without any patches to the commands
(of course making commands aware of the solaris-ish -@ options will
involve patches, but that's not part of the pre-alpha experiment)
"single O_XATTR entity" is key here too, e.g., pax does not yet handle
archiving a hierarchy+O_XATTR-counterparts, but the idea is that it
might be able to with a minimal patch involving a new FTS_XATTR
flag for ast::fts_open() detailed below
this is all in line with novel idea from 1970 that places as many arcane apis
as possible behind unix filesystem pathnames
dgk is concurrently working on ksh patches
there should be an ast-ksh package this week with those changes
I am currently deep inside ast::fts which is the directory traversal api
used by all ast utilities; part of this work involves the addition of
fgetcwd(int fd) which is a *at()-like variant of getcwd(), adding
FTSENT.fts_dirfd which is an open fd to the containg directory for
the current FTSENT; currently most ast commands that use fts do it
in the "chdir" mode where each FTSENT has "." set to the containing dir;
this includes the commands in -lcmd -- not a good thing in general;
fts_dirfd aware fts will allow the caller to fts_open(FTS_NOCHDIR) and use
*at(FTSENT->fts_dirfd, fts->fts_name) -- the challenge is to do this
without running out of fd's; along with this is a new fts_open() flag
FTS_XATTR that will traverse visible hierarchies and their hidden O_XATTR
counterparts, if any, within a single fts stream
re: uwin
we will probably put out a beta next week that does not include the latest ast
but does include patches for posix.dll, including signal upgrades and *at() syscalls
ast on uwin is an intersting beast because posix.dll co-opts and advertizes
some of ast for itself, and that includes vmalloc+aso which has changed
quite a bit this year and will take a least a week to soak in
so the uwin release will be in 3 stages
(1) posix.dll upgrade
(2) posix.dll + ast54.dll upgrade
(3) latest ast-open