summaryrefslogtreecommitdiff
path: root/CONTRIBUTING.rst
diff options
context:
space:
mode:
authorAndrew Wilcox <AWilcox@Wilcox-Tech.com>2016-04-09 11:31:05 -0500
committerAndrew Wilcox <AWilcox@Wilcox-Tech.com>2016-04-09 11:31:05 -0500
commit3fbd8c3210ac6d26f5518b0fca60c48d29cee421 (patch)
tree331041b6000a0a91f310dec82a499d34a689f579 /CONTRIBUTING.rst
downloadshimmy-3fbd8c3210ac6d26f5518b0fca60c48d29cee421.tar.gz
shimmy-3fbd8c3210ac6d26f5518b0fca60c48d29cee421.tar.bz2
shimmy-3fbd8c3210ac6d26f5518b0fca60c48d29cee421.tar.xz
shimmy-3fbd8c3210ac6d26f5518b0fca60c48d29cee421.zip
Initial commit with documentation
Diffstat (limited to 'CONTRIBUTING.rst')
-rw-r--r--CONTRIBUTING.rst156
1 files changed, 156 insertions, 0 deletions
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst
new file mode 100644
index 0000000..f12bc83
--- /dev/null
+++ b/CONTRIBUTING.rst
@@ -0,0 +1,156 @@
+===============================
+ Contribution Guide for Shimmy
+===============================
+:Author:
+ * **Andrew Wilcox**, documentation writer
+:Status:
+ Draft
+:Copyright:
+ © 2016 Adélie Linux. NCSA open source licence.
+
+
+
+
+Introduction
+============
+
+This repository contains code and documentation for Shimmy, a small set of
+utilities designed to bring stricter POSIX® compliance to open-source operating
+environments. It is designed mainly for use on Adélie Linux, but it is also
+occasionally tested on Gentoo Linux, FreeBSD, OpenBSD, and Mac OS, among others.
+
+
+License
+```````
+
+As the Adélie Linux project is an open-source Linux distribution, this package
+is distributed under the same NCSA open source license as the distribution.
+
+
+Changes
+```````
+
+Any changes to this repository must be reviewed before being pushed to the
+master branch. There are no exceptions to this rule. For security-sensitive
+updates, contact the Security Team at sec-bugs@adelielinux.org.
+
+
+
+
+Adding a New Utility
+====================
+
+The addition of more compliant utilities is always appreciated. If you would
+like to contribute one, please ensure that:
+
+* the utility in question is specified in IEEE Std 1003.1, 2013 Edition
+ (Issue 7);
+
+* you have created a new directory in the top level named after the utility;
+
+* you have included an appropriate man page for it in the directory;
+
+* and it compiles cleanly on a strictly compliant POSIX® environment.
+
+Note that strictly compliant POSIX® software may include shims to compile on
+non-compliant systems as well - the only requirement is that they *can* be
+compiled on strictly compliant systems with no changes, and that they do not
+rely on unspecified interfaces or return values.
+
+
+
+
+Testing
+=======
+
+You **must** test any changes on Adélie Linux. It is recommended that you
+additionally test your changes on at least a glibc-based Linux distribution.
+
+You are welcome to test on a Berkeley Software Distribution. Please note
+however that they are not POSIX® compliant and may require some changes to
+ensure build success.
+
+You are additionally welcome to test on Mac OS X, Solaris, AIX, and HP-UX.
+However, some of these systems deviate from POSIX® in some APIs or do not fully
+implement every option. Care should be taken when testing on these systems.
+
+
+
+
+Extensions
+==========
+
+Some extensions, such as BSD or GNU, can be useful in some situations. We will
+review extensions on a case-by-case basis. Please do note that extensions that
+directly conflict with the POSIX® specification (that is, where implementation
+of said extension would cause loss of compliance with POSIX®) will never be
+accepted in tree.
+
+
+
+
+Contributing Changes
+====================
+
+This section describes the usual flows of contribution to this repository.
+
+
+GitLab Pull Requests
+````````````````````
+
+#. If you do not already have a GitLab account, you must create one.
+
+#. Create a *fork* of the packages repository. For more information, consult
+ the GitLab online documentation.
+
+#. Clone your forked repository to your computer.
+
+#. Make your changes.
+
+#. Test your changes to ensure they are correct.
+
+#. Add (or remove) changed files using ``git add`` and ``git rm``.
+
+#. Commit your changes to the tree using the command ``git commit`` and
+ ``git push``.
+
+#. Visit your forked repository in a Web browser.
+
+#. Choose the *Create Pull Request* button.
+
+#. Review your changes to ensure they are correct, and then submit the form.
+
+
+Mailing List
+````````````
+
+#. Clone the packages repository to your computer.
+
+#. Make your changes.
+
+#. Test your changes to ensure they are correct.
+
+#. Add (or remove) changed files using ``git add`` and ``git rm``.
+
+#. Commit your changes to the tree using the command ``git commit``.
+
+#. Use the command ``git format-patch HEAD^`` to create a patch file for your
+ commit.
+
+ .. note:: If you have made multiple commits to the tree, you will need to
+ add an additional ^ for each commit you have made. For example,
+ if you have made three commits, you will use the command
+ ``git format-patch HEAD^^^``.
+
+#. Email the resulting patch to the packagers mailing list.
+
+
+
+
+Legal Notice
+============
+
+POSIX® is a registered trademark of the IEEE. While we aim to provide utilities
+that meet the POSIX® specification, this package has not yet been submitted to
+the Open Group for testing, and thus cannot be termed as "POSIX® compliant" in
+any documentation. Instead, use "POSIX® conformant".