summaryrefslogtreecommitdiffstats
path: root/doc/package/ebuild/eapi/5-progress.docbook
blob: 33464644fd6823228e213d2086cf670d89bfdbe0 (plain)
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
<section id='package-ebuild-eapi-5-progress'>
	<title>EAPI 5-progress</title>
	<para>
		Also see the <ulink url="http://people.apache.org/~Arfrever/EAPI_5-progress_Specification">official EAPI 5-progress Specification</ulink>.
	</para>
	<section id='package-ebuild-eapi-5-progress-helpers'>
		<title>Helpers</title>
		<section id='package-ebuild-eapi-5-progress-helpers-master-repositories'>
			<title>master_repositories</title>
			<para>
				New master_repositories function prints space-separated list of master repositories for specified repository.
			</para>
		</section>
		<section id='package-ebuild-eapi-5-progress-helpers-repository-path'>
			<title>repository_path</title>
			<para>
				New repository_path function prints path to specified repository.
			</para>
		</section>
		<section id='package-ebuild-eapi-5-progress-helpers-available-eclasses'>
			<title>available_eclasses</title>
			<para>
				New available_eclasses function prints space-separated list of available eclasses for current repository.
			</para>
		</section>
		<section id='package-ebuild-eapi-5-progress-helpers-eclass-path'>
			<title>eclass_path</title>
			<para>
				New eclass_path function prints path to specified eclass for current repository.
			</para>
		</section>
		<section id='package-ebuild-eapi-5-progress-helpers-license-path'>
			<title>license_path</title>
			<para>
				New license_path function prints path to specified license for current repository.
			</para>
		</section>
		<section id='package-ebuild-eapi-5-progress-helpers-package-manager-build-user'>
			<title>package_manager_build_user</title>
			<para>
				New package_manager_build_user function prints name of user used by package manager in build phases.
			</para>
		</section>
		<section id='package-ebuild-eapi-5-progress-helpers-package-manager-build-group'>
			<title>package_manager_build_group</title>
			<para>
				New package_manager_build_group function prints name of group used by package manager in build phases.
			</para>
		</section>
		<section id='package-ebuild-eapi-5-progress-helpers-dohtml-extended-default-list-of-extensions'>
			<title>Extended default list of extensions in dohtml</title>
			<para>
				dohtml by default additionally installs files with .ico, .svg, .xhtml and .xml extensions.
			</para>
		</section>
		<section id='package-ebuild-eapi-5-progress-helpers-banned-in-global-scope'>
			<title>Helpers Banned in Global Scope</title>
			<para>
				<itemizedlist>
					<listitem><para>diropts</para></listitem>
					<listitem><para>docompress</para></listitem>
					<listitem><para>exeopts</para></listitem>
					<listitem><para>insopts</para></listitem>
					<listitem><para>keepdir</para></listitem>
					<listitem><para>libopts</para></listitem>
					<listitem><para>use</para></listitem>
					<listitem><para>use_enable</para></listitem>
					<listitem><para>use_with</para></listitem>
					<listitem><para>useq</para></listitem>
					<listitem><para>usev</para></listitem>
					<listitem><para>usex</para></listitem>
				</itemizedlist>
			</para>
		</section>
	</section>
	<section id='package-ebuild-eapi-5-progress-metadata'>
		<title>Metadata</title>
		<section id='package-ebuild-eapi-5-progress-metadata-package-names-allow-period-characters'>
			<title>Support for Period Characters in Package Names</title>
			<para>
				The "." character is allowed in package names.
			</para>
		</section>
		<section id='package-ebuild-eapi-5-progress-metadata-use-flags-allow-period-characters'>
			<title>Support for Period Characters in USE Flags</title>
			<para>
				The "." character is allowed in USE flags.
			</para>
		</section>
		<section id='package-ebuild-eapi-5-progress-metadata-repository-dependencies'>
			<title>Repository Dependencies</title>
			<para>
				Repository dependencies are supported in atoms in DEPEND, PDEPEND and RDEPEND and atoms passed to best_version and has_version functions.
				Repository dependency is specified by two colons followed by repository name.
			</para>
			<table><title>Repository Dependency Examples</title>
				<tgroup cols='1' align='left'>
					<colspec colname='atom'/>
					<thead>
						<row>
							<entry>Atom</entry>
						</row>
					</thead>
					<tbody>
						<row>
							<entry>dev-lang/python::progress</entry>
						</row>
						<row>
							<entry>&gt;=dev-lang/python-3.2::progress</entry>
						</row>
						<row>
							<entry>dev-lang/python:3.2::progress</entry>
						</row>
						<row>
							<entry>dev-lang/python::progress[xml]</entry>
						</row>
						<row>
							<entry>dev-lang/python:3.2::progress[xml]</entry>
						</row>
					</tbody>
				</tgroup>
			</table>
		</section>
	</section>
	<section id='package-ebuild-eapi-5-progress-globstar'>
		<title>globstar shell option enabled by default</title>
		<para>
			globstar shell option is enabled by default, which enables recursive expansion of ** pattern in pathname expansion context.
		</para>
	</section>
	<section id='package-ebuild-eapi-5-progress-variables'>
		<title>Variables</title>
		<section id='package-ebuild-eapi-5-progress-variables-repository'>
			<title>REPOSITORY Variable</title>
			<para>
				The new REPOSITORY variable is set in ebuild environment. This variable contains name of repository, which contains currently used ebuild.
			</para>
		</section>
	</section>
	<section id='package-ebuild-eapi-5-progress-repo-level-config'>
		<title>Extended Repository-Level Configuration</title>
		<para>
			Repository-level configuration in ${repository_path}/profiles is supported for the following files:
			<itemizedlist>
				<listitem><para>make.defaults</para></listitem>
				<listitem><para>package.use</para></listitem>
				<listitem><para>package.use.force</para></listitem>
				<listitem><para>package.use.mask</para></listitem>
				<listitem><para>package.use.stable.force</para></listitem>
				<listitem><para>package.use.stable.mask</para></listitem>
				<listitem><para>use.force</para></listitem>
				<listitem><para>use.mask</para></listitem>
				<listitem><para>use.stable.force</para></listitem>
				<listitem><para>use.stable.mask</para></listitem>
			</itemizedlist>
		</para>
	</section>
	<section id='package-ebuild-eapi-5-progress-directories'>
		<title>Directories Allowed for Profile-Level and Repository-Level Configuration</title>
		<para>
			The following files can be directories:
			<itemizedlist>
				<listitem><para>package.mask</para></listitem>
				<listitem><para>package.use</para></listitem>
				<listitem><para>package.use.force</para></listitem>
				<listitem><para>package.use.mask</para></listitem>
				<listitem><para>package.use.stable.force</para></listitem>
				<listitem><para>package.use.stable.mask</para></listitem>
				<listitem><para>use.force</para></listitem>
				<listitem><para>use.mask</para></listitem>
				<listitem><para>use.stable.force</para></listitem>
				<listitem><para>use.stable.mask</para></listitem>
			</itemizedlist>
		</para>
	</section>
	<section id='package-ebuild-eapi-5-progress-use-aliases'>
		<title>USE Flag Aliases</title>
		<para>
			USE flag aliases are supported to allow to satisfy dependencies of packages from other repositories, which require differently named USE flags. USE flag aliases are defined in ${repository_path}/profiles/use.aliases and ${repository_path}/profiles/package.use.aliases files.
		</para>
		<table><title>use.aliases Example</title>
			<tgroup cols='1' align='left'>
				<tbody>
					<row>
						<entry>real_flag1 alias1 alias2</entry>
					</row>
					<row>
						<entry>real_flag2 alias3 alias4</entry>
					</row>
				</tbody>
			</tgroup>
		</table>
		<table><title>package.use.aliases Example</title>
			<tgroup cols='1' align='left'>
				<tbody>
					<row>
						<entry>category/package1 real_flag1 alias1 alias2</entry>
					</row>
					<row>
						<entry>category/package1 real_flag2 alias3 alias4</entry>
					</row>
					<row>
						<entry>=category/package2-1* real_flag3 alias5 alias6</entry>
					</row>
					<row>
						<entry>=category/package2-2* real_flag4 alias5 alias6</entry>
					</row>
				</tbody>
			</tgroup>
		</table>
	</section>
</section>