home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / nosaa107.zip / nosaadm.inf (.txt) < prev    next >
OS/2 Help File  |  1999-11-11  |  114KB  |  1,936 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. OS/2 Netlabs Open Source Archive Administrator ΓòÉΓòÉΓòÉ
  3.  
  4. in association with 
  5. present the 
  6. OS/2 Netlabs Open Source Archive Administrator 
  7.  
  8. Select one of the following topics: 
  9.  
  10.      What is it all about ? 
  11.      Prerequisites 
  12.      Copyright & Co. 
  13.      Installation 
  14.      Usage 
  15.      How can I ... ? 
  16.      Limitations 
  17.      Revision history 
  18.      Trademarks 
  19.      Credits 
  20.  
  21.  
  22. ΓòÉΓòÉΓòÉ 1.1. What is it all about ? ΓòÉΓòÉΓòÉ
  23.  
  24. Select one of the following topics: 
  25.  
  26.      Overview 
  27.      Concurrent Versions System (CVS) 
  28.      Info-Zip 
  29.      EMX Runtime 
  30.  
  31.  
  32. ΓòÉΓòÉΓòÉ 1.1.1. Overview ΓòÉΓòÉΓòÉ
  33.  
  34. OS/2 Netlabs Open Source Archive Administrator 
  35.  
  36. Are you an OS/2 developer, who uses the OS/2 Open Source Archive Client to 
  37. access the OS/2 Netlabs Open Source Archive ? Do you want to know, how OS/2 
  38. Netlabs sets up a new archvie from a zip archive file with a handful of 
  39. commands in minutes ? Do you want to host an own software archive ? Have you 
  40. ever wondered how one could secure such archive even without filesystem 
  41. security on an OS/2 client ? 
  42.  
  43. Then use the software, that is used by OS/2 Netlabs to setup the archvies for 
  44. several OS/2 internet projects, namely the OS/2 Netlabs Open Source Archive 
  45. Administrator. It supports the OS/2 Netlabs administrator in: 
  46.  
  47.      creating a new archive 
  48.      importing existing sources out of a zip file 
  49.      adding keyword lines to all source files 
  50.      securing the new archive by protecting it from unwanted write access down 
  51.       to directory level 
  52.      setting up the TCP/IP configuration and especially the CVS services 
  53.      creating backups 
  54.      creating snapshots of the archive 
  55.      creating a changelog of the changes being committed to the archive 
  56.  
  57.  Want more ? Well, just read this online book... 
  58.  
  59.  
  60. ΓòÉΓòÉΓòÉ 1.1.2. Concurrent Versions System (CVS) ΓòÉΓòÉΓòÉ
  61.  
  62. See the following links in order to learn more about the Concurrent Versions 
  63. System (CVS): 
  64.  
  65.      Cyclic Software, the home of CVS 
  66.      CVS Bubbles with links to documentation 
  67.  
  68.  You can download CVS for OS/2 from: 
  69.  
  70.      The Hobbes OS/2 Archive 
  71.  
  72.  or search the nearest FTP server near you via 
  73.  
  74.      FTP Search 
  75.  
  76.  Note: 
  77.  
  78.      CVS requires the EMX Runtime. 
  79.  
  80.       See also 
  81.         -  How can I solve the 'Too many open files' problem ? 
  82.  
  83.  
  84. ΓòÉΓòÉΓòÉ 1.1.3. Info-Zip ΓòÉΓòÉΓòÉ
  85.  
  86. The OS/2 Netlabs Open Source Archive Administrator uses the Zip and UnZip 
  87. program of Info-Zip. 
  88.  
  89. Note: 
  90.  
  91.      The source of Info-Zip is freely available. On the Info-Zip homepage 
  92.       follow the links to the source on the download pages. 
  93.  
  94.      The filename scheme for the executable packages and source packages 
  95.       differ a littlebit from UnZip to Zip unzip. This is a littlebit 
  96.       confusing, so the scheme is listed here for the curreint versions Zip 
  97.       V2.20 and UnZip V5.40 as an example: 
  98.  
  99.  
  100.            zip22x1.zip    Zip 2.2, OS/2 16-bit exes (no encryption) 
  101.            zip22x2.zip    Zip 2.2, OS/2 32-bit exes (no encryption) 
  102.            zip22.zip      Zip 2.2, source code 
  103.            unz540d2.zip   UnZip 5.40, OS/2 DLL (32-bit, C and REXX) 
  104.            unz540x1.exe   UnZip 5.40, OS/2 self-extr. exes (16-bit) 
  105.            unz540x2.exe   UnZip 5.40, OS/2 self-extr. exes (32-bit) 
  106.            unzip540.zip   UnZip 5.40, source code 
  107.  
  108.  You can download the zip and unzip program of Info-Zip for OS/2 from: 
  109.  
  110.      The Info-ZIP homepage 
  111.       Follow both the links to UnZip and Zip and download the latest version 
  112.       for OS/2. 
  113.  
  114.  
  115. ΓòÉΓòÉΓòÉ 1.1.4. EMX Runtime ΓòÉΓòÉΓòÉ
  116.  
  117. EMX is an environment for creating 32-bit programs for OS/2 (and DOS). 
  118. Developers can use the GNU C compiler to compile programs for emx.  The main 
  119. design goal of emx is to simplify porting Unix software to OS/2 and DOS. 
  120.  
  121. This has been done with the Concurrent Versions System (CVS), which is a widely 
  122. used Unix software. 
  123.  
  124. As CVS is being used by the OS/2 Netlabs Open Source Archive Administrator, the 
  125. runtime of the EMX package is required. 
  126.  
  127. You can download the EMX runtime for OS/2 from: 
  128.  
  129.      The Hobbes OS/2 Archive 
  130.      OS/2 Supersite (fast hobbes mirror) 
  131.  
  132.  Download the file emxrt.zip from the subdirectory with the highest revision 
  133.  number. 
  134.  
  135.  See also 
  136.  
  137.      How can I solve the 'Too many open files' problem ? 
  138.  
  139.  
  140. ΓòÉΓòÉΓòÉ 1.2. Prerequisites ΓòÉΓòÉΓòÉ
  141.  
  142. The following prerequisites apply to the current version of OS/2 Netlabs Open 
  143. Source Archive Administrator: 
  144.  
  145.      The OS/2 Netlabs Open Source Archive Administrator runs under OS/2 WARP 
  146.       Version 3 or later. 
  147.  
  148.      Also required is the OS/2 version of the Concurrent Versions System (CVS) 
  149.       for to provide access the OS/2 Netlabs Open Source Archive. 
  150.  
  151.      CVS in turn requires the EMX Runtime. 
  152.  
  153.      The Zip and UnZip program of Info-ZIP are required. 
  154.  
  155.      For providing access to the OS/2 Netlabs Open Source Archive, also of 
  156.       course a working internet connection is required. 
  157.  
  158.  
  159. ΓòÉΓòÉΓòÉ 1.3. Copyright & Co. ΓòÉΓòÉΓòÉ
  160.  
  161. Select one of the following topics: 
  162.  
  163.      Copyright 
  164.      freeware license 
  165.      Disclaimer 
  166.      The author 
  167.  
  168.  
  169. ΓòÉΓòÉΓòÉ 1.3.1. Copyright ΓòÉΓòÉΓòÉ
  170.  
  171. OS/2 Netlabs Open Source Archive Administrator 
  172. was written by Christian Langanke, 1999. 
  173. All rights reserved. 
  174.  
  175. You are welcome to send me your comments/suggestions via internet e-mail. 
  176.  
  177. Send your e-mail to C.Langanke@TeamOS2.DE 
  178.  
  179. Visit also the homepage of 
  180.  
  181.      the OS/2 Netlabs Open Source Archive 
  182.      the author Christian Langanke 
  183.      the OS/2 Netlabs 
  184.      Team OS/2 Germany and its member associations 
  185.  
  186.  
  187. ΓòÉΓòÉΓòÉ 1.3.2. freeware license ΓòÉΓòÉΓòÉ
  188.  
  189. This software package is freeware. It can be used wherever you use OS/2 WARP 
  190. Version 3 or later. 
  191.  
  192. You are allowed to freely use and distribute the OS/2 Netlabs Open Source 
  193. Archive Administrator as long as 
  194.  
  195.      OS/2 Netlabs Open Source Archive Administrator or its components are not 
  196.       sold as a part of another program package; 
  197.      no fee is charged for the program other than for cost of media; 
  198.      the complete package is distributed unmodified; 
  199.  
  200.  
  201. ΓòÉΓòÉΓòÉ 1.3.3. Disclaimer ΓòÉΓòÉΓòÉ
  202.  
  203. Since this program is free, it is supplied with no warranty, either expressed 
  204. or implied. 
  205.  
  206. I disclaim all warranties for any damages, including, but not limited to, 
  207. incidental or consequential damage caused directly or indirectly by this 
  208. software. 
  209.  
  210. All software is supplied AS IS. You may use the OS/2 Netlabs Open Source 
  211. Archive Administrator package only at your own risk. 
  212.  
  213. The OS/2 Netlabs Open Source Archive Administrator must not be used in states 
  214. that do not allow the above limitation of liability. 
  215.  
  216.  
  217. ΓòÉΓòÉΓòÉ 1.3.4. The author ΓòÉΓòÉΓòÉ
  218.  
  219. This program is written by Christian Langanke. 
  220.  
  221. You can contact the author via internet e-mail. 
  222.  
  223. Send your email to C.Langanke@TeamOS2.DE 
  224.  
  225. Visit also the homepage of 
  226.  
  227.      the OS/2 Netlabs Open Source Archive Administrator 
  228.      the author Christian Langanke 
  229.      the OS/2 Netlabs 
  230.      Team OS/2 Germany and its member associations 
  231.  
  232.  
  233. ΓòÉΓòÉΓòÉ 1.4. Installation ΓòÉΓòÉΓòÉ
  234.  
  235. Select one of the following topics: 
  236.  
  237.      Copy files 
  238.      installation program 
  239.      The OS/2 Netlabs Open Source Archive Administrator folder 
  240.         -  Refresh this folder 
  241.         -  Create new project archive 
  242.         -  Administrator OS/2 Window 
  243.  
  244.  
  245. ΓòÉΓòÉΓòÉ 1.4.1. Copy files ΓòÉΓòÉΓòÉ
  246.  
  247. If you received the OS/2 Netlabs Open Source Archive Administrator package as a 
  248. ZIP file, create a directory for the files on your harddisk and unzip all files 
  249. from the ZIP file into it. 
  250.  
  251. Make sure that the directory structure stored within the ZIP file is preserved. 
  252.  
  253. Then execute the installation program. 
  254.  
  255.  
  256. ΓòÉΓòÉΓòÉ 1.4.2. installation program ΓòÉΓòÉΓòÉ
  257.  
  258. To setup the OS/2 Netlabs Open Source Archive Administrator, execute the 
  259. following steps: 
  260.  
  261.    1. open an OS/2 Window 
  262.    2. change into the directory, where the files of the OS/2 Netlabs Open 
  263.       Source Archive Administrator package reside 
  264.    3. run the command 
  265.            install 
  266.  
  267.  The installation program first prompts for several values. 
  268.  
  269.  You can accept the default values being displayed in brackets by just hitting 
  270.  Enter. Values marked as optional may be empty. You also can interrupt the 
  271.  installation program by hitting Ctrl-Break and Enter. You also can rerun the 
  272.  installation program at any time in order to modify any of these values. 
  273.  
  274.  These are the values, that you are prompted for: 
  275.  
  276.  hostname for the Netlabs Open Source Archive server 
  277.       The hostname of the server, under it is to be adressed via internet. This 
  278.       hostname is being written into archives.lst and/or private.lst, which in 
  279.       turn are being used by the OS/2 Netlabs Open Source Archive Client. 
  280.  
  281.  root directory of the Netlabs Open Source Archive 
  282.       The directory, where all archive directories, that you use with the OS/2 
  283.       Netlabs Open Source Archive Administrator, are being created. 
  284.  
  285.  root directory for working directories on your computer 
  286.       The directory, where all working directories, that you use with the OS/2 
  287.       Netlabs Open Source Archive Administrator, are being created. 
  288.  
  289.  root directory for snapshot zipfiles on your computer 
  290.       The directory, where the snapshot zip files of the source are being 
  291.       created 
  292.  
  293.  root directory for backup zip files on your computer 
  294.       The directory, where the backup zip files of the archive directories are 
  295.       being created 
  296.  
  297.  CVS home directory 
  298.       The (empty) directory, where CVS settings are stored 
  299.  
  300.  Init Command for project windows (optional) 
  301.       any command that you want to be executed before OS/2 Netlabs Open Source 
  302.       Archive Administrator executes any CVS operation. This is especially 
  303.       useful when you frequently use cvsenv in a archive OS/2 Windows and/or 
  304.       shells like telnet or SSH, for which you may need to setup a different 
  305.       environment. 
  306.  
  307.       Leave that field empty, if you do not need any init command. 
  308.  
  309.  CVS Administrator User Id 
  310.       your user id, that you want to use with a CVS archive on the OS/2 Netlabs 
  311.       Open Source Archive server. 
  312.  
  313.       Note: 
  314.  
  315.           If the environment variable %USER% is set, this value is offered as 
  316.            default. 
  317.           In an archive OS/2 Window ot shells liketelnet or SSH, where you 
  318.            call cvsenv, the environment variable %USER% will be set up with the 
  319.            user id, that you specify here. Keep that in mind, if you have to 
  320.            use different values for %USER% within the OS/2 Netlabs Open Source 
  321.            Archive Administrator and elswewhere. 
  322.  
  323.  Directory of CVS installation 
  324.       This prompt only appears, if the CVS executables are not reachable by 
  325.       your PATH statement in CONFIG.SYS. Then you can specify the installation 
  326.       directory of CVS. Just call cvsenv on the commandline and the OS/2 
  327.       Netlabs Open Source Archive Administrator will extend the PATH for you, 
  328.       so that you can use CVS in that session 
  329.  
  330.  After that, to create a WorkplaceShell folder with precustomized program 
  331.  objects in it, execute the following steps: 
  332.  
  333.    1. open an OS/2 Window 
  334.    2. change into the directory, where the files of the OS/2 Netlabs Open 
  335.       Source Archive Administrator package reside 
  336.    3. run the command 
  337.            cvsenv 
  338.  
  339.  This program creates the OS/2 Netlabs Open Source Archive Administrator 
  340.  Workplace Shell folder with several objects in it. 
  341.  
  342.  
  343. ΓòÉΓòÉΓòÉ 1.4.3. The OS/2 Netlabs Open Source Archive Administrator folder ΓòÉΓòÉΓòÉ
  344.  
  345. To (re)create the OS/2 Netlabs Open Source Archive Administrator folder with 
  346. precustomized program objects in it, execute the following steps: 
  347.  
  348.    1. open an OS/2 Window 
  349.    2. change into the directory, where the files of the OS/2 Netlabs Open 
  350.       Source Archive Administrator package reside 
  351.    3. run the command 
  352.            cvsenv 
  353.  
  354.  The following Workplace Shell objects are created within the OS/2 Netlabs Open 
  355.  Source Archive Administrator folder: 
  356.  
  357.      Refresh this folder 
  358.      Create new project archive 
  359.      Administrator OS/2 Window 
  360.  
  361.  Note: 
  362.  
  363.      If you want to change the location of the files of the OS/2 Netlabs Open 
  364.       Source Archive Administrator package, move the directory, where the files 
  365.       reside, to the new location and rerun the installation program to update 
  366.       the objects. 
  367.  
  368.  
  369. ΓòÉΓòÉΓòÉ 1.4.3.1. Refresh this folder ΓòÉΓòÉΓòÉ
  370.  
  371. This object refreshs the OS/2 Netlabs Open Source Archive Administrator. For 
  372. each CVS archive, that you maintain with the OS/2 Netlabs Open Source Archive 
  373. Administrator, this icon creates an 
  374.  
  375.      Administrator OS/2 Window and 
  376.      a shadow ot the working directory 
  377.  
  378.  If you have created new archives or deleted old ones, you have to refresh the 
  379.  folder, because these icons are not created or deleted automatically. 
  380.  
  381.  
  382. ΓòÉΓòÉΓòÉ 1.4.3.2. Create new project archive ΓòÉΓòÉΓòÉ
  383.  
  384. This object creates a new archive within the OS/2 Netlabs Open Source Archive. 
  385. When prompted, specify the name of the archive directory (not the archive name, 
  386. which may be different !). 
  387.  
  388. Warning: 
  389.  
  390.      With the current version of the OS/2 Netlabs Open Source Archive 
  391.       Administrator, the name of an archive directory MAY NOT CONTAIN BLANKS 
  392.       !!! 
  393.      The name of the base directory of an archive may not start with a ! or ?. 
  394.  
  395.  
  396. ΓòÉΓòÉΓòÉ 1.4.3.3. Administrator OS/2 Window ΓòÉΓòÉΓòÉ
  397.  
  398. This object exists for each archive, that you maintain within the OS/2 Netlabs 
  399. Open Source Archive, and it opens an OS/2 Window with the environment variables 
  400. set fot to access it. 
  401.  
  402. If you have created new archives or deleted old ones, you have to refresh the 
  403. folder, because the icons are not created automatically. 
  404.  
  405. See also 
  406.  
  407.      Refresh this folder 
  408.  
  409.  
  410. ΓòÉΓòÉΓòÉ 1.5. Usage ΓòÉΓòÉΓòÉ
  411.  
  412. Select one of the following topics: 
  413.  
  414.      Using the NOSA security 
  415.      Security levels 
  416.      Configuring TCP/IP and CVS service 
  417.      Modified files 
  418.         -  The CVS service program 
  419.         -  %ETC%\services 
  420.         -  %ETC%\inetd.lst 
  421.         -  TCPSTART.CMD 
  422.         -  archives.lst 
  423.         -  private.lst 
  424.      The userid/password synchronization program 
  425.      The security program 
  426.      Modified files 
  427.         -  CVSROOT\passwd 
  428.         -  CVSROOT\writers 
  429.         -  CVSROOT\checkoutlist 
  430.         -  CVSROOT\commitinfo 
  431.         -  CVSROOT\taginfo 
  432.         -  CVSROOT\writeinfo 
  433.         -  CVSROOT\writeinfo.log 
  434.      Using the administrator package on the commandline 
  435.         -  setup the CVS environment 
  436.         -  Initialize a new archive 
  437.         -  Reinitialize a new archive 
  438.         -  Edit an archive comment 
  439.         -  restrict an archive to private access 
  440.         -  Import zip files with source 
  441.         -  Secure archive 
  442.         -  Create snapshot 
  443.         -  Create backup 
  444.         -  List current archives 
  445.         -  Clear working directory 
  446.         -  Generate a changelog 
  447.         -  Configure CVS service 
  448.         -  Change to the working directory of an archive 
  449.         -  Change to the tree root of an archive 
  450.         -  Change to the NOSAADM program directory 
  451.      Generating a changelog 
  452.         -  The fullnames list file 
  453.         -  samples\fullnames.lst 
  454.      Using the administrator package locally with WPS 
  455.         -  Refresh the administrator folder 
  456.         -  Create new project archive 
  457.  
  458.  
  459. ΓòÉΓòÉΓòÉ 1.5.1. Using the NOSA security ΓòÉΓòÉΓòÉ
  460.  
  461. Warning: 
  462.  
  463.      Read this section carefully, if you allow others to use a CVS service on 
  464.       your computer ! 
  465.       If so, you may want to use the OS/2 Netlabs Open Source Archive 
  466.       Administrator security feature in order to protect your system from 
  467.       unwanted access and/or modifications 1 
  468.  
  469.  Within all CVS archives on all platforms, or better, with all services, that 
  470.  allow to login on a computer in any way, there is a need to secure the server 
  471.  from unwanted access, that could destroy the system. Under OS/2, this has to 
  472.  be achieved by different methods as under other operating systems. 
  473.  
  474.  Restricting login access to the archive 
  475.  The first step is to restrict login access to the archive. In case of the OS/2 
  476.  Netlabs Open Source Archive the only security issue is, that we do not only 
  477.  need to enable login (and write access) for all developers, but also have a 
  478.  commin "user id - password" combination, that allows everybody in the world to 
  479.  access the archive - but of course only in readonly mode. Otherwise this 
  480.  archive would not be an open one, right ? 
  481.  The OS/2 Netlabs Open Source Archive Administrator will support you by 
  482.  initially creating a login  account for you as the administrator and for a 
  483.  guest user with the password readonly. You will have to add more accounts, 
  484.  when you want to allow others to make modifications to your archive (see 
  485.  below). 
  486.  
  487.  Restricting write access to the complete archive 
  488.  The second step is to restrict write access to the archive by creating a list 
  489.  of users, who may write to the archive, excluding all users not being in that 
  490.  list from being able to make any modifications to the archive. 
  491.  The OS/2 Netlabs Open Source Archive Administrator will support you by 
  492.  initially creating a list with only our user id in it, but you have to 
  493.  customize this list further, when you want to allow others to make 
  494.  modifications to your archive  (see below). 
  495.  
  496.  Restricting write access to the archive administrative database (CVSROOT) 
  497.  The third step is to restrict write access to each directory within the 
  498.  archive, and most important is the CVSROOT directory of each archive, as it 
  499.  contains the administration database for it. The files in that directory 
  500.  especially need protection, because by modification of certain of these files, 
  501.  any person, that can modify them, can achive to execute any program on the 
  502.  server. You as the archive administrator should be the only person to have 
  503.  write access to this crucial directory, and, as other restrictions are 
  504.  considered, all users, that you give also write access to this directory, are 
  505.  also considered to be an administrator. 
  506.  
  507.  In order to implement such access restriction to the CVSROOT directory, we 
  508.  could use any mechanism, that restricts access to any directory within the 
  509.  archive, like mentioned in the next section. 
  510.  
  511.  Implementing CVS write access restrictions per directory under OS/2 
  512.  On platforms with filesystem security, normally the sysadmin would restrict 
  513.  access to these files by applying appropriate filesystem ACLs (detetmining, 
  514.  that only the administrator can write these files). 
  515.  Currently, the OS/2 WARP client has no filesystem security, so that we need a 
  516.  different approach here. We can instead use a CVS feature for this, which was 
  517.  invented to allow the setup of check routines. These are for to check for 
  518.  certain conditions before allowing commit and tag operations, namely the 
  519.  pre-commit and pre-tag checks. 
  520.  That is exactly what also we will do. The security program will check, wether 
  521.  a user may make the desired changes (commit or tag) to files within the 
  522.  archive or not. 
  523.  The OS/2 Netlabs Open Source Archive Administrator will support you in setting 
  524.  up this pre-check feature and a list file CVSROOT\writeinfo, that contains the 
  525.  information, who may write to which directory. You may have to customize this 
  526.  listfile further, if you want to allow others to make modifications to your 
  527.  archive. 
  528.  
  529.  Implementing CVS tag restrictions for developers 
  530.  Tags are a good mechanism to document, who has changed which files. Also, 
  531.  after having build a release, it is good practise to tag all files with a 
  532.  release tag name. In order to protect such release tags from being 
  533.  accidentally deleted by developers, only the archive administrator (having 
  534.  write access to CVSROOT) can set tags with any name. All other writers are 
  535.  forced to use personal tags, that is, they have to preceed the tagname by 
  536.  their userid and underscore, if they want to tag files. 
  537.  
  538.  Setting up the security 
  539.  If you use the OS/2 Netlabs Open Source Archive Administrator to secure your 
  540.  CVS archives, it makes modifications to some files in CVSROOT, setting up 
  541.  access security for each directory already existing in the archive. All 
  542.  directories being created afterwards, inherit their security information fro 
  543.  their parent directory, unless you add such information for such directory 
  544.  manually to the appropriate file containing this information. 
  545.  
  546.  In order to secure an archive, execute 
  547.  
  548.       cvsenv [archive_dirname] $SECURE 
  549.  
  550.  within a shell. See section 
  551.  
  552.       Modified files 
  553.  
  554.  in order to find out how your archive is secured. 
  555.  
  556.  
  557. ΓòÉΓòÉΓòÉ 1.5.2. Security levels ΓòÉΓòÉΓòÉ
  558.  
  559. These are the following security levels provided both by CVS and the OS/2 
  560. Netlabs Open Source Archive Administrator: 
  561.  
  562.  administrator 
  563.            The administrator is included in 
  564.                the CVSROOT\passwd file for being able to login 
  565.                   -  this file resides in the archive tree only ! 
  566.                   -  maintain this file with the the userid/password 
  567.                      synchronization program of the OS/2 Netlabs Open Source 
  568.                      Archive Administrator 
  569.                in the CVSROOT\writers file, so that the administrator can make 
  570.                 changes to files within the archive. 
  571.                in the CVSROOT\writeinfo in order to determine, within which 
  572.                 directories the administrator can change ot tag files. The 
  573.                 administrator normally is allowed to make modifications within 
  574.                 all directories, especcially within the archive administrative 
  575.                 database in the CVSROOT directory. 
  576.  developer 
  577.            The developer is included in 
  578.                the CVSROOT\passwd file for being able to login 
  579.                   -  this file resides in the archive tree only ! 
  580.                   -  maintain this file with the the userid/password 
  581.                      synchronization program of the OS/2 Netlabs Open Source 
  582.                      Archive Administrator 
  583.                in the CVSROOT\writers file, so that the developer can make 
  584.                 changes to files within the archive. 
  585.                in the CVSROOT\writeinfo in order to determine, within which 
  586.                 directories the developer can change ot tag files. Developers 
  587.                 may be restricted to change files only within certain 
  588.                 directories, this depends on decisions of the project team. At 
  589.                 least developers should not be allowed to write the archive 
  590.                 administrative database in the CVSROOT directory. 
  591.  
  592.            Note: 
  593.                A developer can only use personal tags, that means that a 
  594.                 developer has to preceed tag names by his/her userid and 
  595.                 underscore. 
  596.  guest 
  597.            The guest accound is implemented by only adding the appropriate user 
  598.            definition to the CVSROOT\passwd file. With the password readonly a 
  599.            guest user can only download sources, but cannot make any 
  600.            modifications to the archive. 
  601.  
  602.  
  603. ΓòÉΓòÉΓòÉ 1.5.3. Configuring TCP/IP and CVS service ΓòÉΓòÉΓòÉ
  604.  
  605. The OS/2 Netlabs Open Source Archive Administrator automates the configuration 
  606. of both TCP/IP and the CVS service. Simply run the configuration command and 
  607. let cvsenv do the work for you, namely modifying and/or creating several files. 
  608.  
  609. Warning: 
  610.  
  611.      You need to use this command, whenever you modify the Autostart section 
  612.       within the TCP/IP configuration program, because this program will 
  613.       discard any information from %etc%\inetd.lst about services not coming 
  614.       with the TCP/IP software itself ! OTHERWISE YOUR CVS SERVICE WILL BE 
  615.       INACTIVE ! 
  616.  
  617.  Note: 
  618.  
  619.      After having added new archives or deleted obsolete ones, run this 
  620.       command update the current CVS service program. 
  621.  
  622.  
  623. ΓòÉΓòÉΓòÉ 1.5.4. Modified files ΓòÉΓòÉΓòÉ
  624.  
  625. The following files are created or modified, when you run the configuration 
  626. command: 
  627.  
  628.      The CVS service program 
  629.      %ETC%\services 
  630.      %ETC%\inetd.lst 
  631.      TCPSTART.CMD 
  632.      archives.lst 
  633.      private.lst 
  634.  
  635.  See also 
  636.  
  637.      Configuring TCP/IP and CVS service 
  638.  
  639.  
  640. ΓòÉΓòÉΓòÉ 1.5.4.1. The CVS service program ΓòÉΓòÉΓòÉ
  641.  
  642. This program is the so called service program of the OS/2 Netlabs Open Source 
  643. Archive Administrator. cvsenv rewrites this service program each time the 
  644. $CONFIG command is being executed. This service program contains the call to 
  645. CVS, as it normally would reside in %ETC%\inetd.lst. 
  646. Thus cvsenv adds an --allow-root paramter for each directory in the root 
  647. directory of the Netlabs Open Source Archive, that you specified within the 
  648. installation program. 
  649.  
  650. This method is particularly intended to avoid to call CVS directly from within 
  651. the internet super daemon (inetd) process. There are two advantages of calling 
  652. CVS indirectly: 
  653.  
  654.      normally a reboot would be required after adding a new project to the CVS 
  655.       line in %etc%\inetd.lst, as to some unknown reason the CVS port is being 
  656.       kept in use and on restart of the inetd CVS would be unavailable, once 
  657.       CVS had been called via inetd before. 
  658.      internet super daemon (inetd) seems to have a line limit of about 127 
  659.       characters when reading %etc%\inetd.lst :-(. 
  660.       When your server shall host several archives at a time, you quickly will 
  661.       exceed this limit. By calling a spearate program, CMD.EXE and not 
  662.       INETD.EXE has to deal with the long command line - obviously without any 
  663.       problems so far. 
  664.  
  665.  
  666. ΓòÉΓòÉΓòÉ 1.5.4.2. %ETC%\services ΓòÉΓòÉΓòÉ
  667.  
  668. %etc%\services 
  669.  
  670. This file contains the numbers and symbolic names of TCP/IP. If the CVS port 
  671. with the number 2401 is not already included, cvsenv will add it by using the 
  672. symbolic name cvspserver. 
  673.  
  674.  
  675. ΓòÉΓòÉΓòÉ 1.5.4.3. %ETC%\inetd.lst ΓòÉΓòÉΓòÉ
  676.  
  677. This file contains the TCP/IP services, that are being autostarted by the 
  678. internet super daemon (inetd). If CVS is not already included here, cvsenv will 
  679. add it here.  This is especially important, because after each use of the 
  680. TCP/IP configuration program, where you save  the configuration data, this file 
  681. is completely overwritten and all entries, that are not known to the TCP/IP 
  682. configuration program (like CVS) are deleted. In these cases, just run the 
  683. $CONFIG command again. 
  684.  
  685. Note: 
  686.  
  687.      cvsenv will use the service name, that is specified within 
  688.       %etc%\services. If you have added a different name than cvspserver to 
  689.       %etc%\services, cvsenv will use your symbolic name when adding CVS to 
  690.       %etc%\inetd.lst. 
  691.      Instead of adding a line, that calls CVS directly, cvsenv will rewrite 
  692.       the CVS service program, which in turn calls CVS. 
  693.  
  694.  
  695. ΓòÉΓòÉΓòÉ 1.5.4.4. TCPSTART.CMD ΓòÉΓòÉΓòÉ
  696.  
  697. This file contains the calls, that autostarts activated TCP/IP services during 
  698. system startup. For runnig a CVS service the internet super daemon (inetd) is 
  699. required. 
  700.  
  701. If inetd is configured not to be autostarted, the appropriate lines are 
  702. preceeded by REM commands. If this is still the case, cvsenv simply removes 
  703. these REM commands and thus activates the autostart feature. 
  704.  
  705. Note: 
  706.  
  707.      You need to restart TCP/IP in order to activate the changes by executing 
  708.       the following command within an OS/2 window or fullscreen: 
  709.            tcpstart 
  710.      If an instance of the internet super daemon (inetd) is already running, 
  711.       you will have to close this session first, before you run the tcpstart 
  712.       command. Otherwise, the new instance of inetd cannot properly be started 
  713.       and the CVS service will be unavailable. 
  714.  
  715.  
  716. ΓòÉΓòÉΓòÉ 1.5.4.5. archives.lst ΓòÉΓòÉΓòÉ
  717.  
  718. When you run the configuration command after having setup some archives, cvsenv 
  719. will create this file, which is used by the OS/2 Netlabs Open Source Archive 
  720. Client. 
  721.  
  722. This file will only enlist the public archives (not containing 
  723. CVSROOT\readers). Private archives are enlisted in private.lst. 
  724.  
  725.  
  726. ΓòÉΓòÉΓòÉ 1.5.4.6. private.lst ΓòÉΓòÉΓòÉ
  727.  
  728. When you run the configuration command, and at least one of the archives is 
  729. private (containing CVSROOT\readers), cvsenv will create this file. 
  730.  
  731. Public archives are enlisted in archives.lst. 
  732.  
  733.  
  734. ΓòÉΓòÉΓòÉ 1.5.5. The userid/password synchronization program ΓòÉΓòÉΓòÉ
  735.  
  736. Users should be able to use the same userid/password combination for all of the 
  737. archives being hosted by the OS/2 Netlabs Open Source Archive server. 
  738.  
  739. This can only be achieved by keeping the CVSROOT\passwd files in the archive 
  740. trees of all archives equal. Normally, you would maintain all these files 
  741. separately with cvspw.exe of the CVS package, or would have to copy one of the 
  742. CVSROOT\passwd files to the archive trees of all archives manually. 
  743.  
  744. Instead the OS/2 Netlabs Open Source Archive Administrator comes with the 
  745. password utility nosapw.cmd, which accepts all valid parameters of cvspw.exe, 
  746. but extends it in the following ways: 
  747.  
  748.      nosapw maintains only one passwd file, namely one in the OS/2 Netlabs 
  749.       Open Source Archive Administrator program directory. If this changes 
  750.       during a nosapw operation, it is automatically distributed to the CVSROOT 
  751.       directory in the archive tree of all archives, thus keeping all 
  752.       user/password conbinations of all archives in sync. 
  753.      a new option -query allows to query, wether a user is already being 
  754.       defined in the passwd file in the OS/2 Netlabs Open Source Archive 
  755.       Administrator program directory. 
  756.  
  757.  Note: 
  758.  
  759.      execute nosapw without parameters to get a brief online help 
  760.  
  761.  
  762. ΓòÉΓòÉΓòÉ 1.5.6. The security program ΓòÉΓòÉΓòÉ
  763.  
  764. The security program of the OS/2 Netlabs Open Source Archive Administrator will 
  765. check, wether a commit or tag operation is allowed for the user performing it. 
  766.  
  767. Note: 
  768.  
  769.      This program is to be called by the CVS service only and automatically 
  770.       activated, when you secure an archive. By doing this, several files are 
  771.       beind modified within the archive, wich in turn activates the automatic 
  772.       useage of the security program. 
  773.      It requires, that the file CVSROOT\writeinfo is properly customized, as 
  774.       this holds the access information per directory within the archive. 
  775.       Directories not heing exlicitely listed in writeinfo inherit their 
  776.       security information from their parent directory. 
  777.      It writes the file CVSROOT\writeinfo.log on the server, where each 
  778.       successful and unsuccessful pre-commit and pre-tag check is recorded. 
  779.  
  780.  
  781. ΓòÉΓòÉΓòÉ 1.5.7. Modified files ΓòÉΓòÉΓòÉ
  782.  
  783. The following files are created or modified, when you secure an archive: 
  784.  
  785.      CVSROOT\passwd 
  786.      CVSROOT\writers 
  787.      CVSROOT\checkoutlist 
  788.      CVSROOT\commitinfo 
  789.      CVSROOT\taginfo 
  790.      CVSROOT\writeinfo 
  791.      CVSROOT\writeinfo.log 
  792.  
  793.  See also 
  794.  
  795.      Using the NOSA security 
  796.      Security levels 
  797.  
  798.  
  799. ΓòÉΓòÉΓòÉ 1.5.7.1. CVSROOT\passwd ΓòÉΓòÉΓòÉ
  800.  
  801. This file contains both userids and encrypted password for each user, that may 
  802. login to the archive. It does not exist in a working directory tree, instead it 
  803. has to be placed into the archive directory tree of an archive, where CVSROOT 
  804. holds the archive administrative database of an archive. 
  805.  
  806. If you secure your archive with the OS/2 Netlabs Open Source Archive 
  807. Administrator security feature, it will initially create this file with two 
  808. accounts: 
  809.  
  810.      the account for the administrator. You are prompted twice for a password, 
  811.       that is being used here. 
  812.      a guest account with the password readonly 
  813.  
  814.  Note: 
  815.  
  816.      Unlike all other files in the CVSROOT directory, you cannot modify this 
  817.       file remotely, but only directly on the server, as this file is not to be 
  818.       added to the archive! 
  819.      Execute nosapw without parameters to get help for how to customize the 
  820.       CVSROOT\passwd file for all archives at once. 
  821.  
  822.  See also 
  823.  
  824.      CVSROOT\writers 
  825.      Using the NOSA security 
  826.      Security levels 
  827.  
  828.  
  829. ΓòÉΓòÉΓòÉ 1.5.7.2. CVSROOT\writers ΓòÉΓòÉΓòÉ
  830.  
  831. This file contains the user ids of all, who may write to the archive. 
  832.  
  833. If you secure your archive with the OS/2 Netlabs Open Source Archive 
  834. Administrator security feature, it will initially create this file only with 
  835. your user id in it. 
  836.  
  837. Note: 
  838.  
  839.      If you want to allow more users to make modifications, you have to add 
  840.       their user ids to this file (one per line). Do not include a password 
  841.       here, you have to customize the login account in CVSROOT\passwd. 
  842.      You can modify this file remotely. 
  843.  
  844.  See also 
  845.  
  846.      CVSROOT\passwd 
  847.      Using the NOSA security 
  848.      Security levels 
  849.  
  850.  
  851. ΓòÉΓòÉΓòÉ 1.5.7.3. CVSROOT\checkoutlist ΓòÉΓòÉΓòÉ
  852.  
  853. This file contains the names of the files, that are added to the standard file 
  854. list of the administrative database in the CVSROOT directory. As we are adding 
  855. a new file to this database, we will have to extend this file. 
  856.  
  857. Whenever one commits changes to files in the CVSROOT directory, CVS needs to 
  858. checkout the changed files also on the server to make them available for the 
  859. server process. For this, CVS needs to know from CVSROOT\checkoutlist, what 
  860. files beside the standard files need this treatment, too. 
  861.  
  862. If you secure your archive with the OS/2 Netlabs Open Source Archive 
  863. Administrator security feature, it will add the file CVSROOT\writeinfo to this 
  864. file to make sure, that this file is available for the security program on the 
  865. server. 
  866.  
  867. Note: 
  868.  
  869.      You will not have to modify that file further, unless you plan to add 
  870.       more files to the administrative database 
  871.  
  872.  See also 
  873.  
  874.      CVSROOT\writeinfo 
  875.      Using the NOSA security 
  876.      Security levels 
  877.  
  878.  
  879. ΓòÉΓòÉΓòÉ 1.5.7.4. CVSROOT\commitinfo ΓòÉΓòÉΓòÉ
  880.  
  881. This file contains the names of the filter programs, that are to be executed 
  882. before a commit operation is allowed within the archive. 
  883.  
  884. If you secure your archive with the OS/2 Netlabs Open Source Archive 
  885. Administrator security feature, it will add the security program to this file, 
  886. making sure that this program is called before allowing commit operations 
  887. within the archive. 
  888.  
  889. Note: 
  890.  
  891.      You will not have to modify that file further, unless you want to add 
  892.       more  filter programs for pre-commit checks. 
  893.  
  894.  See also 
  895.  
  896.      CVSROOT\writeinfo 
  897.      The security program 
  898.      Using the NOSA security 
  899.      Security levels 
  900.  
  901.  
  902. ΓòÉΓòÉΓòÉ 1.5.7.5. CVSROOT\taginfo ΓòÉΓòÉΓòÉ
  903.  
  904. This file contains the names of the filter programs, that are to be executed 
  905. before a tag operation is allowed within the archive. 
  906.  
  907. If you secure your archive with the OS/2 Netlabs Open Source Archive 
  908. Administrator security feature, it will add the security program to this file, 
  909. making sure that this program is called before allowing tag operations within 
  910. the archive. 
  911.  
  912. More, only the archive administrator (having write access to CVSROOT) can set 
  913. tags with any name. All other writers are forced to preceed the tagname by 
  914. their userid and underscore, if they want to tag files. 
  915.  
  916. Note: 
  917.  
  918.      You will not have to modify that file further, unless you want to add 
  919.       more  filter programs for pre-tag checks. 
  920.  
  921.  See also 
  922.  
  923.      CVSROOT\writeinfo 
  924.      The security program 
  925.      Using the NOSA security 
  926.      Security levels 
  927.  
  928.  
  929. ΓòÉΓòÉΓòÉ 1.5.7.6. CVSROOT\writeinfo ΓòÉΓòÉΓòÉ
  930.  
  931. This file is created by the OS/2 Netlabs Open Source Archive Administrator, 
  932. when you secure your archive. 
  933.  
  934. It extends the archive administrative database in the CVSROOT directory and is 
  935. used by the by the security program on the server side. Both parts together 
  936. implement  access restrictions to each directory within an archive by using the 
  937. pre-commit check and pre-tag check feature of CVS. 
  938.  
  939. One line is required for each archive directory in this file, for that you want 
  940. to set up access restrictions. Directories, that are not exlicitely listed in 
  941. writeinfo, possibly because they are being created later, inherit their 
  942. security information from their parent directory, as long as the administrator 
  943. does not manually add a line to writeinfo for such directory. 
  944. As a minimum only a line for the rootdirectory (/) is required, although it is 
  945. highly recomended to have at least also a line for the /CVSROOT directory 
  946. included in order to protect the administrative database of the archive from 
  947. unwanted write access. 
  948.  
  949. Each line contains the following: 
  950.  
  951.      the pathname of the directory relative to %CVSROOT% (no blanks allowed in 
  952.       directorynames !!!) 
  953.      a list of the ids of those users, that may perform commit and tag 
  954.       operation within that directory. If the id list contains a "*", all 
  955.       users, that may write to the archive, may also write to that directory. 
  956.  
  957.  If you secure your archive with the OS/2 Netlabs Open Source Archive 
  958.  Administrator security feature: 
  959.  
  960.      it will initially create this file with all directories currently 
  961.       existing in the archive and allowing all writers to access all 
  962.       directories except for CVSROOT, which is allowed to write only for you as 
  963.       the administrator. 
  964.  
  965.  Note: 
  966.  
  967.      all users having write access to CVSROOT are considered to be archive 
  968.       administrators. They can set tags with any name, while all other other 
  969.       writers are forced to preceed the tagname by their userid and underscore, 
  970.       if they want to tag files. 
  971.  
  972.  See also 
  973.  
  974.      CVSROOT\commitinfo 
  975.      CVSROOT\taginfo 
  976.      CVSROOT\checkoutlist 
  977.      Using the NOSA security 
  978.      Security levels 
  979.  
  980.  
  981. ΓòÉΓòÉΓòÉ 1.5.7.7. CVSROOT\writeinfo.log ΓòÉΓòÉΓòÉ
  982.  
  983. This file is written on the server side, and it contains one line for each 
  984. pre-commit and pre-tag check, that has been processed by the security program. 
  985.  
  986. Note: 
  987.  
  988.      You can deactivate logging by simply deleting or renaming this file and 
  989.       reactivate it by recreating it or renaming it back. 
  990.  
  991.  See also 
  992.  
  993.      CVSROOT\writeinfo 
  994.      The security program 
  995.      Using the NOSA security 
  996.      Security levels 
  997.  
  998.  
  999. ΓòÉΓòÉΓòÉ 1.5.8. Using the administrator package on the commandline ΓòÉΓòÉΓòÉ
  1000.  
  1001. As the administrator package has to run on the machine, where the OS/2 Netlabs 
  1002. Open Source Archive resides, you mostly will use the programs of the OS/2 
  1003. Netlabs Open Source Archive Administrator through a telnet or shell and cannot 
  1004. make use of Workplace Shell folders and objects. 
  1005.  
  1006. Therefore you will have to know, how you can perform all actions via 
  1007. commandline. All actions are performed by calling the program cvsenv with 
  1008.  
  1009.      the name of an archive directory and 
  1010.      optionally an action to be taken onto the archive. 
  1011.  
  1012.  Select one of the following topics: 
  1013.  
  1014.      setup the CVS environment 
  1015.      Initialize a new archive 
  1016.      Reinitialize a new archive 
  1017.      Edit an archive comment 
  1018.      restrict an archive to private access 
  1019.      Import zip files with source 
  1020.      Secure archive 
  1021.      Create snapshot 
  1022.      Create backup 
  1023.      List current archives 
  1024.      Clear working directory 
  1025.      Generate a changelog 
  1026.      Configure CVS service 
  1027.      Change to the working directory of an archive 
  1028.      Change to the tree root of an archive 
  1029.      Change to the NOSAADM program directory 
  1030.  
  1031.  
  1032. ΓòÉΓòÉΓòÉ 1.5.8.1. setup the CVS environment ΓòÉΓòÉΓòÉ
  1033.  
  1034. Execute 
  1035.  
  1036.       cvsenv archive_dirname 
  1037.  
  1038.  within a shell in order to setup the environment variables for access to the 
  1039.  specified CVS archive and to change to the working directory of the project. 
  1040.  
  1041.  Note: 
  1042.  
  1043.      the specified archive must exist 
  1044.      By specifiying different archive names on consecutive calls, you can 
  1045.       switch between archives. This applies to all cvsenv commands, no matter 
  1046.       what action you also specify. 
  1047.  
  1048.  
  1049. ΓòÉΓòÉΓòÉ 1.5.8.2. Initialize a new archive ΓòÉΓòÉΓòÉ
  1050.  
  1051. Execute 
  1052.  
  1053.       cvsenv archive_dirname $INIT 
  1054.  
  1055.  within a shell in order to initialize a new CVS archive. 
  1056.  
  1057.  During initialization, you are prompted for an archive comment. This comment 
  1058.  is being stored in the file CVSROOT\projectinfo in the archive directory and 
  1059.  not checked in, so it cannot be checked out into a working directory. 
  1060.  
  1061.  This comment is being written into archives.lst, when you run the 
  1062.  configuration command. This file in turn is being used by the OS/2 Netlabs 
  1063.  Open Source Archive Client, displaying this comment in folder title names. You 
  1064.  can modify this comment at every time using the comment command. 
  1065.  
  1066.  Note: 
  1067.  
  1068.      With the current version of the OS/2 Netlabs Open Source Archive 
  1069.       Administrator, the name of an archive directory MAY NOT CONTAIN BLANKS 
  1070.       !!! 
  1071.      The name of the base directory of an archive may not start with a ! or ?. 
  1072.      You can abbreviate the command name. It depends on the command, how many 
  1073.       letters are required for this command. Execute 
  1074.            cvsenv /? 
  1075.       in order to get more information on the command names and the valid 
  1076.       abbreviations. 
  1077.      if the archive directory already exists, cvsenv skips the initialization 
  1078.       of the archive in order to prevent any data loss. 
  1079.      After initialization, the archive is in an empty, unsecured and public 
  1080.       state. 
  1081.  
  1082.  
  1083. ΓòÉΓòÉΓòÉ 1.5.8.3. Reinitialize a new archive ΓòÉΓòÉΓòÉ
  1084.  
  1085. Execute 
  1086.  
  1087.       cvsenv [archive_dirname] $REINIT 
  1088.  
  1089.  within a shell in order to reinitialize an existing CVS archive to an empty 
  1090.  state and unsecured state. 
  1091.  
  1092.  Warning: 
  1093.  
  1094.      This call deletes the contents of the specified archive WITHOUT ANY 
  1095.       SECURITY PROMPT ! All files in both the archive and the working directory 
  1096.       are completely deleted. 
  1097.      After deletion, the archive is initialized again to an empty and 
  1098.       unsecured state 
  1099.  
  1100.  Note: 
  1101.  
  1102.      The specification of archive_dirname is optional, if you have already 
  1103.       setup the environment with cvsenv archive_dirname in that shell before. 
  1104.      You can abbreviate the command name. It depends on the command, how many 
  1105.       letters are required for this command. Execute 
  1106.            cvsenv /? 
  1107.       in order to get more information on the command names and the valid 
  1108.       abbreviations. 
  1109.  
  1110.  
  1111. ΓòÉΓòÉΓòÉ 1.5.8.4. Edit an archive comment ΓòÉΓòÉΓòÉ
  1112.  
  1113. Execute 
  1114.  
  1115.       cvsenv [archive_dirname] $COMMENT [comment] 
  1116.  
  1117.  within a shell in order to set the comment for an archive. 
  1118.  
  1119.  If you do not specify a comment text with this command, you are prompted for 
  1120.  one. 
  1121.  
  1122.  This comment is being stored in the file CVSROOT\projectinfo in the archive 
  1123.  directory and not checked in, so it cannot be checked out into a working 
  1124.  directory. 
  1125.  
  1126.  This comment is being written into archives.lst, when you run the 
  1127.  configuration command. This file in turn is being used by the OS/2 Netlabs 
  1128.  Open Source Archive Client, displaying this comment in folder title names. You 
  1129.  can modify this comment at every time using the comment command. 
  1130.  
  1131.  Note: 
  1132.  
  1133.      You can abbreviate the command name. It depends on the command, how many 
  1134.       letters are required for this command. Execute 
  1135.            cvsenv /? 
  1136.       in order to get more information on the command names and the valid 
  1137.       abbreviations. 
  1138.  
  1139.  
  1140. ΓòÉΓòÉΓòÉ 1.5.8.5. restrict an archive to private access ΓòÉΓòÉΓòÉ
  1141.  
  1142. Execute 
  1143.  
  1144.       cvsenv [archive_dirname] $PRIVATE 
  1145.  
  1146.  within a shell in order to restrict an archive to private access. This is 
  1147.  being achieved by adding the file CVSROOT\readers to the archive. 
  1148.  
  1149.  Note: 
  1150.  
  1151.      At first, your user id is bein gadded to this file, so that after running 
  1152.       this command, you are the only one who can read from this archive. All 
  1153.       other users currently being defined in the passwd file in the OS/2 
  1154.       Netlabs Open Source Archive Administrator program directory, are also 
  1155.       added, but with a preceeding semicolon, thus inactivating these entries. 
  1156.       Just remove the semicolon from a line to let a project member read from 
  1157.       the archive. 
  1158.      In order to make an archive public again, simply remove the file 
  1159.       CVSROOT\readers from the archive. 
  1160.      You can abbreviate the command name. It depends on the command, how many 
  1161.       letters are required for this command. Execute 
  1162.            cvsenv /? 
  1163.       in order to get more information on the command names and the valid 
  1164.       abbreviations. 
  1165.  
  1166.  
  1167. ΓòÉΓòÉΓòÉ 1.5.8.6. Import zip files with source ΓòÉΓòÉΓòÉ
  1168.  
  1169. Execute 
  1170.  
  1171.       cvsenv [archive_dirname] $IMPORT 
  1172.  
  1173.  within a shell in order to import sources from a source zip file. 
  1174.  
  1175.  Note: 
  1176.  
  1177.      The specification of archive_dirname is optional, if you have already 
  1178.       setup the environment with cvsenv archive_dirname in that shell before. 
  1179.      You can abbreviate the command name. It depends on the command, how many 
  1180.       letters are required for this command. Execute 
  1181.            cvsenv /? 
  1182.       in order to get more information on the command names and the valid 
  1183.       abbreviations. 
  1184.      The working directory has to be completely empty for this, otherwise 
  1185.       cvsenv will abort the import. cvsenv needs an empty directory, but will 
  1186.       not delete any files within it itself, because uncommitted data changes 
  1187.       may be destroyed. 
  1188.      If you are sure, that you have committed all changes (if any) to the CVS 
  1189.       archive, you can use the "Clear working directory" feature of cvsenv 
  1190.       before performing an import again. 
  1191.  
  1192.  
  1193. ΓòÉΓòÉΓòÉ 1.5.8.7. Secure archive ΓòÉΓòÉΓòÉ
  1194.  
  1195. Execute 
  1196.  
  1197.       cvsenv [archive_dirname] $SECURE 
  1198.  
  1199.  within a shell in order to add commit and tag security to the archive. If you 
  1200.  use an archive only for use on your own computer and will not allow others to 
  1201.  access it, you may not need to secure this archive. 
  1202.  
  1203.  See section 
  1204.  
  1205.       Modified files 
  1206.  
  1207.  in order to find out how your archive is secured. 
  1208.  
  1209.  Note: 
  1210.  
  1211.      Read the VERY IMPORTANT section Using the NOSA security, if you allow 
  1212.       others to use a CVS service on your computer ! 
  1213.      The specification of archive_dirname is optional, if you have already 
  1214.       setup the environment with cvsenv archive_dirname in that shell before. 
  1215.      You can abbreviate the command name. It depends on the command, how many 
  1216.       letters are required for this command. Execute 
  1217.            cvsenv /? 
  1218.       in order to get more information on the command names and the valid 
  1219.       abbreviations. 
  1220.      several files are changed for to add security. For all changes cvsenv 
  1221.       checks, wether the change has already been applied to the archive, and if 
  1222.       so, does not perform it again. 
  1223.  
  1224.  See also 
  1225.  
  1226.      Modified files 
  1227.  
  1228.  
  1229. ΓòÉΓòÉΓòÉ 1.5.8.8. Create snapshot ΓòÉΓòÉΓòÉ
  1230.  
  1231. Execute 
  1232.  
  1233.       cvsenv [archive_dirname] $SNAPSHOT [tagname] 
  1234.  
  1235.  within a shell in order to create a snaptshot zip file. You can specify tag 
  1236.  name in order to create a snapshot of a certain build. 
  1237.  
  1238.  Note: 
  1239.  
  1240.      The specification of archive_dirname is optional, if you have already 
  1241.       setup the environment with cvsenv archive_dirname in that shell before. 
  1242.      If you specify a tagname, only these files are included in the snapshot 
  1243.       zip file, that have this tagname. All other files are ignored. 
  1244.      The zip file is created in the subdirectory <archive_dirname> of the root 
  1245.       directory for snapshot zipfiles, that you specified within the 
  1246.       installation program. 
  1247.      The filename of the zip file consists of the <archive_dirname> and a 
  1248.       timestamp. 
  1249.      The complete pathname of the zip file is as follows : 
  1250.            (CVS_SNAPSHOTROOT)\<archive_dirname>\<archive_dirname>_yyyymmdd.zip 
  1251.  
  1252.       where 
  1253.         -  <archive_dirname> is the name of the archive directory 
  1254.         -  yyyymmdd represents the current date 
  1255.  
  1256.       Example: 
  1257.            d:\netlabs.snap\odin32\odin32_19990515.zip 
  1258.  
  1259.  Note: 
  1260.  
  1261.      You can abbreviate the command name. It depends on the command, how many 
  1262.       letters are required for this command. Execute 
  1263.            cvsenv /? 
  1264.       in order to get more information on the command names and the valid 
  1265.       abbreviations. 
  1266.  
  1267.  
  1268. ΓòÉΓòÉΓòÉ 1.5.8.9. Create backup ΓòÉΓòÉΓòÉ
  1269.  
  1270. Execute 
  1271.  
  1272.       cvsenv [archive_dirname] $BACKUP 
  1273.  
  1274.  within a shell in order to create a backup zip file of the archive. 
  1275.  
  1276.  Note: 
  1277.  
  1278.      The specification of archive_dirname is optional, if you have already 
  1279.       setup the environment with cvsenv archive_dirname in that shell before. 
  1280.      You can abbreviate the command name. It depends on the command, how many 
  1281.       letters are required for this command. Execute 
  1282.            cvsenv /? 
  1283.       in order to get more information on the command names and the valid 
  1284.       abbreviations. 
  1285.      The zip file is created in the subdirectory <archive_dirname> of the root 
  1286.       directory for backup zipfiles, that you specified within the installation 
  1287.       program. 
  1288.      The filename of the zip file consists of a timestamp. 
  1289.      The complete pathname of the zip file is as follows : 
  1290.            (CVS_BACKUPROOT)\<archive_dirname>\yyyymmddhhmmss.zip 
  1291.  
  1292.       where 
  1293.         -  <archive_dirname> is the name of the archive directory 
  1294.         -  yyyymmddhhmmss represents the current date and time of the backup 
  1295.  
  1296.       Example: 
  1297.            d:\netlabs.bak\odin32\19990515172509.zip 
  1298.  
  1299.  
  1300. ΓòÉΓòÉΓòÉ 1.5.8.10. List current archives ΓòÉΓòÉΓòÉ
  1301.  
  1302. Execute 
  1303.  
  1304.       cvsenv $LIST 
  1305.  
  1306.  within a shell in order to display a list of all currently defined archives. 
  1307.  For each archive a status is being displayed, wether this archive is public 
  1308.  (e.g. all have read access) or it is private (read access restricted by a 
  1309.  readers list). 
  1310.  
  1311.  Note: 
  1312.  
  1313.      You can abbreviate the command name. It depends on the command, how many 
  1314.       letters are required for this command. Execute 
  1315.            cvsenv /? 
  1316.       in order to get more information on the command names and the valid 
  1317.       abbreviations. 
  1318.  
  1319.  
  1320. ΓòÉΓòÉΓòÉ 1.5.8.11. Clear working directory ΓòÉΓòÉΓòÉ
  1321.  
  1322. Execute 
  1323.  
  1324.       cvsenv [archive_dirname] $CLEARWORK 
  1325.  
  1326.  within a shell in order to clear a working directory for an existing CVS 
  1327.  archive. 
  1328.  
  1329.  Warning: 
  1330.  
  1331.      This call deletes the contents of the working directory WITHOUT ANY 
  1332.       SECURITY PROMPT ! Make sure that you have committed all changes to the 
  1333.       archive before doing so. 
  1334.  
  1335.  Note: 
  1336.  
  1337.      The specification of archive_dirname is optional, if you have already 
  1338.       setup the environment with cvsenv archive_dirname in that shell before. 
  1339.      You can abbreviate the command name. It depends on the command, how many 
  1340.       letters are required for this command. Execute 
  1341.            cvsenv /? 
  1342.       in order to get more information on the command names and the valid 
  1343.       abbreviations. 
  1344.  
  1345.  
  1346. ΓòÉΓòÉΓòÉ 1.5.8.12. Generate a changelog ΓòÉΓòÉΓòÉ
  1347.  
  1348. Execute 
  1349.  
  1350.       cvsenv [archive_dirname] $GENLOG [outputfile] 
  1351.  
  1352.  within a shell in order to create or to continue a changelog for an existing 
  1353.  CVS archive. 
  1354.  
  1355.  Note: 
  1356.  
  1357.      You can abbreviate the command name. It depends on the command, how many 
  1358.       letters are required for this command. Execute 
  1359.            cvsenv /? 
  1360.       in order to get more information on the command names and the valid 
  1361.       abbreviations. 
  1362.      The default output file is changelog.txt in the current directory. 
  1363.      The filename for the output file may not contain blanks. 
  1364.      Do not modify the first lines of the output file, because they are read 
  1365.       the next time in order to determine the time range for the cvs log 
  1366.       command. 
  1367.      The working directory is updated to the current contents of the archive. 
  1368.       This is required in order to get a correct output from the cvs log 
  1369.       command. 
  1370.      Configure the full names of the archive writers in the the fullnames list 
  1371.       file, otherwise only the userids are included in the changelog. 
  1372.  
  1373.  See also 
  1374.  
  1375.      Generating a changelog 
  1376.      The fullnames list file 
  1377.      samples\fullnames.lst 
  1378.  
  1379.  
  1380. ΓòÉΓòÉΓòÉ 1.5.8.13. Configure CVS service ΓòÉΓòÉΓòÉ
  1381.  
  1382. Execute 
  1383.  
  1384.       cvsenv $CONFIG 
  1385.  
  1386.  within a shell in order to modify your TCP/IP configuration to support and 
  1387.  autostart the CVS service. 
  1388.  
  1389.  Warning: 
  1390.  
  1391.      You need to use this command, whenever you modify the Autostart section 
  1392.       within the TCP/IP configuration program, because this program will 
  1393.       discard any information from %etc%\inetd.lst about services not coming 
  1394.       with the TCP/IP software itself ! OTHERWISE YOUR CVS SERVICE WILL BE 
  1395.       INACTIVE ! 
  1396.  
  1397.  Note: 
  1398.  
  1399.      You can abbreviate the command name. It depends on the command, how many 
  1400.       letters are required for this command. Execute 
  1401.            cvsenv /? 
  1402.       in order to get more information on the command names and the valid 
  1403.       abbreviations. 
  1404.      After having added new archives or deleted obsolete ones, run this 
  1405.       command update the current CVS service program. 
  1406.  
  1407.  See also 
  1408.  
  1409.      Configuring TCP/IP and CVS service 
  1410.      Modified files 
  1411.  
  1412.  
  1413. ΓòÉΓòÉΓòÉ 1.5.8.14. Change to the working directory of an archive ΓòÉΓòÉΓòÉ
  1414.  
  1415. Execute 
  1416.  
  1417.       cvsenv $WORK 
  1418.  
  1419.  within a shell in order to change to the root of the working directory of the 
  1420.  current archive. This is identical with executing 
  1421.  
  1422.  
  1423.       cvsenv archive_dirname 
  1424.  
  1425.  with the name of the current archive. 
  1426.  
  1427.  Note: 
  1428.  
  1429.      You can abbreviate the command name. It depends on the command, how many 
  1430.       letters are required for this command. Execute 
  1431.            cvsenv /? 
  1432.       in order to get more information on the command names and the valid 
  1433.       abbreviations. 
  1434.  
  1435.  See also 
  1436.  
  1437.      Change to the tree root of an archive 
  1438.      Change to the NOSAADM program directory 
  1439.  
  1440.  
  1441. ΓòÉΓòÉΓòÉ 1.5.8.15. Change to the tree root of an archive ΓòÉΓòÉΓòÉ
  1442.  
  1443. Execute 
  1444.  
  1445.       cvsenv $ARCHIVE 
  1446.  
  1447.  within a shell in order to change to the root of an archive directory tree of 
  1448.  the current project archive. There you might want to check the files in the 
  1449.  archive administrative database in the directory CVSROOT, for example the 
  1450.  passwd file. 
  1451.  
  1452.  Note: 
  1453.  
  1454.      You can abbreviate the command name. It depends on the command, how many 
  1455.       letters are required for this command. Execute 
  1456.            cvsenv /? 
  1457.       in order to get more information on the command names and the valid 
  1458.       abbreviations. 
  1459.  
  1460.  See also 
  1461.  
  1462.      Change to the working directory of an archive 
  1463.      Change to the NOSAADM program directory 
  1464.      Using the NOSA security 
  1465.      Security levels 
  1466.  
  1467.  
  1468. ΓòÉΓòÉΓòÉ 1.5.8.16. Change to the NOSAADM program directory ΓòÉΓòÉΓòÉ
  1469.  
  1470. Execute 
  1471.  
  1472.       cvsenv $BIN 
  1473.  
  1474.  within a shell in order to change to the program directory of the OS/2 Netlabs 
  1475.  Open Source Archive Administrator. There you want might to check the current 
  1476.  CVS service program, which is to be updated by the config command of cvsenv, 
  1477.  or the fullnames list file, which is being used to generate a changelog. 
  1478.  
  1479.  Note: 
  1480.  
  1481.      You can abbreviate the command name. It depends on the command, how many 
  1482.       letters are required for this command. Execute 
  1483.            cvsenv /? 
  1484.       in order to get more information on the command names and the valid 
  1485.       abbreviations. 
  1486.  
  1487.  See also 
  1488.  
  1489.      Change to the working directory of an archive 
  1490.      Change to the tree root of an archive 
  1491.  
  1492.  
  1493. ΓòÉΓòÉΓòÉ 1.5.9. Generating a changelog ΓòÉΓòÉΓòÉ
  1494.  
  1495. The OS/2 Netlabs Open Source Archive Administrator can create a changelog out 
  1496. of the cvs log output. This is done for all files within the archive either 
  1497. from the begin or the archive or from the last point of time, when the 
  1498. changelog file has been written, up to the current point of time. 
  1499.  
  1500. Every time, when an existing changelog file is extended, the new entries are 
  1501. prepended to the beginning of the old file. This way you can automatically 
  1502. extend an existing changelog continuously by any scheduler. 
  1503.  
  1504. Configure the full names of the archive writers in the the fullnames list file, 
  1505. so that not only the userids appear in the changelog. 
  1506.  
  1507. See also 
  1508.  
  1509.      Generate a changelog 
  1510.      The fullnames list file 
  1511.      samples\fullnames.lst 
  1512.  
  1513.  
  1514. ΓòÉΓòÉΓòÉ 1.5.9.1. The fullnames list file ΓòÉΓòÉΓòÉ
  1515.  
  1516. The OS/2 Netlabs Open Source Archive Administrator can only determine the 
  1517. userids of the writers out of the CVS log output. If you want to have the full 
  1518. usernames (plus the email adresses) within the changelog instead, add this 
  1519. information to the file fullnames.lst in the program directory of the OS/2 
  1520. Netlabs Open Source Archive Administrator. 
  1521.  
  1522. Each line of the file contains: 
  1523.  
  1524.      the userid 
  1525.      the fullname (in whatever format you like, e.g. with email address) 
  1526.  
  1527.  Note: 
  1528.  
  1529.      If a userid is not contained in this file, the plain userid is used 
  1530.       within the changelog instead of the fullname. 
  1531.      You can find a sample fullnames.lst file in the samples.lst subdirectory 
  1532.       within the OS/2 Netlabs Open Source Archive Administrator program 
  1533.       directory. Use the $BIN command of cvsenv in order to quickly change to 
  1534.       this directory. 
  1535.      all spaces between the userid and the fullname are discarded, so that you 
  1536.       can start all fullnames in the same column. 
  1537.  
  1538.  See the sample fullnames list file 
  1539.  
  1540.      samples\fullnames.lst 
  1541.  
  1542.  
  1543. ΓòÉΓòÉΓòÉ 1.5.9.2. samples\fullnames.lst ΓòÉΓòÉΓòÉ
  1544.  
  1545. This is the sample fullnames list file: 
  1546.  
  1547. ktk        Adrian Gschwend <ktk@netlabs.org>
  1548. cla        Christian Langanke <C.Langanke@TeamOS2.DE>
  1549.  
  1550.  
  1551. ΓòÉΓòÉΓòÉ 1.5.10. Using the administrator package locally with WPS ΓòÉΓòÉΓòÉ
  1552.  
  1553. While you mostly will access a CVS server via telnet and therefore cannot 
  1554. access the admin package via Workplace Shell folders and objects, you may test 
  1555. the admin package also on a machine, that you have local access to. There you 
  1556. can use the The OS/2 Netlabs Open Source Archive Administrator folder for some 
  1557. operation as well. 
  1558.  
  1559. Select one of the following topics: 
  1560.  
  1561.      Refresh the administrator folder 
  1562.      Create new project archive 
  1563.  
  1564.  
  1565. ΓòÉΓòÉΓòÉ 1.5.10.1. Refresh the administrator folder ΓòÉΓòÉΓòÉ
  1566.  
  1567. In order to refresh the The OS/2 Netlabs Open Source Archive Administrator 
  1568. folder after having created or deleted an archive, perform the following steps: 
  1569.  
  1570.      open the OS/2 Netlabs Open Source Archive Administrator folder 
  1571.      execute the icon 
  1572.            Refresh this folder 
  1573.  
  1574.  See also 
  1575.  
  1576.      Create new project archive 
  1577.  
  1578.  
  1579. ΓòÉΓòÉΓòÉ 1.5.10.2. Create new project archive ΓòÉΓòÉΓòÉ
  1580.  
  1581. In order to create a new archive, perform the following steps: 
  1582.  
  1583.      open the OS/2 Netlabs Open Source Archive Administrator folder 
  1584.      execute the icon 
  1585.            Create new project archive 
  1586.      specify the name of the archive directory (not the archive name, which 
  1587.       may be different !). 
  1588.  
  1589.  Warning: 
  1590.  
  1591.      With the current version of the OS/2 Netlabs Open Source Archive 
  1592.       Administrator, the name of an archive directory MAY NOT CONTAIN BLANKS 
  1593.       !!! 
  1594.      The name of the base directory of an archive may not start with a ! or ?. 
  1595.  
  1596.  See also 
  1597.  
  1598.      Refresh this folder 
  1599.  
  1600.  
  1601. ΓòÉΓòÉΓòÉ 1.6. How can I ... ? ΓòÉΓòÉΓòÉ
  1602.  
  1603. Select one of the following topics: 
  1604.  
  1605.      How can I solve the 'Too many open files' problem ? 
  1606.      How can I secure an archive ? 
  1607.      How can I create a new archive ? 
  1608.      How can I add a new user to all archives  ? 
  1609.  
  1610.  
  1611. ΓòÉΓòÉΓòÉ 1.6.1. How can I solve the 'Too many open files' problem ? ΓòÉΓòÉΓòÉ
  1612.  
  1613. If CVS displays the message "To many open files", you must increase the default 
  1614. file handle limit of the EMX Runtime. 
  1615.  
  1616. In order to do so, add the following environment variable to your CONFIG.SYS: 
  1617.  
  1618.       SET EMXOPT=-c -n -h1024 
  1619.  
  1620.  where 
  1621.  
  1622.  -c        disables core dumps caused by signals and exceptions (they are only 
  1623.            really useful if you use debug versions of a software). 
  1624.  -n        Suppress popups for exceptions.  As emx.dll displays an appropriate 
  1625.            error message, popups are not required. 
  1626.  -h1024    Set OS/2 file handle limit for CVS (and other EMX based programs) 
  1627.            to 1024, thus eliminating your current problem. The number must be 
  1628.            between 10 and 65536, possibly CVS will also run with a smaller 
  1629.            value. 
  1630.  
  1631.  See also the file doc\emxrt.doc of the EMX Runtime for further details on 
  1632.  values of the EMXOPT environment variable. 
  1633.  
  1634.  
  1635. ΓòÉΓòÉΓòÉ 1.6.2. How can I create a new archive ? ΓòÉΓòÉΓòÉ
  1636.  
  1637. In order to create a new archive, you have to perform the following actions: 
  1638.  
  1639.      initialize the new archive. If it already exists, and you want to replace 
  1640.       an existing archive, reinitialize the existing archive instead. 
  1641.      import the existing source, if any. 
  1642.      secure the archive. See section 
  1643.            Modified files in order to find out how your archive is secured. 
  1644.  
  1645.  
  1646. ΓòÉΓòÉΓòÉ 1.6.3. How can I secure an archive ? ΓòÉΓòÉΓòÉ
  1647.  
  1648. See sections 
  1649.  
  1650.       Using the NOSA security 
  1651.       Security levels 
  1652.       Secure archive 
  1653.  
  1654.  for more information on how to implement access restrictions to an existing 
  1655.  archive. 
  1656.  
  1657.  
  1658. ΓòÉΓòÉΓòÉ 1.6.4. How can I add a new user to all archives  ? ΓòÉΓòÉΓòÉ
  1659.  
  1660. In order to add a new user or change an existing user to/in all archives at 
  1661. once, simply do not use cswps to maintain the CVSROOT\passwd file. If you would 
  1662. use cvspw (coming with CVS), you would have to make either 
  1663.  
  1664.      the change to all archives one after another or 
  1665.      make the change to one archive and then distibute the resulting 
  1666.       CVSROOT\passwd file to all archive trees. 
  1667.  
  1668.  Instead, use the userid/password synchronization program nosapw to let the 
  1669.  OS/2 Netlabs Open Source Archive Administrator do the distribution job. For 
  1670.  that, a main passwd file is being kept in the program directory of the OS/2 
  1671.  Netlabs Open Source Archive Administrator. If this changes during a nosapw 
  1672.  operation, it is distributed automatically to all archive trees. 
  1673.  
  1674.  Note: 
  1675.  
  1676.      execute nosapw without parameters to get a brief online help 
  1677.  
  1678.  
  1679. ΓòÉΓòÉΓòÉ 1.7. Limitations ΓòÉΓòÉΓòÉ
  1680.  
  1681. The following limitations apply to the current version of OS/2 Netlabs Open 
  1682. Source Archive Administrator: 
  1683.  
  1684.      The name of the base directory of an archive may not start with a ! or ?. 
  1685.  
  1686.      directory names of and within CVS archives may currently not include 
  1687.       blanks. However this restriction does not exist for filenames. 
  1688.  
  1689.      output filenames for changelogs may not contain blanks. 
  1690.  
  1691.      This packages is available only in english. This is due to the reason, 
  1692.       that programmers mostly understand english and that development tools, 
  1693.       such as the required Concurrent Versions System (CVS) are also only 
  1694.       available in english. 
  1695.  
  1696.      When users import new directories, they will not be able to add files to 
  1697.       it, because this requires to add the directory to CVSROOT\writeinfo by 
  1698.       the administrator. 
  1699.  
  1700.  
  1701. ΓòÉΓòÉΓòÉ 1.8. Revision history ΓòÉΓòÉΓòÉ
  1702.  
  1703. Select one of the following topics: 
  1704.  
  1705.      file_id.diz 
  1706.      Version 1.07 
  1707.      Version 1.06 
  1708.      Version 1.05 
  1709.      Version 1.04 
  1710.  
  1711.  
  1712. ΓòÉΓòÉΓòÉ 1.8.1. file_id.diz ΓòÉΓòÉΓòÉ
  1713.  
  1714. (v1.07) NOSA Administrator - FREEWARE
  1715. The "OS/2 Netlabs Open Source Archive
  1716. Administrator" enables you to setup CVS
  1717. archives with a handful of batch commands.
  1718. NOSAADM takes care of setup of CVS,
  1719. initializing new archives, importing zip
  1720. files, adding keyword lines ($Id$) to all
  1721. known file types and adding security.
  1722. NOSAADM homepage: www.netlabs.org/nosa
  1723. Author: C.Langanke@TeamOS2.de
  1724.  
  1725.  
  1726. ΓòÉΓòÉΓòÉ 1.8.2. Version 1.07 ΓòÉΓòÉΓòÉ
  1727.  
  1728. New: 
  1729.  
  1730.      added new sections to this book about the EMX Runtime, wich is a 
  1731.       prerequisite for the Concurrent Versions System (CVS). 
  1732.  
  1733.       See 
  1734.  
  1735.         -  EMX Runtime 
  1736.         -  Prerequisites 
  1737.         -  How can I solve the 'Too many open files' problem ? 
  1738.  
  1739.      You do not longer need to write the cvsenv commands in uppercase. More, 
  1740.       you can use abbreviations, mostly with only one letter behind the dollar 
  1741.       sign (e.g. $L or $list instead odf $LIST). 
  1742.       Take care though, where two commands start with the same letter: in order 
  1743.       to distinct between such commands, you may have to specify more than one 
  1744.       letter of the command name. Execute 
  1745.  
  1746.            cvsenv /? 
  1747.  
  1748.       in order to get an overview of all commands. 
  1749.  
  1750.  Fixed: 
  1751.  
  1752.      The $COMMENT command now queries the old comment of the project. 
  1753.  
  1754.      The OS/2 Netlabs Open Source Archive Administrator can now use also a 
  1755.       project definition not containing a comment. Previously, such project was 
  1756.       simply ignored. 
  1757.  
  1758.      when creating a backup from an archive, directories are now also stored 
  1759.       within an archive (removed switch -D). 
  1760.  
  1761.      fixed a bug in the $INIT command. In some cases you needed to 
  1762.       (re)initialize a new archive twice. 
  1763.  
  1764.      The CVS service program is now deleted, if you run the $CONFIG command 
  1765.       and no archive is present. 
  1766.  
  1767.      The CVS service program from now on is written as a plain batch file. 
  1768.       (REXX seems to have a problem with literals longer than 256 chars :-( ). 
  1769.       Doing this the current limit for the commandline of the CVS server is 
  1770.       1000 characters (either implied by CVS.EXE or CMD.EXE), wich leads to a 
  1771.       practical limit of 15 to 25 projects per server. 
  1772.  
  1773.  
  1774. ΓòÉΓòÉΓòÉ 1.8.3. Version 1.06 ΓòÉΓòÉΓòÉ
  1775.  
  1776. New: 
  1777.  
  1778.      added new sections to this book about configuration of TCP/IP and the CVS 
  1779.       service. See 
  1780.  
  1781.         -  Configuring TCP/IP and CVS service 
  1782.         -  Modified files 
  1783.  
  1784.       Especially new is that the following files are generated during the 
  1785.       configuration: 
  1786.  
  1787.         -  archives.lst 
  1788.         -  private.lst 
  1789.  
  1790.      added a new cvsenv command for setting a comment for an archive on the 
  1791.       commandline: 
  1792.  
  1793.         -  $COMMENT - Edit an archive comment 
  1794.  
  1795.       Archive comments are being written either to the private.lst or the 
  1796.       private.lst (depending on the privacy status of the archive), when you 
  1797.       run the config command. 
  1798.  
  1799.      the installation program now also prompts for the hsotname of the OS/2 
  1800.       Netlabs Open Source Archive server. This hostname is being written into 
  1801.       archives.lst and/or private.lst, which in turn are being used by the OS/2 
  1802.       Netlabs Open Source Archive Client. 
  1803.  
  1804.      added a new cvsenv command for listing the currently defined archives: on 
  1805.       the commandline: 
  1806.  
  1807.         -  $LIST - List current archives 
  1808.  
  1809.      added a new cvsenv command for restricting an archive to private access 
  1810.       on the commandline: 
  1811.  
  1812.         -  $PRIVATE - restrict an archive to private access 
  1813.  
  1814.      Added the userid/password synchronization program in order to have an 
  1815.       easy way to set up the users for all archives across one server. Just use 
  1816.       nosapw instead ov cvspw, and all CVSROOT\passwd files are kept in sync. 
  1817.  
  1818.       See also 
  1819.  
  1820.         -  How can I add a new user to all archives  ? 
  1821.  
  1822.      added two new cvsenv commands for easier change between directories on 
  1823.       the commandline: 
  1824.  
  1825.         -  $WORK - Change to the working directory of an archive 
  1826.         -  $ARCHIVE - Change to the tree root of an archive 
  1827.         -  $BIN - Change to the NOSAADM program directory 
  1828.  
  1829.      removed the obsolete cvsenv command $RECONFIG for reconfiguration of the 
  1830.       CVS service. This is not longer required, since cvsenv now uses a 
  1831.       separate service program to maintain the list of hosted archives. 
  1832.  
  1833.       See also 
  1834.  
  1835.         -  Configuring TCP/IP and CVS service 
  1836.         -  Configure CVS service 
  1837.  
  1838.      Added contents to pages 
  1839.  
  1840.         -  OS/2 Netlabs Open Source Archive Administrator 
  1841.         -  Overview 
  1842.  
  1843.  Fixed: 
  1844.  
  1845.      fixed several bugs in the program fo generating a changelog. 
  1846.  
  1847.      fixed a bug in the security program, preventing the correct determination 
  1848.       of access rights, if the only directories in CVSROOT\writeinfo are / and 
  1849.       CVSROOT. 
  1850.  
  1851.      added information about a limitation: The name of the base directory of 
  1852.       an archive may not start with a ! or ?. 
  1853.  
  1854.  
  1855. ΓòÉΓòÉΓòÉ 1.8.4. Version 1.05 ΓòÉΓòÉΓòÉ
  1856.  
  1857. New: 
  1858.  
  1859.      enhanced the security program: 
  1860.       CVSROOT\writeinfo does not longer need to contain all directories of the 
  1861.       archive. If new directories are being created in that archive, they 
  1862.       implicitely inherit the access rights from its parent directory. 
  1863.  
  1864.      The specification of archive_dirname is now optional for most cvsenv 
  1865.       commands, if you have setup the environment with 
  1866.  
  1867.            cvsenv archive_dirname 
  1868.  
  1869.       before. 
  1870.  
  1871.      implemented a new cvsenv command for generating a changelog. 
  1872.  
  1873.      added a cvswrappers file for the  initialization of a new archive. This 
  1874.       file implements wrappers, that disables keyword substitution for all 
  1875.       sorts of binary files. 
  1876.  
  1877.      fixed a bug in this file: 
  1878.       replaced all cvswps with cvsenv (as it should be). 
  1879.  
  1880.      enhancements/modifications to this book 
  1881.  
  1882.         -  added sections to the How can I ... ? section. 
  1883.         -  rearranged the Usage section: Security comes first ! 
  1884.         -  reworked all security sections in the Usage section. Please read 
  1885.            them ! 
  1886.  
  1887.      Implemented a new cvsenv command for reconfiguration of the CVS service, 
  1888.       which rewrites the CVS information in the %etc%\inetd.lst with the actual 
  1889.       existing archives. 
  1890.  
  1891.  Fixed: 
  1892.  
  1893.      fixed an error within the configuration of the CVS service: 
  1894.       in certain situations tcpstart.cmd could not be found. 
  1895.  
  1896.  
  1897. ΓòÉΓòÉΓòÉ 1.8.5. Version 1.04 ΓòÉΓòÉΓòÉ
  1898.  
  1899. First public release 
  1900.  
  1901.  
  1902. ΓòÉΓòÉΓòÉ 1.9. Trademarks ΓòÉΓòÉΓòÉ
  1903.  
  1904. The following trademarks are used in this online help file: 
  1905.  
  1906.      OS/2 is a trademark of IBM Corporation. 
  1907.  
  1908.  
  1909. ΓòÉΓòÉΓòÉ 1.10. Credits ΓòÉΓòÉΓòÉ
  1910.  
  1911. Select one of the following topics: 
  1912.  
  1913.      General credits 
  1914.  
  1915.  
  1916. ΓòÉΓòÉΓòÉ 1.10.1. General credits ΓòÉΓòÉΓòÉ
  1917.  
  1918. Credits go to: 
  1919.  
  1920.      all people having helped the development of this program. 
  1921.  
  1922.      all developers, who share and who will share their code through the OS/2 
  1923.       Netlabs Open Source Archive. You all help the current and wannabe 
  1924.       developers of the OS/2 community building better code, participating 
  1925.       within internet projects and bringing OS/2 forward with new programs, 
  1926.       that we all need. 
  1927.  
  1928.      all developers being ivolved in making 
  1929.  
  1930.         -  Concurrent Versions System (CVS) 
  1931.         -  Info-Zip 
  1932.  
  1933.       Without these programs, the OS/2 Netlabs Open Source Archive would not 
  1934.       have been possible. 
  1935.  
  1936.