This repository contains the APKBUILD files for each and every Alpine Linux package, along with the required patches and scripts, if any.
It also contains some extra files and directories related to testing (and therefore, building) those packages on GitLab (via GitLab CI).
If you want to contribute, please read the contributor guide and feel free to either submit a merge request on GitLab, or to submit a git patch on the Alpine aports mailing list (~alpine/[email protected]). (note: this mailing list is presently not functional)
The Alpine Linux aports tree consists of 3 repositories (directories). Each of these 3 repositories have its own set of policies, use cases and workflows. Below is a definition of the basic policies your package should apply to. Additional policies could apply, please refer to our developer guidelines.
Packages in the main repository should be supported following our official
release cycle documentation as defined on our
website. In case of doubt a package should
be moved to our community repository instead. The policy for a package in the
main repository is if this package is reasonable to be expected in a basic
system and has a developer assigned to it who can maintain it as documented on
our release page. A package in main is also expected to include proper
documentation if shipped with the source code and have test suites enabled if
provided. New packages are rarely introduced directly into the main repository
and should follow the workflow: testing => main
.
Packages in the community repository should be supported following our official
release cycle documentation as defined on our
website. Packages in community are those
that do not belong in our main repository and have finished testing in our
testing repository. A package should have a maintainer and have test suites
enabled if provided and is preferred to ship documentation if the source code
provides it. New packages are rarely introduced directly into the community
repository and should follow the workflow: testing => community
Packages in the testing repositories do not follow our official release cycle documentation as defined on our website and are not included in our official releases and are only shipped in our edge branch. This repository is specifically designed to introduce and test packages and as a staging area for our other repositories. The packages do not follow any of the previously mentioned policies and only need to be able to be build correctly. After the package is verified to be working it should be moved to one of the other repositories as soon as possible following the policies set for that repository. If the package is not moved within a 6 month period we will notify the maintainer and remove it after 9 months.
You can find some useful git hooks in the .githooks
directory.
To use them, run the following command after cloning this repository:
git config --local core.hooksPath .githooks