Protect sq->reaped with sighold and sigrelease.
[platform/upstream/rpm.git] / macros.in
1 #/*! \page config_macros Default configuration: @RPMCONFIGDIR@/macros
2 # \verbatim
3 #
4 # $Id: macros.in,v 1.147 2004/03/05 23:11:51 jbj Exp $
5 #
6 # This is a global RPM configuration file. All changes made here will
7 # be lost when the rpm package is upgraded. Any per-system configuration
8 # should be added to /etc/rpm/macros, while per-user configuration should
9 # be added to ~/.rpmmacros.
10 #
11 #==============================================================================
12 # Macro naming conventions (preliminary):
13 #
14 #       Macros that begin with an underscore are "local" in the sense that
15 #       they (if used) will not be exported in rpm headers. Some macros
16 #       that don't start with an underscore (but look like they should)
17 #       are compatible with macros generated by rpm-2.5.x and will be made
18 #       more consistent in a future release.
19 #
20
21 #==============================================================================
22 # ---- A macro that expands to nothing.
23 #
24 %nil                    %{!?nil}
25
26 #==============================================================================
27 # ---- filesystem macros.
28 #
29 %_usr                   @prefix@
30 %_usrsrc                %{_usr}/src
31 %_var                   @varprefix@
32
33 #==============================================================================
34 # ---- Generally useful path macros.
35 #
36 %__awk                  @AWK@
37 %__bzip2                @BZIP2BIN@
38 %__cat                  @__CAT@
39 %__chgrp                @__CHGRP@
40 %__chmod                @__CHMOD@
41 %__chown                @__CHOWN@
42 %__cp                   @__CP@
43 %__cpio                 @__CPIO@
44 %__file                 @__FILE@
45 %__gpg                  @__GPG@
46 %__grep                 @__GREP@
47 %__gzip                 @GZIPBIN@
48 %__id                   @__ID@
49 %__install              @__INSTALL@
50 %__ln_s                 @LN_S@
51 %__make                 @__MAKE@
52 %__mkdir                @__MKDIR@
53 %__mkdir_p              @MKDIR_P@
54 %__mv                   @__MV@
55 %__patch                @__PATCH@
56 %__perl                 @__PERL@
57 %__pgp                  @PGPBIN@
58 %__python               @__PYTHON@
59 %__rm                   @__RM@
60 %__rsh                  @__RSH@
61 %__sed                  @__SED@
62 %__ssh                  @__SSH@
63 %__tar                  @__TAR@
64 %__unzip                @UNZIPBIN@
65
66 #==============================================================================
67 # ---- Build system path macros.
68 #
69 %__ar                   @AR@
70 %__as                   @AS@
71 %__cc                   @CC@
72 %__cpp                  @CPP@
73 %__cxx                  @CXX@
74 %__ld                   @__LD@
75 %__nm                   @__NM@
76 %__objcopy              @__OBJCOPY@
77 %__objdump              @__OBJDUMP@
78 %__ranlib               @RANLIB@
79 %__remsh                %{__rsh}
80 %__strip                @__STRIP@
81
82 # XXX avoid failures if tools are not installed when rpm is built.
83 %__libtoolize           libtoolize
84 %__aclocal              aclocal
85 %__autoheader           autoheader
86 %__automake             automake
87 %__autoconf             autoconf
88
89 #==============================================================================
90 # ---- Required rpmrc macros.
91 #       Macros that used to be initialized as a side effect of rpmrc parsing.
92 #       These are the default values that can be overridden by other
93 #       (e.g. per-platform, per-system, per-packager, per-package) macros.
94 #
95 #       The directory where sources/patches will be unpacked and built.
96 %_builddir              %{_topdir}/BUILD
97
98 #       The interpreter used for build scriptlets.
99 %_buildshell            /bin/sh
100
101 #       The path to the bzip2 executable (legacy, use %{__bzip2} instead).
102 %_bzip2bin              %{__bzip2}
103
104 #       The location of the rpm database file(s).
105 %_dbpath                %{_var}/lib/rpm
106
107 #       The location of the rpm database file(s) after "rpm --rebuilddb".
108 %_dbpath_rebuild        %{_dbpath}
109
110 #
111 #       Path to script that creates debug symbols in a /usr/lib/debug
112 #       shadow tree.
113 %__debug_install_post   \
114    @RPMCONFIGDIR@/find-debuginfo.sh %{_builddir}/%{?buildsubdir}\
115 %{nil}
116
117 #       Template for debug information sub-package.
118 %debug_package \
119 %ifnarch noarch\
120 %global __debug_package 1\
121 %package debug\
122 Summary: Debug information for package %{name}\
123 Group: Development/Debug\
124 AutoReqProv: 0\
125 %description debug\
126 This package provides debug information for package %{name}.\
127 Debug information is useful when developing applications that use this\
128 package or when debugging this package.\
129 %files debug -f debugfiles.list\
130 %defattr(-,root,root)\
131 %endif\
132 %{nil}
133
134 %_defaultdocdir         %{_usr}/doc
135
136 #       The path to the gzip executable (legacy, use %{__gzip} instead).
137 %_gzipbin               %{__gzip}
138
139 #       The number of changelog entries kept when installing (legacy, unused in
140 #       rpm-4.0.1 and later).
141 %_instchangelog         5
142
143 #       The path to the pgp executable (legacy, use %{__pgp} instead).
144 %_pgpbin                %{__pgp}
145
146 #       The directory where newly built binary packages will be written.
147 %_rpmdir                %{_topdir}/RPMS
148
149 #       A template used to generate the output binary package file name
150 #       (legacy).
151 %_rpmfilename           %{_build_name_fmt}
152
153 #       The default signature type.
154 %_signature             none
155
156 #       The directory where sources/patches from a source package will be
157 #       installed. This is also where sources/patches are found when building.
158 %_sourcedir             %{_topdir}/SOURCES
159
160 #       The directory where the spec file from a source package will be
161 #       installed.
162 %_specdir               %{_topdir}/SPECS
163
164 #       The directory where newly built source packages will be written.
165 %_srcrpmdir             %{_topdir}/SRPMS
166
167 #       Directory where temporaray files can be created.
168 %_tmppath               %{_var}/tmp
169
170 #       Path to top of build area.
171 %_topdir                %{_usrsrc}/redhat
172
173 #       The path to the unzip executable (legacy, use %{__unzip} instead).
174 %_unzipbin              %{__unzip}
175
176 #==============================================================================
177 # ---- Optional rpmrc macros.
178 #       Macros that are initialized as a side effect of rpmrc and/or spec
179 #       file parsing.
180 #
181 #       Configurable build root path, same as BuildRoot: in a specfile.
182 #       (Note: the configured macro value will override the spec file value).
183 #
184 #%buildroot
185
186 #       The sub-directory (relative to %{_builddir}) where sources are compiled.
187 #       This macro is set after processing %setup, either explicitly from the
188 #       value given to -n or the default name-version.
189 #
190 #%buildsubdir
191
192 #       Configurable distribution information, same as Distribution: tag in a
193 #       specfile.
194 #
195 #%distribution
196
197 #       Configurable distribution URL, same as DistURL: tag in a specfile.
198 #       The URL will be used to supply reliable information to tools like
199 #       rpmfind.
200 #
201 # Note: You should not configure with disturl (or build packages with
202 # the DistURL: tag) unless you are willing to supply content in a
203 # yet-to-be-determined format at the URL specified.
204 #
205 #%disturl
206
207 #       Boolean (i.e. 1 == "yes", 0 == "no") that controls whether files
208 #       marked as %doc should be installed.
209 #%_excludedocs
210
211 #       The port and machine name of a FTP proxy host running TIS firewall.
212 #
213 #%_ftpport
214 #%_ftpproxy
215
216 #       The signature to use and the location of configuration files for
217 #       signing packages with GNU gpg.
218 #
219 #%_gpg_name
220 #%_gpg_path
221
222 #       The port and machine name of an HTTP proxy host.
223 #
224 #%_httpport
225 #%_httpproxy
226
227 #       The PATH put into the environment before running %pre/%post et al.
228 #
229 %_install_script_path   /sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin
230
231 #       A colon separated list of desired locales to be installed;
232 #       "all" means install all locale specific files.
233 #       
234 %_install_langs all
235
236 #       The value of CLASSPATH in build scriptlets (iff configured).
237 #       
238 #%_javaclasspath        all
239
240 #       Import packaging conventions from jpackage.org (prefixed with _
241 #       to avoid name collisions).
242 #       
243 %_javadir      %{_datadir}/java
244 %_javadocdir   %{_datadir}/javadoc
245
246 #
247 #       Deprecated.
248 #
249 #%_langpatt
250
251 #       A colon separated list of paths where files should *not* be installed.
252 #       Usually, these are network file system mount points.
253 #
254 #%_netsharedpath
255
256 #       (experimental)
257 #       The type of pattern match used on rpmdb iterator selectors:
258 #       "default"       simple glob-like regex, periods will be escaped,
259 #                       splats will have period prepended, full "^...$" match
260 #                       required. Also, file path tags will use glob(7).
261 #       "strcmp"        compare strings
262 #       "regex"         regex(7) patterns using regcomp(3)/regexec(3)
263 #       "glob"          glob(7) patterns using fnmatch(3)
264 #
265 %_query_selector_match  default
266
267 #       Configurable packager information, same as Packager: in a specfile.
268 #
269 #%packager
270
271 #       Compression type and level for source/binary package payloads.
272 #               "w9.gzdio"      gzip level 9 (default).
273 #               "w9.bzdio"      bzip2 level 9.
274 #
275 #%_source_payload       w9.gzdio
276 #%_binary_payload       w9.gzdio
277
278 #       The signature to use and the location of configuration files for
279 #       signing packages with PGP.
280 #
281 #%_pgp_name
282 #%_pgp_path
283
284 #       Configurable vendor information, same as Vendor: in a specfile.
285 #
286 #%vendor
287
288 #==============================================================================
289 # ---- Build configuration macros.
290 #
291 # Package version macro.
292 #       The type of package to produce, for compatibility with legacy
293 #       versions of rpm.
294 #
295 # This is an rpm version, e.g. 30005 means to produce packaging compatible
296 # with rpm-3.0.5. At the moment, values < 30005 (i.e. compatibility with
297 # version before rpm-3.0.5) are not supported. The only incompatible change
298 # in rpm packaging since rpm-3.0.5 has been to replace a 3 with a 4 in the
299 # rpmlead, so there's little need to use any value greater than 30005.
300 #
301 %_package_version       30005
302
303 #
304 # Script gets packaged file list on input and buildroot as first parameter.
305 # Returns list of unpackaged files, i.e. files in $RPM_BUILD_ROOT not packaged.
306 #
307 # Note: Disable (by commenting out) for legacy compatibility.
308 %__check_files         @RPMCONFIGDIR@/check-files %{buildroot}
309
310 #
311 # Should unpackaged files in a build root terminate a build?
312 #
313 # Note: The default value should be 0 for legacy compatibility.
314 %_unpackaged_files_terminate_build      1
315
316 #
317 # Should missing %doc files in the build directory terminate a build?
318 #
319 # Note: The default value should be 0 for legacy compatibility.
320 %_missing_doc_files_terminate_build     1
321
322 #
323 # Use internal dependency generator rather than external helpers?
324 %_use_internal_dependency_generator     1
325
326 #
327 # Filter GLIBC_PRIVATE Provides: and Requires:
328 %_filter_GLIBC_PRIVATE                  0
329
330 # Path to selinux source policy file context patterns.
331 %__file_context_path /etc/security/selinux/file_contexts
332
333 #
334 # Path to selinux src policy file context patterns used to add
335 # RPMTAG_FILECONTEXTS to packages when building.
336 #
337 # Undefined, missing or %{nil} will disable.
338 %_build_file_context_path       %{__file_context_path}
339
340 #
341 # Path to selinux src policy file context patterns used to set
342 # (or override package content) file contexts when installing.
343 #
344 # Undefined, missing or %{nil} will use package content (if available).
345 %_install_file_context_path     %{__file_context_path}
346
347 #
348 # Path to selinux src policy file context patterns used to verify
349 # file contexts on file system.
350 #
351 # Undefined, missing or %{nil} will use package content (if available).
352 %_verify_file_context_path      %{__file_context_path}
353
354 #
355 # Path to scripts to autogenerate package dependencies,
356 #
357 # Note: Used iff _use_internal_dependency_generator is zero.
358 #%__find_provides       @RPMCONFIGDIR@/rpmdeps --provides
359 #%__find_requires       @RPMCONFIGDIR@/rpmdeps --requires
360 %__find_provides        @RPMCONFIGDIR@/find-provides
361 %__find_requires        @RPMCONFIGDIR@/find-requires
362 #%__find_conflicts      ???
363 #%__find_obsoletes      ???
364
365 #
366 # Path to scripts to autogenerate per-interpreter package dependencies,
367 #
368 # Note: Used iff _use_internal_dependency_generator is non-zero. The
369 # helpers are also used by @RPMCONFIGDIR@/rpmdeps {--provides|--requires}.
370 #%__perl_provides       @RPMCONFIGDIR@/perldeps.pl --provides
371 #%__perl_requires       @RPMCONFIGDIR@/perldeps.pl --requires
372 %__perl_provides        @RPMCONFIGDIR@/perl.prov
373 %__perl_requires        @RPMCONFIGDIR@/perl.req
374
375 #
376 # fixowner, fixgroup, and fixperms are run at the end of hardcoded setup
377 # These macros are necessary only for legacy compatibility, and have moved
378 # to per-platform macro configuration (i.e. @RPMCONFIGDIR@/<arch>-<os>/macros)
379 #
380 # Note: These are no longer enabled by default.
381 #%__id_u                @__ID_U@
382 #%__chown_Rhf           @__CHOWN_RHF@
383 #%__chgrp_Rhf           @__CHGRP_RHF@
384 #%_fixowner             [ `%{__id_u}` = '0' ] && %{__chown_Rhf} root
385 #%_fixgroup             [ `%{__id_u}` = '0' ] && %{__chgrp_Rhf} @ROOT_GROUP@
386 #%_fixperms             %{__chmod} -Rf @FIXPERMS@
387 #
388
389 #==============================================================================
390 # ---- Database configuration macros.
391 #       Macros used to configure Berkley db parameters.
392 #
393 # rpmdb macro configuration values are a colon (or white space) separated
394 # list of tokens, with an optional '!' negation to explicitly disable bit
395 # values, or a "=value" if a parameter. A per-tag value is used (e.g.
396 # %_dbi_config_Packages) if defined, otherwise a per-rpmdb default
397 # (e.g. %_dbi_config). The configuration is also conditioned on the
398 # existence of an internal %{_rpmdb_rebuild} switch to permit changing
399 # the configuration while rebuilding an rpmdb database.
400 #
401 # The rpmdb configuration tokens are in a popt table in rpmdb/dbconfig.c,
402 # see that for the latest gory details. Note carefully that, unless you
403 # are writing an rpm installer, you shouldn't have to touch *any* of these
404 # parameters.
405 #
406 # Here's a short list of the tokens, with a guess of whether the option is
407 # useful:
408 #       (nothing)       currently used in rpm, known to work.
409 #       "+++"           under development, will be supported in rpm eventually.
410 #       "???"           I have no clue, you're mostly on your own.
411 #
412 # If you do find yourself inclined to fiddle, here's what I see (shrug):
413 # 1) Only the value of mp_size has any serious impact on overall performance,
414 #    and you will need ~256Kb to handle a typical machine install.
415 # 2) Only the Packages hash, because of the size of the values (i.e. headers),
416 #    will ever need tuning. Diddle the pagesize if you're interested, although
417 #    I believe that you will find pagesize=512 "best".
418 # 3) Adding nofsync increases speed, but risks total data loss. Fiddle shared
419 #    and/or mp_size instead.
420 # 4) btree is faster than hash, but would require some painful rpm release
421 #    engineering to convert everbody's databases to btree, not gonna happen
422 #    soon.
423 #
424 # See the db3-devel package, or http://www.sleepycat.com for Berkeley db-3.x
425 # documentation.
426 #
427 #   token       works?  Berkeley db flag or value
428 #==================================================
429 #---------------------- DBENV->open parameters and tunable values:
430 #   mmapsize=16Mb       DBENV->set_mp_mmapsize
431 #   cachesize=1Mb       DBENV->set_cachesize, DB->set_cachesize
432 #---------------------- DBENV->open and DB->open common bits:
433 #   create              DB_CREATE
434 #   thread      ???     DB_THREAD       (useless w/o posix mutexes on linux)
435 #---------------------- DBENV->open bits:
436 #   joinenv             DB_JOIN_ENV
437 #   mpool               DB_INIT_MPOOL
438 #   cdb         +++     DB_INIT_CDB
439 #   txn         ???     DB_INIT_TXN
440 #   log         ???     DB_INIT_LOG
441 #   lock        ???     DB_INIT_LOCK
442 #   recover     ???     DB_RECOVER
443 #   recover_fatal ???   DB_RECOVER_FATAL
444 #   use_environ ???     DB_USE_ENVIRON
445 #   use_environ_root ??? DB_USE_ENVIRON_ROOT
446 #   private     +++     DB_PRIVATE
447 #   lockdown    ???     DB_LOCKDOWN
448 #   shared      +++     DB_SYSTEM_MEM
449 #---------------------- DB->open parameters and tunable values:
450 #   pagesize=512 +++    DB->set_pagesize
451 #---------------------- DB->open bits:
452 #   excl        ???     DB_EXCL
453 #   nommap      ???     DB_NOMMAP
454 #   rdonly              DB_RDONLY
455 #---------------------- DB->open types:
456 #   btree               DB_BTREE
457 #   hash                DB_HASH
458 #   recno       ???     DB_RECNO
459 #   queue       ???     DB_QUEUE
460 #   unknown     +++     DB_UNKNOWN
461 #---------------------- DB->set_flags bits:
462 #   bt_dup      +++     (btree only) DB_DUP
463 #   bt_dupsort  +++     (btree only) DB_DUPSORT
464 #   ht_dup      +++     (hash only) DB_DUP
465 #   ht_dupsort  +++     (hash only) DB_DUPSORT
466 #----------------------- rpmdb specific configuration:
467 #   usedbenv            (always on) Use db3 environment?
468 #   verify              (db3 only) Verify Packages db after RW close?
469 #   lockdbfd            (always on for Packages) Use fcntl(2) locking ?
470 #   nofsync             Disable fsync(2) call performed after db3 writes?
471 #   temporary           Unlink file when closing.
472 #
473
474 # XXX Use transactions and logs for rpmdb durability (no clue yet):
475 #%__dbi_other                   create joinenv mpool txn log \
476 #                               mp_mmapsize=8Mb mp_size=512Kb
477
478 # Use a CDB database model for concurrent access.
479 # XXX Add "private" here for legacy interoperation transiting to glibc+nptl.
480 %__dbi_cdb                      create cdb mpool mp_mmapsize=16Mb mp_size=1Mb
481
482 %__dbi_other                    %{?_tmppath:tmpdir=%{_tmppath}} %{?__dbi_cdb}
483
484 # Note: adding nofsync here speeds up --rebuilddb a lot.
485 %__dbi_rebuild                  nofsync !log !txn !cdb
486 %__dbi_transient                %{__dbi_rebuild} temporary private
487 %__dbi_perms                    perms=0644
488
489 #
490 #--- Hash database configuration
491 %__dbi_htconfig \
492   hash          \
493   %{__dbi_other}\
494   %{__dbi_perms}\
495 %{nil}
496
497 %__dbi_htconfig_current         %{__dbi_htconfig}
498 %__dbi_htconfig_rebuild         %{__dbi_htconfig} %{__dbi_rebuild}
499
500 %_dbi_htconfig          \
501   %{?_rpmdb_rebuild:%{__dbi_htconfig_rebuild}}\
502   %{!?_rpmdb_rebuild:%{__dbi_htconfig_current}}\
503 %{nil}
504
505 #
506 #--- Btree database configuration
507 %__dbi_btconfig \
508   btree         \
509   %{__dbi_other}\
510   %{__dbi_perms}\
511 %{nil}
512
513 %__dbi_btconfig_current         %{__dbi_btconfig}
514 %__dbi_btconfig_rebuild         %{__dbi_btconfig} %{__dbi_rebuild}
515
516 %_dbi_btconfig          \
517   %{?_rpmdb_rebuild:%{__dbi_btconfig_rebuild}}\
518   %{!?_rpmdb_rebuild:%{__dbi_btconfig_current}}\
519 %{nil}
520
521 # The list of tags for which indices will be built.
522 %_dbi_tags      Packages:Name:Basenames:Group:Requirename:Providename:Conflictname:Triggername:Dirnames:Requireversion:Provideversion:Installtid:Sigmd5:Sha1header:Filemd5s:Depends:Pubkeys
523
524 # "Packages" should have shared/exclusive fcntl(2) lock using "lockdbfd".
525 %_dbi_config_Packages           %{_dbi_htconfig} lockdbfd
526
527 # "Depends" is a per-transaction cache of known dependency resolutions.
528 %_dbi_config_Depends            %{_dbi_htconfig} temporary private
529
530 %_dbi_config_Dirnames           %{_dbi_btconfig}
531 %_dbi_config_Requireversion     %{_dbi_btconfig}
532 %_dbi_config_Provideversion     %{_dbi_btconfig}
533 %_dbi_config_Installtid         %{_dbi_btconfig}
534 %_dbi_config_Removetid          %{_dbi_btconfig}
535
536 %_dbi_config    %{_dbi_htconfig}
537
538 # XXX legacy configuration.
539 # Choose db interface:
540 #       3       native db3 interface.
541 #
542 # There are two macros so that --rebuilddb can convert db1 -> db3.
543 #
544 %_dbapi                 3
545 %_dbapi_rebuild         3
546
547 #==============================================================================
548 # ---- GPG/PGP/PGP5 signature macros.
549 #       Macro(s) to hold the arguments passed to GPG/PGP for package
550 #       signing and verification.
551 #
552 %__gpg_check_password_cmd       %{__gpg} \
553         gpg --batch --no-verbose --passphrase-fd 3 -u "%{_gpg_name}" -so -
554 %__pgp_check_password_cmd       %{__pgp} \
555         pgp +batchmode=on +verbose=0 "%{_pgp_name}" -sf
556 %__pgp5_check_password_cmd      %{__pgp} \
557         pgps +batchmode=on +verbose=0 +armor=off "%{_pgp_name}" -f
558
559 %__gpg_sign_cmd                 %{__gpg} \
560         gpg --batch --no-verbose --no-armor --passphrase-fd 3 --no-secmem-warning \
561         -u "%{_gpg_name}" -sbo %{__signature_filename} %{__plaintext_filename}
562 %__pgp_sign_cmd                 %{__pgp} \
563         pgp +batchmode=on +verbose=0 +armor=off \
564         "+myname=%{_pgp_name}" -sb %{__plaintext_filename} %{__signature_filename}
565 %__pgp5_sign_cmd                %{__pgp} \
566         pgps +batchmode=on +verbose=0 +armor=off \
567         "+myname=%{_pgp_name}" -b %{__plaintext_filename} -o %{__signature_filename}
568
569 # XXX rpm-4.1 verifies signatures using beecrypt.
570 #%__gpg_verify_cmd              %{__gpg} \
571 #       gpg --batch --no-verbose --verify --no-secmem-warning \
572 #       %{__signature_filename} %{__plaintext_filename}
573 #%__pgp_verify_cmd              %{__pgp} \
574 #       pgp +batchmode=on +verbose=0 \
575 #       %{__signature_filename} %{__plaintext_filename}
576 #%__pgp5_verify_cmd             %{__pgp} \
577 #       pgpv +batchmode=on +verbose=0 \
578 #       +OutputInformationFD=1 +OutputWarningFD=1 \
579 #       -o %{__signature_filename} %{__plaintext_filename}
580
581 #
582 # XXX rpm-4.1 verifies prelinked libraries using a prelink undo helper.
583 #       Normally this macro is defined in /etc/rpm/macros.prelink, installed
584 #       with the prelink package. If the macro is undefined, then prelinked
585 #       shared libraries contents are MD5 digest verified (as usual), rather
586 #       than MD5 verifying the output of the prelink undo helper.
587 #
588 #       Note: The 2nd token is used as argv[0] and "library" is a
589 #       placeholder that will be deleted and replaced with the appropriate
590 #       library file path.
591 #%__prelink_undo_cmd     /usr/sbin/prelink prelink -y library
592
593 #==============================================================================
594 # ---- Transaction macros.
595 #       Macro(s) used to parameterize transactions.
596 #
597 #       The output binary package file name template used when building
598 #       binary packages.
599 #
600 # XXX   Note: escaped %% for use in headerSprintf()
601 %_build_name_fmt        %%{ARCH}/%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
602
603 #       The default transaction color. This value is a set of bits to
604 #       determine file and dependency affinity for this arch.
605 #               0       uncolored (i.e. use only arch as install hint)
606 #               1       Elf32 permitted
607 #               2       Elf64 permitted
608 %_transaction_color     @RPMCANONCOLOR@
609
610 #       A default autorelocation path prefixed to file paths of packages
611 #       that have an incompatible arch. This is used on ia64 to prefix
612 #       /emul/ia32 to i386 file paths, and nowhere else (yet).
613 #
614 # XXX   Note: escaped %% for use in headerSprintf()
615 %_autorelocate_path     @autorelocate_path@
616
617 #       The path to the dependency universe database. The default value
618 #       is the rpmdb-redhat location. The macro is usually defined in
619 #       /etc/rpm/macros.solve, installed with the rpmdb-redhat package.
620 #%_solve_dbpath /usr/lib/rpmdb/%{_arch}-%{_vendor}-%{_os}/redhat
621
622 #       The path to the dependency universe packages. This should
623 #       be a path to the packages contained in the solve database.
624 #%_solve_pkgsdir        /mnt/redhat/test/latest-i386/RedHat/RPMS/
625
626 #       The output binary package file name template used when suggesting
627 #       binary packages that solve a dependency. The macro is usually defined
628 #       in /etc/rpm/macros.solve, installed with the rpmdb-redhat package.
629 #
630 # XXX   Note: escaped %% for use in headerSprintf()
631 #%_solve_name_fmt       %{?_solve_pkgsdir}%%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
632
633 #       The output binary package file name template used when repackaging
634 #       erased packages.
635 #
636 # XXX   Note: escaped %% for use in headerSprintf()
637 %_repackage_name_fmt    %%{NAME}-%%{VERSION}-%%{RELEASE}.%%{ARCH}.rpm
638
639 #       The directory in which erased packages will be saved when using
640 #       the --repackage option.
641 %_repackage_dir         /var/spool/repackage
642
643 #       A path (i.e. URL) prefix that is pre-pended to %{_repackage_dir}.
644 %_repackage_root        %{nil}
645
646 #       If non-zero, all erasures will be automagically repackaged.
647 %_repackage_all_erasures        0
648
649 # If non-zero, a failed transaction will be automagically rolled 
650 # back (sans, the failing transaction element).
651 %_rollback_transaction_on_failure       0
652
653 #       Verify digest/signature flags for various rpm modes:
654 #            1  --nohdrchk      if set, don't check rpmdb headers
655 #
656 #       The checking overhead is ~11ms per header for digests/signatures;
657 #       each header from the database is checked only when first encountered
658 #       for each database open.
659 #
660 #       Note: the %_vsflags_erase applies to --upgrade/--freshen modes as
661 #       well as --erase.
662 #
663 %__vsflags              0
664 %_vsflags_build         %{__vsflags}
665 %_vsflags_erase         %{__vsflags}
666 %_vsflags_install       %{__vsflags}
667 %_vsflags_query         %{__vsflags}
668 %_vsflags_rebuilddb     %{__vsflags}
669 %_vsflags_up2date       %{__vsflags}
670 %_vsflags_verify        %{__vsflags}
671
672 #       Relations between package names that cause dependency loops
673 #       with legacy packages that cannot be fixed. Relations are
674 #       specified as
675 #               p>q
676 #       where package p has a Requires: on something that package q Provides:
677 #
678 # XXX   Note: that there cannot be any whitespace within the string "p>q",
679 #       and that both p and q are package names (i.e. no version/release).
680 #
681 #%_dependency_whiteout_5_2              \
682 #       pam>pamconfig
683 #%_dependency_whiteout_6_1              \
684 #       pilot-link-devel>pilot-link
685 #%_dependency_whiteout_6_2              \
686 #       egcs-c++>libstdc++
687 %_dependency_whiteout_7_0               \
688         pango-gtkbeta-devel>pango-gtkbeta\
689         XFree86>Mesa                    \
690         compat-glibc>db2                \
691         compat-glibc>db1                \
692         pam>initscripts                 \
693         initscripts>sysklogd
694 %_dependency_whiteout_7_1               \
695         arts>kdelibs-sound
696 %_dependency_whiteout_7_2               \
697         libgnomeprint15>gnome-print     \
698         nautilus>nautilus-mozilla       \
699         tcl>postgresql-tcl
700 #%_dependency_whiteout_8_0              \
701 #       perl>perl-Parse-RecDescent      \
702 #       XFree86-libs>XFree86-Mesa-libGL \
703 #       perl>perl-Filter                \
704 #       perl>mrtg                       \
705 #       perl>mod_perl                   \
706 #       mysql>perl-DBD-MySQL            \
707 #       ghostscript>gimp-print          \
708 #       arts>kde2-compat                \
709 #       perl-Date-Calc>perl-Bit-Vector  \
710 #       glibc-debug>glibc-devel
711
712 %_dependency_whiteout                   \
713         libtermcap>bash                 \
714         modutils>vixie-cron             \
715         ypbind>yp-tools                 \
716         ghostscript-fonts>ghostscript   \
717         %{?_dependency_whiteout_8_0}    \
718         %{?_dependency_whiteout_7_2}    \
719         %{?_dependency_whiteout_7_1}    \
720         %{?_dependency_whiteout_7_0}    \
721         %{?_dependency_whiteout_6_2}    \
722         %{?_dependency_whiteout_6_1}    \
723         %{?_dependency_whiteout_5_2}    \
724         %{nil}
725
726 #
727 # Default headerSprintf() output format string for rpm -qa
728 #
729 # XXX   Note: escaped %% for use in headerSprintf()
730 %_query_all_fmt         %%{name}-%%{version}-%%{release}
731
732 #==============================================================================
733 # ---- Cache configuration macros.
734 #       Macro(s) used to configure the universe of headers used to
735 #       solve dependencies using rpmcache(8).
736 #
737 #       Note: These values are specific to my machine, and most certainly
738 #       are incorrect for any non-redhat.com machine. The macros are
739 #       included here only to document the macro names and usage.
740 %_bhpath        file://localhost/mnt/dist
741 %_bhcoll        @(7.3|7.2|7.1|7.1sbe|7.1k|7.0|7.01j|7.0j|7.0sbe|7.0tc|6.2|6.2ha|6.2ee|6.1|6.0|5.2|5.1|5.0)
742 %_bhN           @(SRPMS|i386|alpha|sparc|s390|ia64)
743 %_bhVR          RedHat
744 %_bhA           RPMS
745
746 #       The cache database directory.
747 %_cache_dbpath          /var/spool/up2date/cache
748
749 #==============================================================================
750 # ---- per-platform macros.
751 #       Macros that are specific to an individual platform. The values here
752 #       will be used if the per-platform macro file does not exist..
753 #
754 %_arch                  @RPMCANONARCH@
755 %_build_arch            @RPMCANONARCH@
756 %_vendor                @RPMCANONVENDOR@
757 %_os                    @RPMCANONOS@
758 %_gnu                   -gnu
759 %_target_platform       %{_target_cpu}-%{_vendor}-%{_target_os}%{?_gnu}
760
761 #
762 # Define a generic value for optflags. Normally overridden by per-target macros.
763 %optflags               -O2
764
765 #
766 # Define per-arch and per-os defaults. Normally overridden by per-target macros.
767 %__arch_install_post    %{nil}
768 %__os_install_post      %{___build_post}
769
770 #==============================================================================
771 # ---- Scriptlet template templates.
772 #       Global defaults used for building scriptlet templates.
773 #
774
775 %___build_shell         %{?_buildshell:%{_buildshell}}%{!?_buildshell:/bin/sh}
776 %___build_args          -e
777 %___build_cmd           %{?_sudo:%{_sudo} }%{?_remsh:%{_remsh} %{_remhost} }%{?_remsudo:%{_remsudo} }%{?_remchroot:%{_remchroot} %{_remroot} }%{___build_shell} %{___build_args}
778 %___build_pre   \
779   RPM_SOURCE_DIR=\"%{u2p:%{_sourcedir}}\"\
780   RPM_BUILD_DIR=\"%{u2p:%{_builddir}}\"\
781   RPM_OPT_FLAGS=\"%{optflags}\"\
782   RPM_ARCH=\"%{_arch}\"\
783   RPM_OS=\"%{_os}\"\
784   export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS\
785   RPM_DOC_DIR=\"%{_docdir}\"\
786   export RPM_DOC_DIR\
787   RPM_PACKAGE_NAME=\"%{name}\"\
788   RPM_PACKAGE_VERSION=\"%{version}\"\
789   RPM_PACKAGE_RELEASE=\"%{release}\"\
790   export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE\
791   %{?buildroot:RPM_BUILD_ROOT=\"%{u2p:%{buildroot}}\"\
792   export RPM_BUILD_ROOT}\
793   %{?_javaclasspath:CLASSPATH=\"%{_javaclasspath}\"\
794   export CLASSPATH}\
795   \
796   %{verbose:set -x}%{!verbose:exec > /dev/null}\
797   umask 022\
798   cd %{u2p:%{_builddir}}\
799
800
801 #%___build_body         %{nil}
802 %___build_post          exit 0
803
804 %___build_template      #!%{___build_shell}\
805 %{___build_pre}\
806 %{nil}
807
808 #%{___build_body}\
809 #%{___build_post}\
810 #%{nil}
811
812 #==============================================================================
813 # ---- Scriptlet templates.
814 #       Macro(s) that expand to a command and script that is executed.
815 #       CAVEAT: All macro expansions must fit in a BUFSIZ (8192 byte) buffer.
816 #
817 %__spec_prep_shell      %{___build_shell}
818 %__spec_prep_args       %{___build_args}
819 %__spec_prep_cmd        %{___build_cmd}
820 %__spec_prep_pre        %{___build_pre}
821 %__spec_prep_body       %{___build_body}
822 %__spec_prep_post       %{___build_post}
823 %__spec_prep_template   #!%{__spec_prep_shell}\
824 %{__spec_prep_pre}\
825 %{nil}
826
827 #%{__spec_prep_body}\
828 #%{__spec_prep_post}\
829 #%{nil}
830
831 %__spec_build_shell     %{___build_shell}
832 %__spec_build_args      %{___build_args}
833 %__spec_build_cmd       %{___build_cmd}
834 %__spec_build_pre       %{___build_pre}
835 %__spec_build_body      %{___build_body}
836 %__spec_build_post      %{___build_post}
837 %__spec_build_template  #!%{__spec_build_shell}\
838 %{__spec_build_pre}\
839 %{nil}
840
841 #%{__spec_build_body}\
842 #%{__spec_build_post}\
843 #%{nil}
844
845 %__spec_install_shell   %{___build_shell}
846 %__spec_install_args    %{___build_args}
847 %__spec_install_cmd     %{___build_cmd}
848 %__spec_install_pre     %{___build_pre}
849 %__spec_install_body    %{___build_body}
850 %__spec_install_post\
851 %{?__debug_package:%{__debug_install_post}}\
852 %{__arch_install_post}\
853 %{__os_install_post}\
854 %{nil}
855 %__spec_install_template        #!%{__spec_install_shell}\
856 %{__spec_install_pre}\
857 %{nil}
858
859 #%{__spec_install_body}\
860 #%{__spec_install_post}\
861 #%{nil}
862
863 %__spec_check_shell     %{___build_shell}
864 %__spec_check_args      %{___build_args}
865 %__spec_check_cmd       %{___build_cmd}
866 %__spec_check_pre       %{___build_pre}
867 %__spec_check_body      %{___build_body}
868 %__spec_check_post      %{___build_post}
869 %__spec_check_template  #!%{__spec_check_shell}\
870 %{__spec_check_pre}\
871 %{nil}
872
873 #%{__spec_check_body}\
874 #%{__spec_check_post}\
875 #%{nil}
876
877 #%__spec_autodep_shell  %{___build_shell}
878 #%__spec_autodep_args   %{___build_args}
879 #%__spec_autodep_cmd    %{___build_cmd}
880 #%__spec_autodep_pre    %{___build_pre}
881 #%__spec_autodep_body   %{___build_body}
882 #%__spec_autodep_post   %{___build_post}
883 #%__spec_autodep_template       #!%{__spec_autodep_shell}\
884 #%{__spec_autodep_pre}\
885 #%{nil}
886
887 #%{__spec_autodep_body}\
888 #%{__spec_autodep_post}\
889 #%{nil}
890
891 %__spec_clean_shell     %{___build_shell}
892 %__spec_clean_args      %{___build_args}
893 %__spec_clean_cmd       %{___build_cmd}
894 %__spec_clean_pre       %{___build_pre}
895 %__spec_clean_body      %{___build_body}
896 %__spec_clean_post      %{___build_post}
897 %__spec_clean_template  #!%{__spec_clean_shell}\
898 %{__spec_clean_pre}\
899 %{nil}
900
901 #%{__spec_clean_body}\
902 #%{__spec_clean_post}\
903 #%{nil}
904
905 %__spec_rmbuild_shell   %{___build_shell}
906 %__spec_rmbuild_args    %{___build_args}
907 %__spec_rmbuild_cmd     %{___build_cmd}
908 %__spec_rmbuild_pre     %{___build_pre}
909 %__spec_rmbuild_body    %{___build_body}
910 %__spec_rmbuild_post    %{___build_post}
911 %__spec_rmbuild_template        #!%{__spec_rmbuild_shell}\
912 %{__spec_rmbuild_pre}\
913 %{nil}
914
915 #%{__spec_rmbuild_body}\
916 #%{__spec_rmbuild_post}\
917 #%{nil}
918
919 # XXX We don't expand pre/post install scriptlets (yet).
920 #%__spec_pre_pre                %{nil}
921 #%__spec_pre_post               %{nil}
922 #%__spec_post_pre               %{nil}
923 #%__spec_post_post              %{nil}
924 #%__spec_preun_pre              %{nil}
925 #%__spec_preun_post             %{nil}
926 #%__spec_postun_pre             %{nil}
927 #%__spec_postun_post            %{nil}
928 #%__spec_triggerpostun_pre      %{nil}
929 #%__spec_triggerpostun_post     %{nil}
930 #%__spec_triggerun_pre          %{nil}
931 #%__spec_triggerun_post         %{nil}
932 #%__spec_triggerin_pre          %{nil}
933 #%__spec_triggerin_post         %{nil}
934
935 #==============================================================================
936 # ---- configure macros.
937 #       Macro(s) slavishly copied from autoconf's config.status.
938 #
939 %_prefix                @prefix@
940 %_exec_prefix           %{_prefix}
941 %_bindir                %{_exec_prefix}/bin
942 %_sbindir               %{_exec_prefix}/sbin
943 %_libexecdir            %{_exec_prefix}/libexec
944 %_datadir               %{_prefix}/share
945 %_sysconfdir            %{_prefix}/etc
946 %_sharedstatedir        %{_prefix}/com
947 %_localstatedir         %{_prefix}/var
948 %_lib                   lib
949 %_libdir                %{_exec_prefix}/%{_lib}
950 %_includedir            %{_prefix}/include
951 %_oldincludedir         /usr/include
952 %_infodir               %{_prefix}/info
953 %_mandir                %{_prefix}/man
954
955 #==============================================================================
956 # ---- config.guess platform macros.
957 #       Macro(s) similar to the tokens used by configure.
958 #
959 %_build                 %{_host}
960 %_build_alias           %{_host_alias}
961 %_build_cpu             %{_host_cpu}
962 %_build_vendor          %{_host_vendor}
963 %_build_os              %{_host_os}
964 %_host                  @host@
965 %_host_alias            @host_alias@%{nil}
966 %_host_cpu              @host_cpu@
967 %_host_vendor           @host_vendor@
968 %_host_os               @host_os@
969 %_target                %{_host}
970 %_target_alias          %{_host_alias}
971 %_target_cpu            %{_host_cpu}
972 %_target_vendor         %{_host_vendor}
973 %_target_os             %{_host_os}
974
975 #==============================================================================
976 # ---- specfile macros.
977 #       Macro(s) here can be used reliably for reproducible builds.
978 #       (Note: Above is the goal, below are the macros under development)
979 #
980 # The configure macro does the following:
981 #       optionally change to a subdirectory (not implemented).
982 #       attempt to update config.guess and config.sub.
983 #       run configure with correct prefix, platform, and CFLAGS.
984 #       optionally restore current directory (not implemented).
985 # The configure macro should be invoked as %configure (rather than %{configure})
986 # because the rest of the arguments will be expanded using %*.
987 #
988 # This is the version of %configure used through rpm-3.0.4.
989 #%configure     \
990 #  %{?__libtoolize:[ -f configure.in ] && %{__libtoolize} --copy --force} \
991 #  CFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{_prefix}
992 #
993 #------------------------------------------------------------------------------
994 # This is an improved version of %configure (from PLD team).
995 %configure \
996   CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
997   CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
998   FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \
999   ./configure --host=%{_host} --build=%{_build} \\\
1000         --target=%{_target_platform} \\\
1001         --program-prefix=%{?_program_prefix} \\\
1002         --prefix=%{_prefix} \\\
1003         --exec-prefix=%{_exec_prefix} \\\
1004         --bindir=%{_bindir} \\\
1005         --sbindir=%{_sbindir} \\\
1006         --sysconfdir=%{_sysconfdir} \\\
1007         --datadir=%{_datadir} \\\
1008         --includedir=%{_includedir} \\\
1009         --libdir=%{_libdir} \\\
1010         --libexecdir=%{_libexecdir} \\\
1011         --localstatedir=%{_localstatedir} \\\
1012         --sharedstatedir=%{_sharedstatedir} \\\
1013         --mandir=%{_mandir} \\\
1014         --infodir=%{_infodir}
1015
1016 #------------------------------------------------------------------------------
1017 # The make install analogue of %configure:
1018 %makeinstall \
1019   make \\\
1020         prefix=%{?buildroot:%{buildroot}}%{_prefix} \\\
1021         exec_prefix=%{?buildroot:%{buildroot}}%{_exec_prefix} \\\
1022         bindir=%{?buildroot:%{buildroot}}%{_bindir} \\\
1023         sbindir=%{?buildroot:%{buildroot}}%{_sbindir} \\\
1024         sysconfdir=%{?buildroot:%{buildroot}}%{_sysconfdir} \\\
1025         datadir=%{?buildroot:%{buildroot}}%{_datadir} \\\
1026         includedir=%{?buildroot:%{buildroot}}%{_includedir} \\\
1027         libdir=%{?buildroot:%{buildroot}}%{_libdir} \\\
1028         libexecdir=%{?buildroot:%{buildroot}}%{_libexecdir} \\\
1029         localstatedir=%{?buildroot:%{buildroot}}%{_localstatedir} \\\
1030         sharedstatedir=%{?buildroot:%{buildroot}}%{_sharedstatedir} \\\
1031         mandir=%{?buildroot:%{buildroot}}%{_mandir} \\\
1032         infodir=%{?buildroot:%{buildroot}}%{_infodir} \\\
1033   install
1034
1035 #------------------------------------------------------------------------------
1036 # The GNUconfigure macro does the following:
1037 #       update config.guess and config.sub.
1038 #       regenerate all autoconf/automake files
1039 #       optionally change to a directory (make the directory if requested).
1040 #       run configure with correct prefix, platform, and CFLAGS.
1041 #       optionally restore current directory.
1042 #
1043 # Based on autogen.sh from GNOME and orginal GNUconfigure
1044 #
1045 %GNUconfigure(MCs:)      \
1046   CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS; \
1047   LDFLAGS="${LDFLAGS:-%{-s:-s}}"  ; export LDFLAGS; \
1048   %{-C:_mydir="`pwd`"; %{-M: %{__mkdir} -p %{-C*};} cd %{-C*}} \
1049   dirs="`find ${_mydir} -name configure.in -print`"; export dirs; \
1050     for coin in `echo ${dirs}` \
1051 do \
1052   dr=`dirname ${coin}`; \
1053 if test -f ${dr}/NO-AUTO-GEN; then \
1054  : \
1055 else \
1056      macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < ${coin}`; \
1057     ( cd ${dr}; \
1058       aclocalinclude="${ACLOCAL_FLAGS}"; \
1059       for k in ${macrodirs}; do \
1060         if test -d ${k}; then \
1061           aclocalinclude="${aclocalinclude} -I ${k}"; \
1062         ##else \
1063         ##  echo "**Warning**: No such directory \`${k}'.  Ignored." \
1064         fi \
1065       done \
1066       if grep "^AM_GNU_GETTEXT" configure.in >/dev/null; then \
1067         if grep "sed.*POTFILES" configure.in >/dev/null; then \
1068           : do nothing -- we still have an old unmodified configure.in \
1069         else \
1070           test -r ${dr}/aclocal.m4 || touch ${dr}/aclocal.m4; \
1071           echo "no" | gettextize --force --copy; \
1072           test -r ${dr}/aclocal.m4 && %{__chmod} u+w ${dr}/aclocal.m4; \
1073         fi \
1074       fi \
1075       if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then \
1076         %{__libtoolize} --force --copy; \
1077       fi \
1078       aclocal ${aclocalinclude}; \
1079       if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then \
1080         %{__autoheader}; \
1081       fi \
1082       echo "Running automake --gnu ${am_opt} ..."; \
1083       %{__automake} --add-missing --gnu ${am_opt}; \
1084       %{__autoconf}; \
1085     ); \
1086   fi \
1087 done \
1088   %{-C:${_mydir}}%{!-C:.}/configure %{_target_platform} --prefix=%{_prefix} --exec-prefix=%{_exec_prefix} --bindir=%{_bindir} --sbindir=%{_sbindir} --sysconfdir=%{_sysconfdir} --datadir=%{_datadir} --includedir=%{_includedir} --libdir=%{_libdir} --libexecdir=%{_libexecdir} --localstatedir=%{_localstatedir} --sharedstatedir=%{_sharedstatedir} --mandir=%{_mandir} --infodir=%{_infodir} %* ; \
1089   %{-C:cd ${_mydir}; unset _mydir}
1090
1091 #------------------------------------------------------------------------------
1092 # Useful perl macros (from Artur Frysiak <wiget@t17.ds.pwr.wroc.pl>)
1093 #
1094 # For example, these can be used as (from ImageMagick.spec from PLD site)
1095 #       [...]
1096 #       BuildPrereq: perl
1097 #       [...]
1098 #       %package perl
1099 #       Summary: libraries and modules for access to ImageMagick from perl
1100 #       Group: Development/Languages/Perl
1101 #       Requires: %{name} = %{version}
1102 #       %requires_eq    perl
1103 #       [...]
1104 #       %install
1105 #       rm -fr $RPM_BUILD_ROOT
1106 #       install -d $RPM_BUILD_ROOT/%{perl_sitearch}
1107 #       [...]
1108 #       %files perl
1109 #       %defattr(644,root,root,755)
1110 #       %{perl_sitearch}/Image
1111 #       %dir %{perl_sitearch}/auto/Image
1112 #
1113 %requires_eq()  %(LC_ALL="C" echo '%*' | xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
1114 %perl_sitearch  %(eval "`perl -V:installsitearch`"; echo $installsitearch)
1115 %perl_sitelib   %(eval "`perl -V:installsitelib`"; echo $installsitelib)
1116 %perl_vendorarch %(eval "`perl -V:installvendorarch`"; echo $installvendorarch)
1117 %perl_vendorlib  %(eval "`perl -V:installvendorlib`"; echo $installvendorlib)
1118 %perl_archlib   %(eval "`perl -V:installarchlib`"; echo $installarchlib)
1119 %perl_privlib   %(eval "`perl -V:installprivlib`"; echo $installprivlib)
1120
1121 #------------------------------------------------------------------------------
1122 # arch macro for all Intel i?86 compatibile processors
1123 #  (Note: This macro (and it's analogues) will probably be obsoleted when
1124 #   rpm can use regular expressions against target platforms in macro
1125 #   conditionals.
1126 #
1127 %ix86   i386 i486 i586 i686 athlon
1128
1129 #------------------------------------------------------------------------
1130 # Use in %install to generate locale specific file lists. For example,
1131 #
1132 # %install
1133 # ...
1134 # %find_lang %{name}
1135 # ...
1136 # %files -f %{name}.lang
1137 #
1138 %find_lang      @RPMCONFIGDIR@/find-lang.sh %{buildroot}
1139
1140 # \endverbatim
1141 #*/