Note: This is a test release intended to ensure nothing breaks when the
associated crates are published to crates.io.
- Update to version '0.8.7-pre'.
- Testing new `Cargo.toml` workspace manifest, of which brings manifest
keys in all three pacwrap crates together. Most package keys now, with
the exception of crate-specific metadata, are now located in the
workspace manifest.
- Update common.sh to accomodate this change.
- Update README.md to again use relative paths.
- Preliminary introduction of the pacwrap-agent for containerising transactions
- Back-end and front-end code has been split into two separate crates.
- Among other miscellaneous refactoring work.
- go-md2man is no longer a required build-time dependency for manpage
generation
- Improved input validation for exec module
- Improved target handle validation and error handling.
- 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.
- 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.
- Further changes to configuration structure
- Cleaned up execute_container function.
- Print warning when session retainment is enabled for the console/tty.
- ExecutionArgs no longer requires variables for instantiation.
- Multiple paths or env vars are now specifiable under one
permission/filesystem entry.
- Now passing the arguments --unshare-user and --disable-userns to
bubblewrap
- bin/pacwrap has been deprecated by pacwrap-rust.