diff options
Diffstat (limited to 'CONTRIBUTING.rst')
-rw-r--r-- | CONTRIBUTING.rst | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst new file mode 100644 index 000000000..00e42c63d --- /dev/null +++ b/CONTRIBUTING.rst @@ -0,0 +1,142 @@ +================================================= + Contribution Guide for Adélie Linux Package Set +================================================= +:Author: + * **Andrew Wilcox**, documentation writer +:Status: + Draft +:Copyright: + © 2016 Wilcox Technologies LLC. NCSA open source licence. + + + + +Introduction +============ + +This repository contains the Adélie Linux package set. It is used as an +overlay in the Portage system for package building to create the repository +used by Adélie's APK package manager. + + +Licenses +````````` +As the Adélie Linux project is an open-source Linux distribution, packages +contained in this repository must also be provided under a license recognised +by the OSI_. A separate repository may be provided in the future for certain +non-free components, such as device driver firmware. + +.. _OSI: http://opensource.org/licenses/category + + +Changes +``````` +Any changes to this repository - additions, removal, or version bumps - 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. + + + + +Ebuild Format +============= + +This section describes the Ebuild format required for packages in this +repository. + + +EAPI +```` + +Any Ebuild present in this repository **must** use EAPI 5. As EAPI 6 is not +yet supported by any publicly released version of the Portage toolkit, it is +not yet acceptable for use in this repository. + + +Source URIs +``````````` + +It is recommended that any Ebuild present in this repository use an official +Adélie Linux mirror for any files downloaded (``mirror://adelie/``). +Exceptions will be granted on a case-by-case basis for issues such as file +size or rapid version change. + + +Comments +```````` + +It is highly encouraged that you use comments in your Ebuild. This grants +other developers and the Adélie Linux team the same level of understanding +that you have over the package. Any issues found that cause behaviour +deviant from the eclass defaults should have an explanation and/or link to +a problem report (either upstream or on http://bts.adelielinux.org/). + + +Custom Eclasses +``````````````` + +If you require a custom Eclass not already present in the base Portage tree +or this repository, please file a problem report on http://bts.adelielinux.org/ +with an explanation of what your Eclass will provide. A test suite in the +form of various Ebuilds demonstrating proper behaviour and failure modes will +be greatly appreciated and raise the likelihood of a speedy addition to the +tree. Please do **not** file a pull request containing a new Eclass without +filing a problem report first. + + + + +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 ``repoman commit``. + +#. 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 ``repoman 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. |