[Starkit] auto_execok and Starpacks
Joey Mukherjee
joey at swri.edu
Mon Aug 15 13:31:29 CEST 2005
On Aug 15, 2005, at 11:44 AM, Jeff Hobbs wrote:
> Joey Mukherjee wrote:
>> The thing is the functions no longer match the documentation if the
>> object in question is a starpack; so to me, that seems wrong.
>>
>> Rather than having a new set of commands to manipulate the starpacks,
>> old commands no longer work unless you are working in the
>> confines of a starpack.
>
> Feel free to correct me with doc refs, but I believe you are
> misreading them. You can't read one page at a time, you have
> to understand the full implications of the functionality.
> Sure, 'file' ops do their stated file ops, but when you use
> VFS to mount something, what was a file can become a directory,
> and that is also according to docs. Everything is working
> exactly as it should.
Admittedly, its been a while since I had to read all the docs, but I
will go to an example which was one which I thought was wrong:
file mtime name ?time?
Returns a decimal string giving the time at which file
name was
last modified. If time is specified, it is a
modification time
to set for the file (equivalent to Unix touch). The
time is
measured in the standard POSIX fashion as seconds from a
fixed
starting time (often January 1, 1970). If the file
doesn't
exist or its modified time cannot be queried or set
then an
error is generated.
Running "file mtime <full path name of current starpack>" returns 0.
This is wrong nor did it return an error, unless 0 is the error, but I
was expecting a tk_error or something. Even so, this would normally
work for a file or a directory since I need this information.
IMO, if a full path name is given, it would return the time of the file
itself; if a "starpack path" (or starpack namespace) is given, it
would work on the VFS portion. Naturally, something like this might be
hard to implement, but I hope I get the "gist" of it across.
>> Don't get me wrong, I like the concept of being able to have a self
>> mounting file system, but I feel old code should not be broken,
>> especially if no workarounds are possible.
>
> Workarounds are possible, but I'm not even sure how you had
> working code that broke. Did you always expect to exec
> yourself?
Absolutely! If the program is in the path, why would it not be able to
exec it?
Here is how I use it: I have a program which is a menu program that
will launch other programs. If no command line option is given, it
reads the default menu config file. If an command line parameter is
given, it will read that menu config file. Within the default menu
config file, it will call this program with a different menu config
file. It is basically exec'ing itself with a different menu config
file. It isn't a fancy program, but useful nonetheless.
I worked around this by checking if [info nameofexe] was the same as
the program to exec in the config file.
For the glob/file mtime, I have not been able to work around it. Even
so, I would like to think I should not have to.
Cheers,
Joey
More information about the Starkit
mailing list