dgaudet     97/08/22 21:42:27

  Modified:    .        index.html
  Added:       .        anoncvs.txt binbuild.sh
  Log:
  Adding Marc's anoncvs and binbuild.sh.
  
  Revision  Changes    Path
  1.9       +5 -0      apache-devsite/index.html
  
  Index: index.html
  ===================================================================
  RCS file: /export/home/cvs/apache-devsite/index.html,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- index.html        1997/07/20 13:56:28     1.8
  +++ index.html        1997/08/23 04:42:25     1.9
  @@ -68,6 +68,8 @@
       >distribution kits</A>
       (last modified on <!--#flastmod virtual="how-to-release.html" -->)
      </LI>
  +   <LI>A <a href="binbuild.sh">shell script to build a binary release</a>.
  +   </LI>
      <LI>Record of changes to the
       <A
        HREF="mmn"
  @@ -88,6 +90,9 @@
      <LI>The <A HREF="from-cvs/">latest source tree</A> pulled from the
          CVS repository.  Not guaranteed to do anything, especially not
          compile or work.
  +   </LI>
  +   <LI><a href="anoncvs.txt">Instructions</a>
  +     on using anonymous CVS to access the development repository.
      </LI>
      <LI>A Web-based view of the
       <A
  
  
  
  1.1                  apache-devsite/anoncvs.txt
  
  Index: anoncvs.txt
  ===================================================================
  
  From [EMAIL PROTECTED] Fri Aug 22 20:23:50 1997
  Date: Sun, 17 Aug 1997 12:55:12 -0600 (MDT)
  From: Marc Slemko <[EMAIL PROTECTED]>
  Reply-To: new-httpd@apache.org
  To: TLOSAP <new-httpd@apache.org>
  Subject: how to use anoncvs
  
                            HOW TO USE ANONCVS
  ======================================================================
  
  Developers with commit access to the Apache source tree normally
  use CVS to keep their local copies of the source tree up to date
  automatically.  This is a very useful ability that also allows
  for getting change history of files, diffs between arbitrary 
  versions, etc.  This is also the method used to commit changes 
  to the source tree.
  
  For those who do not have commit access to the source tree, anoncvs
  offers an alternative way to do most of this using a copy of the
  CVS repository.  The big difference is, of course, that you can't
  commit changes using anoncvs.
  
  The first step in using anoncvs is setting your CVSROOT environment 
  variable.  This tells CVS what server to connect to.  Currently
  the only available method on this anoncvs server is pserver; you
  need a reasonably recent CVS client to use it.  An example of 
  setting it from a bourne shell:
  
    [EMAIL PROTECTED]:~$ CVSROOT=:pserver:[EMAIL PROTECTED]:/cvs
    [EMAIL PROTECTED]:~$ export CVSROOT
  
  It is very important that you do not put a trailing "/" on "/cvs".
  
  Once you have set your CVSROOT, you need to login:
  
    [EMAIL PROTECTED]:~$ cvs login
    (Logging in to [EMAIL PROTECTED]:/cvs)
    CVS password: 
  
  You can use anything you like for the password; it does not matter.  
  
  
  To check out the current development tree:
  
    [EMAIL PROTECTED]:~$ cvs checkout apachen
    cvs server: Updating apachen
    U apachen/ABOUT_APACHE
    U apachen/CHANGES
    U apachen/KEYS
    [...]
    U apachen/src/support/suexec.c
    U apachen/src/support/suexec.h
    [EMAIL PROTECTED]:~$ ls apachen
    ABOUT_APACHE    KEYS            README.NT       conf            logs
    CHANGES         LICENSE         cgi-bin         htdocs          src
    CVS             README          cgi-src         icons
  
  To checkout the current 1.2 tree:
  
    [EMAIL PROTECTED]:~$ cvs checkout -rAPACHE_1_2_X apache
  
  After 1.3a1, there was a source tree reorganization which resulted
  in the tree being split into apache and apachen.  apache is everything
  from before the reorganization, apachen is from after.  apachen still
  retains the change histories of the files, however since they are
  in different locations you can not build an apachen tree from 
  before the reorganization.
  
  To update your local tree to the latest version:
  
    [EMAIL PROTECTED]:~$ cvs update -dP apachen
  
  or
  
    [EMAIL PROTECTED]:~/apachen/$ cvs update -dP .
  
  etc.  If you have a branch such as the 1.2 branch checked out, you need
  to use something like:
     
    [EMAIL PROTECTED]:~$ cvs update -rAPACHE_1_2_X -dP apache
  
  While doing any update, you will notice several different status flags, eg.:
  
    P core/buff.c
    P core/conf.h
    RCS file: /export/home/cvs/apachen/src/core/http_core.c,v
    retrieving revision 1.109
    retrieving revision 1.110
    Merging differences between 1.109 and 1.110 into http_core.c
    M core/http_core.c
  
  The P means that the local copy was patched to update it to the 
  current version.  The M means that your local copy was modified,
  but that the changes were merged into your copy successfully.  If
  you see a C that means that there was a conflict in merging 
  the changes and that you need to review the file manually (hint: 
  search for >>>> in the file) to merge the changes.
  
  To obtain a diff of changes between your checked out copy and 
  the source tree at the time you checked it out:
  
    [EMAIL PROTECTED]:~$ cvs diff -u apache
  
  To obtain a diff against the current source tree, be sure to
  do an update before the diff.
  
  The idea of having an anoncvs server is to make it much easier
  for people interested in doing development to have access to the
  CVS tree so they can submit patches against the current source
  tree and can keep their patched version up to date without 
  having to manually merge their patches all the time.
  
  This anoncvs server is updated periodically from the main CVS
  repository, so it will lag a bit behind the current tree.
  
  
  
  
  1.1                  apache-devsite/binbuild.sh
  
  Index: binbuild.sh
  ===================================================================
  
  From [EMAIL PROTECTED] Fri Aug 22 20:25:11 1997
  Date: Sun, 17 Aug 1997 23:12:32 -0600 (MDT)
  From: Marc Slemko <[EMAIL PROTECTED]>
  Reply-To: new-httpd@apache.org
  To: TLOSAP <new-httpd@apache.org>
  Subject: binbuild.sh: script to build binary releases
  
  Pay attention now.  If you have access to build a binary on a particular
  platform, this is the easy way to do it.  Can't guarentee it will be
  right, but it will certainly make my life easier for building binary
  releases.
  
  
  #!/bin/sh 
  #
  # $Id: binbuild.sh,v 1.1 1997/08/23 04:42:25 dgaudet Exp $
  # Marc Slemko ([EMAIL PROTECTED])
  #
  # Script to make Apache binary releases.  The below variables must be
  # set correctly, and both the tarball and the Configuration file that
  # you wish to use must be present in the cwd before running the script
  #
  
  # setup to give them a warning that things didn't finish correctly
  # since I am too lazy to put proper error messages everywhere
  trap 'echo ERROR: abnormal exit, binary release not properly built; exit 1' 0 
1 2 3 15
  
  # release is the release of the Apache version that is being built.
  # It must also be the base name of the tarball and the name of the
  # directory that it is untarred into
  release=apache_1.2.3-dev
  dir=$release
  # conf is the Configuration file that you wish to use to build httpd
  conf=Configuration
  # gzcat should be set to something that will take a .tar.gz as an 
  # argument and send the uncompressed .tar to stdout.  On some systems,
  # it will be zcat
  gzcat=gzcat
  # if md5 exists, it will be used to generate a md5 hash for the
  # generated files.  Full path is necessary.
  md5=/sbin/md5
  
  # ensure proper permissions
  umask 022
  
  echo untarring release tarball
  $gzcat $release.tar.gz | tar xf -
  if [ ! -d $release ] ; then
      echo ERROR: $release directory does not exist after untarring
      exit 1
  fi
  # system is the name of the system used to name both the binary and
  # the generated tarballs.  GuessOS is not used because it gives 
  # particularily nice names but because it is easy
  system=`./$release/src/helpers/GuessOS | sed 's/\//_/g` || exit 1
  
  cp $conf $dir/src/Configuration || exit 1
  cd $dir/src || exit 1
  echo running Configure
  ./Configure || exit 1
  echo attempting to make httpd
  make 2>&1 | tee ../../make.out-$system
  if [ ! -f httpd ] ; then
      echo error: httpd binary not made
      exit 1
  fi
  echo make succeeded, saving the binary and doing a make clean
  mv httpd httpd-$system
  make clean || exit 1
  cd ../.. || exit 1
  
  echo creating tar file
  tar cf - $release > $release-$system.tar || exit 1
  echo creating tar.gz file
  gzip -c $release-$system.tar > $release-$system.tar.gz || exit 1
  echo creating tar.Z file
  compress -c $release-$system.tar > $release-$system.tar.Z || exit 1
  
  if [ ! -f $md5 ] ; then
      echo md5 not found, not generating hashes
  else
      echo generating md5 hashes
      $md5 $release-$system.tar.gz > $release-$system.tar.gz.md5
      $md5 $release-$system.tar.Z > $release-$system.tar.Z.md5
  fi
  
  echo Binary build complete.  Remember to create the proper README
  echo file for the build and sign it if appropriate.
  trap 0 1 2 3 15
  
  
  
  

Reply via email to