Miscellaneous changes:
- /store/ renamed to /state/ in data directory for coherent terminology
- Updated filesystem sync to not warn about directory deletion during async queue
- FIlesystem.rs was partially rewritten and container filesystems have
been consequently restructured
- Container configuration is now synchronized after container sync
- Introduction of a local repo required for container init
- ldconfig is now executed by pacwrap in lieu of broken libalpm script hooks
- Filesystem structure required for pacwrap to operate is now
initialised by pacwrap.
- Reverse dependency resolution had a bug patched with cascading
resolution.
- Argument parser and execution path overhual
- Reverse dependency resolution algorithm is now 1:1 with pacman
- Temporary measure in pacwrap-create in order to test the propagation
of ca-certificates via the restructuring of the default Arch Linux
root filesystem. /etc/ca-certificates is now symlinked to
/usr/share/ca-certificates/
- Package summary printout code fixed up with proper text col-width delimiation
- Fixed wrong function call in filesystem.rs
- Preliminary support for logging with log.rs
- Implemented bitflags crate to simplify transaction parameters.
synchronization, and transactional state machine tidied up.
- Linker struct was refactored into FilesystemStateSync
- HardLinkDS was refactored into FilesystemState
- unhandled.rs removed
- Memory usage was improved in half during filesystem synchronization by
incorporating the Rc and Arc<str> type
- Implemented thread block between parallel iterators
and split up filesystem cleanup into two separate subroutines.
Parallel, out-of-order file and directory deltion is simply not
possible.
- Tons of cleanup and refactoring also was done.
- pacman's gpg keyring is now updated when archlinux-keyring package is
installed into a base container.
- Some refactoring and cleanup
- Cargo.lock updated and added to version control
- Bug fixed with link synchronisation on specified non-root target
- Threadpools for link synchronization with parllel iterators (13-16%
improvement in performance)
- Bugfix preventing erroneous error state during package install when
foreign packages are out of date.
- Cleanup of unused variables in configuration traits
- Pinned serde to 1.0.171 due to binary blob inclusion for serde_derive
- Pinned nix to 0.22.3, as required by os_pipe, to reduce dependency count by 6
- Refactored instance traits for safer, more structured, representation of containers
- Cleanup of bash compatibility interface
- Error handling for file operations during link synchronization
It's rough around the edges, but it's fully functional for what it is.
Changes:
- Container package synchronization and linking functionality not dependent upon bash.
- Filesystem synchronization
- pacwrap-sync script has been deprecated and removed.
- Support for package installation from libalpm front-end.
- Experimental support for package removal from libalpm front-end.
- Compatibility layer to bash updated to support obtaining explicit
packages without requiring a pacman invocation in the container.
- pacwrap-bash's migration over to pacwrap's bash
configuration interface is now mostly complete.
- Rework of the permission module API
- X11 permission module has now morphed into the DISPLAY module with
Wayland support.
- /usr/bin/kill is no longer spawned to reap processes
- Signal traps implemented alongside term attribute control.
- xdg-dbus-proxy socket block now increments at 500 microseconds.
- Job control for services executed in tandum with bwrap
- Miscellaneous fixes, cleanup, and other reworks.