Previously when performing the "system" upgrade step, rpm-ostree would
be passed a "--yes" argument when it was configured in topgrade.
However, this is not an option available for rpm-ostree, so it would
cause an error and abort execution of the updates.
* steps: toolbox: Add module to upgrade toolboxes
This adds a module to upgrade all toolboxes found on a host system.
[Toolbox][1] (More recently: `toolbx`) is a tool that easily provides
mutable, containerized command line environments. It is a means to work
and develop in a mutable environment on immutable operating systems such
as Fedora Silverblue, CoreOS, Kinoite and much more. However, it is not
limited to these use cases.
The integration into topgrade works as follows: Toolbx makes many of the
hosts folders available form inside the toolbx container by default. In
particular, all of the hosts filesystem is mapped under `/run/host`. This
module exploits this fact by:
- Gathering a list of toolboxes available on the host that runs
`topgrade`
- Executing `toolbox run` for each of these toolboxes to run a command
inside the toolboxes, **using the executing `topgrade` executable with
the `--only system` arguments**
[1]: https://containertoolbx.org/
* toolbx: Integrate toolbx into the application
* Toolbx is Linux specific
Co-authored-by: Roey Darwish Dror <roey.ghost@gmail.com>
* Re-add the Go step via go-global-update
go-global-update (https://github.com/Gelio/go-global-update) is a small
tool to update all executables installed in a user's GOBIN, effectively
providing a `go get -u all` replacement for Go 1.16+.
Since it appears that Go will not be receiving a built-in way to do this
in the near future, this could be a good option in the meantime.
* Skip silently if go-global-update is not present
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.
* Bedrock Linux (fix#745)
* Add more distributions
* fix
* fix
* Fix
* Merge
* Move pacnew to the correct location
* Version bump
* Correct spelling for GNOME Shell extensions update (#778)
* fix gnome shell extensions update object path (#788)
* config: ArchPackageManager should be snake_case (#784)
* config: ArchPackageManager should be snake_case
* Remove unnecessary strum macro
* Add arch_package_manager to config.example.toml
* Add release pipeline
* Run GNOME update only when using GNOME
* Delete travis file and appveyor
* Bump
* Support rust 1.51.0 (#789)
* Cross compilation
* Bump
* fix: GNOME detection for customized version (#790)
Signed-off-by: Noel Georgi <git@frezbo.dev>
* Add a flag to disable showing Arch Linux news (fix#786)
* Bump
* Update pacstall (fix#769)
* Add an option to force vim plug update (#795)
* Add an option to force vim plug update (fix#751)
* Rustfmt
* Update src/config.rs
Co-authored-by: M*C*O <mcofficer@gmx.de>
Co-authored-by: M*C*O <mcofficer@gmx.de>
* Add new step pacdiff (#796)
* Add Support for Spicetify (#798)
* Look for ~/.config/emacs directory in Windows (fix#766)
* Pass --force to doom when -y is set (fix#799)
* Implement cleanup for flatpak (#801)
* Cleanup flatpak
* Fix compile error
* Make sure we only move our values at the very end
* Access config.cleanup() through ExecutionContext
* Improve man page (#803)
Wordings & argument format
* Avoid running remote topgrade on the current host (fix#804) (#807)
* Merge the command line and the configuration flags of --only and --disable (fix#805) (#806)
* Merge the command line and the configuration flags of --only and --disable (fix#805)
* Fix
* Fix rust requirement in the readme
* Selective yes (fix#802) (#808)
* Selective yes flag (fix#802)
* Selective yes flag (fix#802)
* selective yes
* MacOS
* Fix bedrock detection
* Bedrock fixes
* format
* Fedora fixes
Co-authored-by: Björn Daase <bjoern.daase@gmail.com>
Co-authored-by: modularTaco <37046961+modularTaco@users.noreply.github.com>
Co-authored-by: M*C*O <mcofficer@gmx.de>
Co-authored-by: Noel Georgi <git@frezbo.dev>
Co-authored-by: Manuel Hässig <mhaessig@users.noreply.github.com>
Co-authored-by: Janek <27jf@pm.me>