| 1 | 1. Install either Debian testing (or stable, if it's new enough, but |
| 2 | see the note about sbuild below) or the latest Ubuntu release. |
| 3 | The build server must be installed with free space in an LVM |
| 4 | volume group. The build chroots consume 4GB each. |
| 5 | |
| 6 | 2. Install debathena-login as per the the instructions in |
| 7 | http://debathena.mit.edu/install. |
| 8 | |
| 9 | 3. apt-key add |
| 10 | /afs/sipb.mit.edu/project/debathena/apt/debathena-archive-keyring.asc |
| 11 | |
| 12 | 4. Install the packages listed in scripts/build-server/packages |
| 13 | (using "aptitude install"). |
| 14 | |
| 15 | Note that currently the build system uses the latest version of |
| 16 | sbuild, so if you have not installed Debian testing, you'll need |
| 17 | to set up apt pinning to grab sbuild from there. See the |
| 18 | apt_preferences man page. You'll also need to grab schroot from |
| 19 | Debian experimental. |
| 20 | |
| 21 | 5. Install the aufs-modules-2.6-amd64 package. |
| 22 | |
| 23 | 6. Append to /etc/approx/approx.conf the contents of |
| 24 | scripts/build-server/approx.conf.tail. |
| 25 | Run: /etc/init.d/approx restart |
| 26 | |
| 27 | 7. Apply scripts/build-server/mount-defaults.patch and |
| 28 | scripts/build-server/pam-schroot.patch. |
| 29 | |
| 30 | 8. For each supported DIST (see scripts/debian-versions.sh) run: |
| 31 | |
| 32 | scripts/build-server/make-chroot DIST i386 |
| 33 | scripts/build-server/make-chroot DIST amd64 |
| 34 | |
| 35 | Example: scripts/build-server/make-chroot intrepid i386 |
| 36 | 9. Create a local account for builder with: |
| 37 | |
| 38 | adduser --uid 1047 --disabled-password builder |
| 39 | |
| 40 | Make the home directory mode 700. Install a |
| 41 | daemon/linux-build-10.mit.edu keytab in the home directory as |
| 42 | "keytab". Install a copy of the secret repository-signing key |
| 43 | (debathena@mit.edu) in the home directory's keyring with |
| 44 | something like: |
| 45 | |
| 46 | kinit builder |
| 47 | gpg --export-secret-keys debathena@mit.edu | \ |
| 48 | ssh -l builder machinename gpg --import |
| 49 | |
| 50 | Create a file named .sbuildrc in builder's homedir containing: |
| 51 | |
| 52 | $mailto = undef; |
| 53 | $log_dir = '/tmp/sbuild-logs'; |
| 54 | $maintainer_name = 'Debathena Project <debathena@mit.edu>'; |
| 55 | $force_orig_source = 1; |
| 56 | $sbuild_mode = "user"; |
| 57 | 1; |
| 58 | |
| 59 | Create a file named .ssh/config in builder's homedir containing: |
| 60 | |
| 61 | Host svn.mit.edu |
| 62 | User debuildsvn |
| 63 | |
| 64 | Add builder to the sbuild group in /etc/group. |
| 65 | |
| 66 | Copy scripts/build-server/autodebathenify to builder's homedir. |
| 67 | Create a file named autodebathenify.config in builder's homedir |
| 68 | containing: |
| 69 | error_addr=debathena-root@mit.edu |
| 70 | scripts_dir=/mit/debathena/bin |
| 71 | build_dir=/mit/debathena/packages/third |
| 72 | packages="lprng openafs" |
| 73 | export DEBATHENA_APT=/mit/debathena/apt |
| 74 | |
| 75 | Copy scripts/build-server/autodebathenify.cron to builder's |
| 76 | homedir and install it with "crontab autodebathenify.cron". |
| 77 | |
| 78 | Copy scripts/build-server/autolivebuilder to builder's |
| 79 | homedir. Create a file called autolivebuilder.config in builder's |
| 80 | homedir containing: |
| 81 | |
| 82 | error_addr=debathena-root@mit.edu |
| 83 | release_version='9.04' |
| 84 | release='jaunty' |
| 85 | arch='i386' |
| 86 | mirror='mirrors.mit.edu' |
| 87 | gpg_opts=("-u" "0D8A9E8F") |
| 88 | live_dir=/net/sipb-isilon-sc.mit.edu/ifs/mirror/sipb/debathena/livecd |
| 89 | |
| 90 | Create a file named .devscripts in builder's homedir containing: |
| 91 | |
| 92 | DEBUILD_DPKG_BUILDPACKAGE_OPTS="-sa -us -uc -i -I.svn" |
| 93 | |
| 94 | In builder's homedir, append to .bashrc: |
| 95 | |
| 96 | add debathena |
| 97 | export PATH=$PATH:~/bin |
| 98 | export DEBATHENA_APT=/mit/debathena/apt |
| 99 | |
| 100 | |