Skip to content

Run yum, emerge, port, and openbsd backends on real systems #12

Description

@trmxvibs

Context

v0.2.0 added five backends written from official documentation. All five
have been checked against upstream docs — two bugs were found and fixed
along the way (choco's removed --local-only flag, emerge's dangerous
--unmerge). But four have never been run on the systems they target:

Backend Target OS File
yum RHEL 7, older CentOS, slim container images src/pkgwrap/backends/yum_backend.py
emerge Gentoo src/pkgwrap/backends/gentoo_backend.py
port macOS with MacPorts src/pkgwrap/backends/macports_backend.py
openbsd OpenBSD, NetBSD src/pkgwrap/backends/openbsd_backend.py

(winget was confirmed on real Windows in #9 follow-up testing — see
CHANGELOG for the fix that came out of it.)

How to help

You do not need to install or change anything. --dry-run prints the
command without executing it:

pkgwrap install curl --dry-run
pkgwrap remove curl --dry-run
pkgwrap refresh --dry-run
pkgwrap upgrade --dry-run
pkgwrap search curl --dry-run
pkgwrap list --dry-run
pkgwrap info curl --dry-run
pkgwrap clean --dry-run

Then comment with your OS/version, pkgwrap --backend output, the commands
above, and whether each one is what you'd actually type by hand.

If you want to go further, run the non-destructive ones for real (search,
list, info) and report what happens.

Open questions

  • port: does port clean --all installed do what a user expects from a
    clean command, or is it too aggressive?
  • openbsd: is there a sensible metadata-refresh equivalent, or is
    reporting refresh as unsupported correct?
  • yum: yum check-update exits with status 100 when updates exist —
    confirmed makecache is the safer refresh, but worth a second opinion.

Acceptance criteria

  • Each of the four backends has at least one confirmation from a real system
  • Any incorrect commands are fixed, with a test covering the corrected shape
  • README "Verification status" note is updated as each backend is confirmed

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions