diff mbox

[bakery] Start using Asciidoc for documentation. Add release doc

Message ID 1400763885-10292-1-git-send-email-kim.hansen@prevas.dk
State Accepted
Delegated to: Esben Haabendal
Headers show

Commit Message

kim.hansen@prevas.dk May 22, 2014, 1:04 p.m. UTC
From: Kim Højgaard-Hansen <kiho@prevas.dk>

---
 doc/Makefile          | 13 +++++++++
 doc/documentation.txt | 23 ++++++++++++++++
 doc/release.txt       | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 112 insertions(+)
 create mode 100644 doc/Makefile
 create mode 100644 doc/documentation.txt
 create mode 100644 doc/release.txt
diff mbox

Patch

diff --git a/doc/Makefile b/doc/Makefile
new file mode 100644
index 0000000..84b5f94
--- /dev/null
+++ b/doc/Makefile
@@ -0,0 +1,13 @@ 
+.PHONY: all
+all: documentation.html documentation.pdf
+html: documentation.html
+
+.PHONY: clean
+clean:
+	rm -f *.html *.pdf *~
+
+documentation.html: $(wildcard *.txt)
+	asciidoc -b html5 documentation.txt
+
+documentation.pdf: $(wildcard *.txt)
+	a2x -a docinfo -d book -f pdf --fop documentation.txt
diff --git a/doc/documentation.txt b/doc/documentation.txt
new file mode 100644
index 0000000..cdf473e
--- /dev/null
+++ b/doc/documentation.txt
@@ -0,0 +1,23 @@ 
+// -*- Doc -*-
+
+Documentation for the OE-lite bakery project
+============================================
+:author:	Esben Haabendal, Kim Højgaard-Hansen
+:email:		esben.haabendal@prevas.dk, kim.hansen@prevas.dk
+:doctype:	book
+:theme:		volnitsky
+:toc2:
+:icons:
+:pygments:
+:bake:          OE-lite bakery
+
+[preface]
+{bake} documentation
+--------------------
+
+This document serves as documentation of various aspects of the
+tool used to build OE-lite based projects: {bake}
+
+:leveloffset: 1
+
+include::release.txt[]
diff --git a/doc/release.txt b/doc/release.txt
new file mode 100644
index 0000000..6e1f44c
--- /dev/null
+++ b/doc/release.txt
@@ -0,0 +1,76 @@ 
+// -*- Doc -*-
+
+Release process
+===============
+
+This chapter describes how a new release of {bake} is made.
+
+.The steps needed to make a new release are:
+- Create temporary release commit
+- Run ppa_upload.sh
+- Tag the new release in git
+- Create tarballs for OE-lite.org
+- Upload to PyPi
+
+Create temporary release commit
+-------------------------------
+
+First make an initial commit with version and changelog changes for the release.
+
+edit `oebakery/oe.py` and `oebakery/__init__.py and add the new version.
+
+edit `debian/changelog` with info for the new release. Take a look at the previous
+release commits to see how to do this.
+
+Run `ppa_upload.sh`
+-------------------
+
+First look at: https://launchpad.net/ubuntu under "Active series and milestones"
+to check what ubuntu releases are still active. The newest non-LTS release can often
+be skipped.
+
+Then edit `ppa_upload.sh`:
+
+`LEAD_DISTRO="trusty" #preferred distro, most likely newest LTS`
+`OLD_DISTROES="lucid precise quantal saucy" #the rest of the active releases`
+
+run `ppa_upload.sh`
+
+NOTE: currently requires `~/.dput.cf` and Esbens GPG key.
+
+WARNING: Wait until the PPAs have been created before proceeding to the next step.
+
+Tag the new release in Git
+--------------------------
+
+`git tag -a -m 'release 4.2.0' v4.2.0`
+
+Create tarballs for OE-lite.org
+-------------------------------
+
+Change directory to the parent directory of the {bake} source:
+
+`git archive --prefix=bakery-4.2.0/ -o oe-lite-bakery-4.2.0.tar v4.2.0`
+
+`cat oe-lite-bakery-4.2.0.tar | gzip > oe-lite-bakery-4.2.0.tar.gz &&
+cat oe-lite-bakery-4.2.0.tar | bzip2 > oe-lite-bakery-4.2.0.tar.bz2 &&
+cat oe-lite-bakery-4.2.0.tar | xz > oe-lite-bakery-4.2.0.tar.xz`
+
+Upload the tarballs to http://oe-lite.org/download/bakery/
+
+For more information see: http://oe-lite.org/doc/handbook/handbook.html#_release_management
+
+Upload to PyPi
+--------------
+
+WARNING: FIXME
+
+TODO
+----
+
+Wishes for improved releases process include:
+
+- Figure out if the https://build.opensuse.org/[OpenSuse Open Build Service (OBS)]
+could be used to release binaries for more distroes
+- Create team/group/project PPA instead of Esbens personal for releases
+- Can `debchange` be used to make the changelog edits?