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