buffer: don't allow reading zero bytes from a stream, and fix libraries that should be allowed to set zero size buffer
install: report setting boot address, ^d should not accept prompts
ls: use shell to get working dir, not PWD
package: remove clutter for library keys and _G
rc: add unload to lib methods and fix typo in source
sh: remove clutter from _G and use zero sized buffer for piping
install was crashing if there were no options. Having no options is a perfectly valid case where install is trying to exit early (e.g. --help, or user cancelled) I forgot the check for nil.
During tests I found that cp was unnecessarily slow due to constant event pulling on every file. I introduced a 4 second gap between checking events. But his caused cp very hard (nearly impossible) to interrupt. Thus, it is preferrable to slow down copy so that the user could interrupt it.
Also, thanks to Inari, we have improved the text of the install prompts. Please review and comment if you feel the text still needs some revising. I'm not a technical writer, so I hope we are making this simple.
Also, if the user tries to run install with the network loot disk, the /data dir will be copied to /, and the user probably wants the data/. dir used. Using .prop's {fromDir="/data/"} fixes this
optmized code and split up install to reduce memory costs. Can now install on 1x T1 RAM systems.
found old bug in filesystem:
touch a
ln a b
mkdir d
cd d
touch b
rm b
And the link in the parent dir would be lost. The reason is that the virtual nodes created for the link were being selected when removing the b file in d, as well as removing b from the real fs. The fix was to check that the node was the correct node, and not just remove the key from any node returned from findNode
advanced install features as well as simplified install for common usage
renamed .osprop to .prop
support for named installed
cp link copy fixes
fix /bin/less pgdown and space
package delay lookup no longer weak value
fixed regression in sh tab complete for first arg completion
cat: default to stdin with no args
cp: support "contents of" /. paths, correct verbose output, prefer link copy over directory, error on missing source files
df: support relative paths
guid: correct guid format (8-4-4-4-12)
head: close stdin
install: support major rework to search for candidates filesystems and support .lootprop feature, new manual file
less: new pager option, supports scrollback and mouse scroll
ln: use source name when omitted
mv: report error when target path is read only, and report error when source path is a mount point
profile: remove less alias (we have /bin/less now)
rm: fix issue where links to dirs could not be removed
serialization: inline pairs in case of [C] boundary issue with delay loaded libraries
/lib/sh: support white space in tab completion with back slashes, emulate SIGPIPE on closed pipe writes,
shell: allow calls to getWorkingDirectory during boot before PWD is set (defaults to /)
term: fix to not consume(hide) hard interrupt in term.pull, and new method term.scroll for vertical scrolling
text: advanced internal tokenizer upgrade to more fully support whitespace metadata needs of the shell
transforms: new api, at(tbl, index), to return key-value pairs by index
other files: fix formatting and typos
Must be implemented on Environments. Queried on environments of nodes reachable / visible (when a component / not) from a machine.
Added very *very* basic program for listing device info from shell, `lshw`.