File: c-reference.html

package info (click to toggle)
epm 3.0-4
  • links: PTS
  • area: main
  • in suites: woody
  • size: 1,020 kB
  • ctags: 371
  • sloc: ansic: 6,199; cpp: 1,188; makefile: 201; perl: 134
file content (293 lines) | stat: -rw-r--r-- 8,860 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
<HTML>
<BODY>

<H1 ALIGN="RIGHT"><A NAME="REFERENCE">C - List File Reference</A></H1>

<P>This appendix provides a complete reference for the EPM list file
and setup types formats.</P>

<H2>The EPM List File Format</H2>

<P>Each <I>EPM</I> product has an associated list file that
describes the files to include with the product. Comment lines
begin with the "#" character and are ignored. All other
non-blank lines must begin with a letter, dollar sign ("$"), or
the percent sign ("%").</P>

<H3>List File Directives</H3>

<P>The following list describes all of the list file directives
supported by <I>EPM</I>:</P>

<UL><DL>

	<DT>$name=value</DT>

	<DD>Sets the named variable to <I>value</I>.
	<B>Note:</B> Variables set in the list file are
	overridden by variables specified on the command-line or
	in the current environment.</DD>

	<DT>%copyright <I>copyright notice</I></DT>

	<DD>Sets the copyright notice for the file.</DD>

	<DT>%description <I>description text</I></DT>

	<DD>Adds a line of descriptive text to the distribution.
	Multiple lines are supported.</DD>

	<DT>%format <I>format [... format]</I></DT>

	<DD>Uses following files and directives only if the
	distribution format is the same as <I>format</I>.</DD>

	<DT>%format !<I>format [... format]</I></DT>

	<DD>Uses following files and directives only if the
	distribution format is not the same as
	<I>format</I>.</DD>

	<DT>%include <I>filename</I></DT>

	<DD>Includes files listed in <I>filename</I>.</DD>

	<DT>%incompat <I>product</I></DT>

	<DT>%incompat <I>filename</I></DT>

	<DD>Indicates that this product is incompatible with the
	named product or file.</DD>

	<DT>%install <I>script or program</I></DT>

	<DD>Specifies a script or program to be run after all
	files are installed. (This has been obsoleted by the
	%postinstall directive)</DD>

	<DT>%license <I>license file</I></DT>

	<DD>Specifies the file to display as the software
	license.</DD>

	<DT>%packager <I>name of packager</I></DT>

	<DD>Specifies the name of the packager.</DD>

	<DT>%patch <I>script or program</I></DT>

	<DD>Specifies a script or program to be run after all
	files are patched. (This has been obsoleted by the
	%postpatch directive)</DD>

	<DT>%postinstall <I>script or program</I></DT>

	<DD>Specifies a script or program to be run after all
	files are installed.</DD>

	<DT>%postpatch <I>script or program</I></DT>

	<DD>Specifies a script or program to be run after all
	files are patched.</DD>

	<DT>%postremove <I>script or program</I></DT>

	<DD>Specifies a script or program to be run after removing files.</DD>

	<DT>%preinstall <I>script or program</I></DT>

	<DD>Specifies a script or program to be run before all
	files are installed.</DD>

	<DT>%prepatch <I>script or program</I></DT>

	<DD>Specifies a script or program to be run before all
	files are patched.</DD>

	<DT>%preremove <I>script or program</I></DT>

	<DD>Specifies a script or program to be run before removing files.</DD>

	<DT>%product <I>product name</I></DT>

	<DD>Specifies the product name.</DD>

	<DT>%readme <I>readme file</I></DT>

	<DD>Specifies a README file to be included in the distribution.</DD>

	<DT>%remove <I>script or program</I></DT>

	<DD>Specifies a script or program to be run before removing files.
	(This has been obsoleted by the %preremove directive)</DD>

	<DT>%release <I>number</I></DT>

	<DD>Specifies the release or build number of a product
	(defaults to 0).</DD>

	<DT>%replaces <I>product</I></DT>

	<DD>Indicates that this product replaces the named product.</DD>

	<DT>%requires <I>product</I></DT>

	<DT>%requires <I>filename</I></DT>

	<DD>Indicates that this product requires the named product or file.</DD>

	<DT>%vendor <I>vendor or author name</I></DT>

	<DD>Specifies the vendor or author of the product.</DD>

	<DT>%version <I>version number</I></DT>

	<DD>Specifies the version number of the product.</DD>

	<DT>%system <I>system[-release] [... system[-release]]</I></DT>

	<DD>Specifies that the following files should only be
	used for the specified operating systems and
	releases.</DD>

	<DT>%system !<I>system[-release] [... system[-release]]</I></DT>

	<DD>Specifies that the following files should not be
	used for the specified operating systems and
	releases.</DD>

	<DT>%system all</DT>

	<DD>Specifies that the following files are applicable to
	all operating systems.</DD>

	<DT>c <I>mode user group destination source</I></DT>

	<DT>C <I>mode user group destination source</I></DT>

	<DD>Specifies a configuration file for installation. The
	second form specifies that the file has changed or is
	new and should be included as part of a patch.
	Configuration files are installed as "destination.N" if
	the destination already exists.</DD>

	<DT>d <I>mode user group destination -</I></DT>

	<DT>D <I>mode user group destination -</I></DT>

	<DD>Specifies a directory should be created when
	installing the software. The second form specifies that
	the directory is new and should be included as part of a
	patch.</DD>

	<DT>f <I>mode user group destination source</I></DT>

	<DT>F <I>mode user group destination source</I></DT>

	<DD>Specifies a file for installation. The second form
	specifies that the file has changed or is new and should
	be included as part of a patch.</DD>

	<DT>f <I>mode user group destination source/pattern</I></DT>

	<DT>F <I>mode user group destination source/pattern</I></DT>

	<DD>Specifies one or more files for installation using
	shell wildcard patterns. The second form specifies that
	the files have changed or are new and should be included
	as part of a patch.</DD>

	<DT>i <I>mode user group service-name source</I></DT>

	<DT>I <I>mode user group service-name source</I></DT>

	<DD>Specifies an initialization script for installation.
	The second form specifies that the file has changed or
	is new and should be included as part of a patch.
	Initialization scripts are stored in
	<VAR>/etc/software/init.d</VAR> and are linked to the
	appropriate system-specific directories for run levels
	0, 2, 3, and 5. Initialization scripts <B>must</B>
	accept at least the <I>start</I> and <I>stop</I>
	commands.</DD>

	<DT>l <I>mode user group destination source</I></DT>

	<DT>L <I>mode user group destination source</I></DT>

	<DD>Specifies a symbolic link in the installation. The
	second form specifies that the link has changed or is
	new and should be included as part of a patch.</DD>

	<DT>R <I>mode user group destination</I></DT>

	<DD>Specifies that the file is to be removed upon
	patching.  The <I>user</I> and <I>group</I> fields are
	ignored.  The <I>mode</I> field is only used to
	determine if a check should be made for a previous
	version of the file.</DD>

