Re: updating brat

From: Christian Holm Christensen (cholm@hehi03.nbi.dk)
Date: Tue Aug 22 2000 - 08:43:07 EDT

  • Next message: hagel@comp.tamu.edu: "Re: updating brat"

    To: brahms-dev-l@bnl.gov, bearden@hehi03.nbi.dk
    Subject: Re: updating brat
    In-Reply-To: <39A25911.1B975A94@hehi03.nbi.dk>
    References: <39A25911.1B975A94@hehi03.nbi.dk>
    X-Mailer: Mew version 1.94 on Emacs 20.3 / Mule 4.0 (HANANOEN)
    ----
    Hi Ian,
    
    On Tue, 22 Aug 2000 12:42:25 +0200
    "I. G. Bearden" <bearden@hehi03.nbi.dk> wrote
    concerning ": updating brat":
    > I am trying to do the following:
    > cvs update brat
    > I get the error message
    > >cvs update: Sorry, you don't have read/write access to the history file
    > 
    > >cvs [update aborted]: /afs/rhic/brahms/BRAHMS_CVS/CVSROOT/history:
    > Permission denied
    > I seem to recall having done this in the past without this particular
    > problem (which also occurs if
    > I try to do a checkout).  Has the protection scheme changed, or have I
    > made (a series of...) dumb mistake.
    
    Hrmm, I don't really want to answer that last question, since it may
    prove fatal to my health. Anyway, here's what you need to do, and why:
    
    The CVS Repostory is on the AFS for rhic. In general, one doesn't need
    special priviliges to read from a AFS volume, such as
    /afs/rhic/brahms/BRAHMS_CVS/brat, while others are more restricted,
    like /afs/cern.ch/user/b/bearden. However, _writting_ on a AFS volume
    is a serious matter, and _must_ be subject to restrictions. Therefore
    one needs special priviliges to write to
    /afs/rhic/brahms/BRAHMS_CVS/brat. 
    
    "But I'm not writting to the CVS respository, I'm reading" I hear you
    say. Well, not exactly. When you update your working copy from CVS,
    CVS creates lock files, with the user priviliges, to insure that noone
    can commit during your update (which could break your code!), hence
    you need write permissions in the repository directory! 
    
    "Ok, so how do I get those write permissions?". You obtain your AFS
    token with the command "klog". One needs to obtain seperatetokens for
    each volume (cern.ch, rhic) one wants them for. Since the system
    default volume (at NBI anyway) is cern.ch, you need to tell klog that
    you want the token for volume rhic. Some times you also need to use a
    special user name, if the AFS user name isn't the same as the local
    name. All in all it looks like 
    
      prompt% klog -cell <volume> -principal <user>
    
    In your case
    
      prompt% klog -cell rhic 
    
    after that, you should have the needd token. check it with "tokens"
    command. You can also check the access rightd on any AFS directory
    with "fs listacl <dir>". 
    
    Please note, that on the hehi account, there's a script that I use for
    updating BRAT. You still need the AFS token (no way around that). Just
    login as "hehi" and get your token, and then run the script
    "update_brat.csh":
    
      prompt% klog -cell rhic -pr bearden
      Password:
      prompt% update_brat.csh <vers> [<vers sym> [<root vers> [<cvs tag>]]]
    
    where <vers> is the version number (like 1.8.2), <vers sym> is
    one of "pro", "new", or "old", <root vers> is the ROOT version for 
    compiling BRAT, and can a real version number (e.g., 2.25.02 (not out
    yet)), or a symbolic version, like "pro", "new", or "old". Finally
    <cvs tag> is the version tag from the repository (e.g., VER-1-8-1). 
    
    Note, that defaults are:
          <vers sym>     = pro
          <root vers>    = pro
          <cvs tag>      = empty
    
    Note that if you don't specify a CVS tag, you'll get the head of the
    repository, which should be placed in something like 
    <next version>-pre, and with symbol "dev". 
    
    If the script can't find the source files, it'll try to get them from
    the CVS. If it can find the source files, it recompiles it. This is
    useful, since that means you can log on to a Linux machine with AFS
    (say hilux05), run update_brat.csh to get the sources and build for
    Redhat 5.2, then logon to a redhat 6.1 machine (say hilux12), run
    update_brat.csh again to build for the type of Linux box, then log on
    to a Digital Machine and build there, using the script! 
    
    I hope that helps. 
    
    Live long and prosper, 
    
    Christian  -----------------------------------------------------------
    Holm Christensen                             Phone:  (+45) 35 35 96 91 
      Sankt Hansgade 23, 1. th.                  Office: (+45) 353  25 305 
      DK-2200 Copenhagen N                       Web:    www.nbi.dk/~cholm    
      Denmark                                    Email:       cholm@nbi.dk
    



    This archive was generated by hypermail 2b29 : Tue Aug 22 2000 - 08:43:43 EDT