Developer Documentation: Difference between revisions
Dubiousjim (talk | contribs) (→Alpine Configuration Framework: fix redirect) |
Dubiousjim (talk | contribs) (Major reorg/expansion, content migrated from User:Dubiousjim/Developer Documentation) |
||
Line 1: | Line 1: | ||
[[Image:package_system.svg|right|link=]] | [[Image:package_system.svg|right|link=]] | ||
== | == 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]] --> | |||
* [[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]] | |||
<!-- [[Replacing a package]] Obsolete? --> | |||
* [[How to setup a Alpine Linux mirror]] | |||
* [[How to use xdelta and download only differential update files]] | |||
* [[How to make a custom ISO image]] | |||
** [[Burning ISOs]] | |||
* [[Comparison]] - [[Comparison with Gentoo and Debian]] - [https://wiki.archlinux.org/index.php/Arch_Compared_to_Other_Distributions] [https://wiki.archlinux.org/index.php/Pacman_Rosetta] | |||
== Init system == | |||
* [[Alpine Linux Init System|Init System (OpenRC)]] ''(Configure a service to automatically boot at next reboot)'' | |||
** [[Multiple Instances of Services]] | |||
* [[Writing Init Scripts]] | |||
== Development == | |||
=== Configuring your system === | |||
* [[Upgrading to Edge]] <!-- Pkg and Dev and Installation --> | |||
* [[Setup your system and account for building packages]] <!-- included in [[Creating an Alpine package]] --> | |||
<!-- 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 --> | |||
* [[Installing Alpine Linux in a chroot]] <!-- only Installation --> | |||
* Install Alpine on [[Install Alpine on VirtualBox|VirtualBox]], [[Install Alpine on VMware|VMware]], [[Install Alpine on coLinux|coLinux]], or [[Qemu]] <!-- includes [[Install Alpine in Qemu]], [[Running Alpine in Qemu Live mode]], [[Running Alpine Linux As a QEMU networked Guest]] --> | |||
* [[Xen Dom0]] ''Setting up Alpine as a dom0 for Xen hypervisor'' | |||
** [[Xen Dom0 on USB or SD]] | |||
** [[Create Alpine Linux PV DomU]] | |||
* [[Setting up a basic vserver]] <!-- only Installation --> | |||
* [[Setting up a compile vserver]] for official or for [[Setting up a compile vserver for third party packages|third party]] packages <!-- Dev and Installation --> | |||
<!-- [[Create an Alpine 1.9 vserver template]] --> | |||
=== Building from source/Creating packages === | |||
* [[Aports tree]] <!-- <== APKBUILD --> | |||
* [[Abuild]] | |||
* [[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 serve 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. --> | |||
** [[Apkbuild-cpan]] | |||
** [[Apkbuild-pypi]] | |||
* [[Buildrepo]] | |||
* [[Abuild-keygen]] [[Creating keys for package signing]] | |||
* [[Abuild-sign]] | |||
* [[Abuild-tar]] | |||
* [[Abump]] [[Apkgrel]] | |||
* [[Alpine package format]] | |||
* [[Apkindex format]] | |||
* [[Package policies]] | |||
* [[APKBUILD Reference]] | * [[APKBUILD Reference]] | ||
* [[Package | * [[APKBUILD examples]] | ||
* [[ | |||
* [[ | * [[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]] | |||
<!-- | |||
** [[Migrate SVN to Git]] | |||
--> | |||
<!-- | |||
[[Abuild tree]] | |||
I think this document should be deleted. It does not provide any useful information at all. | |||
* You don't need check out abuild from git to be able to build packages. (using an official release of abuild is higly recommended) | |||
* abuild.mk have been replaced with alpine-iso.git long time ago. | |||
* the term 'build environment' made sense when we built alpine from gentoo. Now the 'build environment' is a normal alpine install + apk add alpine-sdk. | |||
* The doc mention nothing about how to use abuild to build packages, not even it mention that you need to do 'make && sudo make install' | |||
In short this doc provides no relevant info. I vote for removing it and instead write an how to use abuild doc or similar. --Ncopa 14:45, 6 July 2011 (UTC) | |||
---- | |||
The abuild package provides scripts you need when creating packages for Alpine Linux. The abuild and its friends are installed automatically along with the alpine-sdk package. | |||
apk add alpine-sdk | |||
http://git.alpinelinux.org/cgit/abuild.git/tree/ always contains the lastest version of the scripts, example-files, and makefiles. | |||
Helpers | |||
{{:Abuild-keygen}} | |||
{{:Abuild-sign}} | |||
{{:Abuild-tar}} | |||
{{:Abump}} | |||
{{:Apkgrel}} | |||
{{:Abuild}} | |||
APKBUILD generation | |||
To create the actual APKBUILD file <tt>newapkbuild</tt> can serve 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. | |||
{{:Newapkbuild}} | |||
{{:Apkbuild-cpan}} | |||
{{:Apkbuild-pypi}} | |||
Tools | |||
[[Buildlab]] | |||
{{:Buildrepo}} | |||
cmp-apks-iso | |||
devbuild | |||
initramfs-init | |||
--> | |||
== | === Misc === | ||
* [[ | * [[Buildlab]] ''dummy'' | ||
* [[ | * [[Alpine Package Testing Suite]] ''work in progress'' | ||
* [[ | * [[Alpine Release Testing Checklist]] | ||
== 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 39: | Line 142: | ||
* [[Writing ACF Models]] - Guide for writing a model | * [[Writing ACF Models]] - Guide for writing a model | ||
== Alpine- | * [[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-developed Utilities == | |||
* [[Alpine Wall]] (proposed firewall management framework) | * [[Alpine Wall]] (proposed firewall management framework) | ||
[[Category:Development]] | [[Category:Development]] |
Revision as of 11:43, 26 March 2012
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 use xdelta and download only differential update files
- How to make a custom ISO image
- Comparison - Comparison with Gentoo and Debian - [1] [2]
Init system
- Init System (OpenRC) (Configure a service to automatically boot at next reboot)
- Writing Init Scripts
Development
Configuring your system
- Install Alpine on VirtualBox, VMware, coLinux, or Qemu
- Xen Dom0 Setting up Alpine as a dom0 for Xen hypervisor
- Setting up a basic vserver
- Setting up a compile vserver for official or for third party packages
Building from source/Creating packages
Misc
- Buildlab dummy
- Alpine Package Testing Suite work in progress
- Alpine Release Testing Checklist
Alpine Configuration Framework
This material is work-in-progress ... 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-developed Utilities
- Alpine Wall (proposed firewall management framework)