OpenStackPackaging
Differences between revisions 6 and 21 (spanning 15 versions)
|
Size: 3906
Comment:
|
← Revision 21 as of 2016-06-07 19:45:13 ⇥
Size: 72
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| == Overview == Ubuntu maintains it own set of Bazaar branches and Git repositories for OpenStack core projects on Launchpad; for the full list see [[https://code.launchpad.net/~ubuntu-server-dev/+git|Launchpad]]. OpenStack releases prior to Liberty are maintained in Bazaar, Liberty onwards are maintained under Git. === Git Configuration === First, you'll want to setup git to simplify your work-flow. See 'Configuring Git' in the [[https://help.launchpad.net/Code/Git|Launchpad git documentation]].. === Tools === The OpenStack packaging git repositories all make use of git-buildpackage and pristine-tar for managing upstream release tarballs. For a general overview of git-buildpackage see the Debian [[http://wiki.debian.org/PackagingWithGit|documentation]]. This wiki page details the specifics of how we use these tools in Ubuntu. === Branches === The current development release packaging is maintained under the 'master' branch; released versions of OpenStack will mirror upstream branch management - i.e. stable/liberty. === Cloning a git repository === If you are running on the latests Ubuntu release, then the following should dtrt: {{{ debcheckout --git-track='*' <projectname> }}} for example {{{ debcheckout --git-track='*' nova }}} Using the git-track option ensures that all required branches are automatically setup - for example: {{{ $ git branch * master pristine-tar upstream }}} The 'upstream' and 'pristine-tar' branches are used by git-buildpackage to manage the upstream release tarballs. If you're not on the latest Ubuntu release then directly clone the repository: {{{ git clone lp:~ubuntu-server-dev/ubuntu/+source/nova }}} === Building a source package === Use the buildpackage subcommand of gbp: {{{ gbp buildpackage -S }}} The source package will be places in ../build-area. === Making a packaging change === Make your packaging changes as you normally would under the debian folder; then use 'git add' to add the changed files to the staging area; if you have added an appropriate changelog comment then: {{{ debcommit }}} will DTRT and annotate the git commit with the changelog entry details - you get a chance to edit this if you have provided anything other than a single line entry to the changelog. === Updating to a new release === First, grab the new upstream release: {{{ uscan --verbose --rename }}} this will drop the orig.tar.gz into the parent folder of the git repository. Then use git-buildpackage to import the archive: {{{ gbp import-orig ../nova_12.0.0~b1.orig.tar.gz }}} This action will import the content into the upstream branch, create the required pristine-tar data and place it in the pristine-tar branch, and then merge the upstream branch into the master branch (or stable branch). === Pushing updates to Launchpad === To push any local commits and tags to Launchpad: {{{ git push --all git push --tags }}} '''NOTE''': you need to be a member of the ubuntu-server-dev team to be able todo this - this includes all Ubuntu Core Developers. === Contributors - pushing a personal repository to Launchpad === First, push your repository, with all of the branches (master, pristine-tar, and upstream), to your Launchpad account: {{{ git push --all lp:~corey.bryant/nova }}} And then push the tags: {{{ git push --tags git push --all lp:~corey.bryant/nova }}} === Contributors - proposing a merge === Navigate to the URL of your pushed repository: {{{ https://code.launchpad.net/~<launchpad-id>/ubuntu/+source/nova/+git/liberty-1 }}} Propose each branch separately by: * Click on the branch name and 'Propose for merging' * Select the target repository: lp:~ubuntu-server-dev/ubuntu/+source/nova * Select the target reference path: master, upstream, or pristine-tar |
This page has moved to https://wiki.ubuntu.com/OpenStack/CorePackages. |
This page has moved to https://wiki.ubuntu.com/OpenStack/CorePackages.
ServerTeam/OpenStackPackaging (last edited 2016-06-07 19:45:13 by corey.bryant)