Goal
Due to work, travel, and illness, I've not touched Obnam in over a month. The goal for today is to get back into it by doing some chores: making sure everything still works, update dependencies that need it, and fix some small issues.
Plan
- Run tests, fix anything that's broken.
- Run
cargo outdated -d1and update anything that needs to be. - Pick an issue to fix. Fix it. Repeat until I ran out of time for today.
Notes
Make sure build works and tests pass
- Ran
make. It succeeds. Nothing to fix.
Update dependencies
- Ran
cargo outdated -d1:
Name Project Compat Latest Kind Platform
---- ------- ------ ------ ---- --------
clap 4.5.48 4.5.51 4.5.51 Normal ---
clingwrap 0.4.0 --- 0.5.0 Normal ---
flate2 1.1.2 1.1.5 1.1.5 Normal ---
serde 1.0.226 1.0.228 1.0.228 Normal ---
tempfile 3.22.0 3.23.0 3.23.0 Normal ---
thiserror 2.0.16 2.0.17 2.0.17 Normal ---
- Of these,
clingwrapis the only I need to update. The other ones will be updated inCargo.lockwithcargo update.clingwrapis my own crate, so I like to keep its dependency up to date. Otherwise, I'm not sure it's a good idea to always depend on the newest of everything. That only ends up in a lot of churn. - Updated
clingwrapdependency to 0.5.0. - Pushed these changes to Radicle as a patch.
Existing patch that has been waiting
- Oops, I have a patch
8f7d4fafrom early October to add logging that I haven't merged. Except I seem to have, but Radicle hasn't noticed that. I think I've made changes to the patch locally, before merging, and then not pushed the change to Radicle, so it thinks I didn't merge. Radicle looks at commit IDs only, and in that scenario they don't match, even if the code changes are there. - I'll archive the patch.
Issue tidy up
- Issue
d5d2ea35862cea5b644250e409224f7f89370940("Lacks Debian packaging") has been fixed.
Configure SOP implementation to use
- Issue
a53a9e942f2d2e8be8e6e9ea5a70d5d39560eea9("Can't configure name of SOP implementation to use") seems like it'd be easy and quick. - I use
rsophard coded everywhere now, andrsoctfor OpenPGP card use. - I'll add configuration file fields
sopandsop-cardand make them default torsopandrsoct. - Added the fields, as optional
PathBufs. SopwantsOsStrvalues, which is a mismatch. I'll convert the paths to operating system strings for now.- For tests, I don't want to hard code
rsoporrsoctbut use the defaults used in the config module. To do this, I'll defaultDefaultforSopandSopCard, for tests. Outside tests, we have to use the configuration settings. - Refactor my previous changes so that
SopandSopCardget the commands to run asPath, notOsStr, to resolve the previous mismatch. Either type is correct, but it's more tidy to use the same one. - When creating a
CredentialSpecinsrc/config.rs, I'm currently hard coding thersopandrsoctcommands. The should not be the defaults either, via the constants I now have. They should come from the config fields. - I can achieve that by passing in a reference to the run time config
to
CredentialSpec:method. Since the method is only called from subcommand implementations, the ref is always available. So I'll do that, and refactor in the future if that becomes tricky. The alternative would be for the run time configuration to assembleCredentialSpecvalues when the configuration is loaded. - Merged.
Client name
- Issue
6cd66212db3582b357508abe6d2b4f7b7909e901("Client name can only be set on the command line") is about the client name only being possible to set on the command line. Specifically in theobnam chunk {encrypt,decrypt} --client_nameand theobnam client initcommands. - I'll add a
ciient_nameconfiguration setting. It'll be optional, and defaults to the hostname. Done. - Ooops, the
obnam store initcommand takes an optional client name argument that isn't actually used anywhere. Dropped that. - The
obnam client initsubcommand takes an argument for a client name. Likewiseobnam client show. Making those into options. - Changed the subplot to use the more convienient way to specify client name.
- Merged.
Summary
Comments?
If you have feedback on this development session, please use the following fediverse thread: https://toot.liw.fi/@liw/115558654054863720.