Aports tree: Difference between revisions
WhyNotHugo (talk | contribs) (Minor rewords and cleanups) |
Prabuanand (talk | contribs) (moved content from Creating patches page) |
||
Line 5: | Line 5: | ||
== Directories == | == Directories == | ||
There are some directories placed in the [https://git.alpinelinux.org/aports/ aports] tree. Each directory represent a single package repository. | There are some directories placed in the [https://git.alpinelinux.org/aports/ aports] tree. Each directory represent a single package [[Repositories|repository]]. Currently, the aports tree contains the following directories: | ||
=== main === | === main === | ||
''main'' contains the basic set of packages for Alpine Linux. | |||
''main'' contains the basic set of packages for Alpine Linux. Main repository is for packages that are either core of the linux system or are dependencies of other core packages. A package in main cannot have a dependency in community or testing and a package in community cannot have a dependency on packages in testing. | |||
=== community === | === community === | ||
''community'' contain | |||
''community'' contain community maintained packages. For various reasons, these are not guaranteed to be supported beyond six months. | |||
=== testing === | === testing === | ||
All new packages go to ''testing'' first. | |||
All new packages should normally go to ''testing'' first. After a reasonable testing period, if the package is complete i.e it has a working and sane default configuration, necessary init scripts (if applicable) and has a maintainer, there is positive feedback, then that package in the testing will be moved into community repository or very rarely to ''main'' repository for other good reasons. Packages in ''testing'' are not included in [[Repositories#Release Branches|stable builds]], but are only built for [[Repositories#Edge|edge]]. | |||
== Fetch latest APKBUILD files == | == Fetch latest APKBUILD files == | ||
While inside your [[Setting up the build environment 1.9|build environment]] you need to install some needed packages and you need to fetch the APKBUILD's from the server (fetch the aports tree).<BR> | While inside your [[Setting up the build environment 1.9|build environment]] you need to install some needed packages and you need to fetch the APKBUILD's from the server (fetch the aports tree).<BR> | ||
'''''Note:''' You only need to do these 2 steps once! Next time you can skip this part.'' | '''''Note:''' You only need to do these 2 steps once! Next time you can skip this part.'' | ||
Line 27: | Line 31: | ||
=See Also= | =See Also= | ||
*[[Repositories#Edge|What is edge]] | *[[Repositories#Edge|What is edge]] | ||
[[Category:Development]] | [[Category:Development]] |
Revision as of 16:01, 5 October 2025
The aports tree is a repository which contains APKBUILD files for every Alpine package. An APKBUILD file contains a "recipe" instructing how a given software package should be built/compiled and packaged. These files are used when building Alpine from source.
The abuild script reads an APKBUILD and executes the steps needed to create a package. Once Alpine Linux is compiled, you will no longer see (or have use of) the APKBUILD. It is not included in the 'iso' or 'tar.gz'.
Directories
There are some directories placed in the aports tree. Each directory represent a single package repository. Currently, the aports tree contains the following directories:
main
main contains the basic set of packages for Alpine Linux. Main repository is for packages that are either core of the linux system or are dependencies of other core packages. A package in main cannot have a dependency in community or testing and a package in community cannot have a dependency on packages in testing.
community
community contain community maintained packages. For various reasons, these are not guaranteed to be supported beyond six months.
testing
All new packages should normally go to testing first. After a reasonable testing period, if the package is complete i.e it has a working and sane default configuration, necessary init scripts (if applicable) and has a maintainer, there is positive feedback, then that package in the testing will be moved into community repository or very rarely to main repository for other good reasons. Packages in testing are not included in stable builds, but are only built for edge.
Fetch latest APKBUILD files
While inside your build environment you need to install some needed packages and you need to fetch the APKBUILD's from the server (fetch the aports tree).
Note: You only need to do these 2 steps once! Next time you can skip this part.
apk add alpine-sdk
cd ~
git clone git://git.alpinelinux.org/aports
When the above is done, you might be interested in fetching the latest updates:
cd ~/aports
git pull