User:Dubiousjim/Developer Documentation: Difference between revisions

From Alpine Linux
(add initial Package Management section)
(saved, WIP)
Line 1: Line 1:
[[Image:package_system.svg|right|link=]]
[[Image:package_system.svg|right|link=]]
= Developer Documentation =
 
=== not yet in Development ===
* [[Alpine Linux Init System]]
* [[Multiple Instances of Services]]
* [[Writing Init Scripts]]
 


== Package Management ==
== Package Management ==
 
<!-- include from separate stub file; can also be included in Tutorials and Howtos -->
* [[Alpine Linux package management|Package Management (apk)]] ''(How to add/remove packages on your Alpine)''
* [[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]]
** [[Alpine Linux package management#Local_Cache | How to enable APK caching]] includes [[Local APK cache]]
* [[Upgrading to Edge]]
* [[Comparison]] [[Comparison with Gentoo and Debian]]
* [[Edge]]
* [[Replacing a package]] (Obsolete?)
* [[Alpine local backup|Alpine local backup (lbu)]] ''(Permanently store your modifications in case your box needs reboot)''
* [[Alpine local backup|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]]
== Development ==
* [[Edge]] pkg and dev and installation
* [[Setup your system and account for building packages]]
* [[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
* [[Setting up a compile vserver]] dev and installation
* [[Setting up a compile vserver for third party packages]] dev and installation


== Packaging ==
* [[Creating an Alpine package]]
* [[Creating an Alpine package]]
* [[Abuild_tree|Description of the abuild tree]]
* [[Aports tree|Description of the aports tree]]
* [[Aports_tree|Description of the aports tree]]
* [[APKBUILD]] --> Aports tree
* [[Abuild]]
 
* [[Abuild tree|Description of the 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)
DJ: should at least be merged into Abuild
 
<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]]
* [[APKBUILD Reference]]
* [[Package policies]]
    Creating an Alpine package (← links)
* [[Apkindex format]]
    Aports tree (← links)
    Developer Documentation (← links)
    Setup your system and account for building packages (← links)
 
* [[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]]
OCaml
Haskell
Chicken Scheme
Lua
 
 
 
* [[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]]
-->
 
 
* [[Alpine Package Testing Suite]] ''Work in progress''
* [[Alpine Release Testing Checklist]]
* [[Alpine Release Testing Checklist]]
* [[Alpine Package Testing Suite|Alpine Package Testing Suite]] ''Work in progress''


== Development ==


* [[How to make a custom ISO image]]
* [[How to setup a Alpine Linux mirror]]
* [[Setup your system and account for building packages]]
* [[Setting up a compile vserver]]
* [[Setting up a compile vserver for third party packages]]


== Git ==
* [[Development using git]]
* [[Migrate SVN to Git]]


== 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 45: Line 179:
* [[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 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-specific Utilities ==
== Alpine-specific Utilities ==
* [[Alpine Wall]] (proposed firewall management framework)
* [[Alpine Wall]] (proposed firewall management framework)
== Misc, perhaps not in Development? ==
* [[Running glibc programs]]
* [[Setting up trac wiki]]
* [[Redmine]]


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

Revision as of 16:36, 25 March 2012

not yet in Development


Package Management


Development


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

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


   Abuild tree (inclusion) (← links)
   Creating an Alpine package (← links)
   Setup your system and account for building packages (← links)
   Abuild tree (inclusion) (← links)
   Apkindex format (← links)
   Abuild tree (inclusion) (← links)
   Abuild tree (inclusion) (← links)
   Abuild tree (inclusion) (← links)
   Creating an Alpine package (inclusion) (← links)
   Abuild tree (inclusion) (← links)
   Abuild tree (inclusion) (← links)
   Abuild tree (inclusion) (← links)
   Abuild tree (← links)
   Abuild tree (inclusion) (← links)
   Creating an Alpine package (← links)
   Developer Documentation (← links)
   Creating an Alpine package (← links)
   Aports tree (← links)
   Developer Documentation (← links)
   Setup your system and account for building packages (← links)
   Creating an Alpine package (← links)
   APKBUILD Reference (← links

-test subpackage

OCaml Haskell Chicken Scheme Lua


   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 (← links)
   Creating an Alpine package (← links)
   Development using git (← links)
   Development using git:Cgit (← links)
   Development using git (← links)
   Publish developer repositories on cgit (redirect page) (← links) 




Alpine Configuration Framework

This material is work-in-progress ...

Needs to be organized/consolidated.
(Last edited by Dubiousjim on 25 Mar 2012.)


Alpine-specific Utilities


Misc, perhaps not in Development?