projects/aports·blob 357534da · refs

74 lines · 3.4 KiB

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/[email protected]). (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

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