Re: [pca] confirming the validiting of a home grown patch_order file

2012-01-31 Thread Martin Paul

 - populating the xref
 - Assume only one rev (the last used in dependencies) is present per
   patch
 - Removing any obsolete flag and "Obsoleted by:" text inside the
   synopsis.

Correct?


Yup, think so.


I can also do it this way... I got all the info I need, I can even
imagine to allow the user to choose which method is the best for him


Yes, at the end having an option would probably be best.


Like if you would apply the 10 Recommended patch cluster without
downloading every single patch which is in it. You simply could
generate xref from the list of patches it contains and then run pca
against this xref... wouldn't that be a wonderful world ?


The basic design of Sun's patching design using patchdiag.xref really isn't (or 
wasn't) all that bad. Besides just having one current master xref file, one can 
put it to good use which such custom xref files; Sun, with the access to all the 
patch metadata could've done wonderful things. Alone the fact that one can use a 
"frozen" copy of an xref file to put a certain patching milestone on any given 
machine even months later is a great thing, used by many. It's just sad that all 
this has an expiration date on it since Solaris 11 and IPS appeared.


Martin.



Re: [pca] confirming the validiting of a home grown patch_order file

2012-01-31 Thread Martin Paul

Thomas,


So, from that point, I think that I can forget to remove patches being
obsoleted by other PATCH_IDS (like if 11 was obsoleted by 22,
we don't cause trouble by including both inside patchdiag.xref, right ?
as PCA only got trouble when two patches with the same revision are
present).


Maybe you could just add required patches recursively in a first step, and then 
go over the file again and only keep one line per patch-ID - the one with the 
highest revision number. I think that should be fine for PCA, as it's the same 
style as used by the official patchdiag.xref.



On another side, couldn't we add an option to PCA to allow obsoleted
patches to be used ?


I'd prefer not to do that :) It's hardly foreseeable whether this could cause 
problems in some obscure situations. With that change, PCA would accept that the 
xref file in itself doesn't have to be consistent, and not even I know the code 
good enough to anticipate what's gonna happen ..


I think there's another viable solution: One could assume the only thing that 
happens when patch 11-01 is obsoleted by 22-02 is that its "O" flag is 
set and the synopsis is prefixed with "Obsoleted by: 22-02 ". So it should 
cause no harm if you simply remove these two things in the generated xref file. 
It seems to be a right thing to do - at the time when a patch required 11-01 
for the first time, this of course wasn't obsolete yet.


Again one could also argue that the most correct thing to do would be to follow 
the requirements/obsoletion chain until reaching a non-obsolete patch and to 
include that one (plus all the redirections, for PCA to know), even if this 
pulls in new dependencies. But then especially people with hand-tuned patch 
lists won't like that. *sigh* :)


Martin.



Re: [pca] confirming the validiting of a home grown patch_order file

2012-01-31 Thread Thomas Gouverneur
Martin,

Thanks for your input!
I can understand the fact that 123839-01 is superseeded by 126897-02,
and so it got removed from the generated xref when 126897 has been
added. Causing PCA to have trouble resolving deps, as the patch
125503 is only mentionning 123839.

So, from that point, I think that I can forget to remove patches being
obsoleted by other PATCH_IDS (like if 11 was obsoleted by 22,
we don't cause trouble by including both inside patchdiag.xref, right ?
as PCA only got trouble when two patches with the same revision are
present).

This will increase again a little bit the size of the patchdiag.xref,
but will help PCA to find everything it needs.

On another side, couldn't we add an option to PCA to allow obsoleted
patches to be used ? I mean, a lot of patches from the 10 Recommended
patch cluster are already obsoleted, so it's not a problem having
obsoleted patches being used if they are the only alternative present
inside the patchdiag.xref, itsn't it ?

Giving the patchdiag.xref informations that _were_ present while this
patch was active inside the xref would be possible, though it require
again me storing more information inside the database, which already
weight more than 8Gb of datas :) So it's the last option for me ;)


Regards,

Thomas



On Tue, 31 Jan 2012 11:13:24 +0100
Martin Paul  wrote:

