Developer Documentation: Difference between revisions
No edit summary |
Prabuanand (talk | contribs) m (fixed words and moved option so easier to follow) |
||
(76 intermediate revisions by 21 users not shown) | |||
Line 1: | Line 1: | ||
= | [[Image:package_system.svg|right|link=]] | ||
This page has pointers to various resources about Alpine Linux from a developer perspective. Set up the [[Setting up the build environment on HDD|build environment]] and start contributing to Alpine Linux by either [[Creating an Alpine package|creating packages]] or by [[Creating patches|submitting patches]]. | |||
== Configuring your development system == | |||
<!-- If you edit the following, please coordinate with Installation#Advanced. Note that these two sections are not exact duplicates. --> | |||
* [[Setting up the build environment on HDD|Setting up the build environment on HDD]] <!-- Dev and Installation --> | |||
<!-- [[Setting up the build environment 1.7]] Obsolete, only Dev | |||
** [[Creating_an_Alpine_package#Setup_your_system_and_account|Setup your system and account for building packages]] | |||
** [[Abuild_and_Helpers#abuild-keygen|Abuild-keygen]] | |||
<!-- Pkg and Dev and Installation --> | |||
* [[Installing Alpine Linux in a chroot]] | |||
<!-- ** [[Buildlab]] ''(Tool for creating and managing chroots)''--> | |||
* [[Install Alpine on LXC]] | |||
* [[Install Alpine on VMware|VMware]], [[Qemu]], <!-- includes [[Install Alpine in Qemu]], [[Running Alpine in Qemu Live mode]], [[Running Alpine Linux As a QEMU networked Guest]] --> or [[Install Alpine on Amazon EC2|Amazon EC2]] | |||
* [[Xen Dom0]] ''(Setting up Alpine as a dom0 for Xen hypervisor)'' | |||
** [[Xen Dom0 on USB or SD]] | |||
** [[Create Alpine Linux PV DomU]] | |||
** [[Xen LiveCD]] | |||
Use [[Repositories#Upgrading_to_edge|Edge version]] for all build environment options listed above. | |||
* | |||
<!-- | |||
* [[Setting up a basic vserver]] | |||
* [[Setting up a compile vserver]] for official or for [[Setting up a compile vserver for third party packages|third party]] packages | |||
[[Create an Alpine 1.9 vserver template]] --> | |||
== Creating packages and patches== | |||
* [[Creating an Alpine package]] | |||
<!-- includes [[Setup your system and account for building packages]] --> | |||
<!-- includes [[Newapkbuild]] | |||
To create the actual APKBUILD file, newapkbuild can give you a template to start with. | |||
It will create a directory with the given package name, place an example/template APKBUILD | |||
file to the given directory, and fill some variables if those are provided. --> | |||
<!-- includes [[Local_APK_cache]] --> | |||
** [[Abuild and Helpers]] ''(Scripts for packaging)'' | |||
<!-- includes [[Abuild_and_Helpers#apkbuild-cpan|Apkbuild-cpan]] --> | |||
<!-- includes [[Abuild_and_Helpers#apkbuild-pypi|Apkbuild-pypi]] --> | |||
<!-- | |||
[[Abuild_and_Helpers#buildrepo|Buildrepo]] | |||
[[Abuild_and_Helpers#abuild-sign|Abuild-sign]] | |||
[[Abuild_and_Helpers#abuild-tar|Abuild-tar]] | |||
[[Abuild_and_Helpers#abump|Abump]] | |||
[[Abuild_helpers#apkgrel|Apkgrel]] | |||
--> | |||
** [[Aports tree]] <!-- <== APKBUILD --> | |||
** [[Development using git:Developer repositories|Developer repositories]] | |||
** [[Package policies]] | |||
** [[Package Maintainers]] | |||
** [[APKBUILD Reference]] | |||
** [[APKBUILD examples]] | |||
* [[Creating patches|Creating and submitting patches]] | |||
== Development tools == | |||
* [[Development using git|Git]] <!-- includes [[Development using git:Configuration]] [[Development using git:Email]] --> | |||
* [[Cgit|cgit]] | |||
** [[Development using git:Cgit|Cgit Basics]] | |||
== Alpine configuration framework == | |||
{{Draft|Needs to be organized/consolidated.}} | |||
* [[Alpine Configuration Framework Design]] (Why ACF is the way it is) | * [[Alpine Configuration Framework Design]] (Why ACF is the way it is) | ||
* [[Writing User Documentation for ACF]] | * [[Writing User Documentation for ACF]] | ||
* [[ACF mvc.lua reference|mvc.lua reference]] - mvc.lua is the core of ACF | |||
* [[ACF mvc.lua example|mvc.lua example]] - build a simple (command-line) application | |||
* [[ACF acf www-controller.lua reference|acf www-controller reference]] - ACF www application functions | |||
* [[ACF acf www example|acf www-controller example]] - webify the above examples | |||
* [[ACF how to write]] - Step by step howto for writing acfs | |||
* [[ACF core principles]] - Things that are standard across the application | |||
* [[LuaPosix]] - Documentation for the Lua Posix functions | |||
* [[ACF Libraries]] - Document the libraries and common functions | |||
* [[Writing ACF Views]] - Guide for writing a view | |||
* [[Writing ACF Controllers]] - Guide for writing a controller | |||
* [[Writing ACF Models]] - Guide for writing a model | |||
* [[ACF css]] | |||
* [[ACF packages]] | |||
* [[APKBUILD examples:ACF]] | |||
* [[Apk.lua]] | |||
* [[Changing passwords for ACF]] | |||
* [[Generating SSL certs with ACF]] | |||
* [[Generating SSL certs with ACF 1.9]] | |||
* [[Getting started with ACF development]] | |||
* [[Managing ACF]] | |||
== Alpine Wall == | |||
* [[Alpine Wall]] | |||
* [[How-To Alpine Wall]] | |||
* [https://git.alpinelinux.org/awall/about/ Alpine Wall User's Guide] ''(a firewall management framework)'' | |||
== | == Design documents == | ||
* [[Architecture]] | |||
* [[Apk spec|APK specification]] - includes Apkindex format and Alpine package format | |||
* [[Alpine Configuration Framework Design]] | |||
* [[ | == Misc == | ||
* [[ | * [[Alpine Release Testing Checklist]] | ||
** [[ | * [[Alpine Source Map by boot sequence]] | ||
** [[ | * [[Testing modified install images and packages]] | ||
* [[ | * [[Custom Kernel]] | ||
* [[Comparison with other distros]] | |||
== Package management == | |||
<!-- If you edit the following, please coordinate with Tutorials_and_Howtos#Post-Install and Installation#Post-Install. Note that these three sections are not exact duplicates. --> | |||
* [[Alpine Linux package management|Package Management (apk)]] ''(How to add/remove packages on your Alpine)'' <!-- | |||
[[Alpine Linux package management#Local_Cache|How to enable APK caching]] --> <!-- includes [[Local APK cache]] --> | |||
* [[Alpine local backup|Alpine local backup (lbu)]] ''(Permanently store your modifications in case your Diskless box needs reboot)'' | |||
== | == Init system == | ||
* | * [[initramfs init]] | ||
* [[Alpine Linux Init System|Init System (OpenRC)]] ''(Configure a service to automatically launch at next reboot)'' | |||
** [[Writing Init Scripts]] | |||
[[Category:Development]] | |||
Latest revision as of 10:33, 16 June 2025

This page has pointers to various resources about Alpine Linux from a developer perspective. Set up the build environment and start contributing to Alpine Linux by either creating packages or by submitting patches.
Configuring your development system
- Setting up the build environment on HDD
- Installing Alpine Linux in a chroot
- Install Alpine on LXC
- VMware, Qemu, or Amazon EC2
- Xen Dom0 (Setting up Alpine as a dom0 for Xen hypervisor)
Use Edge version for all build environment options listed above.
Creating packages and patches
Development tools
Alpine configuration framework
![]() Needs to be organized/consolidated. |
- Alpine Configuration Framework Design (Why ACF is the way it is)
- Writing User Documentation for ACF
- mvc.lua reference - mvc.lua is the core of ACF
- mvc.lua example - build a simple (command-line) application
- acf www-controller reference - ACF www application functions
- acf www-controller example - webify the above examples
- ACF how to write - Step by step howto for writing acfs
- ACF core principles - Things that are standard across the application
- LuaPosix - Documentation for the Lua Posix functions
- ACF Libraries - Document the libraries and common functions
- Writing ACF Views - Guide for writing a view
- Writing ACF Controllers - Guide for writing a controller
- Writing ACF Models - Guide for writing a model
- ACF css
- ACF packages
- APKBUILD examples:ACF
- Apk.lua
- Changing passwords for ACF
- Generating SSL certs with ACF
- Generating SSL certs with ACF 1.9
- Getting started with ACF development
- Managing ACF
Alpine Wall
- Alpine Wall
- How-To Alpine Wall
- Alpine Wall User's Guide (a firewall management framework)
Design documents
- Architecture
- APK specification - includes Apkindex format and Alpine package format
- Alpine Configuration Framework Design
Misc
- Alpine Release Testing Checklist
- Alpine Source Map by boot sequence
- Testing modified install images and packages
- Custom Kernel
- Comparison with other distros
Package management
- Package Management (apk) (How to add/remove packages on your Alpine)
- Alpine local backup (lbu) (Permanently store your modifications in case your Diskless box needs reboot)
Init system
- initramfs init
- Init System (OpenRC) (Configure a service to automatically launch at next reboot)