- Support desktop entries referenced by a symbolic link
- Provide a general purpose path canonicalization API for containers
with the `exec::path::resolve_path` function.
- TryExec fields are now replaced with a valid entry referring to the
pacwrap binary
- Qualify and only warn if XDG directories are missing, otherwise
disqualify with an error.
- Fix registration iter chain to ensure location is qualified.
- Error type in the error module now implements a broadly generic From<T>
impl for error conversion into the pacwrap-core library's Error type.
- `ErrorGeneric::prepend` and `ErrorGeneric::prepend_io` both now accept
borrowed or heap-allocated String return types without additional sugar.
- A lone unary postfix operator has been applied to external function calls
where deemed most appropriate, removing unnecessary function calls to
`ErrorGeneric::prepend` and `ErrorGeneric::prepend_io`.
Provides a shortcut to easily mount sockets and other miscelleny from
the $XDG_RUNTIME_DIR location into containers. With the use of the
`to_run` key, with a standard key/value structure for filesystem
volume mounts.
- Make use of `skip_serializing_none` macro, from the serde_with crate,
in both the `pipewire` and `pulseaudio` filesystem modules to clean up
the data structure.
- Utilise the `split_whitespace()` in function chain for the
`AlpmConfiguration::sig_level(&self)` function.
- In gpu module, use any instead of filter and is_empty in iter chain
for the nvidia variable.
- Implement serde Serializer and Deserializer for the Permission enum in
Filesystem module.
- Breaking: Refactor ExecutionArgs API, combining the 'robind' and
'bind' functions into a single function named 'bind'.
Since the Arch Linux OCI image can sometimes be out-of-sync, update the
keyring and base packages prior to installing the requisite packages.
This will hopefully ensure a cached container image can no longer
trigger a pipeline failure.
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.
- Up until this point, attempting to release a transaction via a call to
`trans_release` was done liberally and unnecessarily so; this has now
been fixed.
- Added whitespace character in `aggregator` module to println statement.
- Renamed `NoCompatibleRemotes` to `NoCompatibleContainers` in the
`SyncError` error enum.
- Error logging is now present in pacwrap-agent
- Agent error code handling now correctly traps runtime panics.
- impl of DisplayTrait for TransactionError no longer handles the
display of transaction failure messages.
- Error handling for TransactionAggregation is split into three
categories: Fatal, Error, and Non-Fatal Error. While two former are
immediately trapped and the program is terminated, the latter can
safely terminate the program without consequence.
- This option was ommitted by mistake during some refactoring work and
now the `exec` module in pacwrap has been revised to include this
option.
- AppIndicator module has had the talk option re-added.
- Specifiying the `-v` option twice will invoke `--log` on
xdg-dbus-proxy for easy debugging.
- Updated to alpm.rs 4.0.1
- Changes made with b621c34 were made as a result of a regression,
introduced with alpm.rs 3.0.x, of which has now been fixed upstream.
They've now since been reverted.
- `fatal()` function for handling the termination of the program when a
fatal human-readable error digestable error occurs. This function
terminates the program and will never return a value.
- Much like the aforementioned function, the `error()` function now
prints the error and terminates the program, instead of printing the
error and returning the error code as an i32 integer.
- ErrorType enum implemented as an encapsulate to delineate error type.
- Display trait implemented for ErrorType enum for use cases whereby
the program being terminated is inconvenient for the given code path.
- `generic()` function added to GenericError trait for handling errors
of which do not require a message to be prepended.
- Global configuration is now statically cached with OnceLock instead of
lazy_static, and is loaded on-demand instead of during the invocation
of the `init()` function from the init module upon program startup.
- Use of lazy_static was also eliminated in pacwrap-core's sync module.
Accidental removal of filter call leading to a regression, which output
the full package list for each container configuration. The original
intention was to remove a conditional statement from the filter.
Gracefully filter process file metadata instead of panicking, because
there's a non-zero chance this error will be encountered when processes
are being added or removed from procfs.