Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package i3status-rust for openSUSE:Factory 
checked in at 2026-03-18 16:49:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/i3status-rust (Old)
 and      /work/SRC/openSUSE:Factory/.i3status-rust.new.8177 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "i3status-rust"

Wed Mar 18 16:49:42 2026 rev:11 rq:1339641 version:0.36.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/i3status-rust/i3status-rust.changes      
2025-04-04 18:10:04.698584675 +0200
+++ /work/SRC/openSUSE:Factory/.i3status-rust.new.8177/i3status-rust.changes    
2026-03-18 16:51:05.522503660 +0100
@@ -1,0 +2,35 @@
+Fri Mar 13 16:04:31 UTC 2026 - Clemens Famulla-Conrad <[email protected]>
+
+- Add zypper support in package block
+  + 0001-packages-add-zypper-support-from-openSUSE.patch
+
+-------------------------------------------------------------------
+Thu Mar 12 09:38:40 UTC 2026 - Clemens Famulla-Conrad <[email protected]>
+
+- Update to 0.36.0:
+  * `calendar`: added support for recurring events
+  * `disk_iostats`: added persistent device name and partition support
+  * `disk_space`: added support for `btrfs`
+  * `notify`: added `history_count` variable and `show_all` action
+  * `packages`: added support for `apk`, `brew`, `flatpak` and `snap`
+  * `sound`: added `pipewire` driver
+  * `sound`: improved headphones detection for PipeWire
+  * `taskwarrior`: fixed high CPU usage with taskwarrior v3
+  * `vpn`: added driver for cloudflare's `warp`
+  * `vpn`: added driver for `tailscale`
+  * `xrandr`: added `refresh_rate`
+  * Breaking changes:
+    * `weather`: `sunrise`/`sunset` will not be set during polar days/nights
+       when using the `metno` or `nws` service
+- Update to 0.35.0
+  * `battery`: fixed negative remaining time that appears in recent Linux 
kernels
+  * `calendar`: fixed calendar retrieval if caldav server replies with multiple
+    `<comp ..>` entities
+  * `memory`: fixed "available memory" estimate provided by the Linux kernel.
+     This matches other tooling other than htop - refer to
+     https://github.com/htop-dev/htop/issues/1307
+  * `net`: fixed default interface detection to use the one with the lowest 
metric
+  * `packages`: fixed to handle recent updates in `pacman` package manager
+  * `service_status`: added support for systemd user services
+
+-------------------------------------------------------------------

Old:
----
  i3status-rust-0.33.2.obscpio
  i3status-rust-0.33.2.tar.gz

New:
----
  0001-packages-add-zypper-support-from-openSUSE.patch
  i3status-rust-0.36.0.tar.gz

----------(New B)----------
  New:- Add zypper support in package block
  + 0001-packages-add-zypper-support-from-openSUSE.patch
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ i3status-rust.spec ++++++
--- /var/tmp/diff_new_pack.RvLMvD/_old  2026-03-18 16:51:06.946563311 +0100
+++ /var/tmp/diff_new_pack.RvLMvD/_new  2026-03-18 16:51:06.958563814 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package i3status-rust
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %global rustflags '-Clink-arg=-Wl,-z,relro,-z,now'
 
 Name:           i3status-rust
-Version:        0.33.2
+Version:        0.36.0
 Release:        0%{?dist}
 Summary:        Feature-rich and resource-friendly replacement for i3status, 
written in Rust
 
@@ -28,6 +28,7 @@
 Source0:        %{name}-%{version}.tar.gz
 Source1:        vendor.tar.gz
 Source2:        cargo_config
+Patch1:         0001-packages-add-zypper-support-from-openSUSE.patch
 
 ExclusiveArch:  %{rust_tier1_arches}
 
@@ -52,6 +53,7 @@
 
 %prep
 %setup -qa1
+%autopatch -p1
 
 cp %{SOURCE2} .cargo/config
 

