summaryrefslogtreecommitdiff
path: root/rt/HOWTO
diff options
context:
space:
mode:
authorivan <ivan>2003-07-15 13:16:32 +0000
committerivan <ivan>2003-07-15 13:16:32 +0000
commit945721f48f74d5cfffef7c7cf3a3d6bc2521f5dd (patch)
treec874aeac27d37fce2e41d64c3347c99527f6e66d /rt/HOWTO
parent160be29a0dc62e79a4fb95d2ab8c0c7e5996760e (diff)
import of rt 3.0.4
Diffstat (limited to 'rt/HOWTO')
-rw-r--r--rt/HOWTO/README14
-rw-r--r--rt/HOWTO/change.txt67
-rw-r--r--rt/HOWTO/release.txt124
-rw-r--r--rt/HOWTO/version-control.txt41
4 files changed, 246 insertions, 0 deletions
diff --git a/rt/HOWTO/README b/rt/HOWTO/README
new file mode 100644
index 000000000..942096b0a
--- /dev/null
+++ b/rt/HOWTO/README
@@ -0,0 +1,14 @@
+Here you'll find plain text documentation of how to handle various
+project procedures. Files contained herein:
+
+change.txt
+ How changes are integrated, including generating and
+ distributing aedist change sets, and updating the CVS repository.
+
+release.txt
+ Steps to go through when releasing a new version of RT.
+
+
+These procedures are based on documentation from the scons project
+as http://www.scons.org/
+
diff --git a/rt/HOWTO/change.txt b/rt/HOWTO/change.txt
new file mode 100644
index 000000000..de316450c
--- /dev/null
+++ b/rt/HOWTO/change.txt
@@ -0,0 +1,67 @@
+Handling a change set:
+
+ -- Start the change:
+
+ aedist -r [if it's a remote submission]
+
+ -or-
+
+ aedb {cnum} [if it's initiated locally]
+
+ -- Normal development cycle:
+
+ aecd -c {cnum}
+ aecp . # Copy the baseline to your working dir
+ # work on your change
+ aenf {new file names}
+
+ aecpu -unch # Remove unchanged files, for faster diffs
+ aeb # Currently does nothing
+ aet # Currently does nothing
+ aed # Diff your change
+ aede # End the change
+
+ -- As the reviewer:
+
+ aerpass {cnum}
+
+ -- As the integrator:
+
+ aeib {cnum}
+ aeb
+ aet
+ aed
+ cd ~ # Get out of the current working directory
+ aeipass
+
+
+
+
+ -- Update the aedist baseline on the web site:
+
+ aedist -s -bl -p rt.2.1 > rt.2.1.ae
+ scp rt.2.1.ae jesse@fsck.com:/home/ftp/pub/rt/devel/rt.2.1.ae
+ rm rt.2.1.ae
+
+ [This will eventually be automated.]
+
+ -- Distribute the change to CVS:
+
+ WARNING. DOES NOT YET WORK
+
+ export CVS_RSH=ssh
+ ae2cvs -n -aegis -p rt.2.1 -c {cnum} -u ~/SCons/scons
+ ae2cvs -X -aegis -p rt.2.1 -c {cnum} -u ~/SCons/scons
+
+ If you need the "ae2cvs" Perl script, you can find a copy
+ checked in to the bin/subdirectory.
+
+ [This may eventually be automated.]
+
+
+
+ -- Grabbing the latest dev sources over ssh
+
+ ssh fsck.com "aedist -s -p rt.2.1 -naa -bl -entire-source" | aedist -r
+
+
diff --git a/rt/HOWTO/release.txt b/rt/HOWTO/release.txt
new file mode 100644
index 000000000..285041c5b
--- /dev/null
+++ b/rt/HOWTO/release.txt
@@ -0,0 +1,124 @@
+Things to do to release a new version of rt:
+
+ Build and test candidate packages
+
+ Read through the README and src/README.txt files for any updates
+
+ Prepare ChangeLog
+
+ date -R the latest release
+
+ should be current if this has been updated as each
+ change went in.
+
+ [ Should be automated ]
+
+
+ TODO: nothing below this line is accurate for RT
+
+ END THE BRANCH
+
+ ae_p rt.2
+ aede {5}
+ aerpass {5}
+ aeib {5}
+ aeb
+ aet
+ aet -reg
+ aed
+ aeipass
+
+ START THE NEW BRANCH
+
+ aenbr -p rt.2 {6}
+ aenc -p rt.2.{6}
+
+ Call it something like, "Initialize the new
+ branch." Cause = internal_enhancement. Exempt
+ it from all tests (*_exempt = true).
+
+ ae_p rt.2.{6}
+
+ aedb 100
+
+ aecd
+
+ # Change the hard-coded package version numbers
+ # in the following files.
+ aecp rttruct debian/changelog rpm/rt.spec
+
+ vi rttruct debian/changelog rpm/rt.spec
+
+ # Optionally, do the same in the following:
+ [optional] aecp HOWTO/change.txt
+ [optional] aecp HOWTO/release.txt
+ [optional] aecp debian/rt.postinst
+
+ [optional] vi HOWTO/change.txt
+ [optional] vi HOWTO/release.txt
+ [optional] vi debian/rt.postinst
+
+ aeb
+
+ aet -reg
+
+ aed
+
+ aede
+
+ etc.
+
+
+ Read through the FAQ for any updates
+
+ Test downloading from the web site download page
+
+
+ In the Bugs Tracker, add a Group for the new release (0.05)
+
+ Announce to the following mailing lists (template below):
+
+ rt-announce@lists.fsck.com
+
+
+ Notify www.cmtoday.com/contribute.html
+
+ [This guy wants an announcement no more frequently than
+ once a month, so save it for a future release if it's
+ been too soon since the previous one.]
+
+ Notify freshmeat.net
+
+ [Wait until the morning so the announcement hits the
+ main freshmeat.net page while people in the U.S. are
+ awake and working]
+
+
+
+
+=======================
+
+Template release announcement:
+
+
+
+Version 2.1.XXX of rt has been released and is available for download
+from the rt web site:
+
+ http://bestpractical.com/rt/
+
+
+
+WHAT'S NEW IN THIS RELEASE?
+
+Version 2.1.XXX of rt contains the following important changes:
+
+ - XXX
+
+For a complete list of changes in version 2.1.XXX, see the CHANGES.txt
+file in the release itself.
+
+
+WHAT IS RT?
+
+ FILL THIS IN
diff --git a/rt/HOWTO/version-control.txt b/rt/HOWTO/version-control.txt
new file mode 100644
index 000000000..06babfdf1
--- /dev/null
+++ b/rt/HOWTO/version-control.txt
@@ -0,0 +1,41 @@
+Using Aegis for RT development
+
+ 1. The main line of RT development will be under the control
+ of the Aegis change management system, as administered by
+ Best Practical Solutions, LLC
+
+ 2. We will use aedist to generate change sets for each change
+ checked in to the main Aegis repository. These change sets will be
+ either distributed by a mailing list or made available via the web,
+ or both.
+
+ 3. Remote developers using Aegis will send aedist output for
+ their changes to rt-patches@bestpractical.com for review and
+ integration.
+
+ 4. The aedist output should be sent to rt-patches@bestpractical.com
+ after the change has completed its local aede, but before aerpass.
+
+ 5. If the change is rejected, the developer can aedeu to reopen
+ the change and fix whatever problems caused the review to not pass.
+
+ 6. A baseline snapshot (aedist -bl) of the main Aegis repository
+ will be generated at least daily and made available via http
+ to provide a central location for synchronizing remote Aegis
+ repositories.
+
+ 7. Changes to the main Aegis repository will also be propagated
+ automatically to the tracking CVS repository.
+
+Using CVS for RT development
+
+ 1. CVS is accessed via anonymous cvs with the following CVSROOT:
+
+ :pserver:anoncvs@cvs.fsck.com:/raid/cvsroot/rt-2-1
+
+ 2. Remote developers using CVS will send patches (cvs -diff
+ output) to rt-patches@bestpractical.com for integration into the
+ main Aegis repository. This allows anonymous CVS access to be used
+ for RT development by developers who are unable to use Aegis.
+
+