wiki:NewBuildSystem

Version 4 (modified by jdreed, 10 years ago) (diff)

--

Committing

Non-Native Packages

Non-native packages have a master branch containing the "upstream" component, and a debian branch which contains the upstream component and the debian packaging.

If you are changing the "upstream" code:

  • Check out the master branch, and apply your changes.
  • Ensure you updated the version of the software. This is either in configure.ac, setup.py, or a VERSION file.
  • Review your commits, and rebase if necessary.
  • Tag the commit with the version number, and an annotated tag saying something like "Releasing 1.2.3"
    • git tag -a 1.2.3 a4b5c6d7
  • Push your master branch, and the tag to origin.
    • Once you do this, the version is finalized. If you find a bug, you'll need to bump the version number and repeat this process.
  • Check out the debian branch, and merge master into it. You are now ready to update the packaging.

Updating the packaging

  • Make your packaging changes (if any)
  • Add a changelog entry for the new version, remebering to reset the Debathena component to -0debathena1 if there's a new "upstream" version.
  • Push debian to origin.

Native Packages

Native packages only have a master branch.

  • Make any changes, and update the changelog.
  • Push master to origin.

Native packages are not tagged, as the tagging happens at build time.

Building

Note: <package> below means the directory in the repo

Non-native packages have an additional step, prior to building

  • athena-upstream-tarball -p <package>

Building packages

  • dasource -u <directory-name>
    • builds source package
  • dapublish [all | package ...]
    • publish source package to repo, sign and tag
  • dabuild all
    • builds any package for which there are source but no binary

Adding a new package

Victor should fill in this part, explaining what is necessary when adding a new package (e.g. debathena-shiny-new-thing). Steps include: adding it to the superrepo, making the build tools aware of it (so that uptsream-tarball and dasource don't fail), etc.

Bootstrapping A New Release

Victor should fill in this part for bringing utopic (14.10) online.