> Thomas Gouverneur wrote:
> >>125369|05|Jan/01/70| | | |  
> >>125547|01|Jan/01/70| | | |  
> > 
> > For theses one I don't know again how to threat them... They are
> > referenced as dependencies over some other patch but looks
> > unresolvable (maybe they are internal release of theses
> > patches). The first release that I can see downloaded for
> > 125369 is the -10.. How to handle that while generating the
> > patchdiag.xref ?
> 
> I think that if a certain revision of patch is referenced in the
> official xref file, this very revision has existed at some time. If
> you don't have information about such a revision, I guess you can
> only use the next more recent one that does exist.
> 
> Looking at PCA's debug output with the sample patchdiag.xref, I see
> two more problems:
> 
>119574|02|Jun/15/05| | |O| 
> |10|sparc;|SUNWcsu:11.10.0,REV=2005.01.21.15.53;|Obsoleted by:
> 140860-01 SunOS 5.10: su patch
> 
> The patch is obsoleted by 140860-01, which is not included in the
> xref. Basically, it would be enough to have 119574-02 to fulfill the
> dependency, but PCA won't use obsoleted patches, but follow the
> obsoletion chain until it finds a non-obsolete patch. So you could
> include 140860-01 in the xref file, but a better solution might be to
> include the information about 119574-02 from the time when it was not
> obsoleted yet. The more obsoletions one follows, the more
> dependencies will be pulled in. That's a rather basic question: Is it
> better to install only the minimum required revisions or should one
> try to get the most recent patches to fulfill dependencies?
> 
> Then there's a problem with  . It's required by 125503, but
> it's not included. Now when looking at the official xref file, one
> can see that it has been obsoleted by 126897-02, which *is* included
> in your xref. So actually the dependencies are fulfilled, but PCA
> can't know about that, because it only sees what's included in the
> short xref. I guess one will have to include that information in the
> generated xref as well.
> 
> I appreciate your work, but I'm somehow starting to doubt that this
> is really possible to generate a consistent xref file for any given
> set of patches (in a reasonable amount of time) ..
> 
> Martin.
> 


-- 
Thomas Gouverneur
 _   _  
| |___ _ __ (_)_  __
|  _| / __| '_ \| \ \/ /
| |___\__ \ |_) | |>  < 
|_|___/ .__/|_/_/\_\
 Network  |_|   SPRL
   TVA: BE683601811

T: +32 498 23 00 40
W: http://espix.net
M: 



Re: [pca] confirming the validiting of a home grown patch_order file

2012-01-31 Thread Martin Paul

Thomas Gouverneur wrote:

   125369|05|Jan/01/70| | | |  
   125547|01|Jan/01/70| | | |  


For theses one I don't know again how to threat them... They are
referenced as dependencies over some other patch but looks unresolvable
(maybe they are internal release of theses patches). The first
release that I can see downloaded for 125369 is the -10.. How to handle
that while generating the patchdiag.xref ?


I think that if a certain revision of patch is referenced in the official xref 
file, this very revision has existed at some time. If you don't have information 
about such a revision, I guess you can only use the next more recent one that 
does exist.


Looking at PCA's debug output with the sample patchdiag.xref, I see two more 
problems:


  119574|02|Jun/15/05| | |O| 
|10|sparc;|SUNWcsu:11.10.0,REV=2005.01.21.15.53;|Obsoleted by: 140860-01 SunOS 
5.10: su patch


The patch is obsoleted by 140860-01, which is not included in the xref. 
Basically, it would be enough to have 119574-02 to fulfill the dependency, but 
PCA won't use obsoleted patches, but follow the obsoletion chain until it finds 
a non-obsolete patch. So you could include 140860-01 in the xref file, but a 
better solution might be to include the information about 119574-02 from the 
time when it was not obsoleted yet. The more obsoletions one follows, the more 
dependencies will be pulled in. That's a rather basic question: Is it better to 
install only the minimum required revisions or should one try to get the most 
recent patches to fulfill dependencies?


Then there's a problem with 123839-01. It's required by 125503, but it's not 
included. Now when looking at the official xref file, one can see that it has 
been obsoleted by 126897-02, which *is* included in your xref. So actually the 
dependencies are fulfilled, but PCA can't know about that, because it only sees 
what's included in the short xref. I guess one will have to include that 
information in the generated xref as well.


I appreciate your work, but I'm somehow starting to doubt that this is really 
possible to generate a consistent xref file for any given set of patches (in a 
reasonable amount of time) ..


Martin.