Upgrade all the things
Project description
Maintainers Wanted
I currently have not enough time to maintain this project on the level required and which the project deserves. For this reason I'm asking the community to help supporting the project, to help and work on resolving issues and create new features. Thanks for all your help.
Introduction
Note This is a fork of topgrade by r-darwish to keep it maintained.
Keeping your system up to date usually involves invoking multiple package managers. This results in big, non-portable shell one-liners saved in your shell. To remedy this, Topgrade detects which tools you use and runs the appropriate commands to update them.
Installation
Other systems users can either use cargo install
or the compiled binaries from the release page.
The compiled binaries contain a self-upgrading feature.
Topgrade requires Rust 1.60 or above.
Usage
Just run topgrade
.
Visit the documentation at topgrade-rs.github.io for more information.
Warning Work in Progress
Configuration
See config.example.toml
for an example configuration file.
Configuration Path
CONFIG_DIR
on each platform
- Windows:
%APPDATA%
- macOS and other Unix systems:
${XDG_CONFIG_HOME:-~/.config}
topgrade
will look for the configuration file in the following places, in order of priority:
CONFIG_DIR/topgrade.toml
CONFIG_DIR/topgrade/topgrade.toml
If the file with higher priority is present, no matter it is valid or not, the other configuration files will be ignored.
On the first run(no configuration file exists), topgrade
will create a configuration file at CONFIG_DIR/topgrade.toml
for you.
Custom Commands
Custom commands can be defined in the config file which can be run before, during, or after the inbuilt commands, as required.
By default, the custom commands are run using a new shell according to the $SHELL
environment variable on unix (falls back to sh
) or pwsh
on windows (falls back to powershell
).
On unix, if you want to run your command using an interactive shell, for example to source your shell's rc files, you can add -i
at the start of your custom command.
But note that this requires the command to exit the shell correctly or else the shell will hang indefinitely.
Remote Execution
You can specify a key called remote_topgrades
in the configuration file.
This key should contain a list of hostnames that have Topgrade installed on them.
Topgrade will use ssh
to run topgrade
on remote hosts before acting locally.
To limit the execution only to specific hosts use the --remote-host-limit
parameter.
Contribution
Problems or missing features?
Open a new issue describing your problem and if possible provide a solution.
Missing a feature or found an unsupported tool/distro?
Just let us now what you are missing by opening an issue. For tools, please open an issue describing the tool, which platforms it supports and if possible, give us an example of its usage.
Want to contribute to the code?
Just fork the repository and start coding.
Contribution Guidelines
See CONTRIBUTING.md
Roadmap
- Add a proper testing framework to the code base.
- Add unit tests for package managers.
- Split up code into more maintainable parts, eg. putting every linux package manager in a own submodule of linux.rs.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
File details
Details for the file topgrade-11.0.2-py3-none-win_amd64.whl
.
File metadata
- Download URL: topgrade-11.0.2-py3-none-win_amd64.whl
- Upload date:
- Size: 1.7 MB
- Tags: Python 3, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.0.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 979c602fd0e07b6a399f20178d11ec5877aede3730c35f35292bf2195353a6ea |
|
MD5 | 92fb77bd455fe15378d6ad96bffe45c6 |
|
BLAKE2b-256 | 9d6ec665c03c2fd50673dce3b4c10cc6649acc0b06ac370c9f5db73f3c69e7cb |
File details
Details for the file topgrade-11.0.2-py3-none-win32.whl
.
File metadata
- Download URL: topgrade-11.0.2-py3-none-win32.whl
- Upload date:
- Size: 1.6 MB
- Tags: Python 3, Windows x86
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.0.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86eceb528374dc6ce223e16a81447139f3e65fd59751d74eab4be829388a7f53 |
|
MD5 | 6140d5e4dd362d250db1a33446781366 |
|
BLAKE2b-256 | 8eae40b5326db3a62cfb3140cdd3c439f554275bd624656b98d43b02926866b8 |
File details
Details for the file topgrade-11.0.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
.
File metadata
- Download URL: topgrade-11.0.2-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 3.5 MB
- Tags: Python 3, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.0.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 678b4f2f66ce6d1bc76a27aa36aafbe4d1f1d3d3cdc4b90205d9ee10089d96a3 |
|
MD5 | a6be18bbc8d7d681425095ed437f4f28 |
|
BLAKE2b-256 | 43a7f2054f7f3b24c3c096013a71de9422d1eee62938b311053bffa34cb9e4ac |
File details
Details for the file topgrade-11.0.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
.
File metadata
- Download URL: topgrade-11.0.2-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl
- Upload date:
- Size: 3.5 MB
- Tags: Python 3, manylinux: glibc 2.17+ i686
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.0.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 398d464ec103b037cc6e11bffeba04f6758fec66a2e40dbec0c37eb03ea913f6 |
|
MD5 | 4cccae6a812bf30073a5e759ff50c23a |
|
BLAKE2b-256 | b96a22dfdb564779ae912b624ff32e7c35463618af7074b182a92d37fa5d228e |
File details
Details for the file topgrade-11.0.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
.
File metadata
- Download URL: topgrade-11.0.2-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 3.5 MB
- Tags: Python 3, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.0.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbd6e1044bfccef5b219ceeee1c9e049daf9b972e7599467a466dddbe555083d |
|
MD5 | ed99de886e81c18bbab3688c7bbd7317 |
|
BLAKE2b-256 | f0744d7a52f07241c0a055ef0a806153bd93f4b4a49a096bc0ed745c1ea7b62a |
File details
Details for the file topgrade-11.0.2-py3-none-macosx_11_0_arm64.whl
.
File metadata
- Download URL: topgrade-11.0.2-py3-none-macosx_11_0_arm64.whl
- Upload date:
- Size: 2.0 MB
- Tags: Python 3, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.0.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fee9ac5080e5d8ef4c9e8c3a2bdd1b4b461a564cabed74621ff31cf58cacb07 |
|
MD5 | c810767c895729f50a2c8de8509e7c8e |
|
BLAKE2b-256 | 21edb9267625628f66cfd39a4bd5f64062cfc8aba3ecba0b1b222c7c90f136e5 |
File details
Details for the file topgrade-11.0.2-py3-none-macosx_10_7_x86_64.whl
.
File metadata
- Download URL: topgrade-11.0.2-py3-none-macosx_10_7_x86_64.whl
- Upload date:
- Size: 2.1 MB
- Tags: Python 3, macOS 10.7+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.0.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4bfb3cc7fdc2a4641a77030ad1e1eb62803f0d86f8b9ddc0729de22464ee2b6 |
|
MD5 | 96fc2c758dd2b56e714cd222f8735b34 |
|
BLAKE2b-256 | 43d4ce55883416d0c3c4eab0d0dcccf5c30c382b059ba1a1eac7a70965f1e681 |