</DL></UL>

<H3>List Variables</H3>

<P><I>EPM</I> maintains a list of variables and their values
which can be used to substitute values in the list file. These
variables are imported from the current environment and taken
from the command-line and list file as provided. Substitutions
occur when the variable name is referenced with the dollar sign
($):</P>

<UL><PRE>
%install echo What is your name:
%install read $$name
%install echo Your name is $$name

f 0555 root sys ${bindir}/foo foo
f 0555 root sys $datadir/foo/foo.dat foo.dat
</PRE></UL>

<P>Variable names can be surrounded by curley brackets (${name})
or alone ($name); without brackets the name is terminated by the
first slash (/), dash (-), or whitespace. The dollar sign can be
inserted using $$.</P>

<H2><A NAME="SETUPTYPES">The setup.types File</A></H2>

<P>The EPM <B>setup</B> program normally presents the user with
a list of software products to install, which is called a
"custom" software installation.</P>

<P>If a file called <I>setup.types</I> is present in the package
directory, the user will instead be presented with a list of
instal- lation types. Each type has an associated product list
which determines the products that are installed by default. If
a type has no products associated with it, then it is treated as
a custom installation and the user is presented with a list of
packages to choose from.</P>

<P>The <I>setup.types</I> file is an ASCII text file consisting
of type and product lines. Comments can be inserted by starting
a line with the pound sign (#). Each installation type is
defined by a line starting with the word <CODE>TYPE</CODE>.
Products are defined by a line starting with the word
<CODE>INSTALL</CODE>:</P>

<UL><PRE>
TYPE Typical End-User Configuration
INSTALL foo
INSTALL foo-help
TYPE Typical Developer Configuration
INSTALL foo
INSTALL foo-help
INSTALL foo-devel
INSTALL foo-examples
TYPE Custom Configuration
</PRE></UL>

<P>In the example above, three installation types are defined.
Since the last type includes no products, the user will be
presented with the full list of products to choose from.</P>

</BODY>
</HTML>