annotate HOWTO.md @ 427:95095aa8fe3d

vanilla: fix locale directory
author David Demelier <markand@malikania.fr>
date Thu, 04 Apr 2019 14:49:17 +0200
parents 0b7acfc69fec
children 91df0731a3f5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
409
0b7acfc69fec network/openssh: add uid/gid and PAM
David Demelier <markand@malikania.fr>
parents: 349
diff changeset
135 Once you need a new UID/GID, edit the file UIDS_GIDS.md in the repository
0b7acfc69fec network/openssh: add uid/gid and PAM
David Demelier <markand@malikania.fr>
parents: 349
diff changeset
136 accordingly.
0b7acfc69fec network/openssh: add uid/gid and PAM
David Demelier <markand@malikania.fr>
parents: 349
diff changeset
137
349
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
138 ## Options
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
139
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
140 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
141 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
142 explanation. Options are usually passed as environment variables
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
143
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
144 Example with network/wget:
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 # cd network/wget
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
147 # SSL=openssl NLS=no vpk build
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 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
150 values.
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
151
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
152 Example with NLS
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
153
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
154 PKGOPTIONS="NLS"
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
155
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
156 : ${NLS:=yes}
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
157
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
158 if [ "$NLS" = "yes" ]; then
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
159 PKGDEPENDS="core/gettext $PKGDEPENDS"
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
160 with_nls="--enable-nls"
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
161 else
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
162 with_nls="--disable-nls"
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
163 fi
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
164
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
165 Then at configure step:
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
166
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
167 ./configure $with_nls
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
168
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
169 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
170 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
171 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
172 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
173 use their default as explicit knobs to avoid invisible dependencies.
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
174
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
175 Use the following predefined options before creating your own.
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
176
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
177 - ACL: enable access control list support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
178 - BLUETOOTH: enable bluetooth support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
179 - BZIP2: enable bzip2 compression support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
180 - DBUS: enable D-Bus support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
181 - DOXYGEN: enable doxygen documentation support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
182 - DRM: enable direct rendering manager support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
183 - DTD: enable XML validation support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
184 - EGL: enable EGL support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
185 - FONTCONFIG: enable fontconfig support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
186 - FREETYPE: enable freetype support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
187 - GALLIUM: enable LLVM gallium support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
188 - GDBM: enable GNU database support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
189 - GLAMOR: enable 2D graphics support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
190 - GLES2: enable GLES2 support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
191 - GLES3: enable GLES3 support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
192 - GMP: enable GNU multiple precision library
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
193 - GTK2: enable Gtk 2 toolkit support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
194 - GTK3: enable Gtk 3 toolkit support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
195 - GTK4: enable Gtk 4 toolkit support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
196 - GUILE: enable GNU guile support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
197 - IDN2: enable libidn2 support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
198 - KMS: enable kernel mode settings support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
199 - LLVM: enable LLVM support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
200 - LZ4: enable lz4 compression support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
201 - LZMA: enable lzma compression support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
202 - MNL: enable netlink minimalistic library support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
203 - NLS: enable native language support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
204 - PAM: enable PAM support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
205 - PCRE: enable perl-like regular expression support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
206 - PULSEAUDIO: enable PulseAudio support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
207 - PYTHON: enable Python 3 bindings or support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
208 - QT5: enable Qt 5 toolkit support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
209 - SPHINX: enable sphinx documentation support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
210 - SSH: enable SSH support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
211 - 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
212 - UDEV: enable eudev support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
213 - UUID: enable UUID support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
214 - WACOM: enable wacom support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
215 - WAYLAND: enable wayland support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
216 - X: enable X.Org support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
217 - XML: enable XML support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
218 - XZ: enable XZ support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
219 - ZLIB: enable zlib compression support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
220 - ZSTD: enable zstd compression support
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
221
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
222 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
223 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
224 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
225 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
226 package offers it.
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 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
229 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
230
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
231 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
232 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
233
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
234 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
235 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
236 installed and the user may exclude them via `vpk` instead.
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 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
239 code:
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
240
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
241 - CBUILD: build system (usually ARCH-linux-musl)
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
242 - CHOST: host system (usually ARCH-linux-musl)
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
243 - CTARGET: target system (usually ARCH-linux-musl)
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
244 - CC: C compiler (defaults to gcc)
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
245 - CFLAGS: C flags (defaults to -O2)
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
246 - CXX: C++ compiler (defaults to g++)
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
247 - CXXFLAGS: C++ flags (defaults to -O2)
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
248
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
249 ## Keep vanilla
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 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
252 possible. Only minor tweaks are allowed including:
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
253
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
254 - 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
255 (but not on the original file example)
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
256 - disabling static libraries
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
257 - making sure paths are consolidated
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
258 - 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
259
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
260 ## Package naming
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
261
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
262 The following prefixes must be used for those packages:
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
263
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
264 - py-: for python modules
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
265 - ruby-: for native ruby modules
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
266 - rubygem-: for rubygems modules
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
267 - p5-: for perl 5 modules
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
268 - hs-: for haskell modules
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
269 - font-: for fonts (of any kind)
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
270
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
271 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
272 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
273 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
274 version 5 while *qt4* to version 4.
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
275
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
276 ## Paths
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 The package must ensure appropriate directories for installing files. This
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
279 includes:
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
280
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
281 - /etc/rc.d for service files
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
282 - /usr/lib/pkgconfig: for .pc files
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
283 - /usr/lib/cmake: for CMake config files
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
284 - /usr/lib: for libraries (no lib64 suffix)
427
95095aa8fe3d vanilla: fix locale directory
David Demelier <markand@malikania.fr>
parents: 409
diff changeset
285 - /usr/share/locale: for NLS files
349
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
286 - /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
287 - /usr/share/doc/PKGNAME (exact directory, no version)
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
288
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
289 ## Services
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
290
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
291 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
292 conventions regarding messages the service will print.
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 The script must at least support start, stop and restart.
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 #### start (required)
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 Always add arguments with the invocation.
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 Starting foo: /usr/bin/foo -d
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 #### stop (required)
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 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
305
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
306 Stopping foo.
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 #### restart (required)
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
309
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
310 Basically, this command just calls stop and start.
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
311
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
312 Stopping foo.
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
313 Starting foo: /usr/bin/foo -d
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 #### status
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
316
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
317 Depending on the status, write the following messages.
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
318
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
319 foo is running with pid: 1234
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
320 foo is not running
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
321
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
322 #### usage
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
323
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
324 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
325 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
326
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
327 usage: foo restart|start|status|stop
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
328
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
329 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
330 the maintainer discretion.
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 See also the template file as Templates/rc.
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
333
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
334 ## Static libraries and libtool files
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
335
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
336 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
337 suppress static builds if possible or delete the .a file.
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 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
340
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
341 ## Don't delete blindly
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
342
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
343 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
344 use scripts directly for the system.
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 (BAD):
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/*.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 Example (BETTER):
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
351
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
352 rm -f $DESTDIR/usr/lib/libfoo.la
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
353
7b000befead5 vanilla: improve docs and hierarchy
David Demelier <markand@malikania.fr>
parents:
diff changeset
354 Assuming the package is "foo".