- Documentation for desktop utils command module
- Split authorship and license sections in manual
- Cleaned up and reformatted some parameters in manual output
- Don't include symbolic containers with queue in filesystem module
- Tidy-up refactor of a few different functions across the library
- Since we no longer create home directories for sliced containers,
provide a temporal home directory for fakeroot containers.
- Do not mount bash.bashrc into a Slice type fakeroot container.
and inclusion of dbus module docs
- Updated pacwrap.1 manpage and manual.md
- Dbus module documentation enumerating the available modules to
configure xdg-dbus-proxy in containers
- Allow synchronization to occur for target-only operations
- Check array bounds in remove module for container deletion shortcut
- Remove redundant builder call to progress function in remove module
- Shields.io badges added to README.md with clarification on
functionality present in pacwrap.
- Stipulate the requirement for libalpm 14 or greater in README.md
- Module documentation written in markdown located in /docs/ for
filesystems and permissions modules
- Help CLI refactored with format improvements and fixes.
- Lock assert calls for container composition, creation, and remote sync
- Added value opperand for process module in main frontend module
- Moved Lock.unlock() callback to front-end callers as aggregator module
no longer is responsible for this invocation.
- Download fail state added to download event module
- Verbosity of the output has been greatly reduced during aggregated
transactions. Implemented is a progress ticker which serves as a
header for when a container requires to be operated upon.
- PACWRAP_VERBOSE=[0|1] or TERM=dumb environment variables can be used
to otherwise toggle the old, verbose printout.
- signal_trap function moved to utils module.
- Due to dtolnay's decision to not continue maintenance of serde_yaml,
at present serde_yaml will be pinned to 0.9.33 until a better solution
is available. Vendoring is not out of the question, but presently is a
premature thing to do.
- Removal of Clone derive attribute in lock module and some minor
tidy up elsewhere.
- lock module provides a lock file facility via the Lock impl to ensure
conflicts do not occur with concurrent operations on the same pacwrap
data directory and container store.
- pacwrap-signal thread spawned during aggregate transactions to provide
graceful, forced signal trapping. Requires three iterations of a normal
signal to forcibly quit the program.
- metadata getter and flags setter functions moved out of TransactionHandle
into the TransactionMetadata impl
- Graceful signal handling for transaction aggregation and filesystem
synchronization.
- Store filesystem state data in .new file and merge after completion
- Altered set_flags function signature to borrow TransFlag
- Qualify error type before attempting to extract error data from alpm
after failed transaction. Alpm.rs can trigger a segfault if the error
type is unhandled or the data is otherwise not present.
- Filter non-existant roots with obtain_base_handle in cache module
- Inclusion of new TableColumns type called OldNewNet
- Shell command module is now correctly qualified by qualify_process
- Removal of unnecessary clone derive for event structs
- Idiomatic whitespace generation
- Missing space in string for gpg key prompt
- Adjusted list sorting and fixed bug with column alignment
- Creation of symbolic containers exposed at frontend via utilities
subcommand module via --utils --symbolic.
- Symbolic container filter removed from register function in cache
module
- Container API adjusted to allow symbolic container composition
- Frontend sync module has been overhauled and cleaned up with
additional argument bounds checks.
- Adjusted validation control flow during container creation with
sync or compose modules to ensure containers aren't prematurely
instantiated without valid environmental and operational parameters.
- Moved and integrated a genericised instantiate_container function
into the sync module in the core library
- Configuration error message altered to include path instead of
container name.
- Container creation in sync module now only syncs targets as required
- More robust validation for --target parameters
- Targets marked for reinitialization can now accept a configuration
from a file if specified.
- Cleaned up process module
- Prompt module no longer emboldens listed targets for confirmation
prototype removed
- Remainder of the bash prototype has been deprecated and removed along
with the bash compatibility layer
- Container composition which allows users to instantiate and reinitialize
containers from an existing configuration or specified configuration file.
- Utilities ported such as desktop entry creation, container list, and
container deletion.
- Packages can be removed from multiple separate targets as specified
- Multiple targets can now be aggregated with --target-only
- PACWRAP_ROOT environment variable for overriding the container root
directory for a given container's runtime environment
- Only cache present filesystem state in memory during only during
synchronization, not during a state refresh.
- Explicitly drain queue after completion of refresh and synchronization
- To ensure a smooth transition between formats, now or in future,
filesystem state data will be refreshed if it's isn't complaint
with the presently supported format.
- Bump to version 2 of the container filesystem state format
- FIlesystem state files are now checksummed with SHA256 for fast
verification of internal data integrity.
- Foreign synchronization will now occur regardless of whether not the
upstream container was actually updated in the proceeding transaction.
- Cleaned up keyring check in stage module
- Inclusion of ErrorGeneric trait to further extend the utililty of the
error module. Functions provided therein provide a way to tidy up
boilerplate error code.
- bytebuffer module for ergonomic parsing of byte data structures
- Addition of missing copyright headers
- Eliminated key.sh and replaced it with package(), a generic bash
function for packaging version-aware resources and scripting
- In order to make use of standard git tarballs, manpage generation is
now invoked by hand with resulting manpages comitted to git, and then
version information is added with dist scripting.
- Some refactoring and tidying up of manual formatting
- Present a verbose string only for development or git builds
- Obtain build date from modification time. This will ensure a
deterministic build timestamp is still available for tarball-derived
builds.