Dear mentors, I'm an uploader of the buildbot and buildbot-slave Debian packages and a contributor to the buildbot project[1] itself. As you may wonder, buildbot is a distributed continious integration tool written in Python. And since this is a continious integration tool, it would be great if it could support building packages too. In the end it would be great to make this tool able to build packages for most popular distros. Buildbot architecture considers all work should be done on slaves and report the results to master which is great for multiplatform build process. This experience will also be useful for other projects willing to use buildbot.
There are two tarballs released from one VCS (buildbot and buildbot-slave)[3]. In the end each tarball is a source for its Debian package. Currently I ended with a following scheme which is applied for every revision: When all tests have passed on all platforms, tarball for both master and slave is generated: (cd master && python setup.py sdist) (cd slave && python setup.py sdist) These tarballs are uploaded to master where they are available for download by HTTP. Then another builder (e.g. prepared Debian squeeze or some Ubuntu box with buildslave) starts the package building itself: 1) get debian package sources (I use git-buildpackage) from one of the repositories[4,5] 2) get the new tarball. this is done in two steps: a) get a slightly modified debian/watch file which points to the right place where we uploaded the tarballs b) use uscan along with downloaded watch file to get new version 3) run git-import-orig to get new sources into the git working directory (we'll get a new version taken from a tarball name which will appear in all other places in the package) 4) update changelog with git-dch 5) build the package with git-buildpackage 6) upload the package(currently just upload, will possibly use reprepro and dupload) This approach is tested and may be observed on my test site [6]. It allows me to test package building during the same CI process as development because package will be rebuilt on both upstream VCS update and debian package source VCS update. However I'm not the first one willing to perform this so maybe there is a better way to organize this. Also I'm looking for a scalable in sense of Linux distributions (or even Windows in future) and I'm not sure how to scale current approach. It appears I would need a separate repository for every distro which is not very great I believe. Thank you for your help in advance. [1]: http://buildbot.net [2]: http://buildbot.buildbot.net [3]: http://trac.buildbot.net/wiki/CuttingReleases [4]: https://github.com/jollyroger/debian-buildbot [5]: https://github.com/jollyroger/debian-buildbot-slave [6]: http://buildbot.homeous.org.ua -- WBR, Andriy Senkovych -- To UNSUBSCRIBE, email to debian-python-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/banlktimnszxt+3xhamjwba-sspw9hqp...@mail.gmail.com