versions.txt revision 2
1N/A
1N/Apkg
1N/AExpressing versions
1N/A
1N/A A package is a labelled time series of collections of objects.
2N/A That is, over time, we expect to see something like
2N/A
2N/A pkg:///sunos/coreutils@5.11,1.1
2N/A |
2N/A | on-branch transition
2N/A V
2N/A pkg:///sunos/coreutils@5.11,1.2 --> additional on-branch transitions
2N/A |
2N/A | branch upgrade
2N/A V
2N/A pkg:///sunos/coreutils@5.11,2.1 --> additional branch upgrades
2N/A |
2N/A | micro release upgrade
2N/A V
2N/A pkg:///sunos/coreutils@5.11.1,1.1 --> additional micro release upgrades
2N/A |
2N/A | minor release upgrade
2N/A V
2N/A pkg:///sunos/coreutils@5.12
1N/A
1N/A Each transition is constrained by the local client's decision to "stay
2N/A on branch", "move to a newer branch", "move to a newer release".
2N/A
2N/A Rollback is expected to be handled by image management. Rollback is
2N/A expected to be made convenient through use of ZFS.
2N/A
2N/A If we had
2N/A
2N/A sunos/coreutils@5.11,1.1
2N/A
2N/A and wanted to go to the latest revision on this branch, we would
2N/A invoke
2N/A
2N/A pkg get coreutils
2N/A
2N/A which could upgrade other components.
2N/A
2N/A If we wanted to go from 5.11,1.x to 5.11,2 we would invoke
2N/A
2N/A pkg get coreutils@5.11,2
2N/A
2N/A (which might be the result of displaying a cosmetic version string,
2N/A like "GNU coreutils 6.8" or something). This operation might cause
2N/A other components to be updated.
2N/A
2N/A If we instead did
2N/A
2N/A pkg get coreutils@5.11.1
2N/A
2N/A or
2N/A
2N/A pkg get coreutils@5.12
2N/A
2N/A we would get a release constraint, which should tell us that we need
2N/A to request an update to base/minimal@5.11.1. This release constraint
2N/A comes from the fact that release ownership is held by a restricted set
2N/A of packages.
2N/A
2N/A If coreutils had been frozen by another package, we would get, in
2N/A response a message like
2N/A
2N/A pkg: sunos/coreutils frozen at 5.11,1 by site/workstation-cfg@5.11,1.12
2N/A
2N/A The administrator can then pkg delete site/workstation-cfg (or pull
2N/A down an updated version lacking the "require coreutils@5.11,1 freeze"
2N/A statement).
2N/A
2N/A pkg delete on groups removes leaf packages in the group (included via
2N/A "pkg" statements) but leaves package dependencies untouched.
1N/A
1N/A
2N/A
2N/A