On 12/22/11 19:14, Danek Duvall wrote:
I like the general idea.  Some comments/questions:

   - Your intro suggests that you'd see this output with or without -n, but
     all your examples use -n.  I assume that's due to copy/paste, rather
     than anything significant.

Yes, it's really only currently intended for "without -v" or when there's "No updates available" (but it really means "no updates possible").

   - You might be able to get a little less verbosity by dropping the build
     versions and timestamps when they're not relevant, which is most of the
     time.  If there happen to be two different versions of

         [email protected],5.11-0.175.0.0.0.2.0

     (different timestamps), then you'd have to use the full thing.
     Otherwise, dropping the timestamp isn't significant, and reduces the
     noise presented to the user.

By build version I assume you mean the ',5.11'? I had considered dropping the timestamp, but every time I've brought up that option in the past, it was pointed out that for some projects, packages only differed in timestamp. And indeed, in our FCS repository even, we have some incorporations that only differ in timestamp.

What about this?

  * drop the build_release (e.g. ',5.11')
  * only show timestamp if it's the only part that changed

   - I was thinking that it might be useful to have a similar summary when
     you do have a package argument on the commandline, that package is
     unversioned, and has an install-hold.  So "pkg update entire" or "pkg
     update osnet-incorporation" could give you the same kind of output, and
     be similarly useful.

Oh, although I didn't provide any examples with a package argument, I hadn't intended to only use the summary for the case where no arguments were specified. I think it still works well for that case.

# pkg update -n
...
UPDATE SUMMARY
solaris
   entire
     Installed 0.5.11,5.11-0.175.0.0.0.2.0:20111020T143822Z
     Proposed  0.5.11,5.11-0.175.0.2.0.3.0:20111201T182924Z
on-nightly
   osnet-incorporation
     Installed 0.5.11,5.11-0.175.1.0.0.6.18318:20111220T132736Z
     Proposed  0.5.11,5.11-0.175.1.0.0.6.18339:20111222T133041Z
...

Shows an update from a previous nightly to a newer nightly, but not
the latest which has been blocked by a pkg freeze, unbundled
product, or some other package.

I assume there's a "Latest" line missing in the example?

Yes, sorry.

REFERENCE MATERIAL
==================
Update summary rules:
  * only packages that deliver an install-hold are shown in the
    update summary (yes, unbundled packages are essentially ignored)
  * the highest-level install-hold package that is changing is shown
  * lower-level install-hold packages are shown if they are changing and:
    -- the higher-level one is not
    -- they are not 'incorporate'd by the higher-level

These last two conditions are ORed together, right?  That seems to be the
case in the examples, and is intuitively correct, but I wanted to make
sure.

Yes, I should have made that explicit.

I realised last night that there are still a few scenarios that I don't handle and I'm open to suggestions as to how they should be:

 * what if no incorporations are changing but packages are being
   updated?

 * what about packages that are unincorporated (unbundleds)?

However, I chose install-hold delivering packages on purpose for the update summary as I felt that was the only practical way to provide a meaningful "roll-up" of updates for the end-user. You could argue that the output that shows the overall number of packages being installed/updated/removed is sufficient to account for them.

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

Reply via email to