This is for my educational purposes of learning rust to do tasks that I have done successfully in either bash or C/C++. Feel free to snatch this up or not.
Take note that currently, all the used update tools' parameters are hard coded. Down the line, I will incorporate a config file that will have these hardcoded settings as the defaults. Until then, to change said parameters, you _will_ need to edit the source.
Currently when I start work on distributions that I do not have a live environment to use or a VM available, I will use distrobox. Then, as time permits, I use VMs to test as a next best thing to a live environment.
In the repo there is a build script that will build things for you. To do so follow the instructions below to setup your build environment. You can also use __**cargo**__ to build and install as well, but again, the build environment will need to be setup.
The [official documentation from Debian](https://wiki.debian.org/Rust) states one can either install the apt packages or use the [official rustup installer](https://www.rust-lang.org/tools/install).
This will download the repo, compile, and install the binary in __**~/.cargo/bin/**__, so ensure if you use this method you have that path in your __**$PATH**__ environment variable.
This should just build the application for you, providing you setup rust correctly. If you have issues compiling, double check that the toolchain is installed correctly for your platform. If the above instructions are insufficient, file a bug report and I can update them to include any missing instructions and/or caveats.
## **SCOPE & USAGE**
### **CURRENT SCOPE AND LIMITATIONS**
The current scope and intended use of the tool is:
* __**Not**__ to be run as root -- be a __**regular**__ user with sudo rights to run the package manager tools.
* Currently custom parameters, logging, and other useful fancy stuff is not implemented. It will be, but not now.
* The testing has been done in a limited fashion. I have several Workstations, Laptops, VMs, VPS's, and contributors that are able to validate things. The testing matrix above has the details, play in a VM if your platform is untested (notably arch). I test first in distrobox, then if things work a VM or a contributor report.
* If you have any doubts as to what the hell is going on under the hood, look at the source. If the parameters are too conservative/aggressive -- edit the source or wait until I get custom parameters implemented.
During testing via distrobox, pip-review will fail if the host python version is not the same as the container. The tool will find the pip-review package, but be unable to execute due to a version mismatch.