Version 6 (modified by jdreed, 13 years ago) (diff) |
---|
(these are my rough notes, please correct them)
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
- cd /mit/debathena/packages/subdir
- subdir corresponds to the subdirectories under trunk/debathena in the repository. Note that trunk/athena is also here.
- dasource packagename
- This checks out the latest revision of the package, unpacks it, and builds the source package.
- cd packagename
- da [-A] sbuildhack dsc-file
- dsc-file is the .dsc file for the current version of the package (created by dasource).
- 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.
- dsc-file is the .dsc file for the current version of the package (created by dasource).
- 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).
- 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
- 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.
- 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
- dasnapshot
Equivs Packages
NOTE: The equivs packages are all located in /mit/debathena/packages/meta.
- cd /mit/debathena/packages/meta/packagename
- packagename is the name of the package (without the debathena- prefix)
- svn update
- There is no dasource for equivs packages.
- 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.
- 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
- source-changes is the
- dasnapshot
- 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
- cd /mit/debathena/packages/config
- dasource debathena-printing-config
- cd debathena-printing-config
- da -A sbuildhack debathena-printing-config_1.18.2.dsc
- daupload-proposed -A debathena-printing-config_1.18.2_source.changes
- dasnapshot
- (wait for 3 days of testing)
- damove "" "-proposed" debathena-printing-config
- dasnapshot
Manual Config
builder@zulu:/mit/debathena/packages/manual-config$ ./make-manual-config … builder@zulu:/mit/debathena/packages/manual-config$ ./do-upload …