On a rpm-ostree based system, topgrade would previously fail to detect
the rpm-ostree executable and fall back to yum instead, which isn't
available. This was caused by constructing a Path instance with
Path::new, rather than querying the underlying OS for a path to the
rpm-ostree executable.
Make the system update step use which to determine if an executable
called "rpm-ostree" is available on the system and get the correct path
to the executable.
Standards checklist:
[x] The PR title is descriptive.
[x] The code compiles (cargo build)
[x] The code passes rustfmt (cargo fmt)
[x] The code passes clippy (cargo clippy)
[x] The code passes tests (cargo test)
[x] Optional: I have tested the code myself
[x] I also tested that Topgrade skips the step where needed
If you developed a feature or a bug fix for someone else and you do not have the
means to test it, please tag this person here.
On a rpm-ostree based system, topgrade would previously fail to detect the rpm-ostree executable and fall back to yum instead, which isn't available. This was caused by constructing a Path instance with
Path::new
, rather than querying the underlying OS for a path to the rpm-ostree executable.Make the
system
update step usewhich
to determine if an executable called "rpm-ostree" is available on the system and get the correct path to the executable.Standards checklist:
cargo build
)cargo fmt
)cargo clippy
)cargo test
)If you developed a feature or a bug fix for someone else and you do not have the means to test it, please tag this person here.
I developed this code myself.