Mercurial > vanilla
annotate HOWTO.md @ 349:7b000befead5
vanilla: improve docs and hierarchy
author | David Demelier <markand@malikania.fr> |
---|---|
date | Thu, 28 Mar 2019 20:15:00 +0100 |
parents | |
children | 0b7acfc69fec |
rev | line source |
---|---|
349
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 # vanilla HOWTO |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 This documentation explains how to write a package file. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 Each package lives under a dedicated directory broken down into several |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 categories. Change the directory to the desired package and use `vpk build` to |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 construct a package. The repository does not contain the distribution files from |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 upstream but `vpk build` will download them for you if not present (see also |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 `vpk download` command). |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 Note: vpk build does not handle dependencies. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 Example with lib/zlib |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 # cd lib/zlib |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 # vpk build |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 If build succeeded, you can install the package as |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 /tmp/vpk/zlib#version-revision-arch.txz |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 Tip: you can use `vpk build -q` to silent the process. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 # How to create a new package |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 To create a new package, create a directory in the appropriate category |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 directory. Then create the sscript file. See Templates directory. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 Example, if you want to create a package abc in category lib you must have the |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 following files. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 lib/abc |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 lib/abc/abc.sh |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 The following variables must be present: |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 - PKGNAME: the package name |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 - PKGVERSION: the package upstream version |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 - PKGREVISION: the vanilla revision (starts at 1) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 - PKGLICENSE: a space separated list of licenses (see README.licenses.md) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 - PKGSUMMARY: a short summary |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 The following variables are optional |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 - PKGDEPENDS: a space separated list of packages required to build. Use the |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 syntax category/package for runtime requirement (includes building too) and |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 category/package:build for build requirement only. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 - PKGDOWNLOAD: a space separated list of files to download from the web, if the |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 package does not need to download anything don't set it. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 - PKGUIDS: a space separated list of uid to create |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 - PKGGIDS: a space separated list of gid to create |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 - PKGPROTECT: a space separated list of relative path to files to preserve on |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 installation (e.g. etc/nginx/nginx.conf) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 - PKGOPTIONS: a space separated list of CAPITALIZED options. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 The script file is the build procedure for the package. It must be as simple as |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 possible as its sole purpose is to build and install files through the DESTDIR |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 variable. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 There are already various of templates in the templates/ directory. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 # Topics |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 ## Licenses |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 Use the following licenses in *PKGLICENSE* or CUSTOM. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 - AGPLv3 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 - AGPLv3+ |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
69 - APACHE10 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
70 - APACHE11 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
71 - APACHE20 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
72 - BOOST |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
73 - BSD |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
74 - BSD2CLAUSE |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
75 - BSD3CLAUSE |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
76 - BSD4CLAUSE |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
77 - GFDL |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 - GPLv1 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 - GPLv1+ |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
80 - GPLv2 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
81 - GPLv2+ |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
82 - GPLv3 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
83 - GPLv3+ |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
84 - ISC |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
85 - LGPLv20 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
86 - LGPLv20+ |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
87 - LGPLv21 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
88 - LGPLv21+ |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
89 - LGPLv3 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
90 - LGPLv3+ |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 - MIT |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
92 - UNLICENSE |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
93 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
94 ## Dependencies |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
95 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
96 The variable *PKGDEPENDS* is filled up with package origins, thus you need to |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
97 write *lib/zlib* NOT *zlib*. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
98 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
99 Also, the following qualifiers may be appended to the dependency to alter the |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
100 meaning: |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
101 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
102 - `:build` the dependency is only required for building, |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
103 - `:optional` the dependency is optional and not strictly required. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
104 - `:recommended` same as optional but installed by default. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
105 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
106 Example: |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
107 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
108 PKGDEPENDS="dev/cmake:build graphics/qt5:recommended lib/zlib" |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
109 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
110 ## Configuration files |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
111 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
112 Configuration files (usually everything under /etc) must be marked as well in |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
113 *PKGPROTECT* variables. This prevents `vpk` for overriding user configurations. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
114 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
115 Note: if the package ships a init script file, it must be marked as well. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
116 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
117 Example: |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
118 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
119 PKGPROTECT="/etc/nginx.conf /etc/rc.d/nginx" |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
120 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
121 ## Uids / Gids |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
122 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
123 If the package requires UNIX users and groups, adapt the *PKGUIDS* and *PKGGIDS* |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
124 variables as a space separated list. You can assign a default numeric id using |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
125 the syntax `:number`. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
126 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
127 Example: |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
128 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
129 PKGUIDS="messagebus" # vpk will assign an id |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
130 PKGUIDS="gdm:55" # vpk will use 55 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
131 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
132 Warning: if you need to change file permissions, do it *ONLY* in a post install |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
133 script as users may have set different numeric id than the package defaults. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
134 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
135 ## Options |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
136 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
137 Some packages are configurable via compile time options. Check the variable |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
138 PKGOPTIONS in the script file and read the associated documentation for more |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
139 explanation. Options are usually passed as environment variables |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
140 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
141 Example with network/wget: |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
142 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
143 # cd network/wget |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
144 # SSL=openssl NLS=no vpk build |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
145 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
146 Add the desired options in *PKGOPTIONS* variable and don't forget to set default |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
147 values. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
148 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
149 Example with NLS |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
150 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
151 PKGOPTIONS="NLS" |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
152 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
153 : ${NLS:=yes} |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
154 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
155 if [ "$NLS" = "yes" ]; then |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
156 PKGDEPENDS="core/gettext $PKGDEPENDS" |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
157 with_nls="--enable-nls" |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
158 else |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
159 with_nls="--disable-nls" |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
160 fi |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
161 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
162 Then at configure step: |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
163 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
164 ./configure $with_nls |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
165 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
166 Proper handling of options is done by explicitly disabling/enabling options. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
167 Most programs will try to enable/disable features depending on what is available |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
168 on the system thus, if the package finds a dependency and enable it you need to |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
169 adapt *PKGDEPENDS*. Always check what options are available in the package and |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
170 use their default as explicit knobs to avoid invisible dependencies. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
171 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
172 Use the following predefined options before creating your own. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
173 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
174 - ACL: enable access control list support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
175 - BLUETOOTH: enable bluetooth support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
176 - BZIP2: enable bzip2 compression support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
177 - DBUS: enable D-Bus support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
178 - DOXYGEN: enable doxygen documentation support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
179 - DRM: enable direct rendering manager support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
180 - DTD: enable XML validation support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
181 - EGL: enable EGL support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
182 - FONTCONFIG: enable fontconfig support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
183 - FREETYPE: enable freetype support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
184 - GALLIUM: enable LLVM gallium support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
185 - GDBM: enable GNU database support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
186 - GLAMOR: enable 2D graphics support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
187 - GLES2: enable GLES2 support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
188 - GLES3: enable GLES3 support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
189 - GMP: enable GNU multiple precision library |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
190 - GTK2: enable Gtk 2 toolkit support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
191 - GTK3: enable Gtk 3 toolkit support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
192 - GTK4: enable Gtk 4 toolkit support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
193 - GUILE: enable GNU guile support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
194 - IDN2: enable libidn2 support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
195 - KMS: enable kernel mode settings support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
196 - LLVM: enable LLVM support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
197 - LZ4: enable lz4 compression support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
198 - LZMA: enable lzma compression support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
199 - MNL: enable netlink minimalistic library support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
200 - NLS: enable native language support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
201 - PAM: enable PAM support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
202 - PCRE: enable perl-like regular expression support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
203 - PULSEAUDIO: enable PulseAudio support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
204 - PYTHON: enable Python 3 bindings or support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
205 - QT5: enable Qt 5 toolkit support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
206 - SPHINX: enable sphinx documentation support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
207 - SSH: enable SSH support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
208 - SSL: enable SSL/TLS, some packages offer several choices (e.g. openssl, gnutls) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
209 - UDEV: enable eudev support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
210 - UUID: enable UUID support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
211 - WACOM: enable wacom support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
212 - WAYLAND: enable wayland support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
213 - X: enable X.Org support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
214 - XML: enable XML support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
215 - XZ: enable XZ support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
216 - ZLIB: enable zlib compression support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
217 - ZSTD: enable zstd compression support |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
218 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
219 Always try to make an option easy to understand and not package specific. For |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
220 example BLUETOOTH is preferred over BLUEZ because a user knows what bluetooth is |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
221 but may not know that bluez is the current reference implementation. Also, it is |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
222 preferred to make an option generic to allow multiple values in case the |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
223 package offers it. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
224 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
225 Example, if a package offers different implementations for SSL, consider the |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
226 option with a value (e.g. SSL=openssl, SSL=gnutls, and such). |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
227 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
228 Also, if a package offers different implementations that can be enabled all |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
229 together, use a list separated by space (e.g. XML="libxml2 expat"). |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
230 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
231 Those options should only change the package behaviour, for example: manual |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
232 pages or any other resource files that are not strictly required; they must be |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
233 installed and the user may exclude them via `vpk` instead. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
234 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
235 The following options should be available for any package that builds C or C++ |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
236 code: |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
237 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
238 - CBUILD: build system (usually ARCH-linux-musl) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
239 - CHOST: host system (usually ARCH-linux-musl) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
240 - CTARGET: target system (usually ARCH-linux-musl) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
241 - CC: C compiler (defaults to gcc) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
242 - CFLAGS: C flags (defaults to -O2) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
243 - CXX: C++ compiler (defaults to g++) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
244 - CXXFLAGS: C++ flags (defaults to -O2) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
245 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
246 ## Keep vanilla |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
247 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
248 Do not make any modifications to the package. Keep it as close to upstream as |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
249 possible. Only minor tweaks are allowed including: |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
250 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
251 - adjusting pid/uid/gid in a default configuration file for easier deployment |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
252 (but not on the original file example) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
253 - disabling static libraries |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
254 - making sure paths are consolidated |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
255 - making sure system libraries are used rather than in-source bundles |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
256 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
257 ## Package naming |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
258 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
259 The following prefixes must be used for those packages: |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
260 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
261 - py-: for python modules |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
262 - ruby-: for native ruby modules |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
263 - rubygem-: for rubygems modules |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
264 - p5-: for perl 5 modules |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
265 - hs-: for haskell modules |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
266 - font-: for fonts (of any kind) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
267 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
268 When a package is available with different versions (e.g. Gtk, Qt) we add the |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
269 major number as suffix to the PKGNAME to *old* versions. Example, if Qt 5 is the |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
270 current major version and Qt 4 is also shipped then, the package *qt* refers to |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
271 version 5 while *qt4* to version 4. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
272 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
273 ## Paths |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
274 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
275 The package must ensure appropriate directories for installing files. This |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
276 includes: |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
277 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
278 - /etc/rc.d for service files |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
279 - /usr/lib/pkgconfig: for .pc files |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
280 - /usr/lib/cmake: for CMake config files |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
281 - /usr/lib: for libraries (no lib64 suffix) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
282 - /usr/share/man/man{1,2,3,4,5,6,7,8}: for man pages (in uncompressed form) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
283 - /usr/share/doc/PKGNAME (exact directory, no version) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
284 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
285 ## Services |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
286 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
287 Services files must be installed in /etc/rc.d. You must use the following |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
288 conventions regarding messages the service will print. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
289 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
290 The script must at least support start, stop and restart. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
291 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
292 #### start (required) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
293 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
294 Always add arguments with the invocation. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
295 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
296 Starting foo: /usr/bin/foo -d |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
297 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
298 #### stop (required) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
299 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
300 If the service is not running, don't write any message. Otherwise write: |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
301 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
302 Stopping foo. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
303 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
304 #### restart (required) |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
305 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
306 Basically, this command just calls stop and start. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
307 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
308 Stopping foo. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
309 Starting foo: /usr/bin/foo -d |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
310 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
311 #### status |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
312 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
313 Depending on the status, write the following messages. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
314 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
315 foo is running with pid: 1234 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
316 foo is not running |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
317 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
318 #### usage |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
319 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
320 If the script is invoked with invalid arguments or none, write the usage like |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
321 this through stderr and exit 1. Also keep all subcommands sorted. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
322 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
323 usage: foo restart|start|status|stop |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
324 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
325 If your script may support additional operations, messages and usage are up to |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
326 the maintainer discretion. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
327 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
328 See also the template file as Templates/rc. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
329 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
330 ## Static libraries and libtool files |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
331 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
332 Do not ship static libraries and libtool files. Make sure your build script |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
333 suppress static builds if possible or delete the .a file. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
334 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
335 Note: the C and C++ library are shipped for technical reasons though. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
336 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
337 ## Don't delete blindly |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
338 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
339 Do never delete global files through the prefix installation as some people may |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
340 use scripts directly for the system. |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
341 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
342 Example (BAD): |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
343 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
344 rm -f $DESTDIR/usr/lib/*.la |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
345 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
346 Example (BETTER): |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
347 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
348 rm -f $DESTDIR/usr/lib/libfoo.la |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
349 |
7b000befead5
vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
350 Assuming the package is "foo". |