Skip to content

composite install-and-uninstall operation #418

@jclulow

Description

@jclulow

At present, we have two distinct operations:

  • pkg install, which can add packages to a system, or change the installed version to a specific (perhaps older!) version or even a version from a specific other publisher
  • pkg uninstall, which removes packages from the system

Sometimes, when trying to move between production and development bits, it seems that it can be impossible to get from the current state to an intended target state because these two distinct operations may require the transition through an illegal state to get to the legal target state. For example:

  • a new package (say, newthing) was added to a development version of illumos-gate, which is depended upon by SUNWcs, and version-locked through osnet-incorporation
  • we want to go back to regular illumos packages, so we use a fully-qualified FMRI for osnet-incorporation
  • there is no acceptable version of newthing that can be installed, now, because it only exists in the version of the OS bits that we already have

What we would like to be able to do is something like:

pkg modify -v +osnet-incorporation@$oldversion -newthing

This would attempt, as a single operation, to change the osnet-incorporation version (which would also end up changing the version of most OS packages like SUNWcs) and concurrently remove newthing from the image. The target state should then be legal, and there should be no need to move through an invalid intermediate state to get there.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions