User:Dubiousjim/Developer Documentation: Difference between revisions

From Alpine Linux
(added {{Draft}})
(saved, WIP)
Line 1: Line 1:
{{Draft}}
{{Draft}}
[[Image:package_system.svg|right|link=]]
[[Image:package_system.svg|right|link=]]


=== not yet in Development ===
== Package management ==
* [[Alpine Linux Init System]]
<!-- 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. -->
* [[Multiple Instances of Services]]
* [[Writing Init Scripts]]
 
 
== 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]] includes [[Local APK cache]]
  <!-- [[Alpine Linux package management#Local_Cache|How to enable APK caching]] -->  <!-- includes [[Local APK cache]] -->
* [[Comparison]] [[Comparison with Gentoo and Debian]]
* [[Upgrading to Edge]]
* [[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)''
** [[Back Up a Flash Memory Installation]]
** [[Manually editing a existing apkovl]]
<!-- [[Replacing a package]] Obsolete? -->
* [[How to setup a Alpine Linux mirror]]
* [[How to setup a Alpine Linux mirror]]
* [[How to use xdelta and download only differential update files]]
* [[How to use xdelta and download only differential update files]]
* [[How to make a custom ISO image]]
* [[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 ==
== Development ==
=== Configuring your system ===
* [[Upgrading to Edge]] <!-- Pkg and Dev and Installation -->
* [[Setup your system and account for building packages]]


* [[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. -->
* [[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 the build environment on HDD]] dev and 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]] -->
** [[Setting up the build environment 1.7]] (Obsolete), only dev


* [[Installing Alpine Linux in a chroot]] only Installation
* [[Xen Dom0]] ''Setting up Alpine as a dom0 for Xen hypervisor''
* [[Setting up a compile vserver]] dev and installation
** [[Xen Dom0 on USB or SD]]
* [[Setting up a compile vserver for third party packages]] dev and installation
** [[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]]
* [[Creating an Alpine package]]
* [[Aports tree|Description of the aports tree]]
* [[Aports tree|Description of the aports tree]]
Line 41: Line 51:


* [[Abuild tree|Description of the abuild tree]]
* [[Abuild tree|Description of the abuild tree]]
<pre>
I think this document should be deleted. It does not provide any useful information at all.
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)
* You don't need check out abuild from git to be able to build packages. (using an official release of abuild is higly recommended)
Line 48: Line 59:
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)  
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
DJ: should at least be merged into Abuild
 
</pre>
<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.
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.
Line 116: Line 127:
     Setup your system and account for building packages (← links)
     Setup your system and account for building packages (← links)


* [[APKBUILD examples]]
=== Git ===
    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)
* [[Development using git]] (Development using git:Configuration) (Development using git:Email)
     Creating patches (← links)
     Creating patches (← links)
Line 145: Line 135:
     Setup your system and account for building packages (← links)
     Setup your system and account for building packages (← links)
** [[Development using git:Basic usage]]
** [[Development using git:Basic usage]]
** [[Creating patches]]
** [[Creating patches]]
     Development using git (← links)
     Development using git (← links)
Line 158: Line 149:
-->
-->


=== 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 Package Testing Suite]] ''Work in progress''
* [[Alpine Release Testing Checklist]]
* [[Alpine Release Testing Checklist]]




Line 193: Line 208:




== Alpine-specific Utilities ==
== Alpine-developed Utilities ==
* [[Alpine Wall]] (proposed firewall management framework)
* [[Alpine Wall]] (proposed firewall management framework)




== Misc, perhaps not in Development? ==
== Other (shouldn't be in Development?) ==
* [[Running glibc programs]]
* [[Running glibc programs]]
* [[Setting up trac wiki]]
* [[Setting up trac wiki]]

Revision as of 22:08, 25 March 2012

This material is work-in-progress ...

Do not follow instructions here until this notice is removed.
(Last edited by Dubiousjim on 25 Mar 2012.)

Package management

Init system


Development

Configuring your system

Creating packages/building from source

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)

Git

   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) 


Examples

   Creating an Alpine package (← links)
   APKBUILD Reference (← links

-test subpackage


Misc


Alpine Configuration Framework

This material is work-in-progress ...

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


Alpine-developed Utilities


Other (shouldn't be in Development?)