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: [email protected]
To: TLOSAP <[email protected]>
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: [email protected]
To: TLOSAP <[email protected]>
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