Developer Documentation: Difference between revisions
m (Zcrayfish moved page Category talk:Developer Documentation to Developer Documentation over redirect: The original move didn't make sense at all; it is resulting in excessive redirects.) |
Prabuanand (talk | contribs) (added introduction paragraph, rearranged topics, commented out invalid links) |
||
Line 1: | Line 1: | ||
[[Image:package_system.svg|right|link=]] | [[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]]. | |||
== Package management == | == Package management == | ||
Line 22: | Line 23: | ||
== Development == | == Development == | ||
* [[Aports tree]] <!-- <== APKBUILD --> | |||
* [[Development using git:Developer repositories|Developer repositories]] | |||
=== Configuring your system === | === Configuring your system === | ||
<!-- If you edit the following, please coordinate with Installation#Advanced. Note that these two sections are not exact duplicates. --> | <!-- 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]] <!-- Dev and Installation --> | * [[Setting up the build environment on HDD|Setting up the build environment]] <!-- Dev and Installation --> | ||
<!-- [[Setting up the build environment 1.7]] Obsolete, only Dev | <!-- [[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]] | ** [[Creating_an_Alpine_package#Setup_your_system_and_account|Setup your system and account for building packages]] | ||
** [[Abuild_and_Helpers#abuild-keygen|Abuild-keygen]] | ** [[Abuild_and_Helpers#abuild-keygen|Abuild-keygen]]--> | ||
* [[Repositories#Upgrading_to_edge|Upgrading to Edge]] <!-- Pkg and Dev and Installation --> | |||
* [[Installing Alpine Linux in a chroot]] <!-- | * [[Installing Alpine Linux in a chroot]] | ||
** [[Buildlab]] ''(Tool for creating and managing chroots)'' | <!-- ** [[Buildlab]] ''(Tool for creating and managing chroots)''--> | ||
* [[Install Alpine on LXC]] | * [[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]] | * [[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]] | ||
Line 40: | Line 43: | ||
** [[Create Alpine Linux PV DomU]] | ** [[Create Alpine Linux PV DomU]] | ||
** [[Xen LiveCD]] | ** [[Xen LiveCD]] | ||
<!-- | |||
* [[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]] | |||
* [[Abuild and Helpers]] ''(Scripts for packaging)'' | 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-cpan|Apkbuild-cpan]] --> | ||
<!-- includes [[Abuild_and_Helpers#apkbuild-pypi|Apkbuild-pypi]] --> | <!-- includes [[Abuild_and_Helpers#apkbuild-pypi|Apkbuild-pypi]] --> | ||
Line 58: | Line 67: | ||
[[Abuild_helpers#apkgrel|Apkgrel]] | [[Abuild_helpers#apkgrel|Apkgrel]] | ||
--> | --> | ||
** [[Package policies]] | ** [[Package policies]] | ||
** [[Package Maintainers]] | ** [[Package Maintainers]] | ||
* | ** [[APKBUILD Reference]] | ||
* [[APKBUILD Reference]] | ** [[APKBUILD examples]] | ||
* [[APKBUILD examples]] | ** [[Alpine package format]] | ||
* [[Alpine package format]] | ** [[Apkindex format]] | ||
* [[Apkindex format]] | * [[Creating patches|Creating and submitting patches]] | ||
=== Tools === | |||
* [[Development using git]] <!-- includes [[Development using git:Configuration]] [[Development using git:Email]] --> | * [[Development using git|Git]] <!-- includes [[Development using git:Configuration]] [[Development using git:Email]] --> | ||
* [[Cgit|cgit]] | |||
** [[Development using git:Cgit|Cgit Basics]] | |||
** [[Development using git:Cgit|Cgit | |||
=== Misc === | === Misc === | ||
Line 88: | Line 87: | ||
* [[Alpine Source Map by boot sequence]] | * [[Alpine Source Map by boot sequence]] | ||
* [[Testing modified install images and packages]] | * [[Testing modified install images and packages]] | ||
* [[Custom Kernel]] | |||
== Alpine Configuration Framework == | == Alpine Configuration Framework == | ||
Line 105: | Line 105: | ||
* [[Writing ACF Controllers]] - Guide for writing a controller | * [[Writing ACF Controllers]] - Guide for writing a controller | ||
* [[Writing ACF Models]] - Guide for writing a model | * [[Writing ACF Models]] - Guide for writing a model | ||
* [[ACF css]] | * [[ACF css]] | ||
* [[ACF packages]] | * [[ACF packages]] | ||
Line 116: | Line 115: | ||
* [[Managing ACF]] | * [[Managing ACF]] | ||
== Alpine Wall == | |||
== Alpine | * [[Alpine Wall]] | ||
* [[Alpine Wall]] | * [[How-To Alpine Wall]] | ||
* [https://git.alpinelinux.org/awall/about/ Alpine Wall User's Guide] ''(a firewall management framework)'' | |||
== Alpine Design Docs == | == Alpine Design Docs == |
Revision as of 05:15, 18 February 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.
Package management
- Package Management (apk) (How to add/remove packages on your Alpine)
- Upgrading to Edge
- Alpine local backup (lbu) (Permanently store your modifications in case your box needs reboot)
- How to setup a Alpine Linux mirror
- How to make a custom ISO image
Init system
- initramfs init
- Init System (OpenRC) (Configure a service to automatically launch at next reboot)
- Writing Init Scripts
Development
Configuring your system
- Setting up the build environment
- Upgrading to Edge
- 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)
Creating packages and patches
Tools
Misc
- Alpine Release Testing Checklist
- Running glibc programs
- Alpine Source Map by boot sequence
- Testing modified install images and packages
- Custom Kernel
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)