This question came up on the solarisx86 yahoogroup recently:
What about a patch for a large package, say the video drivers. Might some files patched in an earlier release not have needed further patching and thus have been skipped over by applying the most current release?
So if you apply say rev-03 of a patch are you getting all the fixes from -01 and -02 also?
The answer is yes. All patch revisions are cumulative so the files and fixes from previous revisions will be in the latest revision.
This also holds for accumulated/obsoleted patches. If a patch obsoletes another patch it will then contain all the files that the obsoleted patch contains. Not only that but if there are any scripts that need to be ran the obsoleting patch will have to merge in these scripts.
This was actually the source of a lot of problems for the latest s10 KU patch, 118833-36. It had accumulated so much change from other patches that it was almost impossible to get it to install. Many of the patches that comprised the KU were easy enough (relatively!) to install on their own, but once they all accumulated into the KU it became much harder to get the patch to work. A Quick glance at the readme of KU-36 will give you an idea of the complexity involved. There are good reasons why all these other patches get accumulated into the KU and they most boil down to interdependencies – a zones patch for example will need the KU but changes in the KU will only work if the zones patch is installed also – so if you use zones you need to merge the patches. We are working on ways to ensure that adding a patch like 118833/55-36 will not be so painful for customers in future!
This situation became rather silly in Solaris 8 when we had a situation where almost everything was included in the KU. When your Kernel Update patch starts patching apache you know things are going out of control. At that point we decided to split the KU back up again in a process called rejuvenation.
With rejuvenation the KU is effectively split into smaller patches again, but each requires the previous KU. The new patches have new patchid’s. So you will have to install the latest KU, but subsequent KU’s will have different patchid’s and require that the old KU be running on the system. The catch is that it is not possible to ever uprev the old KU since we would risk overwriting files delivered in the rejuvenated patches.