Developer Documentation: Difference between revisions

From Alpine Linux
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.)
 
(54 intermediate revisions by 16 users not shown)
Line 1: Line 1:
[[Image:package_system.svg|right|link=]]
[[Image:package_system.svg|right|link=]]
= Developer Documentation =


* [[APKBUILD Reference]]
== Package management ==
* [[Package policies]]
<!-- 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 Release Testing Checklist]]
* [[Alpine Linux package management|Package Management (apk)]] ''(How to add/remove packages on your Alpine)'' <!--
* [[Installing Alpine on a virtual machine| Installation of Alpine Linux in a virtual machine]]
  [[Alpine Linux package management#Local_Cache|How to enable APK caching]] -->  <!-- includes [[Local APK cache]] -->
** [[Comparison with other distros]]
** [[apk spec]]
* [[Repositories#Upgrading_to_edge|Upgrading to Edge]]
* [[Alpine local backup|Alpine local backup (lbu)]] ''(Permanently store your modifications in case your box needs reboot)''
** [[Back Up a Flash Memory Installation]]
** [[Manually editing a existing apkovl]]
* [[How to setup a Alpine Linux mirror]]
* [[How to make a custom ISO image]]
* [[How to make a custom ISO image]]
* [[Alpine Package Testing Suite|Alpine Package Testing Suite]] ''Work in progress''
** [[Burning ISOs]]
 
== Init system ==
* [[initramfs init]]
* [[Alpine Linux Init System|Init System (OpenRC)]] ''(Configure a service to automatically launch at next reboot)''
** [[Multiple Instances of Services]]
* [[Writing Init Scripts]]
 
== Development ==
=== Configuring your system ===
* [[Repositories#Upgrading_to_edge|Upgrading to Edge]] <!-- Pkg and Dev and Installation -->
 
<!-- 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 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]]
 
* [[Installing Alpine Linux in a chroot]] <!-- only Installation -->
** [[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]]


== Git ==
* [[Setting up a basic vserver]] <!-- only Installation -->
* [[Development using git]]
* [[Setting up a compile vserver]] for official or for [[Setting up a compile vserver for third party packages|third party]] packages <!-- Dev and Installation -->
* [[Development using git with write access]]
<!-- [[Create an Alpine 1.9 vserver template]] -->
* [[Publish developer repositories on cgit]]
* [[Migrate SVN to Git]]


== Alpine 'edge' build system ==
=== Building from source and creating packages ===


* [[General description of the build system]]
* [[Aports tree]] <!-- <== APKBUILD -->
* [[Setting up the build environment]]
* [[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]]
  -->
* [[Creating an Alpine package]]
* [[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]] -->
** [[Package policies]]
** [[Package Maintainers]]
* [[Custom Kernel]]
* [[APKBUILD Reference]]
* [[APKBUILD examples]]
* [[Alpine package format]]
* [[Apkindex format]]
* [[Development using git]] <!-- includes [[Development using git:Configuration]] [[Development using git:Email]] -->
** [[Development using git:Basic usage|Basic usage]]
** [[Package Maintainers]]
** [[Creating patches]]
** [[Development using git:Developer repositories|Developer repositories]]
** [[Development using git:Cgit|Cgit]]
** [[Cgit|Another cgit page]]
=== Misc ===
* [[Alpine Release Testing Checklist]]
* [[Running glibc programs]]
* [[Alpine Source Map by boot sequence]]
* [[Testing modified install images and packages]]


== Alpine Configuration Framework ==
== 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]]
Line 30: Line 100:
* [[ACF how to write]] - Step by step howto for writing acfs  
* [[ACF how to write]] - Step by step howto for writing acfs  
* [[ACF core principles]] - Things that are standard across the application  
* [[ACF core principles]] - Things that are standard across the application  
* [[LPOSIX]] - Documentation for the Lua Posix functions  
* [[LuaPosix]] - Documentation for the Lua Posix functions  
* [[ACF Libraries]] - Document the libraries and common functions  
* [[ACF Libraries]] - Document the libraries and common functions  
* [[Writing ACF Views]] - Guide for writing a view  
* [[Writing ACF Views]] - Guide for writing a view  
Line 36: Line 106:
* [[Writing ACF Models]] - Guide for writing a model
* [[Writing ACF Models]] - Guide for writing a model


== Misc. References ==
* [[ACF css]]
* http://www.metoffice.gov.uk/research/nwp/external/fcm/doc/user_guide/working_practices.html - Some guidelines on use of Trac and SVN
* [[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-developed Utilities ==
* [[Alpine Wall]] - [[How-To Alpine Wall]] - [https://git.alpinelinux.org/awall/about/ Alpine Wall User's Guide] ''(a firewall management framework)''


== Obsolete docs ==
== Alpine Design Docs ==
* [[Setting_up_the_build_environment_1.9]]
* [[Architecture]]
* [[Setting up the build environment 1.7]]
* [[Apk spec]]
* [[Newbie Guide to Building an apk]]
* [[Creating patches]]


[[Category:Development]]
[[Category:Development]]

Latest revision as of 19:13, 22 December 2023

Package management

Init system

Development

Configuring your system

Building from source and creating packages


Misc

Alpine Configuration Framework

This material is work-in-progress ...

Needs to be organized/consolidated.
(Last edited by Zcrayfish on 22 Dec 2023.)


Alpine-developed Utilities

Alpine Design Docs