Skip to content

Feature/zypper manager#132

Open
pisum-sativum wants to merge 2 commits into
pie-314:mainfrom
pisum-sativum:feature/zypper-manager
Open

Feature/zypper manager#132
pisum-sativum wants to merge 2 commits into
pie-314:mainfrom
pisum-sativum:feature/zypper-manager

Conversation

@pisum-sativum

@pisum-sativum pisum-sativum commented Jun 9, 2026

Copy link
Copy Markdown

Description

Adds native Zypper package manager support for openSUSE Leap and Tumbleweed users.

Fixes #57

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update

How Has This Been Tested?

  • Manual test (please describe)
    • Verified all trait methods compile and match the signatures of existing managers (apt, arch, brew)
    • XML attribute extractor validated against zypper --xmlout search sample output
    • Exit code 100 handling for list-updates confirmed against zypper documentation
  • cargo test

Checklist:

  • My code follows the Coding Guidelines.
  • I have performed a self-review of my own code.
  • I have commented my code, particularly in hard-to-understand areas.
  • I have NOT added useless AI-generated comments.
  • I have NOT deleted existing unrelated comments.
  • I have NOT modified files unrelated to this task.
  • I have included screenshots/recordings (for UI changes).
  • My changes generate no new warnings (clippy/fmt).
  • I have linked the issue I am working on.

Screenshots (if applicable)

image Screenshot 2026-06-11 032846 Screenshot 2026-06-11 033236

Implements the PackageManager trait for openSUSE Leap and Tumbleweed
using the zypper CLI tool.

Key implementation details:
- Uses --xmlout mode for search and installed-packages listing to
  ensure reliable, structured parsing instead of fragile text parsing
- Custom minimal XML attribute extractor avoids adding a new dependency
- Exit code 100 (updates available) is correctly treated as non-error
  in get_updates()
- system_upgrade() maps to zypper dup (distribution upgrade)
- refresh_databases() maps to zypper refresh
- Provider routing added to manager_handles_provider() for zypper,
  opensuse, and suse provider strings
- Availability detection uses which zypper in get_available_managers()

Closes pie-314#57
@vercel

vercel Bot commented Jun 9, 2026

Copy link
Copy Markdown

@pisum-sativum is attempting to deploy a commit to the pie's projects Team on Vercel.

A member of the Team first needs to authorize it.

@pie-314

pie-314 commented Jun 9, 2026

Copy link
Copy Markdown
Owner

@pisum-sativum add screenshots and screen records

@pisum-sativum

pisum-sativum commented Jun 9, 2026

Copy link
Copy Markdown
Author

@pisum-sativum add screenshots and screen records

@pie-314 I have added the screenshot.Kindly check and merge.

@pie-314

pie-314 commented Jun 10, 2026

Copy link
Copy Markdown
Owner

@pisum-sativum you need to show screenshots of working Zypper package manager

@pisum-sativum

Copy link
Copy Markdown
Author

@pisum-sativum you need to show screenshots of working Zypper package manager

@pie-314 I have attached two more screenshots related to working of Zypper package manager. Kindly check and merge.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Backend] Zypper Package Manager Implementation

2 participants