From 6cd35afe80d84cc96afa6009a8d178db72190544 Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Fri, 14 Jun 2024 22:44:41 -0500 Subject: [PATCH 01/27] Readme updates --- README.md | 63 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 55 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index 39da2c2..9ad5809 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,64 @@ # **osupdater** ## **ABOUT** -A bash script and a terminal rust application for figuring out what package manager(s) are present on your system and use them to update your software packages. +A terminal rust application for figuring out what package manager(s) are present on your system and use them to update your software packages. -There is also an in-development python GUI. - -This is for my educational purposes of learning rust and python to do tasks that I have done successfully in either bash or C/C++. Feel free to snatch this up or not. +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. ## **FILES** | File | Function | | :--| :-- | -| ./osupdater | rust binary | -| ./osupdater.sh | bash script | -| ./assets | png files for the GUI | -| ./in-development | folders for the various non-bash working directories | +| ./antiquated | bash & python source | +| ./osupdater/ | rust source | +| ./rust_build_osupdater.sh | bash script to build the source | + +## **USAGE** + +### **COMPILING** + +To compile the application you will need to have rust and cargo installed. + +#### **RHEL/FEDORA** + +``` +sudo dnf install rust cargo -y +``` + +#### **SUSE/OPENSUSE** + +The [official documentation from OpenSuSE.org](https://en.opensuse.org/Rust) states to use rustup, so here it is: + +``` +sudo zypper install rustup && rustup toolchain install stable +``` + +#### **DEBIAN & DERIVATIVES** + +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). + +Using apt packages: + +``` +sudo apt update +sudo apt upgrade +sudo apt install rustc cargo rustfmt +``` + +Using rustup: + +``` +sudo apt update +sudo apt upgrade +sudo apt install curl build-essential gcc make +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +``` + +The final command above will pull in and run the installer. Follow the prompts on screen. + +#### **ARCH & DERIVATIVES** + +``` +sudo pacman -Sy rust +rustup default stable +``` From 6b346a63bff68f4c33dede00c620bb2e2c8e31d0 Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Fri, 14 Jun 2024 22:45:33 -0500 Subject: [PATCH 02/27] Readme updates --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9ad5809..e457acb 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This is for my educational purposes of learning rust to do tasks that I have don | File | Function | | :--| :-- | -| ./antiquated | bash & python source | +| ./antiquated/ | bash & python source | | ./osupdater/ | rust source | | ./rust_build_osupdater.sh | bash script to build the source | From 4ff02c1f1df71f9cf9d69657bc0a6262adfc9cc3 Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Fri, 14 Jun 2024 23:01:51 -0500 Subject: [PATCH 03/27] Readme updates --- README.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/README.md b/README.md index e457acb..d6b74ae 100644 --- a/README.md +++ b/README.md @@ -62,3 +62,31 @@ The final command above will pull in and run the installer. Follow the prompts sudo pacman -Sy rust rustup default stable ``` + +### ** OSUPDATE ACQUISITION, COMPILATION AND USAGE** + +The current scope and intended use of the tool is: + +* Not to be run as root -- be a privileged user. +* Currently custom parameters, logging, and other useful fancy stuff is not implemented. It will be, but not now. +* As of right now, I **__personally__** tested this only on RHEL, Fedora, and OpenSuSE Tumbleweed. Debian, Mageia, Arch, Slackware, and any other apt,pacman based distro are here and "should" work and not blow up, but not guaranteed. +* If you have any doubts as to what the hell is going on under the hood, look at the source or look at the bash or python versions. If the parameters are too conservative or aggressive -- edit the source or wait until I get custom parameters implemented. + +#### **GETTING SOURCE AND COMPILATION** +Firstly, in order to use the application, it needs to be compiled. + +``` +git clone https://git.schotty.com/andrew/osupdater +cd osupdater +./rust_build_osupdater.sh +``` + +If the rust toolchain is installed it will build the binary for your currently running platform. If you run into issues, follow the above instructions for your platform. If the platform is not listed, file a bug report for inclusion. If the above instructions are insufficient, file a bug report and I can update them to include any missing instructions and/or caveats + +#### **RUNNING OSUPDATE** + +Running the application is as simple as executing the ouput binary located at **osupdater/target/release/osupdater** + +Depending on tastes, you can copy said binary to ~/.local/bin or any other location that is in your PATH. + +The application will output whatever it does, and ignore any package managers that are not present on your system. From f2c683468272d7cc2b8512eddb66114978f03254 Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Fri, 14 Jun 2024 23:02:40 -0500 Subject: [PATCH 04/27] Readme updates --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d6b74ae..7cdfba7 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ sudo pacman -Sy rust rustup default stable ``` -### ** OSUPDATE ACQUISITION, COMPILATION AND USAGE** +### **OSUPDATE ACQUISITION, COMPILATION AND USAGE** The current scope and intended use of the tool is: From 602842fc1b8cf6e37f72a88fea47498f53693789 Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Fri, 14 Jun 2024 23:03:50 -0500 Subject: [PATCH 05/27] Readme updates --- README.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 7cdfba7..32ab396 100644 --- a/README.md +++ b/README.md @@ -13,19 +13,17 @@ This is for my educational purposes of learning rust to do tasks that I have don | ./osupdater/ | rust source | | ./rust_build_osupdater.sh | bash script to build the source | -## **USAGE** - -### **COMPILING** +## **COMPILING** To compile the application you will need to have rust and cargo installed. -#### **RHEL/FEDORA** +### **RHEL/FEDORA** ``` sudo dnf install rust cargo -y ``` -#### **SUSE/OPENSUSE** +### **SUSE/OPENSUSE** The [official documentation from OpenSuSE.org](https://en.opensuse.org/Rust) states to use rustup, so here it is: @@ -33,7 +31,7 @@ The [official documentation from OpenSuSE.org](https://en.opensuse.org/Rust) sta sudo zypper install rustup && rustup toolchain install stable ``` -#### **DEBIAN & DERIVATIVES** +### **DEBIAN & DERIVATIVES** 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). @@ -56,14 +54,14 @@ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh The final command above will pull in and run the installer. Follow the prompts on screen. -#### **ARCH & DERIVATIVES** +### **ARCH & DERIVATIVES** ``` sudo pacman -Sy rust rustup default stable ``` -### **OSUPDATE ACQUISITION, COMPILATION AND USAGE** +## **OSUPDATE ACQUISITION, COMPILATION AND USAGE** The current scope and intended use of the tool is: @@ -72,7 +70,7 @@ The current scope and intended use of the tool is: * As of right now, I **__personally__** tested this only on RHEL, Fedora, and OpenSuSE Tumbleweed. Debian, Mageia, Arch, Slackware, and any other apt,pacman based distro are here and "should" work and not blow up, but not guaranteed. * If you have any doubts as to what the hell is going on under the hood, look at the source or look at the bash or python versions. If the parameters are too conservative or aggressive -- edit the source or wait until I get custom parameters implemented. -#### **GETTING SOURCE AND COMPILATION** +### **GETTING SOURCE AND COMPILATION** Firstly, in order to use the application, it needs to be compiled. ``` @@ -83,7 +81,7 @@ cd osupdater If the rust toolchain is installed it will build the binary for your currently running platform. If you run into issues, follow the above instructions for your platform. If the platform is not listed, file a bug report for inclusion. If the above instructions are insufficient, file a bug report and I can update them to include any missing instructions and/or caveats -#### **RUNNING OSUPDATE** +### **RUNNING OSUPDATE** Running the application is as simple as executing the ouput binary located at **osupdater/target/release/osupdater** From 390d5b90bbf450ff362f676315413b3c2a49876a Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Fri, 14 Jun 2024 23:04:52 -0500 Subject: [PATCH 06/27] Readme updates --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 32ab396..327b8b7 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ The current scope and intended use of the tool is: * If you have any doubts as to what the hell is going on under the hood, look at the source or look at the bash or python versions. If the parameters are too conservative or aggressive -- edit the source or wait until I get custom parameters implemented. ### **GETTING SOURCE AND COMPILATION** -Firstly, in order to use the application, it needs to be compiled. +Firstly, in order to use the application the source must be downloaded and then compiled. ``` git clone https://git.schotty.com/andrew/osupdater From c9be0c363b958ad95c2cba69d65d16a206a1bd2a Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Fri, 14 Jun 2024 23:05:20 -0500 Subject: [PATCH 07/27] Readme updates --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 327b8b7..7ae9cf3 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ The current scope and intended use of the tool is: * If you have any doubts as to what the hell is going on under the hood, look at the source or look at the bash or python versions. If the parameters are too conservative or aggressive -- edit the source or wait until I get custom parameters implemented. ### **GETTING SOURCE AND COMPILATION** -Firstly, in order to use the application the source must be downloaded and then compiled. +In order to use the application the source must be downloaded and then compiled. ``` git clone https://git.schotty.com/andrew/osupdater From 4db9d8a02b4fbaeeda500e306d4bb008c06fb962 Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Fri, 14 Jun 2024 23:23:39 -0500 Subject: [PATCH 08/27] Source fix for zypper --- osupdater/src/main.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osupdater/src/main.rs b/osupdater/src/main.rs index 654c0a6..54cec73 100644 --- a/osupdater/src/main.rs +++ b/osupdater/src/main.rs @@ -141,7 +141,7 @@ fn main() { cprintln!("Updating via: zypper"); let mut cmd = Command::new(&sudo_bin) - .arg(&zypper_bin).arg("in").arg("-y") + .arg(&zypper_bin).arg("up").arg("-y") .stdout(Stdio::inherit()).stderr(Stdio::inherit()) .spawn().unwrap(); let _output = cmd.wait(); From 86dd9515969cb5eafb396db6856642356b4c46f4 Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Fri, 14 Jun 2024 23:34:42 -0500 Subject: [PATCH 09/27] README.md updates - compatibility table --- README.md | 11 ++++++++++- osupdater/src/.main.rs.swp | Bin 0 -> 16384 bytes 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 osupdater/src/.main.rs.swp diff --git a/README.md b/README.md index 7ae9cf3..e193fbd 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,15 @@ This is for my educational purposes of learning rust to do tasks that I have don | ./osupdater/ | rust source | | ./rust_build_osupdater.sh | bash script to build the source | +## **TESTED ENVIRONMENTS** + +* Arch - no (errors in distrobox) +* Debian / Ubuntu - yes (via distrobox) +* OpenMandriva / Mageia - no (no dsitrobox support) +* RHEL / Fedora - yes, primary platform currently being used by myself +* SuSE/ OpenSuSE - yes + + ## **COMPILING** To compile the application you will need to have rust and cargo installed. @@ -67,7 +76,7 @@ The current scope and intended use of the tool is: * Not to be run as root -- be a privileged user. * Currently custom parameters, logging, and other useful fancy stuff is not implemented. It will be, but not now. -* As of right now, I **__personally__** tested this only on RHEL, Fedora, and OpenSuSE Tumbleweed. Debian, Mageia, Arch, Slackware, and any other apt,pacman based distro are here and "should" work and not blow up, but not guaranteed. +* 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 or look at the bash or python versions. If the parameters are too conservative or aggressive -- edit the source or wait until I get custom parameters implemented. ### **GETTING SOURCE AND COMPILATION** diff --git a/osupdater/src/.main.rs.swp b/osupdater/src/.main.rs.swp new file mode 100644 index 0000000000000000000000000000000000000000..45c071aa26758dcf428baa0c4c907c8e2464ab3f GIT binary patch literal 16384 zcmeI2%ZnUE9LLMN)M!kiu)%{`8DTRcJ2Sh9>!Wv*gNfi1B1t5Y=+K$2nQ69PR8{Xd zE=fQTUk4?6@@PB=CZ~Atkbt*%@eu=_1dk%Pr~Co>t$xg7dwLvZ5Q9|1XM3jWH^1rc zw`zCmSJh|cUw!^%`gCQ1;MhfovBzzk-}3ghPrlwwOwZ!1tr|ujqTceQ?3AV7X1v_C zIdhm0+0UGd6IRXVs=HYn%nXsQMxdEK@Sx_e$`3)irIe!iOZwrq@@r1KNR+ z4(uQY_Aktzwl7#Xb_wFBA#?SOVbJD?rV4rm9o1KNTAmjg1`OwL2nrbO1M z7vMZN2VMa?!FTuII=Bcz@B~=jj_cq$_zau`yTSV1g!~Dvf;M;z zYzCXa&ASNs2pjN-A0HDo&`t147jA_b15>u> zL3$J?!|+(UIBR*0+8Ns`Es->?TBW#1y6?|+U#SR{rRIk+2qhBLU8~YIZCUL5yoyps z1y5nLy<({ndTnk7!$YKnT*YJ3vVFs_y%ystS*aqV#W>G4kSKNEkBZ5g#aT0uk&5VD zAq<+_v{<1Ozb$tPrOf9J`>u;8MiLi9X!%isfjFhrg-)oX2Qw|VzYFS-mw(ZOdcbW@ zI^N!5Vfl>jScjH5TRn6_J!xZmO}c8E21Um#SJma^Y7|oF8z^=o8jltBrY)o>me#r! z4WMC$3qU`<@kHyfBb=TETf58YKX_bL_>c+)ZK0PTHM;ekS(-Z zcD;px-8C(%UU+7ZqdRTNSF9q&(y9WdQ>ijcqOakYGB8(iB=)uDt4xB%5}L$Lr!`43 ziQKn3LBM#9+FoP6*f?e^t#RmdQsW$xC=Gew+BrhIZTUK*kg;S&k<+P+QcNNe&nV(Q zP>#x8W4_EdW-Og?=yXEk9Fr)`&N0$Ize!8JMg)u{5OLF~LxKsVE#`C~GDb}!#Vw9d z7ym0!X{MI8IEl9G|J$_Nl9qgB2pA!Z;)ul|ZaQs9Fp0G8e6Kf`NVTO+`QlW>Sn5>Z zbn;Y&Tz$$$bqt?}z2y5VY8uw?IrT6jTVOpmv0L8b3Iv~4>Mb^JP}pA>U!M0z-PGT%?}!HyqtDmp?kchv2m zC^^oMH580f*)k<Ha%x9lI8mFv>tK+hj9Z7a|_h= zgl)0tE}~e^bO?HAjWj&CZlfB)YZ6yfy}GLRN_D5G1pYv^gn6>4FwYXTwk=!5eW&?8 zl}5#?V<0{g>qW8n`hn@8FlaPCj%T~kO~F}O_Z^?tB9{y!9RW*3HDMBK7^-|U3{^e$ zUsOH|VHj)41a%IRXw-9Omx!wWYpB0}1gic|_wO&Gj{g+6U=iFx9e)E{0vEyO-~zC~ zi{KB`_CJA(pao{Z7VsPL{sL|!-|>U`9(`yBv;*1!?SOVbJD?rV4rm9o1KNS<9f<0* zZn4&Vp^7lIdN9_8&_C~rB})tGe!&ErV#&5w*$kyxe^5JQg>qRHhby$+pSB%0%C~ zMDCuEx}WUs<^}=X)t+iKzK`zGz-``{v*~_K(wm$$I1||ZNji7P4(DJ`rmI>58=;f- QVZ2;Jqivi1KFoC5-_&Nd?EnA( literal 0 HcmV?d00001 From 3359dcca9067215535992b63debe2c6a1ede95ac Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Fri, 14 Jun 2024 23:36:50 -0500 Subject: [PATCH 10/27] README.md updates - compatibility table --- README.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index e193fbd..e66a695 100644 --- a/README.md +++ b/README.md @@ -15,11 +15,13 @@ This is for my educational purposes of learning rust to do tasks that I have don ## **TESTED ENVIRONMENTS** -* Arch - no (errors in distrobox) -* Debian / Ubuntu - yes (via distrobox) -* OpenMandriva / Mageia - no (no dsitrobox support) -* RHEL / Fedora - yes, primary platform currently being used by myself -* SuSE/ OpenSuSE - yes +|DISTRIBUTION|STATUS| +| :-- | :-- | +|Arch|no (errors in distrobox)| +|Debian / Ubuntu|yes (via distrobox)| +|OpenMandriva / Mageia|no (no dsitrobox support)| +|RHEL / Fedora|yes, primary platform currently being used by myself| +|SuSE/ OpenSuSE|yes| ## **COMPILING** From 8315314bc66e5d600f67027c3fcbcb35e5cd9049 Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Sat, 15 Jun 2024 00:04:20 -0500 Subject: [PATCH 11/27] README.md updates - compatibility table --- README.md | 50 ++++++++++++++++++++++--------------- osupdater/src/.main.rs.swp | Bin 16384 -> 0 bytes 2 files changed, 30 insertions(+), 20 deletions(-) delete mode 100644 osupdater/src/.main.rs.swp diff --git a/README.md b/README.md index e66a695..98dc0bb 100644 --- a/README.md +++ b/README.md @@ -15,31 +15,26 @@ This is for my educational purposes of learning rust to do tasks that I have don ## **TESTED ENVIRONMENTS** -|DISTRIBUTION|STATUS| -| :-- | :-- | -|Arch|no (errors in distrobox)| -|Debian / Ubuntu|yes (via distrobox)| -|OpenMandriva / Mageia|no (no dsitrobox support)| -|RHEL / Fedora|yes, primary platform currently being used by myself| -|SuSE/ OpenSuSE|yes| +Currently I am testing on live hardware first where possible, then in distrobox if not. As time permits, I am using VMs to personally test. Trusted contributors will count as a passed/failed contributor test. + +|DISTRIBUTION|PERSONALLY TESTED|CONTRIBUTOR TESTED| +| :-- | :-- | +|Arch|no - errors out in distrobox|no| +|Debian / Ubuntu|distrobox|no| +|OpenMandriva / Mageia|no - lacks distrobox support|no| +|RHEL / Fedora|yes|yes| +|SuSE/ OpenSuSE|yes|no| ## **COMPILING** To compile the application you will need to have rust and cargo installed. -### **RHEL/FEDORA** +### **ARCH & DERIVATIVES (UNTESTED)** ``` -sudo dnf install rust cargo -y -``` - -### **SUSE/OPENSUSE** - -The [official documentation from OpenSuSE.org](https://en.opensuse.org/Rust) states to use rustup, so here it is: - -``` -sudo zypper install rustup && rustup toolchain install stable +sudo pacman -Sy rust +rustup default stable ``` ### **DEBIAN & DERIVATIVES** @@ -65,11 +60,26 @@ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh The final command above will pull in and run the installer. Follow the prompts on screen. -### **ARCH & DERIVATIVES** +### **OPENMANDRIVA/MAGEIA (UNTESTED) ``` -sudo pacman -Sy rust -rustup default stable +sudo urpmi update +sudo urpmi install gcc curl make +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +``` + +### **RHEL/FEDORA** + +``` +sudo dnf install rust cargo -y +``` + +### **SUSE/OPENSUSE** + +The [official documentation from OpenSuSE.org](https://en.opensuse.org/Rust) states to use rustup, so here it is: + +``` +sudo zypper install rustup && rustup toolchain install stable ``` ## **OSUPDATE ACQUISITION, COMPILATION AND USAGE** diff --git a/osupdater/src/.main.rs.swp b/osupdater/src/.main.rs.swp deleted file mode 100644 index 45c071aa26758dcf428baa0c4c907c8e2464ab3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16384 zcmeI2%ZnUE9LLMN)M!kiu)%{`8DTRcJ2Sh9>!Wv*gNfi1B1t5Y=+K$2nQ69PR8{Xd zE=fQTUk4?6@@PB=CZ~Atkbt*%@eu=_1dk%Pr~Co>t$xg7dwLvZ5Q9|1XM3jWH^1rc zw`zCmSJh|cUw!^%`gCQ1;MhfovBzzk-}3ghPrlwwOwZ!1tr|ujqTceQ?3AV7X1v_C zIdhm0+0UGd6IRXVs=HYn%nXsQMxdEK@Sx_e$`3)irIe!iOZwrq@@r1KNR+ z4(uQY_Aktzwl7#Xb_wFBA#?SOVbJD?rV4rm9o1KNTAmjg1`OwL2nrbO1M z7vMZN2VMa?!FTuII=Bcz@B~=jj_cq$_zau`yTSV1g!~Dvf;M;z zYzCXa&ASNs2pjN-A0HDo&`t147jA_b15>u> zL3$J?!|+(UIBR*0+8Ns`Es->?TBW#1y6?|+U#SR{rRIk+2qhBLU8~YIZCUL5yoyps z1y5nLy<({ndTnk7!$YKnT*YJ3vVFs_y%ystS*aqV#W>G4kSKNEkBZ5g#aT0uk&5VD zAq<+_v{<1Ozb$tPrOf9J`>u;8MiLi9X!%isfjFhrg-)oX2Qw|VzYFS-mw(ZOdcbW@ zI^N!5Vfl>jScjH5TRn6_J!xZmO}c8E21Um#SJma^Y7|oF8z^=o8jltBrY)o>me#r! z4WMC$3qU`<@kHyfBb=TETf58YKX_bL_>c+)ZK0PTHM;ekS(-Z zcD;px-8C(%UU+7ZqdRTNSF9q&(y9WdQ>ijcqOakYGB8(iB=)uDt4xB%5}L$Lr!`43 ziQKn3LBM#9+FoP6*f?e^t#RmdQsW$xC=Gew+BrhIZTUK*kg;S&k<+P+QcNNe&nV(Q zP>#x8W4_EdW-Og?=yXEk9Fr)`&N0$Ize!8JMg)u{5OLF~LxKsVE#`C~GDb}!#Vw9d z7ym0!X{MI8IEl9G|J$_Nl9qgB2pA!Z;)ul|ZaQs9Fp0G8e6Kf`NVTO+`QlW>Sn5>Z zbn;Y&Tz$$$bqt?}z2y5VY8uw?IrT6jTVOpmv0L8b3Iv~4>Mb^JP}pA>U!M0z-PGT%?}!HyqtDmp?kchv2m zC^^oMH580f*)k<Ha%x9lI8mFv>tK+hj9Z7a|_h= zgl)0tE}~e^bO?HAjWj&CZlfB)YZ6yfy}GLRN_D5G1pYv^gn6>4FwYXTwk=!5eW&?8 zl}5#?V<0{g>qW8n`hn@8FlaPCj%T~kO~F}O_Z^?tB9{y!9RW*3HDMBK7^-|U3{^e$ zUsOH|VHj)41a%IRXw-9Omx!wWYpB0}1gic|_wO&Gj{g+6U=iFx9e)E{0vEyO-~zC~ zi{KB`_CJA(pao{Z7VsPL{sL|!-|>U`9(`yBv;*1!?SOVbJD?rV4rm9o1KNS<9f<0* zZn4&Vp^7lIdN9_8&_C~rB})tGe!&ErV#&5w*$kyxe^5JQg>qRHhby$+pSB%0%C~ zMDCuEx}WUs<^}=X)t+iKzK`zGz-``{v*~_K(wm$$I1||ZNji7P4(DJ`rmI>58=;f- QVZ2;Jqivi1KFoC5-_&Nd?EnA( From 637a7bd81fdc510f70f47619854d6e80de3e841d Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Sat, 15 Jun 2024 00:05:26 -0500 Subject: [PATCH 12/27] Source fix for zypper --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 98dc0bb..dec26f1 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ This is for my educational purposes of learning rust to do tasks that I have don Currently I am testing on live hardware first where possible, then in distrobox if not. As time permits, I am using VMs to personally test. Trusted contributors will count as a passed/failed contributor test. |DISTRIBUTION|PERSONALLY TESTED|CONTRIBUTOR TESTED| -| :-- | :-- | +| :-- | :-- | :-- | |Arch|no - errors out in distrobox|no| |Debian / Ubuntu|distrobox|no| |OpenMandriva / Mageia|no - lacks distrobox support|no| From 8602ee8d4ef826f1153382ec3cd3348e9723e1f0 Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Sat, 15 Jun 2024 00:10:05 -0500 Subject: [PATCH 13/27] README.md updates - compatibility table --- README.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index dec26f1..68d37b7 100644 --- a/README.md +++ b/README.md @@ -15,13 +15,17 @@ This is for my educational purposes of learning rust to do tasks that I have don ## **TESTED ENVIRONMENTS** -Currently I am testing on live hardware first where possible, then in distrobox if not. As time permits, I am using VMs to personally test. Trusted contributors will count as a passed/failed contributor test. +Currently I start on distributions that I do not have a live environment to use or a VM, I will use distrobox. Then ss time permits, I use VMs to test. + +Consider distrobox tests as the lowest grade pass, then VMs and native tests. + +Trusted contributors will count as a passed/failed contributor test. |DISTRIBUTION|PERSONALLY TESTED|CONTRIBUTOR TESTED| | :-- | :-- | :-- | -|Arch|no - errors out in distrobox|no| +|Arch|failing in distrobox|no| |Debian / Ubuntu|distrobox|no| -|OpenMandriva / Mageia|no - lacks distrobox support|no| +|OpenMandriva / Mageia|no|no| |RHEL / Fedora|yes|yes| |SuSE/ OpenSuSE|yes|no| From 321b1d47dae6b9bcdd3d7ae1f1ba656c00bf6088 Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Sat, 15 Jun 2024 00:11:38 -0500 Subject: [PATCH 14/27] README.md updates - compatibility table --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 68d37b7..87a0146 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,11 @@ Trusted contributors will count as a passed/failed contributor test. |OpenMandriva / Mageia|no|no| |RHEL / Fedora|yes|yes| |SuSE/ OpenSuSE|yes|no| +||| +|Flatpak|yes|no| +|Snap|yes|no| +||| +|Python via pip-review|yes|no| ## **COMPILING** From 4f7d196ba04d62f416623d63a921e94969001490 Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Sat, 15 Jun 2024 00:12:08 -0500 Subject: [PATCH 15/27] README.md updates - compatibility table --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 87a0146..403b68c 100644 --- a/README.md +++ b/README.md @@ -29,9 +29,11 @@ Trusted contributors will count as a passed/failed contributor test. |RHEL / Fedora|yes|yes| |SuSE/ OpenSuSE|yes|no| ||| +||| |Flatpak|yes|no| |Snap|yes|no| ||| +||| |Python via pip-review|yes|no| From 66647e20843755f637e8aa50ec44acfed08345b7 Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Sat, 15 Jun 2024 00:12:59 -0500 Subject: [PATCH 16/27] README.md updates - compatibility table --- README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 403b68c..f239be8 100644 --- a/README.md +++ b/README.md @@ -28,12 +28,14 @@ Trusted contributors will count as a passed/failed contributor test. |OpenMandriva / Mageia|no|no| |RHEL / Fedora|yes|yes| |SuSE/ OpenSuSE|yes|no| -||| -||| + +|CONTAINER TYPE|PERSONALLY TESTED|CONTRIBUTOR TESTED| +| :-- | :-- | :-- | |Flatpak|yes|no| |Snap|yes|no| -||| -||| + +|OTHER TOOLS|PERSONALLY TESTED|CONTRIBUTOR TESTED| +| :-- | :-- | :-- | |Python via pip-review|yes|no| From 1da2e82f76addb7469e2a54accf958eb1f73ad88 Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Sat, 15 Jun 2024 00:17:26 -0500 Subject: [PATCH 17/27] README.md updates - compatibility table --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f239be8..805c52c 100644 --- a/README.md +++ b/README.md @@ -23,7 +23,7 @@ Trusted contributors will count as a passed/failed contributor test. |DISTRIBUTION|PERSONALLY TESTED|CONTRIBUTOR TESTED| | :-- | :-- | :-- | -|Arch|failing in distrobox|no| +|Arch|distrobox|no| |Debian / Ubuntu|distrobox|no| |OpenMandriva / Mageia|no|no| |RHEL / Fedora|yes|yes| @@ -43,7 +43,7 @@ Trusted contributors will count as a passed/failed contributor test. To compile the application you will need to have rust and cargo installed. -### **ARCH & DERIVATIVES (UNTESTED)** +### **ARCH & DERIVATIVES** ``` sudo pacman -Sy rust From 76414d79387f7ec82967025880e1c86b04b1981d Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Sat, 15 Jun 2024 00:26:02 -0500 Subject: [PATCH 18/27] README.md updates - compatibility table --- README.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/README.md b/README.md index 805c52c..bf64ac8 100644 --- a/README.md +++ b/README.md @@ -122,3 +122,37 @@ Running the application is as simple as executing the ouput binary located at ** Depending on tastes, you can copy said binary to ~/.local/bin or any other location that is in your PATH. The application will output whatever it does, and ignore any package managers that are not present on your system. + +## **NOTES** + +### **DISTROBOX CONTAINERS USED FOR TESTING** + +#### **USING DISTROBOX** + +Starting container: +``` +distrobox-create --name CONTAINER_NAME --image IMAGE_URI +distrobox-enter CONTAINER_NAME +``` + +Stopping container: +``` +podman stop CONTAINER_NAME +podman rm CONTAINERF_NAME +``` + +#### **CONTAINER URI'S** +Arch: +* quay.io/toolbx/arch-toolbox:latest + +Debian: +* quay.io/toolbx-images/debian-toolbox:latest +* quay.io/toolbx/ubuntu-toolbox:latest + +RHEL/Fedora: +* quay.io/toolbx-images/almalinux-toolbox:latest +* registry.fedoraproject.org/fedora-toolbox:40 +* quay.io/toolbx-images/rhel-toolbox:latest + +SuSE/OpenSuSE: +* registry.opensuse.org/opensuse/distrobox:latest From a77437435bab5e191bbb72a77390fbec19d3a91e Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Sat, 15 Jun 2024 00:26:28 -0500 Subject: [PATCH 19/27] README.md updates - compatibility table --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bf64ac8..3cc8e06 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,7 @@ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh The final command above will pull in and run the installer. Follow the prompts on screen. -### **OPENMANDRIVA/MAGEIA (UNTESTED) +### **OPENMANDRIVA/MAGEIA (UNTESTED)** ``` sudo urpmi update From edefd01b3e73e019b9d0bb63419ab91264bb330d Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Sat, 15 Jun 2024 00:28:00 -0500 Subject: [PATCH 20/27] README.md updates - compatibility table --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3cc8e06..fafdcc9 100644 --- a/README.md +++ b/README.md @@ -99,7 +99,7 @@ sudo zypper install rustup && rustup toolchain install stable The current scope and intended use of the tool is: -* Not to be run as root -- be a privileged user. +* 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 or look at the bash or python versions. If the parameters are too conservative or aggressive -- edit the source or wait until I get custom parameters implemented. From 433b26e88f2a7b6b672c41ef77ec47543b244c47 Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Sat, 15 Jun 2024 00:28:40 -0500 Subject: [PATCH 21/27] README.md updates - compatibility table --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fafdcc9..0bc4db7 100644 --- a/README.md +++ b/README.md @@ -97,6 +97,7 @@ sudo zypper install rustup && rustup toolchain install stable ## **OSUPDATE ACQUISITION, COMPILATION AND 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. From b9153bbd268c1bffd0559b92739575fe8888888d Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Sat, 15 Jun 2024 00:30:58 -0500 Subject: [PATCH 22/27] README.md updates - compatibility table --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0bc4db7..ebe3500 100644 --- a/README.md +++ b/README.md @@ -132,7 +132,7 @@ The application will output whatever it does, and ignore any package managers th Starting container: ``` -distrobox-create --name CONTAINER_NAME --image IMAGE_URI +distrobox-create --name CONTAINER_NAME --image CONTAINER_URI distrobox-enter CONTAINER_NAME ``` From 0863be6a6e5aed7689e02101dcd9cee257847365 Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Sat, 15 Jun 2024 00:32:15 -0500 Subject: [PATCH 23/27] README.md updates - compatibility table --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index ebe3500..178553d 100644 --- a/README.md +++ b/README.md @@ -136,6 +136,11 @@ distrobox-create --name CONTAINER_NAME --image CONTAINER_URI distrobox-enter CONTAINER_NAME ``` +Entering container: +``` +distrobox enter CONTAINER_NAME +``` + Stopping container: ``` podman stop CONTAINER_NAME From 9dee5e6a566c1743783f5603e6ce987f47d0273f Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Sat, 15 Jun 2024 00:43:31 -0500 Subject: [PATCH 24/27] README.md updates - compatibility table --- README.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 178553d..19c156e 100644 --- a/README.md +++ b/README.md @@ -57,17 +57,17 @@ The [official documentation from Debian](https://wiki.debian.org/Rust) states on Using apt packages: ``` -sudo apt update -sudo apt upgrade -sudo apt install rustc cargo rustfmt +sudo apt update -y +sudo apt upgrade -y +sudo apt install rustc cargo rustfmt -y ``` Using rustup: ``` -sudo apt update -sudo apt upgrade -sudo apt install curl build-essential gcc make +sudo apt update -y +sudo apt upgrade -y +sudo apt install curl build-essential gcc make -y curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` @@ -92,7 +92,7 @@ sudo dnf install rust cargo -y The [official documentation from OpenSuSE.org](https://en.opensuse.org/Rust) states to use rustup, so here it is: ``` -sudo zypper install rustup && rustup toolchain install stable +sudo zypper install rustup -y && rustup toolchain install stable ``` ## **OSUPDATE ACQUISITION, COMPILATION AND USAGE** From 1684ea04fbb9e7accb57dd82494653874676b084 Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Sat, 15 Jun 2024 00:47:55 -0500 Subject: [PATCH 25/27] README.md updates - compatibility table --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 19c156e..3c367c2 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ rustup default stable 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). -Using apt packages: +Using apt packages (my used and tested method): ``` sudo apt update -y @@ -126,6 +126,8 @@ The application will output whatever it does, and ignore any package managers th ## **NOTES** +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. + ### **DISTROBOX CONTAINERS USED FOR TESTING** #### **USING DISTROBOX** From 83a1b524c97ba71472eec3de5195657dd13666c0 Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Sat, 15 Jun 2024 00:53:01 -0500 Subject: [PATCH 26/27] README.md fixes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3c367c2..0414368 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ This is for my educational purposes of learning rust to do tasks that I have don ## **TESTED ENVIRONMENTS** -Currently I start on distributions that I do not have a live environment to use or a VM, I will use distrobox. Then ss time permits, I use VMs to test. +Currently 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. Consider distrobox tests as the lowest grade pass, then VMs and native tests. From 4ca292f6333b6dbac0a0e15fee9ea5b2d11e176f Mon Sep 17 00:00:00 2001 From: Andrew Schott Date: Sat, 15 Jun 2024 00:54:38 -0500 Subject: [PATCH 27/27] README.md fixes --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0414368..98768ba 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ This is for my educational purposes of learning rust to do tasks that I have don ## **TESTED ENVIRONMENTS** -Currently 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. +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. Consider distrobox tests as the lowest grade pass, then VMs and native tests.