File: appstreamcli-compose.1.xml

package info (click to toggle)
appstream 1.1.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 18,408 kB
  • sloc: ansic: 51,906; xml: 10,459; cpp: 4,721; python: 538; sh: 260; makefile: 24
file content (279 lines) | stat: -rw-r--r-- 9,800 bytes parent folder | download | duplicates (3)
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
<?xml version='1.0' encoding='ISO-8859-1'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [

  <!ENTITY date        "<date>28 Aug,2020</date>">
  <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
       allowed: see man(7), man(1). -->
  <!ENTITY package     "appstreamcli compose">
  <!ENTITY gnu         "<acronym>GNU</acronym>">
  <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
]>

<refentry>
	<refentryinfo>
	<title>appstreamcli compose</title>
	<copyright>
		<year>2020-2024</year>
		<holder>Matthias Klumpp</holder>
	</copyright>
	<productname>AppStream</productname>
	&date;
	</refentryinfo>

	<refmeta>
		<refentrytitle>appstreamcli compose</refentrytitle>
		<manvolnum>1</manvolnum>
	</refmeta>
	<refnamediv>
		<refname>appstreamcli-compose</refname>
		<refpurpose>Compose AppStream metadata catalog from directory trees</refpurpose>
	</refnamediv>

       <refsynopsisdiv>
	       <cmdsynopsis>
		       <command>&package;</command>
		       <group>
			       <option>COMMAND</option>
		       </group>
		</cmdsynopsis>
	</refsynopsisdiv>

	<refsect1>
		<title>Description</title>
		<para>
			This manual page documents briefly the <command>&package;</command> command.
		</para>
		<para>
			The <command>&package;</command> tool is used to construct AppStream metadata catalogs from directory trees.
			The tool will also perform many related metadata generation actions, like resizing icons and
			screenshots and merging in data from referenced desktop-entry files as well as translation status
			information.
			Therefore, the tool provides a fast way to test how the final processed metadata for an application
			that is shipped to users may look like.
			It also provides a way to easily generate AppStream data for projects which do not need a more complex data
			generator like <command>appstream-generator</command>.
		</para>
		<para>
			In order for the <command>&package;</command> command to be available, you may need to install the
			optional compose module for <command>appstreamcli</command> first.
		</para>
		<para>
			For more information about the AppStream project and the other components which are part of it, take a look at
			the AppStream pages at <ulink url="https://www.freedesktop.org/wiki/Distributions/AppStream/">Freedesktop.org</ulink>.
		</para>
	</refsect1>

	<refsect1>
		<title>Options</title>
		<variablelist>

			<varlistentry>
				<term><replaceable>SOURCE-DIRECTORIES</replaceable></term>
				<listitem>
					<para>
						A list of directories to process needs to be provided as positional parameters.
						Data from all directories will be combined into one output namespace.
					</para>
				</listitem>
			</varlistentry>

			<varlistentry>
				<term><option>--origin <replaceable>NAME</replaceable></option></term>
				<listitem>
					<para>
						Set the AppStream data origin identifier. This can be a value like
						<code>"debian-unstable-main"</code> or <code>"flathub"</code>.
					</para>
				</listitem>
			</varlistentry>

			<varlistentry>
				<term><option>--result-root <replaceable>DIR</replaceable></option></term>
				<listitem>
					<para>
						Sets the directory where all generated output that is deployed to a user's
						machine is exported to. If this parameter is not set and we only have one
						directory to process, we use that directory as default output path.
					</para>
					<para>
						If both <option>--data-dir</option> and <option>--icons-dir</option> are
						set, <option>--result-root</option> is not necessary and no data will be
						written to that directory.
					</para>
				</listitem>
			</varlistentry>

			<varlistentry>
				<term><option>--data-dir <replaceable>DIR</replaceable></option></term>
				<listitem>
					<para>
						Override the directory where the generated AppStream metadata catalog
						will be written to. Data will be written directly to this directory, and
						no supdirectories will be created (unlike when using <option>--result-root</option>
						to set an output location).
					</para>
				</listitem>
			</varlistentry>

			<varlistentry>
				<term><option>--icons-dir <replaceable>DIR</replaceable></option></term>
				<listitem>
					<para>
						Override the directory where the cached icons are exported to.
					</para>
				</listitem>
			</varlistentry>

			<varlistentry>
				<term><option>--hints-dir <replaceable>DIR</replaceable></option></term>
				<listitem>
					<para>
						Set a directory where hints reported generated during metadata processing
						are saved to. If this parameter is not set, no HTML/YAML hint reports
						will be saved.
					</para>
				</listitem>
			</varlistentry>

			<varlistentry>
				<term><option>--media-dir <replaceable>DIR</replaceable></option></term>
				<listitem>
					<para>
						If set, creates a directory with media content (icons, screenshots, ...) that
						can be served via a webserver. The metadata will be extended to include information
						about these remote media.
					</para>
				</listitem>
			</varlistentry>

			<varlistentry>
				<term><option>--media-baseurl <replaceable>URL</replaceable></option></term>
				<listitem>
					<para>
						The URL under which the contents of a directory set via <option>--media-dir</option>
						will be served. This value must be set if a media directory is created.
					</para>
				</listitem>
			</varlistentry>

			<varlistentry>
				<term><option>--prefix <replaceable>DIR</replaceable></option></term>
				<listitem>
					<para>
						Set the default prefix that is used in the processed directories. If
						none is set explicitly, <filename>/usr</filename> is assumed.
					</para>
				</listitem>
			</varlistentry>

			<varlistentry>
				<term><option>--print-report <replaceable>MODE</replaceable></option></term>
				<listitem>
					<para>
						Print the issue hints report (that gets exported as HTML and YAML
						document when <option>--hints-dir</option> was set) to the console
						in text form.
					</para>
					<para>
						Various print modes are supported: <replaceable>on-error</replaceable> only prints a
						short report if the run failed (default), <replaceable>short</replaceable> generates
						an abridged report that is always printed and <replaceable>full</replaceable> results
						in a detailed report to be printed.
					</para>
				</listitem>
			</varlistentry>

			<varlistentry>
				<term><option>--no-partial-urls</option></term>
				<listitem>
					<para>
						If set, all URLs in the generated data will be absolute and <code>media_baseurl</code> will not be used.
						This makes changing the media mirror harder without regenerating all data and is generally not recommended,
						to increase flexibility.
					</para>
				</listitem>
			</varlistentry>

			<varlistentry>
				<term><option>--icon-policy <replaceable>POLICY-STRING</replaceable></option></term>
				<listitem>
					<para>
						Override the existing icon policy with a custom one. The icon policy sets how icons of
						different sizes should be dealt with. They can be in the icon cache only, be a remote icon in
						the media location or be both cached and available in the remote location.
					</para>
					<para>
						The icon-policy string is comprised of comma-separated <code>%{size}x%{size}@%{scale}=%{state}</code> statements.
						The <code>size</code> and <code>scale</code> are that of the respective icon, with the scale being allowed to be
						omitted if it is 1. The <code>state</code> can be one of <literal>remote</literal>, <literal>cached</literal> or
						<literal>cached-remote</literal>.
					</para>
					<para>
						By default, a policy of <code>48x48=cached,48x48@2=cached,64x64=cached,64x64@2=cached,128x128=cached-remote,128x128@2=cached-remote</code>
						is selected.
					</para>
				</listitem>
			</varlistentry>

			<varlistentry>
				<term><option>--allow-custom <replaceable>CUSTOM-KEY-NAMES</replaceable></option></term>
				<listitem>
					<para>
						By default, all <literal>custom</literal> entries set in MetaInfo input data are removed.
						This flag allows one to whitelist custom keys to be propagated to the final catalog output data.
						The custom-key names should be provided as a comma-separated list.
					</para>
				</listitem>
			</varlistentry>

			<varlistentry>
				<term><option>--components <replaceable>COMPONENT-IDs</replaceable></option></term>
				<listitem>
					<para>
						Set a comma-separated list of AppStream component IDs that should be
						considered for the generated metadata. All components that exist in
						the input data but are not mentioned in this list will be ignored
						for the generated output.
					</para>
				</listitem>
			</varlistentry>

			<varlistentry>
				<term><option>--no-color</option></term>
				<listitem>
					<para>Don't print colored output.</para>
				</listitem>
			</varlistentry>

			<varlistentry>
				<term><option>--verbose</option></term>
				<listitem>
					<para>Display extra debugging information</para>
				</listitem>
			</varlistentry>

			<varlistentry>
				<term><option>--version</option></term>
				<listitem>
					<para>Display the version number of &package;</para>
				</listitem>
			</varlistentry>

		</variablelist>
	</refsect1>

	<refsect1>
		<title>See Also</title>
		<para>
			<citerefentry><refentrytitle>appstreamcli</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
			<citerefentry><refentrytitle>appstream-generator</refentrytitle><manvolnum>1</manvolnum></citerefentry>.
		</para>
	</refsect1>
<refsect1>
<title>AUTHOR</title>
<para>
	This manual page was written by Matthias Klumpp <email>matthias@tenstral.net</email>.
</para>
</refsect1>
</refentry>