On 01/ 5/11 12:33 AM, Alan Coopersmith wrote:
On 01/ 4/11 03:50 PM, Robert Milkowski wrote:
  Hi,

In older Solaris releases when a sysadmin downloads a patch there is a README
file associated with it which lists bug fixes addressed by this and all previous
releases of the patch. I think that similar information should be provided in
IPS packages. Right now it is more of a black-box approach - there is a new
kernel package (or any other) but I can't really easily tell of what value (if
any) the new version is to me.
For example:

# pkg publisher
PUBLISHER TYPE STATUS URI
solaris (preferred) origin online https://pkg.oracle.com/solaris/support/
# pkg list -avf 'pkg://solaris/system/kernel'
FMRI STATE UFOXI
pkg://solaris/system/ker...@0.5.11,5.11-0.151.0.1.1:20101211T005037Z installed
-----
pkg://solaris/system/ker...@0.5.11,5.11-0.151.0.1:20101105T002924Z known u----
#
So I image-update'ed a server and I can see that new system/kernel package has
been applied. However how can I:

     - easily compare between these two packages on what files have changed?
       I think that something like 'pkg diff fmri_1 fmri_2'which would list what
is different between two packages (files
       changed, new files, deleted files, etc.) would be very helpful.
It's not quite that easy yet, but:

pkg contents -rm system/ker...@0.5.11,5.11-0.151.0.1:20101105T002924Z>  /tmp/old
pkg contents -rm system/ker...@0.5.11,5.11-0.151.0.1.1>  /tmp/new
pkgdiff /tmp/old /tmp/new | less

Yeeeeaah.... that would work of course but is rather not user friendly.
I think a sysadmin needs a clear and easy to parse information on what files will be installed, overwritten, deleted, what smf services disabled, etc. without having to actually install a package.

Unfortunately, due to the way the support repo packages are versioned, to
compare SRU1 vs. 2010.11 original requires using the timestamp, since just
"0.151.0.1" will match the newest package containing that version, which
would be SRU1's 0.151.0.1.1, so you'll need to find the right timestamp for
each package you want to compare against, since they weren't all built at
the exact same time.

It does seem like it would be a useful RFE to pkgdiff to take a fmri argument
to get the contents itself.

I didn't even know about pkgdiff - thanks :)
However it seems to be not that much more than diff -u on manifests.

mi...@r600:~$ pkg list -avf system/kernel
FMRI STATE UFOXI pkg://solaris/system/ker...@0.5.11,5.11-0.151.0.1.1:20101211T005037Z known ----- pkg://solaris/system/ker...@0.5.11,5.11-0.151.0.1:20101105T002924Z installed u---- mi...@r600:~$ pkg contents -mr pkg://solaris/system/ker...@0.5.11,5.11-0.151.0.1:20101105T002924Z >/tmp/a mi...@r600:~$ pkg contents -mr pkg://solaris/system/ker...@0.5.11,5.11-0.151.0.1.1:20101211T005037Z >/tmp/b
mi...@r600:~$ pkgdiff /tmp/a /tmp/b >/tmp/c
mi...@r600:~$ less /tmp/c
[...]
file path=kernel/amd64/genunix elfarch=i386 elfbits=64 group=sys mode=0755 owner=root pkg.size=5392112 reboot-needed=true variant.arch=i386 variant.opensolaris.zone=global
  - dc432d594c0418f64eed2484ed2f9b06d42f8fb1
  + f352d1e2aa8b8bc2d3f2ec27e019c19a7fd4cfa9
  - chash=8ce25ba2da590f8aa61718e3e5ff6cff5f866394
  + chash=44517dc66f5cd1e9d786d0e34e9782312797f8ca
  - elfhash=4efa2408099a84500f9f281502cf7533ddd6ee46
  + elfhash=c41964542c34a38368e1a23d50383422924c4d10
  - pkg.csize=1685029
  + pkg.csize=1685023


Hmmm, so it does tell actually that kernel/amd64/genunix file is different.
It is better than nothing though - thanks :)

I agree, an RFE for pkgdiff so it does accept fmri's makes sense.
I filled: SR 3-2705097731: pkgdiff should accept fmris



     - old Solaris patches provided a list of bug/rfe fixes included in each
release. Right now I applied a new
       system/kernel package and I have really no idea what it introduced. I
think that a new pkg subcommand which
       would provide all included bug fixes + short description addressed in a
given package would be great + an ability
       to see only bug fixed introduced between specific versions, something 
like:

     # pkg info --release-notes
pkg://solaris/system/ker...@0.5.11,5.11-0.151.0.1.1:20101211T005037Z

   * 0.5.11,5.11-0.151.0.1.1:20101211T005037Z
        123457 New VM2.0 subsystem introduced

   * 0.5.11,5.11-0.151.0.1:20101105T002924Z
        123456 ZFS encryption
        123455 ZIL Synchronicity
It's not integrated to the pkg command, but there is a README available for the
support downloads at:
https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doctype=REFERENCE&id=1275533.1


This is a nice one - thank you. How can I easily find it if next version arrives?
I assume SRU1 corresponds to all packages updated in the support repository.
If there will be SRU2 and one would like to upgrade from 2010.11 to SRU1 and not SRU2 - how could it be achieved? I can see that packages in SRU1 have .1 added to their versions but ideally one should be able to do something similar to: pkg image-update sola...@sru1

And eventually pkg readme sola...@sru1
which would download and print the readme file you mentioned.

--
Robert Milkowski
http://milek.blogspot.com


_______________________________________________
pkg-discuss mailing list
pkg-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to