++++++ 0001-packages-add-zypper-support-from-openSUSE.patch ++++++
>From 9ab615a220fa044be83c5fbebfe769c86a030a07 Mon Sep 17 00:00:00 2001
From: Clemens Famulla-Conrad <[email protected]>
Date: Fri, 13 Mar 2026 16:47:37 +0100
Subject: [PATCH] packages: add zypper support from openSUSE

---
 src/blocks/packages.rs        | 31 ++++++++++++++++++++++++++--
 src/blocks/packages/zypper.rs | 38 +++++++++++++++++++++++++++++++++++
 2 files changed, 67 insertions(+), 2 deletions(-)
 create mode 100644 src/blocks/packages/zypper.rs

diff --git a/src/blocks/packages.rs b/src/blocks/packages.rs
index 5f74e8f1a..91aafc07a 100644
--- a/src/blocks/packages.rs
+++ b/src/blocks/packages.rs
@@ -10,6 +10,7 @@
 //! - `pacman` for Arch-based systems
 //! - `snap` for Snap packages
 //! - `xbps` for Void Linux
+//! - `zypper` for openSUSE
 //!
 //! # Configuration
 //!
@@ -38,6 +39,7 @@
 //! `pacman`     | Number of updates available in Arch-based systems           
                     | Number | -
 //! `snap`       | Number of updates available in Snap packages                
                     | Number | -
 //! `xbps`       | Number of updates available in Void Linux                   
                     | Number | -
+//! `zypper`     | Number of updates available in openSUSE                     
                     | Number | -
 //! `total`      | Number of updates available in all package manager listed   
                     | Number | -
 //!
 //! # Apt
@@ -252,6 +254,24 @@
 //! cmd = "xbps-install -Mun | dmenu -l 10"
 //! ```
 //!
+//! Zypper-only config:
+//!
+//! ```toml
+//! [[block]]
+//! block = "packages"
+//! package_manager = ["zypper"]
+//! interval = 1800
+//! error_interval = 300
+//! max_retries = 5
+//! format = " $icon $zypper.eng(w:1) updates available "
+//! format_singular = " $icon One update available "
+//! format_up_to_date = " $icon system up to date "
+//! [[block.click]]
+//! # shows dmenu with available updates. Any dmenu alternative should also 
work.
+//! button = "left"
+//! cmd = "zypper --quiet list-updates | dmenu -l 10"
+//! ```
+//!
 //! Multiple package managers config:
 //!
 //! Update the list of pending updates every thirty minutes (1800 seconds):
@@ -259,11 +279,11 @@
 //! ```toml
 //! [[block]]
 //! block = "packages"
-//! package_manager = ["apk", "apt", "aur", "brew", "dnf", "flatpak", 
"pacman", "snap", "xbps"]
+//! package_manager = ["apk", "apt", "aur", "brew", "dnf", "flatpak", 
"pacman", "snap", "xbps", "zypper"]
 //! interval = 1800
 //! error_interval = 300
 //! max_retries = 5
-//! format = " $icon $apk + $apt + $aur + $brew + $dnf + $flatpak + $pacman + 
$snap + $xbps = $total updates available "
+//! format = " $icon $apk + $apt + $aur + $brew + $dnf + $flatpak + $pacman + 
$snap + $xbps + $zypper = $total updates available "
 //! format_singular = " $icon One update available "
 //! format_up_to_date = " $icon system up to date "
 //! # If a linux update is available, but no ZFS package, it won't be possible 
to
@@ -302,6 +322,9 @@ use xbps::Xbps;
 pub mod snap;
 use snap::Snap;
 
+pub mod zypper;
+use zypper::Zypper;
+
 use regex::Regex;
 
 use super::prelude::*;
@@ -334,6 +357,7 @@ pub enum PackageManager {
     Pacman,
     Snap,
     Xbps,
+    Zypper,
 }
 
 impl PackageManager {
@@ -349,6 +373,7 @@ impl PackageManager {
             PackageManager::Pacman => "pacman",
             PackageManager::Snap => "snap",
             PackageManager::Xbps => "xbps",
+            PackageManager::Zypper => "zypper",
         }
     }
 
