Gavin Maltby wrote: > Other than the brief description in pkg(5), does there exist > a specification of the pkg FMRI as used in IPS?
Oddly enough, not that I can find. There's some documentation in doc/pkgs-and-groups.txt, but that's substantially similar to what's in pkg(5). > Member Data type Description > --------------- --------------- ------------------------------ > scheme string "pkg" > version uint8 0 for version 0 > authority authority Authority information (see ...) > pkg-basedir string Base install directory of package. > pkg-inst string Base install directory of package. > pkg-version string Base install directory of package. > > For IPS packages I'd like to capture a definition for "pkg" > version 1 along the lines of the above, to include: > > pkg://opensolaris.org/library/[email protected],5.11-0.75:20071001T163427Z > > - member names and data types; these, of course, aren't > necessarily rendered in the string form of a package > but we use them when we represent an FMRI as say an nvlist_t scheme string Always "pkg" authority string Authority information pkg-name string Actual name (stem) of the package pkg-version version Version of the package Where a version type consists of release dotsequence Primary version of the component built-on dotsequence Version of OS on which component was built branch dotsequence Branch version timestamp iso8601-date YYYYMMDDTHHMMSSZ and dotsequence is an arbitrary-length, dot-separated series of non-zero-leading decimal digits. > - which are required/optional pkg-name is the only one that is strictly required. Currently, the authority cannot be provided without the scheme, though I'd like to see that change. If the version is provided, then the release is the only required component; the rest are independently optional. Note that the package name can be left-truncated on slashes as long as unambiguity is maintained (or ambiguity is tolerated) and all dotsequences can be right-truncated as desired. Timestamps, however, must be complete. > - what authority information can ever appear; just publisher > string? Not sure what you mean here. The publisher prefix is the only valid thing here, and must be in [A-Za-z.], though there may be a few more characters allowed. > - should the version string be represented simply as a full > string "5.11,5.11-0.75:20071001T163427Z" (are all the elements > always present?) or should we break out into subcomponents > branch/version/timestamp etc? I think that's answered above. > - rule for rendering a versioni 1 pkg fmri in string form > given a name-type-value list Do you want the full BNF? Roughly, though: [scheme:/[/authority]]pkg-na...@release[,built-on][-branch][:timestamp]] Let me know if you need more. Danek _______________________________________________ pkg-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
