(these are my rough notes, please correct them) [[PageOutline]] == Building == Building is done on zulu.mit.edu, using the builder account. Do not forward your root tickets when ssh'ing to builder@zulu. '''Building a new package that hasn't been built before? Run `gen-packages` in `/mit/debathena/packages`''' 1. '''cd /mit/debathena/packages/''subdir'' ''' * ''subdir'' corresponds to the subdirectories under trunk/debathena in the repository. Note that trunk/athena is also here. 2. '''dasource ''packagename'' ''' * This checks out the latest revision of the package, unpacks it, and builds the source package. 3. '''cd ''packagename'' ''' 4. '''da [-A] sbuildhack ''dsc-file'' ''' * ''dsc-file'' is the `.dsc` file for the current version of the package (created by dasource). [[BR]] * '''da''' essentially runs its arguments for all distributions and architectures that we know about. '''-A''' is used when building an architecture-independent (`Architecture: all`) package. It only builds one architecture for each distribution (currently, amd64). If the da script fails, you will be prompted to continue or give up. It will print a summary of the successful builds when it completes. 5. Verify that the .debs were created in the current directory. Proceeding to '''Uploading''' == Uploading == NOTE: The cwd is assumed to be /mit/debathena/packages/''subdir''/''packagename'' (where the '''Building''' step ended). 1. '''daupload-proposed [-A] ''source-changes'' ''' * ''source-changes'' is the source package's `.changes` file. * Like '''da''', '''daupload''' and friends take '''-A''' if the package is architecture independent * To upload to the -development repository instead, replace '''daupload-proposed''' with '''daupload-dev''' 2. '''dasnapshot''' == Moving between repositories == Packages can be moved between repositories with '''damove'''. This is the normal way in which packages should migrate from -proposed to the production repository. 1. '''damove''' ''destination'' ''source'' ''packagename'' * ''destination'' is the repository you are moving the package '''to'''. Use an empty string (`""`) to indicate the production repository. * ''source'' is the repository you are moving the package '''from'''. * ''packagename'' is the name of the package * '''damove''' will warn you if you accidentally swap the ''desintation'' and ''source'' arguments 2. '''dasnapshot''' == Equivs Packages == NOTE: The equivs packages are all located in `/mit/debathena/packages/meta`. 1. '''cd /mit/debathena/packages/meta/''packagename'' ''' * ''packagename is the name of the package (without the `debathena-` prefix) 2. '''svn update''' * There is no '''dasource''' for equivs packages. 3. '''equivs-build --full ''equivs-file'' ''' * ''equivs-file'' is the name of the `.equivs` file for the package * Errors regarding package signing and (for now) tempfile creation and known and ignorable. 4. '''daupload-equivs-proposed ''source-changes'' ''' * ''source-changes'' is the ~~source package's `.changes` file.~~ No, it's the amd64.changes file * To upload to the -development repository instead, replace '''daupload-equivs-proposed''' with '''daupload-equis-dev''' 5. '''dasnapshot''' 6. When moving the equivs package between repositories, the same '''damove''' syntax is used as with regular packages. == Example == An example, using version 1.18.2 of the package debathena-printing-config, whose source is located at trunk/debathena/config/printing-config 1. cd /mit/debathena/packages/config 2. dasource debathena-printing-config 3. cd debathena-printing-config 4. da -A sbuildhack debathena-printing-config_1.18.2.dsc 5. daupload-proposed -A debathena-printing-config_1.18.2_source.changes 6. dasnapshot 7. (wait for 3 days of testing) 8. damove "" "-proposed" debathena-printing-config 9. dasnapshot == Manual Config == 1. builder@zulu:/mit/debathena/packages/manual-config$ ./make-manual-config 2. builder@zulu:/mit/debathena/packages/manual-config$ ./do-upload 3. Eventually move from proposed to production