@@ -366,6 +391,7 @@ impl PackageManager {
             PackageManager::Pacman => Box::new(Pacman::new().await?),
             PackageManager::Snap => Box::new(Snap::new()),
             PackageManager::Xbps => Box::new(Xbps::new()),
+            PackageManager::Zypper => Box::new(Zypper::new()),
         })
     }
 }
@@ -405,6 +431,7 @@ pub async fn run(config: &Config, api: &CommonApi) -> 
Result<()> {
     check_manager!(PackageManager::Pacman);
     check_manager!(PackageManager::Snap);
     check_manager!(PackageManager::Xbps);
+    check_manager!(PackageManager::Zypper);
 
     let warning_updates_regex = config
         .warning_updates_regex
diff --git a/src/blocks/packages/zypper.rs b/src/blocks/packages/zypper.rs
new file mode 100644
index 000000000..e3e7a0010
--- /dev/null
+++ b/src/blocks/packages/zypper.rs
@@ -0,0 +1,38 @@
+use tokio::process::Command;
+
+use super::*;
+
+#[derive(Default)]
+pub struct Zypper;
+
+impl Zypper {
+    pub fn new() -> Self {
+        Default::default()
+    }
+}
+
+#[async_trait]
+impl Backend for Zypper {
+    fn name(&self) -> Cow<'static, str> {
+        "zypper".into()
+    }
+
+    async fn get_updates_list(&self) -> Result<Vec<String>> {
+        let stdout = Command::new("zypper")
+            .env("LC_ALL", "C")
+            .args(["--quiet", "list-updates"])
+            .output()
+            .await
+            .error("Failed to run `zypper list-updates`")?
+            .stdout;
+
+        let updates = String::from_utf8(stdout).error("zypper produced 
non-UTF8 output")?;
+        let updates_list: Vec<String> = updates
+            .lines()
+            .filter(|line| line.starts_with("v"))
+            .map(|line| line.to_string())
+            .collect();
+
+        Ok(updates_list)
+    }
+}
-- 
2.53.0


++++++ _service ++++++
--- /var/tmp/diff_new_pack.RvLMvD/_old  2026-03-18 16:51:07.078568841 +0100
+++ /var/tmp/diff_new_pack.RvLMvD/_new  2026-03-18 16:51:07.082569008 +0100
@@ -3,7 +3,7 @@
     <param name="url">https://github.com/greshake/i3status-rust</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="scm">git</param>
-    <param name="revision">v0.33.2</param>
+    <param name="revision">v0.36.0</param>
     <param name="match-tag">*</param>
     <param name="versionrewrite-pattern">v(\d+\.\d+\.\d+)</param>
     <param name="versionrewrite-replacement">\1</param>
@@ -23,5 +23,4 @@
      <param name="srcdir">i3status-rust</param>
   </service>
 </services>
-(No newline at EOF)
 

++++++ i3status-rust-0.33.2.tar.gz -> i3status-rust-0.36.0.tar.gz ++++++
++++ 14771 lines of diff (skipped)

++++++ i3status-rust.obsinfo ++++++
--- /var/tmp/diff_new_pack.RvLMvD/_old  2026-03-18 16:51:07.582589953 +0100
+++ /var/tmp/diff_new_pack.RvLMvD/_new  2026-03-18 16:51:07.594590456 +0100
@@ -1,5 +1,5 @@
 name: i3status-rust
-version: 0.33.2
-mtime: 1731162414
-commit: be37f671934c7673037d83d7044b3a7b8d363271
+version: 0.36.0
+mtime: 1773001641
+commit: 145c0f711657c432bebfeed05c1e623bbfbb4a4b
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/i3status-rust/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.i3status-rust.new.8177/vendor.tar.gz differ: char 
12, line 1

Reply via email to