| 1 | # Alpine Linux aports repository
|
| 2 |
|
| 3 | This repository contains the APKBUILD files for each and every
|
| 4 | Alpine Linux package, along with the required patches and scripts,
|
| 5 | if any.
|
| 6 |
|
| 7 | It also contains some extra files and directories related to testing
|
| 8 | (and therefore, building) those packages on GitLab (via GitLab CI).
|
| 9 |
|
| 10 | If you want to contribute, please read the
|
| 11 | [contributor guide](https://wiki.alpinelinux.org/wiki/Alpine_Linux:Contribute)
|
| 12 | and feel free to either submit a merge request on
|
| 13 | [GitLab](https://gitlab.alpinelinux.org/alpine/aports),
|
| 14 | or to submit a git patch on the Alpine aports mailing list
|
| 15 | ([~alpine/[email protected]](mailto:~alpine/[email protected])). (note: this mailing list is presently not functional)
|
| 16 |
|
| 17 | ## Repositories
|
| 18 |
|
| 19 | The Alpine Linux aports tree consists of 3 repositories (directories). Each of
|
| 20 | these 3 repositories have its own set of policies, use cases and workflows.
|
| 21 | Below is a definition of the basic policies your package should apply to.
|
| 22 | Additional policies could apply, please refer to our developer guidelines.
|
| 23 |
|
| 24 | ### main
|
| 25 |
|
| 26 | Packages in the main repository should be supported following our official
|
| 27 | release cycle documentation as defined on our
|
| 28 | [website](https://alpinelinux.org/releases/). In case of doubt a package should
|
| 29 | be moved to our community repository instead. The policy for a package in the
|
| 30 | main repository is if this package is reasonable to be expected in a basic
|
| 31 | system and has a developer assigned to it who can maintain it as documented on
|
| 32 | our release page. A package in main is also expected to include proper
|
| 33 | documentation if shipped with the source code and have test suites enabled if
|
| 34 | provided. New packages are rarely introduced directly into the main repository
|
| 35 | and should follow the workflow: `testing => main`.
|
| 36 |
|
| 37 | ### community
|
| 38 |
|
| 39 | Packages in the community repository should be supported following our official
|
| 40 | release cycle documentation as defined on our
|
| 41 | [website](https://alpinelinux.org/releases/). Packages in community are those
|
| 42 | that do not belong in our main repository and have finished testing in our
|
| 43 | testing repository. A package should have a maintainer and have test suites
|
| 44 | enabled if provided and is preferred to ship documentation if the source code
|
| 45 | provides it. New packages are rarely introduced directly into the community
|
| 46 | repository and should follow the workflow: `testing => community`
|
| 47 |
|
| 48 | ### testing
|
| 49 |
|
| 50 | Packages in the testing repositories do **not** follow our official release
|
| 51 | cycle documentation as defined on our
|
| 52 | [website](https://alpinelinux.org/releases/) and are **not** included in our
|
| 53 | official releases and are only shipped in our edge branch. This repository is
|
| 54 | specifically designed to introduce and test packages and as a staging area for
|
| 55 | our other repositories. The packages do not follow any of the previously
|
| 56 | mentioned policies and only need to be able to be build correctly. After the
|
| 57 | package is verified to be working it should be moved to one of the other
|
| 58 | repositories as soon as possible following the policies set for that repository.
|
| 59 | If the package is not moved within a 6 month period we will notify the
|
| 60 | maintainer and remove it after 9 months.
|
| 61 |
|
| 62 | ## Git Hooks
|
| 63 |
|
| 64 | You can find some useful git hooks in the `.githooks` directory.
|
| 65 | To use them, run the following command after cloning this repository:
|
| 66 |
|
| 67 | ```sh
|
| 68 | git config --local core.hooksPath .githooks
|
| 69 | ```
|
| 70 |
|
| 71 | ## Guidelines
|
| 72 |
|
| 73 | - [Coding style](CODINGSTYLE.md) - Guidelines for writing APKBUILDs.
|
| 74 | - [Commit style](COMMITSTYLE.md) - Guidelines for git commit messages.
|