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