Changes between Initial Version and Version 1 of AddingOrRebuildingASuite

04/24/12 12:43:08 (11 years ago)



  • AddingOrRebuildingASuite

    v1 v1  
     1This process is rarely performed and the infrastructure for it is 
     2imperfect.  Substitute the name of the new suite for $suite in all 
     3steps below. 
     5  1. Make sure the apt repository is up to date with respect to the 
     6     source tree for the existing dists. Check 
     7 and 
     8 More importantly, make 
     9     sure there is nothing in svn that isn't built. (An easy way to do 
     10     this is running the check-unbuilt-packages script.) 
     12  2. Add the new dist to scripts/ (and svn up into 
     13     the locker).  (It is not necessary to add the new dist to codes 
     14     at this point, but it must be present in the gettag conditional.) 
     15     If you are building an unreleased distribution, add an additional 
     16     ~0.1 tag; if you're rebilding, bump that tag. 
     18  3. Create the new distribution in the apt repository's configuration 
     19     file by editing /mit/debathena/apt/conf/gen-distributions and 
     20     running it with output to the 'distributions' file in the same 
     21     directory.  Create the skeleton of the dist by running 
     22     "dareprepro export" on the build server. (You don't need to do 
     23     this if you're rebuilding.) 
     25  4. Add an appropriate sources.list.d/*/$suite.list entry in 
     26     scripts/build-server. Commit and update 
     27     /mit/debathena/bin/build-server. 
     29  5. On the build server (as root), create a chroot for the new distribution: 
     31     First, check if /usr/share/debootstrap/scripts/$suite exists. 
     32     If not, it may require downloading and installing a 
     33     more recent version of the debootstrap package from the 
     34     -backports dist corresponding to the build server's OS. (You 
     35     presumably don't need to do this if you're rebuilding.) 
     37     You could also just go into that directory and do 
     38     "ln -s gutsy $suite" since it apparently hasn't changed in years. 
     40        /mit/debathena/bin/build-server/make-chroot $suite i386 
     41        /mit/debathena/bin/build-server/make-chroot $suite amd64 
     44  6. Fire up screen, ideally making use of the "-S" option to identify 
     45     your screen session.  e.g. "screen -S joeuser.oneiric_build". 
     47  7. mkdir /mit/debathena/machines/awesome-build-server/stamps.$suite. 
     49  8. cd into a checkout (probably on your local machine) of 
     50     debathena/scripts/build-server/build-all. 
     52  9. Edit Makefile (and check in the edit) so that suite is the new 
     53     distribution and psuite is the previously most recent Debian or 
     54     Ubuntu distribution.  psuite is used to generate the order of 
     55     build-dependencies, so choose the closest distribution.  If you are 
     56     rebuilding, you can set psuite to suite. 
     58  10. cd to /mit/debathena/bin/build-server/build-all, which is a 
     59      totally logical place to run the build from.  Run "make 
     62  11. Run "make -k all". 
     63      You can watch the builds happen in the other windows of the 
     64      screen session.  It's possible to do several builds at once with 
     65      make -j N (except as of 7/2011 this is a bad idea)