]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
doc: update release-process.rst
authorSage Weil <sage@inktank.com>
Wed, 3 Oct 2012 15:44:52 +0000 (08:44 -0700)
committerSage Weil <sage@inktank.com>
Wed, 3 Oct 2012 15:44:52 +0000 (08:44 -0700)
Signed-off-by: Sage Weil <sage@inktank.com>
doc/dev/release-process.rst

index b5957072bae2e2235768cbec6727cffbee4d816e..2746c213716351942cc00d114c942768d00e4ca9 100644 (file)
@@ -5,84 +5,83 @@
 1. Build environment
 ====================
 
-There are multiple build envrionments, debian based packages are built via pbuilder for multiple distributions.  The build hosts are deb_host, and the list of distributions is deb_dist.  All distributions are build on each of the build hosts.  Currently there is 1 64 bit and 1 32 bit build host.
+There are multiple build envrionments, debian based packages are built via pbuilder for multiple distributions.  The build hosts are listed in the ``deb_hosts`` file, and the list of distributions are in ``deb_dist``.  All distributions are build on each of the build hosts.  Currently there is 1 64 bit and 1 32 bit build host.
 
-The rpm based packages are are built natively, so 1 distribution per build host.  The list of rpm_build hosts is found in rpm_hosts.
+The RPM based packages are are built natively, so one distribution per build host.  The list of hosts is found in ``rpm_hosts``.
 
-Prior to building, it's necessorary to update the pbuilder seed tarballs.  The update_all_pbuilder scripts is used for this.
+Prior to building, it's necessary to update the pbuilder seed tarballs::
+
+    ./update_all_pbuilders.sh
 
 2. Setup keyring for signing packages
 =====================================
 
-    export GNUPGHOME=<path to keyring>
+    export GNUPGHOME=<path to keyring dir>
 
     # verify it's accessible
     gpg --list-keys
 
+The release key should be present:
+
+  pub   4096R/17ED316D 2012-05-20
+  uid                  Ceph Release Key <sage@newdream.net>
+
+
 3. Set up build area
 ====================
 
-    #checkout ceph and ceph-build
+Checkout ceph and ceph-build::
 
     git clone http://github.com/ceph/ceph.git
     git clone http://github.com/ceph/ceph-build.git
 
-    #checkout next branch
+Checkout next branch::
 
     git checkout next
 
-     #submodules (only needed to prevent errors in recursive make)
+Checkout the submodules (only needed to prevent errors in recursive make)::
 
-     git submodule init
-     git submodule update
+    git submodule update --init
 
 4.  Update Build version numbers
 ================================
 
-    edit configure.ac and change version number
+Edit configure.ac and change version number::
 
     DEBEMAIL user@host dch -v 0.xx-1 
 
-    # commit the changes
+Commit the changes::
 
     git commit -a 
 
-    # Tag the release 
+Tag the release::
 
     ../ceph-build/tag-release v0.xx
 
 5. Create Makefiles
 ===================
 
-     ./autogen
+The actual configure options used to build packages are in the
+``ceph.spec.in`` and ``debian/rules`` files.  At this point we just
+need to create a Makefile.::
 
-     # The actuall configure options used to build packages are in the
-     # ceph.spec.in and debian/rules files.  At this point we just need
-     # to create a Makefile.
+     ./do_autogen.sh
 
-     ./configure --with-debug \
-                 --with-radosgw \
-                 --with-fuse \
-                 --with-tcmalloc \
-                 --with-libatomic-ops \
-                 --with-nss \
-                 --without-cryptpp \
-                 --with-gtk2
 
 6. Run the release scripts
 ==========================
 
-   This creates tarballs and copies them, with other needed files to
-   the build hosts listed in deb_hosts and rpm_hosts, runs a local build
-   script, then rsyncs the results back tot the specified release directory.
+This creates tarballs and copies them, with other needed files to
+the build hosts listed in deb_hosts and rpm_hosts, runs a local build
+script, then rsyncs the results back tot the specified release directory.::
 
     ../ceph-build/do_release.sh /tmp/release
 
 7. Create RPM Repo
 ==================
 
-   Copies the rpms to the destination repo, creates the yum repository
-   rpm and indexes.
+Copy the rpms to the destination repo, creates the yum repository
+rpm and indexes.::
 
    ../ceph-build/push_to_rpm_repo.sh /tmp/release /tmp/repo 0.xx
 
@@ -93,21 +92,46 @@ Prior to building, it's necessorary to update the pbuilder seed tarballs.  The u
     mkdir /tmp/debian-repo/conf
     ../ceph-build/gen_reprepro_conf.sh debian-testing main \
                 `cat ceph-build/deb_dists`
-    ../ceph-build/push_to_deb_repo.sh  /tmp/release /tmp/debian-repo
+    ../ceph-build/push_to_deb_repo.sh /tmp/release /tmp/debian-repo main
 
 9.  Push repos to ceph.org
 ==========================
 
-    TBD multiple repos for stable and developement
+For a development release::
+
+    rsync -av /tmp/repo/0.52/ ceph_site@ceph.com:ceph.com/rpm-testing
+    rsync -av /tmp/debian-repo/ ceph_site@ceph.com:ceph.com/debian-testing
+
+For a stable release, replace {CODENAME} with the release codename (e.g., ``argonaut`` or ``bobtail``)::
 
-    rsync -av /tmp/repo/0.52/ ceph_site@ceph.com:ceph.com/rpms
-    rsync -auv /tmp/debian-repo/ ceph_site@ceph.com:ceph.com/debian
+    rsync -av /tmp/repo/0.52/ ceph_site@ceph.com:ceph.com/rpm-{CODENAME}
+    rsync -auv /tmp/debian-repo/ ceph_site@ceph.com:ceph.com/debian-{CODENAME}
 
 10. Update Git
 ==============
 
-    Merge work area commits (version number updates and new tag)
-    Move testing tag
-    Move next tag
+Development release
+-------------------
+
+For a development release, update tags for ``ceph.git``::
+
+    git push origin HEAD:testing
+    git checkout master
+    git merge next
+    git push origin master
+    git push origin HEAD:next
+
+Similarly, for a development release, for both ``teuthology.git`` and ``ceph-qa-suite.git``::
+
+    git checkout master
+    git reset --hard origin/master
+    git branch -f testing origin/next
+    git push -f origin testing
+    git push -f master:next
+
+Stable release
+--------------
+
+For ``ceph.git``:
 
-    TBD stable release and point release
+    git push origin stable