User:Dubiousjim/Developer Documentation: Difference between revisions

From Alpine Linux
(saved, WIP)
(blank page, keeping history)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Draft}}
[[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]]
<!-- 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]] -->
=== Creating packages/building from source ===
* [[Creating an Alpine package]]
* [[Aports tree|Description of the aports tree]]
* [[APKBUILD]] --> Aports tree
* [[Abuild]]
* [[Abuild tree|Description of the abuild tree]]
<pre>
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)
DJ: should at least be merged into Abuild
</pre>
<pre>
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 templates
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.
{{:Newapkbuild}}
{{:Apkbuild-cpan}}
{{:Apkbuild-pypi}}
Tools
[[Buildlab]]
{{:Buildrepo}}
cmp-apks-iso
devbuild
initramfs-init
</pre>
* [[Abuild-keygen]]
    Abuild tree (inclusion) (← links)
    Creating an Alpine package (← links)
    Setup your system and account for building packages (← links)
* [[Abuild-sign]]
    Abuild tree (inclusion) (← links)
** [[Creating keys for package signing]]
    Apkindex format (← links)
* [[Abuild-tar]]
    Abuild tree (inclusion) (← links)
* [[Abump]]
    Abuild tree (inclusion) (← links)
* [[Apkgrel]]
    Abuild tree (inclusion) (← links)
* Abuild again
* [[Newapkbuild]]
    Creating an Alpine package (inclusion) (← links)
    Abuild tree (inclusion) (← links)
* [[Apkbuild-cpan]]
    Abuild tree (inclusion) (← links)
* [[Apkbuild-pypi]]
    Abuild tree (inclusion) (← links)
* [[Buildlab]]
    Abuild tree (← links)
* [[Buildrepo]]
    Abuild tree (inclusion) (← links)
* [[Alpine package format]] (no links)
* [[Apkindex format]]
* [[Package policies]]
    Creating an Alpine package (← links)
    Developer Documentation (← links)
* [[Package Maintainers]] (no links)
* [[APKBUILD Reference]]
    Creating an Alpine package (← links)
    Aports tree (← links)
    Developer Documentation (← links)
    Setup your system and account for building packages (← links)
=== Git ===
* [[Development using git]] (Development using git:Configuration) (Development using git:Email)
    Creating patches (← links)
    Creating an Alpine package (← links)
    Developer Documentation (← links)
    Alpine Linux:Contribute (← links)
    Setup your system and account for building packages (← links)
** [[Development using git:Basic usage]]
** [[Creating patches]]
    Development using git (← links)
    Creating an Alpine package (← links)
** [[Development using git:Developer repositories]]
    Development using git (← links)
    Development using git:Cgit (← links)
** [[Development using git:Cgit]]
    Development using git (← links)
    Publish developer repositories on cgit (redirect page) (← links)
<!--
** [[Migrate SVN to Git]]
-->
=== Examples ===
* [[APKBUILD examples]]
    Creating an Alpine package (← links)
    APKBUILD Reference (← links
** [[APKBUILD examples:Simple]]
** [[APKBUILD examples:Subpackages]]
** [[APKBUILD examples:Multiple Subpackages]]
** [[APKBUILD examples:Special Subpackages Doc]]
-test subpackage
** [[APKBUILD examples:Special Subpackages Examples]]
** [[APKBUILD examples:Special Subpackages Languages]]
** [[APKBUILD examples:ACF]]
** [[APKBUILD examples:Perl]]
** [[APKBUILD examples:Php]]
** [[APKBUILD examples:Python]]
** [[APKBUILD examples:Ruby]]
** Lua
** OCaml
** Haskell
** Chicken Scheme
=== Misc ===
* [[Alpine Package Testing Suite]] ''Work in progress''
* [[Alpine Release Testing Checklist]]
== Alpine Configuration Framework ==
{{Draft|Needs to be organized/consolidated.}}
* [[Alpine Configuration Framework Design]] (Why ACF is the way it is)
* [[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-developed Utilities ==
* [[Alpine Wall]] (proposed firewall management framework)
== Other (shouldn't be in Development?) ==
* [[Running glibc programs]]
* [[Setting up trac wiki]]
* [[Redmine]]
[[Category:Development]]

Latest revision as of 10:59, 3 May 2012