diff --git a/Manual.md b/Manual.md index bb1f4edfcc345c..63f10f354582de 100644 --- a/Manual.md +++ b/Manual.md @@ -5,7 +5,8 @@ packages for XBPS, the `Void Linux` native packaging system. *Table of Contents* -* [Introduction](#Introduction) +* The XBPS source packages manual + * [Introduction](#Introduction) * [Package build phases](#buildphase) * [Package naming conventions](#namingconventions) * [Libraries](#libs) @@ -33,13 +34,14 @@ packages for XBPS, the `Void Linux` native packaging system. * [Writing runit services](#writing_runit_services) * [32bit packages](#32bit_pkgs) * [Subpackages](#pkgs_sub) - * [Development packages](#pkgs_development) - * [Data packages](#pkgs_data) - * [Documentation packages](#pkgs_documentation) - * [Python packages](#pkgs_python) - * [Go packages](#pkgs_go) - * [Haskell packages](#pkgs_haskell) - * [Font packages](#pkgs_font) + * [Some package classes](#pkgs_classes) + * [Development packages](#pkgs_development) + * [Data packages](#pkgs_data) + * [Documentation packages](#pkgs_documentation) + * [Python packages](#pkgs_python) + * [Go packages](#pkgs_go) + * [Haskell packages](#pkgs_haskell) + * [Font packages](#pkgs_font) * [Renaming a package](#pkg_rename) * [Removing a package](#pkg_remove) * [XBPS Triggers](#xbps_triggers) @@ -72,10 +74,10 @@ packages for XBPS, the `Void Linux` native packaging system. * [Void specific documentation](#documentation) * [Notes](#notes) * [Contributing via git](#contributing) -* [Help](#help) + * [Help](#help) -## Introduction +### Introduction The `void-packages` repository contains all the recipes to download, compile and build binary packages for Void Linux. @@ -841,10 +843,10 @@ not a particular package is present in `makedepends` or `hostmakedepends`, that package shouldn't be added as a build time dependency. -#### Repositories +### Repositories -##### Repositories defined by Branch +#### Repositories defined by Branch The global repository takes the name of the current branch, except if the name of the branch is master. Then the resulting @@ -852,7 +854,7 @@ repository will be at the global scope. The usage scenario is that the user can update multiple packages in a second branch without polluting his local repository. -##### Package defined Repositories +#### Package defined Repositories The second way to define a repository is by setting the `repository` variable in a template. This way the maintainer can define repositories for a specific @@ -1474,8 +1476,11 @@ destdir (`$DESTDIR`) to the `subpackage` destdir (`$PKGDESTDIR`). Subpackages are processed always in alphabetical order; To force a custom order, the `subpackages` variable can be declared with the wanted order. + +### Some package classes + -### Development packages +#### Development packages A development package, commonly generated as a subpackage, shall only contain files required for development, that is, headers, static libraries, shared @@ -1505,7 +1510,7 @@ following subset of files from the main package: * Vala bindings `usr/share/vala` -### Data packages +#### Data packages Another common subpackage type is the `-data` subpackage. This subpackage type used to split architecture independent, big(ger) or huge amounts @@ -1517,7 +1522,7 @@ The main package must then have `depends="${pkgname}-data-${version}_${revision} possibly in addition to other, non-automatic depends. -### Documentation packages +#### Documentation packages Packages intended for user interaction do not always unconditionally require their documentation part. A user who does not want to e.g. develop @@ -1532,7 +1537,7 @@ amounts of documentation for no reason. Thus the size of the documentation part be your guidance to decide whether or not to split off a `-doc` subpackage. -### Python packages +#### Python packages Python packages should be built with the `python{,2,3}-module` build style, if possible. This sets some environment variables required to allow cross compilation. Support to allow @@ -1593,7 +1598,7 @@ Also, a set of useful variables are defined to use in the templates: python versions. -### Go packages +#### Go packages Go packages should be built with the `go` build style, if possible. The `go` build style takes care of downloading Go dependencies and @@ -1627,7 +1632,7 @@ The path to the package's source inside `$GOPATH` is available as `$GOSRCPATH`. -### Haskell packages +#### Haskell packages We build Haskell package using `stack` from [Stackage](http://www.stackage.org/), generally the LTS versions. @@ -1645,7 +1650,7 @@ The following variables influence how Haskell packages are built: you can add your `--flag ...` parameters there. -### Font packages +#### Font packages Font packages are very straightforward to write, they are always set with the following variables: @@ -1902,7 +1907,7 @@ If it is running under another architecture it tries to use the host's `install- utility. -### initramfs-regenerate +#### initramfs-regenerate The initramfs-regenerate trigger will trigger the regeneration of all kernel initramfs images after package installation or removal. The trigger must be @@ -2151,7 +2156,7 @@ to pull in new changes: $ git pull --rebase upstream master -## Help +### Help If after reading this `manual` you still need some kind of help, please join us at `#xbps` via IRC at `irc.libera.chat`.