Skip to content

alpinelinux/aports

Repository files navigation

Alpine Linux aports repository

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/aports@lists.alpinelinux.org). (note: this mailing list is presently not functional)

Repositories

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.

main

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.

community

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

testing

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.

Git Hooks

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

Guidelines