This Week in Redox 24
By goyox86 on
This is the 24th post of a series of blog posts tracking the development and progress of Redox, the Rust operating system. If you want to know more about Redox in general, visit our Github page.
(edited by goyox86)
If you have any questions, ideas, or are curious about Redox, we recommend joining
irc.mozilla.org or our Discourse forum!
Welcome to another edition of “This Week in Redox”! Without further preamble let’s dive in!
Starting with the kernel land @jackpot51 started work on signals as this is needed for one of
cargo’s dependencies. Also @ids1024 Implemented the
getppid system call. There was not much activity on the drivers side of things, only a fix for seek flags handling on the Intel HDA audio driver by @xTibor.
The folks of Ion specially @huntergoldstein have been on fire! Shipping a ton of stuff: adding sub-expressions, convenience methods
@chars(..) supporting different ways of iterating strings. Also, the addition of a really nice match-case construct to the grammar. @mmstick along with @myfreeweb have been working on Ion’s job control facility on things like adding support for process groups, handling of
SIGTSTP and the addition of
jobs builtin commands.
On TFS @ticki reenabled jemalloc as it was not the cause of this bug. Something worth to mention is that we are currently having a sneaky segfault in one of the
conc::sync::treiber tests, maybe you reading this have the fix and we don’t now it!? ;) Jump in!
What about coreutils? Well, the
readlink commands were added as well as a bunch of fixes and improvements for
httpd was switched to the Hyper crate and the cookbook has seen the birth of a Python language recipe by @ids1024. In pkgutils the
pkg continues to evolve steadily. Where you wondering what @jackpot51 has been doing? The answer is: starting the work on UEFI support! You can take a look here and here. Rust
libstd support for UEFI? Yes that too! (WIP though). And last but not least @ids1024 continues his work on GSoC trying to make Redox self-hosting! Notably his work on adding symlinks support to redoxfs.
What’s new in Redox?
- @jackpot51 Started the work on signals. Details here.
- @bjorn3 Fixed a lot of lint warnings. Details here.
- @ids1024 Implemented the
getppidsystem call. Details here.
- @ids1024 Fixed a bug in the
clonesystem call. Details here.
Ion is a shell for UNIX platforms, and is the default shell in Redox. It is still a work in progress, but much of the core functionality is complete. It is also currently significantly faster than Bash, and even Dash, making it the fastest system shell to date.
- @huntergoldstein Added arithmetic sub-expressions to Ion’s syntax. Details here.
- @mmstick Converted
@(). Details here.
- @huntergoldstein Removed an extra read increment in glob branch. Details here.
- @huntergoldstein Empty argument slice now results in empty command. Details here.
- @huntergoldstein Added
@chars(..)for improved string iteration. Details here.
- @jdanford Fixed some grammar issues on the README. Details here
- @huntergoldstein Refactored
array_expand(and squashed bug). Details here.
- @huntergoldstein Made
Shell::readlnto complete to a file name if the last word is a file. Details here.
- @mmstick Added documentation to
shell::completer. Details here.
- @mmstick Implemented explicit array assignments. Details here.
- @mmstick Updated the README to display explicit array syntax. Details here.
- @huntergoldstein Made possible to pass an empty string to commands, functions, etc. Details here.
- @MovingtoMars Updated
pegdependencies. Details here.
- @huntergoldstein Introduced a match-case construct to Ion’s grammar. Details here.
- @huntergoldstein Fixed executables completion. Details here.
- @MovingtoMars Updated dependencies to fix a bug with
linerin vi mode. Details here.
- @mmstick Implemented SIGTERM handling. Details here.
- @huntergoldstein Forced
run_examples.shto use project root as working directory. Details here.
- @jwbowen Updated the minimum
rustcversion requirement. Details here.
- @mmstick Implemented SIGTSTP (Ctrl+Z) handling and wait/jobs/bg builtins. Details here.
- @mmstick Started the work on
fg. Details here.
- @myfreeweb Added more work on job control and fixed a pid bug. Details here.
- @mmstick Added support for monitoring child with
waitpidand forking shell with with background jobs. Details here.
- @mmstick Did some work on storing configurations in the correct XDG app dir. Details here.
- @huntergoldstein Fixed a broken Redox build. Details here.
- @mmstick Added support for creating initrc and history files if they don’t exist. Details here.
TFS is a modular, fast, and feature rich next-gen file system, employing modern techniques for high performance, high space efficiency, and high scalability.
- @ticki Brought back jemalloc into
conc(turns out it was not a bug in jemalloc). Details here.
- @ticki Fixed the
conc::sync::treiber::tests::incrementtest, which previously was looping infinitely. Details here.
- @ticki Added a test for nested
conc::Atomic. Details here.
- @ticki Introduced
conc::Atomic::destroy_no_guard()for no-overhead destruction of the atomic. Details here.
- @ticki Fixed the destructor of
conc::sync::treiber, which previously was double dropping. Details here.
- @ticki Made a fix to prevent calling destructors on null pointers in
conc::sync::treiber. Details here.
- @ticki Made a change to ensure that
conc::Treiber::dropdoesn’t cause double-drop of the inner. Details here.
- @ticki Added a test for
conc::Atomic<()>. Details here.
- @ticki Provide a message on why
must_use. Details here.
- @ticki Removed some warnings in
conc. Details here.
- @ticki Updated
chasmap. Details here.
- @goyox86 Added the
uptimecommand. Details here.
- @ids1024 Added the
readlinkcommand. Details here.
- @ids1024 Improved the
statcommand. Details here.
- @ids1024 Made
O_NOFOLLOW. Details here.
- @sebastianpfluegelmeier Added support for
lscolumned output. Details here.
- @ids1024 Made
libstdinstead of system calls. Details here.
The cookbook the collection of package recipes of Redox. The effort on self-hosting continues! And @ids1024 is working hard on a
cargo recipe. How cool is that?
- @ids1024 Added a system for compile-time dependencies (needed for openssl). Details here.
- @ids1024 Updated
dashrecipes to create symlinks. Details here.
- @ids1024 Added a recipe for Python. Details here.
- @ids1024 Made a change to forward the target to
pkg. Details here.
The pkgutils are a set of utilities for package management on Redox.
- @ids1024 Added support for determining the default target based on LLVM triple at build. Details here.
- @ids1024 Prevented the following of symbolic links when creating packages. Details here.
- @ids1024 Improved the error handling in
pkg. Details here.
- @ids1024 Added a
pkgalso now the help message is printed when no subcommand. Details here.
- The Glorious Book
- The Holiest Forum
- The Shiny ISOs
- Fancy GitHub organization
- Our Holy Grail of a Website
- The Extreme Screenshots
Since the list of contributors are growing too fast, we’ll now only list the new contributors. This might change in the future.
Sorted in alphabetical order.
- clippix 🎂
- goyox86 🎂
- myfreeweb 🎂
If I missed something, feel free to contact me (goyox86) or send a PR to Redox website.