Aports tree: Difference between revisions

From Alpine Linux
(Some notes on APKBUILD)
 
m (Amended grammar or style)
(15 intermediate revisions by 7 users not shown)
Line 1: Line 1:
= Description of APKBUILD =
The [http://git.alpinelinux.org/cgit/aports/ aports] tree contains a directory with the corresponding [[APKBUILD_Reference|APKBUILD]] file for every package/program. ''[http://git.alpinelinux.org/cgit/abuild/tree/sample.APKBUILD APKBUILD]'' is a file containing "recipes" on how something should be built/compiled. These files are used when building Alpine from source.
== Introduction ==
APKBUILD is a file containing instructions on how something should be built/compiled.<BR>
These files are used when building alpine from source.<BR>
In your build environment you would have at least one APKBUILD for each package/program.


When alpine is compiled, you will no longer see (or have use of) the APKBUILD. The APKBUILD is not included in the 'iso' or 'tar.gz'.
When 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'. The [[Abuild|abuild]] script reads the APKBUILD and executes the steps needed to create a package.


The ''[http://dev.alpinelinux.org/cgit/abuild/tree/abuild abuild]'' script reads the ''[http://dev.alpinelinux.org/cgit/abuild/tree/sample.APKBUILD APKBUILD]'' and executes the steps needed to create a package.
== Directories ==
There are some directories placed in the [http://git.alpinelinux.org/cgit/aports/ aports] tree. A short description of every directory can be found in this section.


== Location  ==
=== main ===
The [http://dev.alpinelinux.org/cgit/aports/ aports] tree is a [http://dev.alpinelinux.org/cgit/aports/tree/ directory tree] with many APKBUILDs.
''main'' contains the basic set of packages for Alpine Linux.


If using the [[Setting_up_the_build_environment_1.9|1.9 build environment]] you should find your aports at
=== community ===
/usr/src/aports
''community'' contains the additional packages that, for various reasons, are not guaranteed to be supported beyond six months.


== Fetch latest APKBUILD's ==  
=== testing ===
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.<BR>'''''Note:''' You only need to do these 2 steps once! Next time you can skip this part.''
All new packages go to ''testing'' first. Package will be moved to ''main'' if there is positive feedback or for other good reasons. Packages in ''testing'' are not included in stable builds, but are only built for [[Aports what is edge|edge]].
apk add alpine-sdk
git clone git://dev.alpinelinux.org/aports /usr/src/
When the above is done you might be interested in fetching the latest updates.
cd /usr/src/
git pull


== Create a APKBUILD ==
=== non-free ===
Your are encouraged to contribute with APKBUILD's the you have made.<BR>
The packages in ''non-free'' are violating the standards of the [http://www.fsf.org/ Free Software Foundation] (FSF) about copying, redistributing, and modifying computer programs in one way or another.
Please look at '[[Creating_an_Alpine_package|Creating_an_Alpine_package]]' that describes how you make your own APKBUILD's.
 
=== unmaintained ===
When a package is no longer maintained and no longer builds, it is moved to ''unmaintained''. It is mostly in order to not break the build servers while still keeping the original APKBUILD available in case someone is willing to fix it.
 
== 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>
'''''Note:''' You only need to do these 2 steps once! Next time you can skip this part.''
{{Cmd|apk add alpine-sdk}}
{{Cmd|cd ~}}
{{Cmd|git clone git://dev.alpinelinux.org/aports}}
When the above is done, you might be interested in fetching the latest updates:
{{Cmd|cd ~/aports}}
{{Cmd|git pull}}
 
=See Also=
*[[Aports what is edge]]
 
[[Category:Development]]

Revision as of 03:16, 19 October 2017

The aports tree contains a directory with the corresponding APKBUILD file for every package/program. APKBUILD is a file containing "recipes" on how something should be built/compiled. These files are used when building Alpine from source.

When 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'. The abuild script reads the APKBUILD and executes the steps needed to create a package.

Directories

There are some directories placed in the aports tree. A short description of every directory can be found in this section.

main

main contains the basic set of packages for Alpine Linux.

community

community contains the additional packages that, for various reasons, are not guaranteed to be supported beyond six months.

testing

All new packages go to testing first. Package will be moved to main if there is positive feedback or for other good reasons. Packages in testing are not included in stable builds, but are only built for edge.

non-free

The packages in non-free are violating the standards of the Free Software Foundation (FSF) about copying, redistributing, and modifying computer programs in one way or another.

unmaintained

When a package is no longer maintained and no longer builds, it is moved to unmaintained. It is mostly in order to not break the build servers while still keeping the original APKBUILD available in case someone is willing to fix it.

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://dev.alpinelinux.org/aports

When the above is done, you might be interested in fetching the latest updates:

cd ~/aports

git pull

See Also