home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / std_unix / volume.15 / text0030.txt < prev    next >
Encoding:
Text File  |  1989-01-17  |  9.8 KB  |  225 lines

  1. [ These Standards Updates are published after each IEEE 1003
  2. meeting, and are commissioned by the USENIX Association.
  3. See Part 1 for contact information.  -mod ]
  4.  
  5.  
  6.       An update on UNIX|= Standards Activities - Part 5
  7.  
  8.                     POSIX 1003.2 Update
  9.  
  10.                      November 18, 1988
  11.  
  12.            Shane P. McCarron, NAPS International
  13.  
  14. 1003.2 - Shell and Tools Interface
  15.  
  16. This working group never ceases to impress me.  In September
  17. the group was given about three weeks to go over draft 7 of
  18. the standard and review it as if it were a formal ballot.
  19. This means that problems discovered in the draft must be
  20. reported to the committee using the formal POSIX balloting
  21. format, within the specified time limits, in order to be
  22. considered.  A surprising number of people were able to work
  23. very hard and come up with about 1500 objections to the 600
  24. page document.
  25.  
  26. Okay, so a lot of people, given 3 weeks, can really find a
  27. lot of problems with a somewhat immature document.  Maybe
  28. not terribly impressive.  Then a group of 40 people meet in
  29. Hawaii, not a place known to be conducive to work, and
  30. manage to review every single objection and resolve them!
  31. This is truly amazing, and I think everyone at that meeting
  32. (including myself) deserves a medal.  Moreover, I would like
  33. to take this opportunity to publicly eat the words I wrote
  34. last quarter.  They may just pull it off!  The draft that
  35. goes out for balloting in the formal IEEE process is
  36. certainly in much better shape than the 1003.1 document was
  37. when it first went out.  Also, P1003 learned a lot from the
  38. .1 ballot, and that knowledge should help make the balloting
  39. of .2 smoother.
  40.  
  41. Reaching back a bit for a transition, there were 1500
  42. objections.  That is really quite a few, but its not as bad
  43. as it sounds (unless you had to carry them around for a
  44. week).  It is true that many changes were made to the
  45. standard, and I couldn't tell you what most of them were.
  46. What I can tell you is that they were primarily
  47. inconsequential.  Some objections requested changes in
  48. functionality or interface, pointing out existing or new
  49. practice that should be standardized.  But all of the rest
  50.  
  51. __________
  52.  
  53.   |= UNIX is a registered trademark of AT&T in the U.S. and
  54.     other countries.
  55.  
  56.  
  57.                            - 2 -
  58.  
  59. can be broken down to spelling or grammatical corrections,
  60. requests for clarification, or questions about the necessity
  61. of specifications or lack of same.  Some specific changes of
  62. interest were:
  63.  
  64.    o+ Based on a decision from the previous meeting and
  65.      several balloting objections, the fgrep and egrep
  66.      commands have been removed from the standard, and the
  67.      functionality that they provide is being encompassed in
  68.      the definition of grep.  This new grep will have
  69.      options -E and -F which will give it the exact
  70.      functionality of egrep or fgrep, respectively.
  71.  
  72.    o+ The draft has a command in it called colldef.  Colldef
  73.      allows the portable definition of collating sequences,
  74.      which can then be used by utilities that do string
  75.      comparisons with the C Standard function strcoll.  The
  76.      theory goes that an implementation will provide
  77.      applications with a means for creating collation
  78.      sequence definitions (colldef), and then also allow the
  79.      application to specify which collation sequence to use
  80.      when calling utilities like sort (through the
  81.      environment variable LC_COLLATE).
  82.  
  83.      It all sounds pretty good, but the definition of
  84.      colldef was so incomplete and confusing that some
  85.      balloters suggested it be removed from the standard
  86.      altogether.  The definition of this utility now
  87.      provides for a lot of additional functionality, and is
  88.      much clearer than it used to be. While this part of the
  89.      standard is not talked about much, I believe that it is
  90.      probably the most important part.  The international
  91.      aspects of POSIX are sort of obscure, but they will
  92.      allow for more portable applications, and also allow
  93.      for some previously unheard of uses for utilities like
  94.      sort.
  95.  
  96.    o+ A closely related utility, xform, was placed in the
  97.      standard to allow for the transformation of strings by
  98.      a shell script just as can be done using the strxfrm
  99.      function in Standard C.  After much discussion in the
  100.      small group, this command was removed from the draft.
  101.      While there was some dissenting opinion, the majority
  102.      thought that this would have very limited usefulness to
  103.      a portable shell application.  As I was the dissenter,
  104.      I can say that I wanted it in because there is no other
  105.      way to portably compare strings in the shell from an
  106.      international perspective.  If a user enters something
  107.      and then later you want them to enter it again, you
  108.      cannot portably compare those strings without the xform
  109.      utility.  Alas, you win some...
  110.  
  111.  
  112.                            - 3 -
  113.  
  114.    o+ An interesting development was the decision that the C
  115.      language functions in the standard be moved into a
  116.      chapter for C Language interfaces, and that their
  117.      original position in the document be reserved for the
  118.      language independent descriptions of some of the
  119.      functions.  In the end it may be that some of the
  120.      functions are really not ones that need to exist in
  121.      other languages, and as such should not be in the
  122.      language independent section.  This event is
  123.      interesting because it shows the intent of this working
  124.      group, and indeed all of the POSIX working groups, to
  125.      describe their standards in a language independent
  126.      manner.  This was a requirement of the international
  127.      community, and I am glad to see that it is being
  128.      carried out.
  129.  
  130.    o+ In what I consider a victory for the users of the
  131.      world, the UUCP style commands in the standard have
  132.      been moved out of the document and into an appendix.
  133.      These commands, uuxqt and uuname, have been in the
  134.      standard for about a year, but no one could really
  135.      figure out why.  As described there was no underlying
  136.      transport mechanism or protocol defined, so they could
  137.      not possibly have been reliable in any event.  They
  138.      were placed in the standard as a spear; something that
  139.      you could throw out and have no idea if it worked or
  140.      not.  The working group has now realized that this is
  141.      not really a service to the application developer, and
  142.      has moved the commands (and concepts) into an appendix.
  143.      Depending on the feeling of the balloting group, these
  144.      commands will either be fleshed out into a full
  145.      definition of the UUCP "networking" system, or removed
  146.      from the standard altogether.  It may be that these
  147.      concepts will fit into the P1003.8 standard on
  148.      networking, but I doubt it.  While it is probably the
  149.      most widely used form of electronic networking on UNIX
  150.      systems, it is not really something that should be
  151.      carried into the future.
  152.  
  153.    o+ While the UUCP commands are gone, the message sending
  154.      command sendto is still in the standard.  This command
  155.      allows an application to send text to an address with
  156.      an implementation defined format to be deposited in an
  157.      implementation defined location and delivered in an
  158.      implementation defined manner.  No kidding.  That's
  159.      what it says.  It also used to say sendto -r would try
  160.      to read from your personal implementation defined
  161.      storage location, but that it might not do anything.
  162.      Fortunately, the working group couldn't figure out a
  163.      single reason why a portable application would want to
  164.      read mail.  While this is usually not enough cause to
  165.  
  166.  
  167.                            - 4 -
  168.  
  169.      remove something from a standard, when coupled with the
  170.      danger that it might not do anything if executed, the
  171.      evidence seemed to lean toward removal.  This option
  172.      has been axed.
  173.  
  174.    o+ There is now a section of the standard on application
  175.      installation.  Actually, there has always been a
  176.      section for that, but until now it has been full of
  177.      stuff that wasn't really worth reading.  The new
  178.      definition is a little bit complex, but it seems to be
  179.      fine.  It allows for an application, on installation,
  180.      to determine what system resources are available, and
  181.      to then sort of dynamically inform itself about them.
  182.      There is also a system resource database, and all sorts
  183.      of other neat stuff.  I don't have a handle on all of
  184.      it yet, so stay tuned.  If I decide I hate it, I will
  185.      be sure to let you know.
  186.  
  187. There were all sorts of other changes made to the draft, but
  188. they are primarily editorial, and are of course all subject
  189. to review by the balloting group.
  190.  
  191. The schedule for balloting goes something like this:
  192. Assuming the document gets to the balloting group in mid-
  193. january, the period will close in mid-february.  Then all of
  194. the received objections will have to be resolved or
  195. commented on, and it will be recirculated.  This may happen
  196. several times before the document is finalized.  Since each
  197. recirculation/resolution period takes 3 to 4 months, it
  198. could be early 1990 before we see a ratified standard.
  199.  
  200. In the mean time, since the working group doesn't have
  201. anything to do with a standard while it is going through
  202. balloting, work will progress on the new User Portability
  203. Extensions supplement.  The idea here is that a supplement
  204. to 1003.2 will be released soon after the initial standard.
  205. This supplement will describe the traditional UNIX utilities
  206. that have user interfaces (e.g. vi).  Note that the
  207. utilities to be described are the traditional ones, and have
  208. nothing to do with windowing/mouse interfaces.  Work on that
  209. topic is progressing in other areas.
  210.  
  211. I am the Watchdog committee contact for 1003.2:
  212.  
  213.           Shane P. McCarron
  214.           NAPS International
  215.           117 Mackubin St.
  216.           Suite 6
  217.           St. Paul, MN  55102
  218.           +1 (612) 224-9239
  219.           ahby@bungia.mn.org
  220.           uunet!bungia.mn.org!ahby
  221.  
  222.  
  223. Volume-Number: Volume 15, Number 41
  224.  
  225.