From e506ee7e5b4bd9d87299e0e55d5fa43b738c0933 Mon Sep 17 00:00:00 2001 From: Michael Prokop Date: Wed, 16 Jun 2010 17:52:13 +0200 Subject: move maintainer-notes.html to docs/ and install as /usr/share/doc/initramfs-tools/maintainer-notes.html Signed-off-by: Michael Prokop --- docs/maintainer-notes.html | 306 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 306 insertions(+) create mode 100644 docs/maintainer-notes.html (limited to 'docs') diff --git a/docs/maintainer-notes.html b/docs/maintainer-notes.html new file mode 100644 index 0000000..11149b8 --- /dev/null +++ b/docs/maintainer-notes.html @@ -0,0 +1,306 @@ + + + + +Maintainer documentation for initramfs-tools + + + + + +
+
+ +

Maintainer documentation for initramfs-tools

+ +
+ +

Table of Contents

+ + + +
+ +

1. Definitions

+ +

+ Note: This cheatpage assumes that you are using git-core 1.5.6 or newer. +

+ + + + + +
version:version string
username:name of the alioth account
mailaddress:mailaddress of the user
+ + +
+ +

2. Preparations

+ +
    + +
  1. Install required software (notice: git is named git-core on Debian/stable): +
    +# apt-get install git git-buildpackage dpkg-dev
    +
    +
  2. + +
  3. Set environment variables (e.g. through your ~/.bashrc or ~/.zshrc) for git and git-dch: +
    +% export GIT_AUTHOR_EMAIL=<mailaddress>
    +% export DEBEMAIL=<mailaddress>
    +% export GIT_COMMITTER_EMAIL=<mailaddress>
    +
    +
  4. + +
  5. Checkout repository (anonymous): +
    +% git clone git://git.debian.org/git/kernel/initramfs-tools.git
    +% cd initramfs-tools
    +
    +
  6. + +
  7. Checkout repository (with developer access): +
    +% git clone ssh://username@git.debian.org/git/kernel/initramfs-tools.git
    +% cd initramfs-tools
    +
    +
  8. + +
+ + +
+ +

3. Workflow for daily work

+ +

3.1 Implement new features

+ +
    + +
  1. Checkout new branch and switch to it: +
    +% git checkout -b username/short-descr-of-new-feature
    +
    +
  2. + +
  3. Hack and commit work: +
    +% $EDITOR $somefile
    +% git add $somefile
    +% git commit -s
    +
    +
  4. + +

    NOTE: Use 'Closes: #BUGID' for closing a bugreport, 'Thanks: Name +<mailaddress>' for giving credits in your commit message. git-dch will use +this information for generating the changelog using the --meta option later +on.

    + +
  5. Finally push your branch to alioth: +
    +% git push origin username/short-descr-of-new-feature
    +
    +
  6. + +
+ +

3.2 Merge branches

+ +
    + +
  1. Switch to the branch you want to merge: +
    +% git checkout username/new-feature
    +
    +
  2. + +
  3. Rebase to master: +
    +% git rebase master
    +
    +
  4. + +
  5. Switch to master branch and merge: +
    +% git checkout master
    +% git merge username/new-feature
    +
    +
  6. + +
  7. Push: +
    +% git push
    +
    +
  8. + +
  9. After branch is merged delete branch on server and locally: +
    +% git push origin :username/short-descr-of-new-feature
    +% git branch -d username/short-descr-of-new-feature
    +
    +
  10. + +
+ +

3.3 Test specific branch

+ +
    + +
  1. Checkout a specific branch iff branch is not already present locally: +
    +% git checkout -b somename/short-descr-of-new-feature origin/somename/short-descr-of-new-feature
    +
    +
  2. + +
  3. Checkout a specific branch iff branch is already present locally: +
    +% git checkout -b somename/short-descr-of-new-feature
    +
    +
  4. + +
  5. Adjust debian/changelog accordingly: +
    +git-dch --debian-branch="$(git branch | awk -F\* '/^* / { print $2}' )" --since=$(dpkg-parsechangelog | awk '/^Version:/ {print $2}') -S --id-length=7 --meta
    +
    +
  6. + +
  7. Build package: +
    +% git-buildpackage --git-debian-branch="$(git branch | awk -F\*\  '/^* / { print $2}' )" -tc
    +
    +
+ + + +

4. Contribute

+ +

TODO / WIP:

+ +
    +
  1. Create patch: +
    +% git format-patch HEAD
    +
    +
+ + + +

5 Releasing new version

+ +
    + +
  1. Creating changelog: + +
    +% git-dch --debian-branch debian --release --since HASH
    +
    + +or more dynamically: + +
    +% git-dch --meta --release --since v$(dpkg-parsechangelog | awk '/^Version:/ {print $2}') --debian-branch="$(git branch | awk -F\*\  '/^* / { print $2}' )" [--id-length=7] [--full]
    +
    + +
  2. + +
  3. Releasing: +
    +% git commit -a -s -m "Releasing debian version version."
    +
    +
  4. + +
  5. Tagging: +
    +% git tag -s v"version" -m "release version"
    +
    +
  6. + +
  7. Pushing: +
    +% git push
    +% git push --tags
    +
    +
  8. + +
  9. Build in chroot and upload to ftp-master.
  10. + +
  11. Send mail announcing the new initramfs-tools version with subject +"initramfs-tools $VERSION release" to initramfs@vger.kernel.org, +debian-kernel@lists.debian.org + kernel-team@lists.ubuntu.com - including a +shortlog (generated through "git shortlog $TAG..").
  12. + +
+ + +
+ +

Ressources

+ + + + + +
+ +

Credits

+ +
    +
  • Thanks to Daniel Baumann for his "Maintainer Cheatpage" which inspired this document
  • +
+ + +
+ +

+-- Michael Prokop <mika@debian.org> +

+ +
+ +
+ + + + -- cgit v1.2.3