diff --git a/README.md b/README.md
index 98768ba..8aa2032 100644
--- a/README.md
+++ b/README.md
@@ -31,7 +31,9 @@ Trusted contributors will count as a passed/failed contributor test.
|CONTAINER TYPE|PERSONALLY TESTED|CONTRIBUTOR TESTED|
| :-- | :-- | :-- |
+|Distrobox|yes|no|
|Flatpak|yes|no|
+|Podman|yes|no|
|Snap|yes|no|
|OTHER TOOLS|PERSONALLY TESTED|CONTRIBUTOR TESTED|
diff --git a/osupdater/src/main.rs b/osupdater/src/main.rs
index e41b76b..db2b984 100644
--- a/osupdater/src/main.rs
+++ b/osupdater/src/main.rs
@@ -74,6 +74,11 @@ fn main() {
let mut distrobox_upgrade_bin = String::from_utf8(find_distrobox_upgrade.stdout).unwrap();
trim_newline(&mut distrobox_upgrade_bin);
+ let find_podman = Command::new("which")
+ .arg("podman").stdout(Stdio::piped()).output().unwrap();
+ let mut podman_bin = String::from_utf8(find_podman.stdout).unwrap();
+ trim_newline(&mut podman_bin);
+
//apt
let path = Path::new(&apt_bin);
if path.exists(){
@@ -223,5 +228,53 @@ fn main() {
.spawn().unwrap();
let _output = cmd.wait();
}
+
+ //Podman system
+ let path = Path::new(&podman_bin);
+ if path.exists(){
+ cprintln!("Updating Podman system containers");
+ let mut cmd =
+ Command::new(&sudo_bin)
+ .arg(&podman_bin).arg("auto-update")
+ .stdout(Stdio::inherit()).stderr(Stdio::inherit())
+ .spawn().unwrap();
+ let _output = cmd.wait();
+ }
+
+ //Podman user
+ let path = Path::new(&podman_bin);
+ if path.exists(){
+ cprintln!("Updating Podman user containers");
+ let mut cmd =
+ Command::new(&podman_bin)
+ .arg("auto-update")
+ .stdout(Stdio::inherit()).stderr(Stdio::inherit())
+ .spawn().unwrap();
+ let _output = cmd.wait();
+ }
+
+ //Podman system prune
+ let path = Path::new(&podman_bin);
+ if path.exists(){
+ cprintln!("Pruning Podman system containers");
+ let mut cmd =
+ Command::new(&sudo_bin)
+ .arg(&podman_bin).arg("system").arg("prune").arg("-af")
+ .stdout(Stdio::inherit()).stderr(Stdio::inherit())
+ .spawn().unwrap();
+ let _output = cmd.wait();
+ }
+
+ //Podman user prune
+ let path = Path::new(&podman_bin);
+ if path.exists(){
+ cprintln!("Pruning Podman user containers");
+ let mut cmd =
+ Command::new(&podman_bin)
+ .arg("system").arg("prune").arg("-af")
+ .stdout(Stdio::inherit()).stderr(Stdio::inherit())
+ .spawn().unwrap();
+ let _output = cmd.wait();
+ }
}
}