[23101] in Source-Commits

home help back first fref pref prev next nref lref last post

/svn/athena r22764 - trunk/debathena

daemon@ATHENA.MIT.EDU (ghudson@MIT.EDU)
Thu Feb 21 15:41:49 2008

Date: Thu, 21 Feb 2008 15:41:36 -0500 (EST)
From: ghudson@MIT.EDU
Message-Id: <200802212041.PAA29899@drugstore.mit.edu>
To: source-commits@MIT.EDU
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Author: ghudson
Date: 2008-02-21 15:41:36 -0500 (Thu, 21 Feb 2008)
New Revision: 22764

Modified:
   trunk/debathena/NOTES
Log:
* debathena/NOTES:
  Add overall instructions on bootstrapping an apt repository.
  Need "$interval 0" in approx config on a gutsy build host.
  Fix typo in lvremove instructions.
  Add instructions on setting up a build area.


Modified: trunk/debathena/NOTES
===================================================================
--- trunk/debathena/NOTES	2008-02-21 20:21:40 UTC (rev 22763)
+++ trunk/debathena/NOTES	2008-02-21 20:41:36 UTC (rev 22764)
@@ -89,6 +89,37 @@
 
   <not yet written>
 
+Bootstrapping a build area, build server, and apt repository:
+(Adapted for Athena 10)
+
+  1. Create the package repository (detailed instructions on this
+     pending).  Set the DEBATHENA_APT environment variable to point to
+     the package repository.  Put a copy of the debathena "scripts"
+     subdir in your path.
+
+  2. Create the build area.
+
+  3. Build each equivs package under meta/ using "equivs-build --full
+     *.equivs" and upload each with "daequivsupload *.changes".  This
+     has the side-effect of creating the basic structure of the
+     package repository.
+
+  4. Set up the build server.  The basic structure of the apt
+     repository must work for make-chroot to succeed, so this must
+     happen after step 3.
+
+  5. For each normal Debian package in dependency order, cd into its
+     directory in the build area and run "da sbuildhack *.dsc" and
+     "daupload-release *_source.changes".
+
+     The all-packages script can generate an approximation of the
+     package list in dependency order, but it doesn't work right yet,
+     and ideally it would be possible to do several builds in parallel
+     using a Makefile like the one in scripts/build-server/build-all.
+     Improvements to this machinery are pending.
+
+  6. Build the packages under third (instructions pending).
+
 Setting up a build server:
 (Adapted for Athena 10)
 
@@ -122,10 +153,14 @@
      (This is not necessary for the login system on the main root
      environment, but is for the chroot environments.)
 
-  9. Append to /etc/approx.conf the contents of
-     scripts/build-server/approx.conf.tail.  Change the last line from
-     http://debathena.mit.edu/apt to
-     http://stuff.mit.edu/afs/dev.mit.edu/system/athena10/apt.
+  9. Append to /etc/approx/approx.conf the contents of
+      scripts/build-server/approx.conf.tail.
+     Change the last line from http://debathena.mit.edu/apt to
+      file:///afs/dev.mit.edu/system/athena10/apt
+     Add "$interval 0" above the repository lines (only necessary if
+      the version of approx as reported by "dpkg -l approx" is less
+      than 3.0)
+     Run: /etc/init.d/approx restart
 
   10. Apply scripts/build-server/10mount.patch.
 
@@ -152,4 +187,25 @@
      substituting the name of the volume group for blah and the chroot
      name for chroot.  Example: lvchange -an dink/gutsy-i386-sbuild
 
-  4. Run lvremove -an blah/chrootname
+  4. Run lvremove blah/chrootname
+
+Setting up a build area:
+(Adapted for Athena 10)
+
+  1. Create an empty directory and cd into it.  The canonical build
+     area lives in /afs/dev.mit.edu/project/release/10/build.
+
+  2. Run scripts/gen-packages to create the table of normal Debian
+     packages.
+
+  3. Run scripts/dasource to create subdirs and source packages for
+     each normal Debian package.
+
+  4. Create checkouts of the meta and third directories:
+
+     svn co svn+ssh://svn.mit.edu/athena/trunk/debathena/meta
+     svn co svn+ssh://svn.mit.edu/athena/trunk/debathena/third
+
+     (A couple of subdirectories of debathena/meta are normal Debian
+     packages, so this will create redundant copies of those.  Ignore
+     them; they won't be used.)


home help back first fref pref prev next nref lref last post