Version 5 (modified by vasilvv, 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
- Make sure you have enough space to create the build chroot using lvs and pvs.
- Alter /root/sources.list.d appropriately
- Create build chroot using /root/make-chroot
3bis. Make sure resulting chroot actually has universe enabled. 3verybis. Make sure resulting chroot has debathena APT key in it.
- Update the buildsystem configuration with tags. Do not forget to add ~0.1
- Update /mit/debathena/apt/conf
5bis. Do not forget to run git commit there
- Run dareprepro export.
- Fix debathena-machtype
- Run dapopulate with appropriate flags. An example would be: dapopulate --handle-broken=include --allow-out-of-date --use-development utopic trusty (populate utopic with sources from trusty).
- Open a tmux, and in it, run dabuild on the staging repo. You will probably need to specify -B with the name of preceeding repo, for example: DEBATHENA_SETUP_HOOK=/afs/sipb.mit.edu/project/debathena/bin/chroot-sources.staging dabuild utopic-staging -B trusty.