Just to poke this thread some more, the overwhelming consensus I've seen has been to:

- Stop using keywords for module versions

I'd like to just eliminate the use of keywords entirely, if this is the case. There doesn't seem to be a use for them, other than the misleading use of modinfo to determine a driver version. And it's been sufficiently pointed out in this thread that that is a poor decision given the other better alternatives.

Does anyone see a problem with dropping keywords in their entirety?

If people see the need for versioning beyond what is available via 'mcs -p', mdb's ::showrev, etc. - we could look into embedding something about the build repository & changeset tip into an ELF section somewhere, but this may require modifications to modinfo/what to support that. (We could either create a new section and make wsdiff skip it, or add to .comment).

cheers,
steve

* For those interested, I did write up a Mercurial keywords extension - and it worked, but it brought the time to do a 'hg clone' up from 2m41s to 20m32s. Obviously this is undesirable :)

Stephen Lau wrote:
Sending this to opensolaris-code for additional feedback, thoughts...

Stephen Lau wrote:
We've had contentious discussion on this already [1], but we need to get resolution on this to move forward on the SCM Migration.

Mike Kupfer & Danek noted that the following are currently in use:
%?%      (not an SCCS keyword)
%D%     current date (yy/mm/dd)
%E%     date of newest delta (yy/mm/dd)
%G%     date of newest delta (mm/dd/yy)
%H%     current date (mm/dd/yy)
%I%     SID (%R%.%L%.%B%.%S%)
%L%     level (see %I%)
%M%     module name
%N%     (not an SCCS keyword)
%R%     release (see %I%)
%T%     current time (hh:mm:ss)
%U%     time of newest delta (hh:mm:ss)
%W%     shorthand for %Z%%M%\t%I%
%X%     (not an SCCS keyword)
%Z%     what(1) marker ("@(#)")
%e%     (not an SCCS keyword)
%s%     (not an SCCS keyword)

The options I've seen are:
1) Eliminate the use of keywords entirely
2) Eliminate the #ident %Z% keywords (which is the bulk of the keyword usage in onnv), and port the remaining ones to a new format
3) Port all keywords to a new format

The most contentious issue seems to be the use of %I% in modules such as drivers. (James & Alan: this is why I've cc'd you, since I don't know who else would know people in PTS who might have an opinion). The general consensus from the ON developers I've talked to is that the use of %I% to identify module versions is.... poor. That being said, PTS uses it - for better or for worse. One thought that we had was to replace it with the the Mercurial monotonically-increasing revision number (not the 12 character hex hash). It gives the ever-increasing factor that people may expect, but doesn't identify uniqueness (since the revision number is relative to each repository). However, this is the same behaviour as %I% - so perhaps it's okay.

My personal vote is to:
- Eliminate the #ident %Z% keywords (since the what(1) string is replaced by the build, anyway).
- Replace %I% for module versions with the Hg revision number

Thoughts? Flames?

cheers,
steve

[1] http://www.opensolaris.org/jive/thread.jspa?messageID=39328




--
stephen lau // [EMAIL PROTECTED] | 650.786.0845 | http://whacked.net
opensolaris // solaris kernel development
_______________________________________________
opensolaris-code mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/opensolaris-code

Reply via email to