On 01/12/12 16:28, Shawn Walker wrote:
On 12/22/11 17:46, Shawn Walker wrote:
This is a proposal (primarily) to change the output of pkg(1) when -v is
not used for package operations. When -v is not used, an 'update
summary' would be displayed instead at the install-hold level. It also
attempts to improve messaging in the 'No updates available' case.
...

A related problem that I'd also like to solve with this is to be able to use better "rollup names" for the update summaries. The first draft of this proposal improved on versions by leveraging the pkg.human-version attribute (if present), but the names of what we're updating is essentially meaningless to the user in many cases.

Incorporations were chosen as the rollup-level for updates as they (approximately) represent "products" within the greater Solaris ecosystem (and conveniently, boundaries of change of items likely to depend on each other).

However, the pkg.summary and pkg.description for the incorporation packages (such as 'entire', 'osnet-incorporation', etc.) necessarily describe the *incorporation package* itself -- not the "product" (aka consolidation) they represent. For example, entire's pkg.summary is "Incorporation to lock all system packages to the same build". But from a product perspective (when updating / installing), it's "Oracle Solaris".

If we had additional metadata to describe the products they represent, then we could further improve the update summaries provided. Suggested fields are pkg.product-name and pkg.product-summary. I'd also like to suggest we have pkg.vendor to easily identify the company that produced the package easily (e.g. set name=pkg.vendor value=Oracle).

In addition, I believe the update summary proposed so far can be further simplified by focusing on the fact that it is not intended to provide the level of detail that using -v does. With that in mind, some information can be omitted if pkg.human-version and/or pkg.product-name are provided further simplifying the output and substantially improving readability.

Specifically, if pkg.human-version is provided, then the actual version can be omitted from the summary. Likewise, if the pkg.product-name is provided, then the actual package name can be omitted from the summary.

For example, these:

PACKAGE CHANGE SUMMARY
  solaris
    entire
      Installed: FCS Build 2 (0.5.11-0.175.0.0.0.2.0)
         Latest: SRU 2 Build 3 (0.5.11-0.175.0.2.0.3.0)
       Proposed: SRU 1 Build 4 (0.5.11-0.175.0.1.0.4.0)


PACKAGE CHANGE SUMMARY
  solaris
    entire
          Installed: FCS Build 2 (0.5.11-0.175.0.0.0.2.0)
  Proposed (Latest): SRU 2 Build 3 (0.5.11-0.175.0.2.0.3.0)


...can be simplified to (assuming only one publisher offers the package):


PACKAGE CHANGE SUMMARY
  Oracle Solaris
      Package: entire
    Installed: FCS Build 2
       Latest: SRU 2 Build 3
     Proposed: SRU 1 Build 4


PACKAGE CHANGE SUMMARY
  Oracle Solaris
              Package: entire
            Installed: FCS Build 2
    Proposed (Latest): SRU 2 Build 3


...if more than one publisher offers the package, the publisher name would be shown in parentheses:

PACKAGE CHANGE SUMMARY
  Oracle Solaris
      Package: entire (solaris)
    Installed: FCS Build 2
       Latest: SRU 2 Build 3
     Proposed: SRU 1 Build 4

...if the publisher of the package is changing as part of the operation:

PACKAGE CHANGE SUMMARY
  Oracle Solaris
      Package: entire (solaris -> wos-nightly)
    Installed: FCS Build 2
       Latest: SRU 2 Build 3
     Proposed: SRU 1 Build 4


However, if the summary is being shown as the result of a failure to find updates (due to constraints, as an example) or if the user specified a version explicitly on the command line, full version information would be shown as below:

PACKAGE CHANGE SUMMARY
  Oracle Solaris
      Package: entire (solaris)
    Installed: FCS Build 2 (0.5.11-0.175.0.0.0.2.0)
       Latest: SRU 2 Build 3 (0.5.11-0.175.0.2.0.3.0)

-Shawn
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to