What I know about the
patchdiag.xrefformatThe
patchdiag.xreffile is the patch index file used by various tools, Sun and otherwise, such as the marvelous pca. Here's what I've worked out about its format, much of which comes from reading pca's source code.Any line starting with a '
#' is a comment. In practice, they seem to come only at the start of the file and start with '##', but I wouldn't count on that.Each patch is one line, with fields separated by '
|', and appears to be ordered by increasing patch number, although I wouldn't count on that. The fields are, in order:
idpatch ID, usually a six-digit number revthe patch's revision, usually a two-digit number datethe issue date of the patch, as Mon/DD/YY. rflag' R' if the patch is a recommended patchsflag' S' if the patch is a security patchoflag' O' if the patch is obsoletebyflagThe first character is ' Y' if this is a Y2K patch. The second character is 'B' if this is a bad patch.osapplicable operating system version, or ' Unbundled' for just stuff.archsthe machine architectures that the patch is for, plus prerequisite patches. pkgsthe packages that this patch affects/requires, plus incompatible patches. synopsisHuman readable (hopefully) patch synopsis. The
osfield also sometimes bundles the architecture in, so you will see things like an OS of '8_x86' for Solaris 8 on x86, versus just '8' for Solaris 8 SPARC.The
archsandpkgsfields contains subvalues; each subvalue ends with a ';', even if it is the last (or the only) subvalue in the field. (This helpfully mucks up pretty much any language's 'split' function; you get to split and then throw away the last element.)Any prerequisite patches are encoded in the
archsfield, asid-revvalues. Incompatible patches are slapped into thepkgsfield in the same format.If a patch has been obsoleted by something, its
synopsissays so. There are a number of slightly varied formats that this information can be in.The subvalues in the
pkgsfield (apart from incompatible patches) are in the format 'PKG:REV', with REV in the same form that 'pkginfo -x' produces it (more or less, it looks like).The subvalues in the
archsfield (apart from prerequisite patches) may be an architecture name ('sparc' or 'i386'), 'all', or '<arch>.<model>' such as 'sparc.sun4u'. Pca's matching code accepts a patch if any of the subvalues match, and you'll frequently see 'redundant'archsvalues like 'sparc;sparc.sun4u;'.