home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / cfgsrt22.zip / CFGSORT.TXT < prev   
Text File  |  1996-10-04  |  17KB  |  440 lines

  1.  
  2.                                CONFIGSORT 2.2
  3.  
  4.                        (C)1996 by Philip A. O'Malley
  5.  
  6.  
  7. 1.1 INTRODUCTION
  8.  
  9.     The backbone of an OS/2  system  is  the config.sys file. Unfortunately,
  10. this file starts out as an organizational mess and continually gets worse as
  11. numerous applications modify it.
  12.  
  13.     Enter ConfigSort. :)
  14.  
  15.     ConfigSort will process  config.sys  and  re-organize  it into something
  16. substantially more functional. System entries  are sorted into sections, and
  17. additional entries can be optionally organized into user-defined sections or
  18. incorporated into the default structure.
  19.  
  20.     The difference is quite astounding, as I'm sure you'll agree.
  21.  
  22.  
  23. 1.2 A NOTE ON VERSION 2.0
  24.  
  25.     Version 1.x of ConfigSort was  a  completely self-contained entity, with
  26. all the application sections hardcoded into  the program. With 2.0, the user
  27. now has the option of creating  their  own application entries or change the
  28. ones provided with the distribution via an external configuration file.
  29.  
  30.     With this increased  power  comes  increased  potential  to  disrupt the
  31. smooth  running  of  your  system.  I   would  strongly  suggest  that  this
  32. documentation is read thoroughly before attempting to modify the application
  33. configuration file or, indeed, using the program at all.
  34.  
  35.     I know from the e-mail support  queries  that  I  had with 1.x that some
  36. people (and a bigger  percentage  than  one  would  think reasonable) simply
  37. didn't bother to read the  accompanying  documentation either before running
  38. the program or afterwards when things didn't work.
  39.  
  40.     On your own head be it if *you* don't!
  41.  
  42.  
  43. 1.3 A NOTE ON OS/2 WARP V4
  44.  
  45.     Well, the day has passed (25th  September)  and  Merlin is upon us. I've
  46. been told that ConfigSort worked  well  with  the  beta,  but  I can make no
  47. guarentee about its reliability with the  shrinkwrap version. I have planned
  48. to create a fully "Merlin-aware" version  of  ConfigSort, but this of course
  49. depends on when I get my own hands on a copy of Merlin. ;)
  50.  
  51.  
  52. 2.1 REQUIREMENTS
  53.  
  54.     ConfigSort is a compiled REXX  program.  As  a consequence you must have
  55. REXX installed, which comes as  standard  in  the OS/2 Warp distribution. In
  56. addition, ConfigSort also uses  the  RXEXTRAS.DLL  library  and this must be
  57. present within the LIBPATH: "/OS2/DLL" is usually a good place.
  58.  
  59.     RXEXTRAS.DLL is included in the ConfigSort distribution.
  60.  
  61.  
  62. 2.2 LICENCE FOR USE
  63.  
  64.     ConfigSort is an original program, copyrighted to the author. It may not
  65. be modified in any shape  or  form.  It  can be freely distributed providing
  66. that no charge is made beyond those  to cover duplication costs and that the
  67. original distribution archive remains unaltered.
  68.  
  69.     ConfigSort is provided "as  is"  and  any  damage,  actual or perceived,
  70. caused by the program is not the  liability  of  the author. Your use of the
  71. program signifies your acceptance of these conditions.
  72.  
  73.     If you have no problems with the above, then onwards... :)
  74.  
  75.  
  76. 3.1 INSTALLATION
  77.  
  78.     1. Create a directory, eg. /CFGSORT, and place the main program files in
  79.        there. These are CFGSORT.EXE, CFGSORT.APP and CFGSORT.CLI.
  80.  
  81.     2. Copy RXEXTRAS.DLL, found in  the  "/DLL"  directory  created when the
  82.        distribution archive was unarchived, to the LIBPATH. If in doubt copy
  83.        it to "/OS2/DLL" on the boot partition.
  84.  
  85.     3. Edit CONFIG.SYS on the boot drive and add the following line:
  86.  
  87.          SET CONFIGSORT=<path to the directory containing the program files>
  88.  
  89.        For example,
  90.  
  91.          SET CONFIGSORT=H:/CFGSORT
  92.  
  93.     4. Reboot the machine.
  94.  
  95.  
  96. 3.2 USAGE AND SYNTAX
  97.  
  98.     ConfigSort is command-line driven. All options are invoked, or prefixed,
  99. by keywords and are:
  100.  
  101.  1. /IN <FQFN>
  102.  
  103.     This specifies the fully-qualified filename of the config.sys file to be
  104.     processed. This is the only required keyword.
  105.  
  106.  2. /OUT <FQFN>
  107.  
  108.     This specifies an output file for ConfigSort to write to.
  109.  
  110.     If this keyword is not specified then the original /IN file is backed-up
  111.     with a .bak extension and then overwritten.
  112.  
  113.  3. /APPCFG <FQFN>
  114.  
  115.     This  specifies   a   fully-qualified   filename   for   the  ConfigSort
  116.     applications configuration file.
  117.  
  118.  4. /NOAPPS
  119.  
  120.     By default, multiple entries made by  an  application are grouped into a
  121.     section at the end of the file. This keyword disables this facility.
  122.  
  123.  5. /NOSORT
  124.  
  125.     By default, all SET statements  are  sorted into descending alphabetical
  126.     order. This keyword disables this facility.
  127.  
  128.  6. /NOUPPER
  129.  
  130.     By default, all lines in the  processed file are turned upper-case, with
  131.     the exception of the information  associated with SET statements.  This
  132.     keyword disables this facility.
  133.  
  134.  
  135. 3.3 EXAMPLES
  136.  
  137.     This section is just intended  to  visualise  the above into something a
  138. little more tangible. Three examples of syntax are shown below:
  139.  
  140.  1. PROCESS "F:\CONFIG.SYS" (AND BACKUP TO F:\CONFIG.BAK)
  141.  
  142.     cfgsort /in f:\config.sys
  143.  
  144.  2. PROCESS "F:\CONFIG.SYS" AND OUTPUT TO "F:\CONFIG.NEW"
  145.  
  146.     cfgsort /in f:\config.sys /out f:\config.new
  147.  
  148.  3. PROCESS "F:\CONFIG.SYS" WITH ALL OPTIONS OFF
  149.  
  150.     cfgsort /in f:\config.sys /noapps /nosort /noupper
  151.  
  152.  
  153. 4.1 EXTERNAL CONFIGURATION FILES
  154.  
  155.     Unlike v1.x, ConfigSort 2.0 and above allows you to optionally configure
  156. how the program behaves upon  execution.  There  are  two files which may be
  157. used for this purpose:
  158.  
  159.  1. CFGSORT.CLI
  160.  
  161.     This file may contain any number  of  command-line options which will be
  162.     executed when the program runs. Thus it is perfectly possible to set the
  163.     file up so that a standard  configuration  is processed and saved, using
  164.     various options, by just invoking the cfgsort.exe program itself.
  165.  
  166.     As a enhancement to it's usefulness, any conflicting command-line option
  167.     specified manually when invoking the  program  will take presidence over
  168.     any similar option detailed in the  file.  Thus, an /IN statement in the
  169.     cfgsort.cli can be overriden by an /IN statement manually specified.
  170.  
  171.     This file  should  reside  in  the  directory  which  the  environmental
  172.     variable CONFIGSORT points to (see 3.1).  There  is no way to specify an
  173.     optional location for this file as it would somewhat negate the point of
  174.     saving typing time. ;)
  175.  
  176.     An example of a CFGSORT.CLI file might be:
  177.  
  178.       /IN F:\CONFIG.SYS
  179.       /NOUPPER
  180.       /NOSORT
  181.  
  182.     The above example would this process a config.sys file which sits in the
  183.     root directory of F:\  and  rename  it  to  config.bak (see 3.2(2)). The
  184.     optional switches /NOUPPER and /NOSORT are active.
  185.  
  186.  2. CFGSORT.APP
  187.  
  188.     This is the configuration file for  the applications sorting. It usually
  189.     resides in the  directory  referenced  by  the  CONFIGSORT environmental
  190.     variable (see 3.1), but can  be  optionally  specified using the /APPCFG
  191.     keyword (see 3.2(3)) on the command-line.   It is obviously necessary if
  192.     applications sorting is active,  ie.  when  the  /NOAPPS  keyword is not
  193.     specified on the command-line.
  194.  
  195.     Each application section is begun with  a "SECTION" keyword, followed by
  196.     a *single* word identifying the application.
  197.  
  198.       eg. SECTION EXT2
  199.  
  200.     A section is not terminated  by  a  specific keyword, but if effectively
  201.     ended when a new "SECTION" keyword is specified.
  202.  
  203.     The "SECTION" keyword is followed, on  a separate line, by four optional
  204.     prefix keywords, "DESC", "SET",  "FILE" and "PATH":
  205.  
  206.       1. DESC
  207.  
  208.          This  keyword  allows  you  to   specify   an  identifier  for  the
  209.          application section to be used in the processed config.sys. If this
  210.          is not specified then ConfigSort  will use the identifier specified
  211.          with the "SECTION" keyword.
  212.  
  213.            eg. DESC EXT2FS LINUX FILE-SYSTEM
  214.  
  215.       2. SET
  216.  
  217.          This keyword allows you  to  specify  which  SET  statements in the
  218.          config.sys file  will  be  grouped  into  the  current  application
  219.          section. Multiple statements  may  be  included  on  the same line,
  220.          provided that they  are  separated  by  a  space,  or  multiple SET
  221.          keywords may be used for each individual entry.
  222.  
  223.            eg. SET ETC TEMP LANG
  224.  
  225.                or
  226.  
  227.            eg. SET ETC
  228.                SET TEMP
  229.                SET LANG
  230.  
  231.          Notice that SET statements which contain  spaces can be included by
  232.          substituting an exclamation-mark for the spaces:
  233.  
  234.            eg. SET OS2MEMU COLORS would be SET OS2MEMU!COLORS
  235.  
  236.       3. FILE
  237.  
  238.          This keyword allows you to  specify  which  files in the config.sys
  239.          should be grouped into the current application section. Notice that
  240.          only the filename is valid, not  its  full path. Again, as with the
  241.          "SET" keyword, multiple files may be  specified on the same line or
  242.          multiple keywords may be used.
  243.  
  244.            eg. FILE EXT2-OS2.IFS EXT2FLT.FLT EXT2_LW.EXE
  245.  
  246.                or
  247.  
  248.            eg. FILE EXT2-OS2.IFS
  249.                FILE EXT2FLT.FLT
  250.                FILE EXT2_LW.EXE
  251.  
  252.       4. PATH
  253.  
  254.          This keyword allows you  to  specify  which  files  in a *specific*
  255.          directory should be grouped  in  an  application section. This does
  256.          not include any subdirectories.
  257.  
  258.            eg. PATH F:\MPTN\PROTOCOL
  259.  
  260.          Normally this keyword should *not*  be  used. It is incredibly non-
  261.          specific and has the  potential  to  completely wreck the processed
  262.          config.sys if used improperly.
  263.  
  264.  
  265. 4.2 KNOWN APPLICATIONS
  266.  
  267.     The included CFGSORT.APP file  contains  information  about the following
  268. applications:
  269.  
  270.       1.  ConfigSort. :)
  271.       2.  EXT2FS
  272.       3.  GAMEDD Joystick Drivers
  273.       4.  IBM DualStor.
  274.       5.  IBM EWS OS20MEMU
  275.       6.  IBM MPTS (basic support).
  276.       7.  IBM TCP/IP v2.0 (Bonuspak IAK).
  277.       8.  IBM TCP/IP v3.0 (Warp Connect).
  278.       9.  IBM WebExplorer 1.1d
  279.       10. IRCII/OS2
  280.       11. PMView
  281.       12. SIO Serial drivers.
  282.       13. SUBST/2
  283.       14. VisualAge C++
  284.  
  285.  
  286.       NB. 6. The knowlage of  Multi-Protocol  Transport  Services,  found in
  287.              Warp Connect,  is  basic  at  best.  It  comprises  the dial-up
  288.              support drivers for TCP/IP  3.0.  As  I  don't  run a LAN based
  289.              system, I can't include support  for  this  area  of MPTS and I
  290.              would strongly suggest that a  backup  of  the original file is
  291.              made if you  use  the  advanced  networking  facilities of Warp
  292.              Connect.
  293.  
  294.      If you create any application  sections  of  your  own then please send
  295. them to me so I can include them with any future releases of ConfigSort.
  296.  
  297.  
  298. 5.1 VERSION HISTORY
  299.  
  300.     2.2  04/10/96
  301.  
  302.          # Re-organised the CFGSORT.APP file.
  303.  
  304.          + Added NETBIND.EXE to the DIAL-UP NETWORKING section.
  305.  
  306.     2.2b 18/09/96 (Private beta-release)
  307.  
  308.          + Added in-built support for OS/2  Netware Requester. This ties the
  309.            NWREQ.SYS and NWIFS.IFS lines  together  in  the correct order so
  310.            that the damn thing will  work  after  processing. Many thanks to
  311.            Doug Glenn for getting to the bottom of this.
  312.  
  313.          # Changed the order of the IFS and BASEDEV entries in the processed
  314.            config.sys file. This now more  accurately  reflects the order in
  315.            which OS/2 gets its mits on those files.
  316.  
  317.     2.1  15/09/96
  318.  
  319.          # Fixed a bug  which  caused  ConfigSort  to  incorrectly process a
  320.            filename which had a  fully-qualified  path  as  a parameter when
  321.            parsing an application section.
  322.  
  323.          + Added, erm, quite a few hard-coded OS/2 system commands (the more
  324.            obscure ones) which I had promised  to  put into release v2.0 but
  325.            had overlooked. Sorry! :(
  326.  
  327.          + Added some more application  sections into CFGSORT.APP. Thanks to
  328.            Harald Leinders and Alfred  Vink  for  the additions of VisualAge
  329.            C++ and the GAMEDD joystick driver sections respectfully.
  330.  
  331.          # Corrected some errors in the manual.
  332.  
  333.     2.0  08/09/96
  334.  
  335.          + Major revision  of  the  application  engine.  Added the external
  336.            configuration file CFGSORT.APP which  takes over the hard-encoded
  337.            functions found in previous  versions  and allows user-control on
  338.            which application entries are processed.
  339.  
  340.          + Added the optional CFGSORT.CLI file  so that the program could be
  341.            setup with some defaults and save typing time.
  342.  
  343.          # Fixed a bug which caused  the  program to terminate with an error
  344.            message when  processing  a  particular  user-error  (joining two
  345.            unrelated lines together  which  managed  to  satisfy  some basic
  346.            error checking) was encountered.
  347.  
  348.          # Source code generally rewritten to adopt a more modular approach.
  349.  
  350.     1.3  23/06/96
  351.  
  352.          # Fixed all the internal gremlins with mixed-case.
  353.  
  354.          + Added case-support for  SET  variables.  Now  ConfigSort will NOT
  355.            alter the case of any information assigned to a variable with the
  356.            SET command. This was a much requested revision.
  357.  
  358.          # Fixed a problem when  parsing filenames without a fully-qualified
  359.            path. These  are  typically  BASEDEV  entries.  Previously, these
  360.            entries would not get sorted into an application section.
  361.  
  362.          # Fixed the SET statement parsing.  Previously if there was a space
  363.            before or after the '=' sign  the  entry wouldn't get sorted into
  364.            the correct section.
  365.  
  366.          + Added application support for PMVIEW, EXT2FS and OS20MEMU.
  367.  
  368.          + Modified applications support for MPTS and TCP/IP v3.0 to include
  369.            the new entries made by  the  IBM  ServicePaks. I've also removed
  370.            some SET variables and placed them in an IBM related section.
  371.  
  372.     1.21 19/05/96 (Unreleased)
  373.  
  374.          # Fixed a case-sensitivity problem with the /IN command.
  375.  
  376.     1.2  14/05/96
  377.  
  378.          + Added the /NOUPPER option. Previously ConfigSort changed the case
  379.            of the config.sys to uppercase  without option, which could cause
  380.            problems with ANSI sequences for command prompts, etc.
  381.  
  382.          + Added support for the  IBM  WebExplorer  1.1b SET statements into
  383.            the network sections.
  384.  
  385.     1.11 28/04/96
  386.  
  387.          = Added IFCONFIG.EXE to the  TCP/IP  applications sorting. This was
  388.            an oversight and caused problems for some people.
  389.  
  390.     1.1  16/04/96
  391.  
  392.          - Removed the /SORT option. Previously it shuffled REM'd entries to
  393.            the bottom of a configuration  section,  but as some drivers have
  394.            to be loaded in a correct  order,  for example the sound drivers,
  395.            unREMing those lines later caused  problems  if the correct order
  396.            couldn't be remembered. Thus,  I  decided  that  it could be more
  397.            trouble than it was worth, so it's now gone...
  398.  
  399.          + SET statements are now sorted into descending alphabetical order.
  400.  
  401.          + Added the /NOSORT  option.  This  stops  all  SET statements from
  402.            being sorted.
  403.  
  404.          - An oversight in the  docs  saying  that  the RXEXTRAS.DLL came as
  405.            part of the  OS/2  distribution.  Apologies  to  those  who, as a
  406.            result, couldn't get the program to actually run. :(
  407.  
  408.          - A bug was introduced into 1.0 at the last moment due to brainfade
  409.            on my part and no subsequent testing. Basically ConfigSort didn't
  410.            strip out it's own REM statements which caused them to accumulate
  411.            when a saved file was reprocessed. Minor but annoying.
  412.  
  413.     1.0  05/04/96
  414.  
  415.            First public release.
  416.  
  417.  
  418. 6.1 AFTERWORD
  419.  
  420.     ConfigSort was written as nothing  else satisfied my requirements. Since
  421. the initial release I've had quite a bit of very positive feedback about the
  422. program. I would like to thank all  those  people who reported bugs and gave
  423. me ideas for for future releases.
  424.  
  425.     I would especially like to thank Gary  Hammer for putting the program on
  426. his WWW site (www.os2.musthave.com/os2) as the program really seemed to take
  427. off after that, and for testing the pre-release 2.0.
  428.  
  429.  
  430. 6.2 CONTACTS
  431.  
  432.     Any suggestions or comments about ConfigSort  would be very welcome. I'm
  433. available for a chat at the following addresses:
  434.  
  435.     internet : phil.omalley@zetnet.co.uk
  436.     fidonet  : "Phil O'Malley" at 2:250/107.96
  437.  
  438. Phil O'Malley, October 4th 1996.
  439. 
  440.