| |
| Notes for util-linux-ng developers |
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| |
| AUTOTOOLS: |
| |
| * "./autogen.sh" generates all necessary files (run it after checkout from |
| git) |
| |
| * "make distclean" removes all unnecessary files, but code is still possible |
| recompile by "./configure; make" |
| |
| * "make dist-gzip" (or -bzip2) creates tarball which is possible use without |
| autogen.sh |
| |
| |
| PATCHES: |
| |
| * send your patches to the mailing list or to upstream maintainer |
| (see the AUTHORS file) |
| |
| * diff -u |
| |
| * don't include generated (autotools) stuff to your patches (use git-clean [-X]) |
| |
| * patches are delivered via email only. Downloading them from internet |
| servers is a pain. |
| |
| * one patch per email, with the changelog in the body of the email. |
| |
| * Subject: [PATCH] subsystem: description |
| |
| * if someone else wrote the patch, they should be credited (and blamed) for it. |
| To communicate this, add a line: |
| |
| From: John Doe <jdoe@wherever.com> |
| |
| * add a Signed-off-by line: |
| |
| Signed-off-by: Foo Bar <fb@wherever.com> |
| |
| * there is a lot of really useful rules. Please, read: |
| |
| The perfect patch |
| http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt |
| |
| |
| |
| SCM (source code management): |
| |
| git clone git://git.kernel.org/pub/scm/utils/util-linux-ng/util-linux-ng.git util-linux-ng |
| |
| |
| * maintenance (stable) branch |
| - created for every <major>.<minor> release |
| - branch name: stable/v<major>.<minor> |
| |
| * bugfix branch |
| - created for <major>.<minor>.<maint> release for critical/security bugs only |
| - this branch is optional |
| - branch name: stable/v<major>.<minor>.<maint> |
| |
| * master branch |
| - the status of this branch is: "it works for me". It means useful |
| but not well tested patches. |
| - it's source for occasional snapshots |
| - for long-term development or invasive changes should be an active |
| development forked into a separate branch (topic branches) from the |
| tip of "master". |
| |
| * A new tag object is created for: |
| - every release, tag name: v<version> |
| |