blob: d8135743e9a8f9ca49018fe153e187558cea8b93 [file] [log] [blame]
Notes for util-linux-ng developers
* "./" generates all necessary files (run it after checkout from
* "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
* 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
(hint: 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 <>
* add a Signed-off-by line (hint: use "git commit -s")
The sign-off is a simple line at the end of the explanation for the
patch, which certifies that you wrote it or otherwise have the right to
pass it on as a open-source patch. The rules are pretty simple: if you
can certify the below:
By making a contribution to this project, I certify that:
(a) The contribution was created in whole or in part by me and I
have the right to submit it under the open source license
indicated in the file; or
(b) The contribution is based upon previous work that, to the best
of my knowledge, is covered under an appropriate open source
license and I have the right under that license to submit that
work with modifications, whether created in whole or in part
by me, under the same open source license (unless I am
permitted to submit under a different license), as indicated
in the file; or
(c) The contribution was provided directly to me by some other
person who certified (a), (b) or (c) and I have not modified it.
(d) I understand and agree that this project and the contribution
are public and that a record of the contribution (including all
personal information I submit with it, including my sign-off) is
maintained indefinitely and may be redistributed consistent with
this project or the open source license(s) involved.
then you just add a line saying
Signed-off-by: Random J Developer <>
using your real name (sorry, no pseudonyms or anonymous contributions.)
* for more details see:
The perfect patch
* the preferred coding style is based on the linux kernel Documentation/CodingStyle.
For more details see:;a=blob_plain;f=Documentation/CodingStyle
SCM (source code management):
git clone 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>
- tag v2.13.1 is typo. Please, ignore this tag.