#/*! \page config_macros Default configuration: /usr/lib/rpm/macros
# \verbatim
#
# $Id: macros.in,v 1.39.2.39 2014/08/08 22:40:40 jbj Exp $
#
# This is a global RPM configuration file. All changes made here will
# be lost when the rpm package is upgraded. Any per-system configuration
# should be added to %{_etcrpm}/macros, while per-user configuration should
# be added to ~/.rpmmacros.
#
#==============================================================================
# Macro naming conventions:
#
#	Macros that begin with an underscore are "local" in the sense that
#	they (if used) will not be exported in rpm headers. Some macros
#	that don't start with an underscore (but look like they should)
#	are compatible with macros generated by rpm-2.5.x and will be made
#	more consistent in a future release.
#
%_rpmversion		5.4.16

#==============================================================================
# ---- A macro that expands to nothing.
#
%nil			%{!?nil}

#==============================================================================
# ---- filesystem macros.
#
%_usr			%{_usrlibrpm}/../..
%_usrsrc		%{_usr}/src
%_var			%{_usr}/../var
# The dynamic relocation code sets the following two items
#%_usrlibrpm		/usr/lib/rpm
#%_etcrpm		/etc/rpm

%__objext		o
%__libext		a
%__shlibext		so
%__exeext		%{nil}

%_rpmhome		%{_usrlibrpm}

#==============================================================================
# ---- RPM specific tool paths
#
%_usrlibrpmbin		%{_usrlibrpm}/bin
%__chroot		%{_usrlibrpmbin}/chroot
%__cp			%{_usrlibrpmbin}/cp
%__find			%{_usrlibrpmbin}/find
%__grep			%{_usrlibrpmbin}/grep
%__lua			%{_usrlibrpmbin}/lua
%__mtree		%{_usrlibrpmbin}/mtree
%__rc			%{_usrlibrpmbin}/rc
%__wget			%{_usrlibrpmbin}/wget
%__xar			%{_usrlibrpmbin}/xar

#==============================================================================
# ---- Generally useful path macros.
#
%__awk			gawk
%__bash			%{_bindir}/bash
%__bzip2		%{_bindir}/bzip2
%__cat			/bin/cat
%__chattr		%{_bindir}/chattr
%__chgrp		/bin/chgrp
%__chmod		/bin/chmod
%__chown		/bin/chown
%__cpio			/bin/cpio
%__curl			%{_bindir}/curl
%__cvs			%{_bindir}/cvs
%__db_archive		%{_bindir}/db60_archive
%__db_checkpoint	%{_bindir}/db60_checkpoint
%__db_deadlock		%{_bindir}/db60_deadlock
%__db_dump		%{_bindir}/db60_dump
%__db_hotbackup		%{_bindir}/db60_hotbackup
%__db_load		%{_bindir}/db60_load
%__db_log_verify	%{_bindir}/db60_log_verify
%__db_printlog		%{_bindir}/db60_printlog
%__db_recover		%{_bindir}/db60_recover
%__db_replicate		%{_bindir}/db60_replicate
%__db_stat		%{_bindir}/db60_stat
%__dbsql		%{_bindir}/db60sql
%__db_sql_codegen	%{_bindir}/db60_sql_codegen
%__db_tuner		%{_bindir}/db60_tuner
%__db_upgrade		%{_bindir}/db60_upgrade
%__db_verify		%{_bindir}/db60_verify
%__diff			/bin/diff
%__ditto		%{_bindir}/ditto
%__file			%{_bindir}/file
%__git			%{_bindir}/git
%__gpg			%{_bindir}/gpg2
%__gsr			%{_bindir}/gsr
%__gzip			/bin/gzip
%__hg			%{_bindir}/hg
%__id			/usr/bin/id
%__install		/usr/bin/install
%__install_info		/sbin/install-info
%__ldconfig		/sbin/ldconfig
%__ln			/bin/ln
%__ln_s			ln -s
%__lrzip		/usr/bin/lrzip
%__lsattr		%{_bindir}/lsattr
%__lzip			/usr/bin/lzip
%__lzma			%{_bindir}/lzma
%__lzop			%{_bindir}/lzop
%__7zip			/usr/bin/7za
%__make			%{_bindir}/make
%make			%{__make}
%__mkdir		/bin/mkdir
%__mkdir_p		%{__mkdir} -p
%__mongo		%{_bindir}/mongo
%__mv			/bin/mv
%__patch		%{_bindir}/patch
%__pax			%{_bindir}/pax
%__pgp			%{_bindir}/pgp
%__rm			/bin/rm
%__rmdir		/bin/rmdir
%__rsh			%{_bindir}/rsh
%__sed			/bin/sed
%__sh			/bin/sh
%__sqlite3		%{_bindir}/sqlite3
%__ssh			%{_bindir}/ssh
%__svn			%{_bindir}/svn
%__tar			/bin/tar
%__unzip		%{_bindir}/unzip
%__vcheck		%{__perl} %{_rpmhome}/vcheck
%__xz			%{_bindir}/xz

#==============================================================================
# ---- Required macros.
#	Macros that used to be initialized as a side effect of parsing.
#	These are the default values that can be overridden by other
#	(e.g. per-platform, per-system, per-packager, per-package) macros.
#
#	The directory where sources/patches will be unpacked and built.
%_builddir		%{_topdir}/BUILD

#	The interpreter used for build scriptlets.
%_buildshell		/bin/sh

#	The location of the rpm database file(s).
%_dbpath		%{_var}/lib/rpm

#
#	Path to script that creates debug symbols in a /usr/lib/debug
#	shadow tree.
#
#     A spec file can %%define _find_debuginfo_opts to pass options to
#     the script.  See the script for details.
#
%__debug_install_post   \
   %{_rpmhome}/find-debuginfo.sh %{?_missing_build_ids_terminate_build:--strict-build-id} %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"\
%{nil}

#	Template for debug information sub-package.
%debug_package \
%ifnarch noarch\
%global __debug_package 1\
%package debug\
Summary: Debug information for package %{name}\
Group: Development/Debug\
AutoReqProv: 0\
%description debug\
This package provides debug information for package %{name}.\
Debug information is useful when developing applications that use this\
package or when debugging this package.\
%files debug -f debugfiles.list\
%defattr(-,root,root)\
%endif\
%{nil}

%_defaultdocdir		%{_usr}/doc

#	The path to the pgp executable (legacy, use %{__pgp} instead).
%_pgpbin		%{__pgp}

#	The directory where newly built binary packages will be written.
%_rpmdir		%{_topdir}/RPMS

#	A template used to generate the output binary package file name
#	(legacy).
%_rpmfilename		%{_build_name_fmt}

#	The default signature type.
%_signature		gpg

#	The directories where sources/patches/icons from a source package will
#	be installed. This is also where sources/patches/icons are found
#	when building.
%_sourcedir		%{_topdir}/SOURCES
%_patchdir		%{_sourcedir}
%_icondir		%{_sourcedir}

#	The directory where the spec file from a source package will be
#	installed.
%_specdir		%{_topdir}/SPECS

#	The directory where newly built source packages will be written.
%_srcrpmdir		%{_topdir}/SRPMS

#	The directory where buildroots will be created.
%_buildrootdir		%{_tmppath}

#       Build root path, where %install installs the package during build.
%buildroot              %{_buildrootdir}/%{name}-root

#	Directory where temporaray files can be created.
%_tmppath		%{_var}/tmp
%tmpdir			%{_tmppath}

#	Path to top of build area.
%_topdir		%{_usr}/src/rpm

#==============================================================================
# ---- Optional macros.
#	Macros that are initialized as a side effect of spec
#	file parsing.
#

#
# Note: You should not configure with disturl (or build packages with
# the DistURL: tag) unless you are willing to supply content in a
# yet-to-be-determined format at the URL specified.
#
#%disturl

#	Boolean (i.e. 1 == "yes", 0 == "no") that controls whether files
#	marked as %doc should be installed.
#%_excludedocs

#	The port and machine name of a FTP proxy host running TIS firewall.
#
#%_ftpport
#%_ftpproxy

#	The signature to use and the location of configuration files for
#	signing packages with GNU gpg.
#
#%_gpg_name
#%_gpg_path

#	The port and machine name of an HTTP proxy host.
#
#%_httpport
#%_httpproxy

#	The PATH put into the environment before running %pre/%post et al.
#
%_install_helpers %{rpmhome}/helpers
%_helperpath	%{?_install_helpers:%{_install_helpers}:}
%_install_script_path	%{_helperpath}/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin

#	A colon separated list of desired locales to be installed;
#	"all" means install all locale specific files.
#	
%_install_langs	all

#	A colon separated list of paths where files should *not* be installed.
#	Usually, these are network file system mount points.
#
#%_netsharedpath

#	(experimental)
#	The type of pattern match used on rpmdb iterator selectors:
#	"default"	simple glob-like regex, periods will be escaped,
#			splats will have period prepended, full "^...$" match
#			required. Also, file path tags will use glob(7).
#	"strcmp"	compare strings
#	"regex"		regex(7) patterns using regcomp(3)/regexec(3)
#	"glob"		glob(7) patterns using fnmatch(3)
#
%_query_selector_match	default

#	The signature to use and the location of configuration files for
#	signing packages with PGP.
#
#%_pgp_name
#%_pgp_path

#==============================================================================
# ---- Development macros.
#	(Development) Use at your own risk.
#%__varlibwdj	%{_var}/lib/wdj
%__varcacherpm	%{_var}/cache/rpm
#%__varcachewdj	%{_var}/cache/wdj

#%__gitdir	%{__varlibwdj}/git
#%__svndir	%{__varlibwdj}/svn
#%__sqldir	%{__varlibwdj}/sql
#%__l10ndir	%{__varlibwdj}/l10n

#	Elements to construct a GridFS mongodb:/// URI configurably
#
%_gfs_scheme	mongodb
%__gfs_u	luser
%__gfs_pw	jasnl
%_gfs_user	%{__gfs_u}%{?__gfs_pw::%{__gfs_pw}}
%__gfs_h	localhost
%__gfs_p	27017
%_gfs_host	%{?_gfs_user:%{_gfs_user}@}%{__gfs_h}%{?__gfs_p::%{__gfs_p}}
%_gfs_db	gfs
%_gfs_coll	fs
%_gfs_opts	?ssl=false
%_gfs_uri	%{_gfs_scheme}://%{_gfs_host}/%{_gfs_db}

#
# JVM options
#
#	-Djava.class.path=/usr/lib/jvm/java-1.7.0-openjdk.x86_64/jre/lib/ext/bsh-2.0b5.jar
#	-Djava.class.path=/usr/java/jdk1.8.0_11/jre/lib/ext \
#
%_jvm_options		\
	-Xms2m		\
	-Xmx128m	\
	-Xcheck:jni	\
	-verbose:class	\
	-verbose:gc	\
	-verbose:jni	\
	vfprintf	\
	exit		\
	abort

#==============================================================================
# ---- Build configuration macros.
#

#
# Path to magic file used for file classification.
%_rpmfc_magic_path	%{_usrlibrpm}/../../share/misc/magic.mgc

#
# Colon separated list of permitted arbitrary tag names
%_arbitrary_tags_debian	Priority:Essential:Depends:Predepends:Recommends:Suggests:Enhances:Breaks:
$_arbitrary_tags_tests	Foo:Bar
%_arbitrary_tags %{_arbitrary_tags_debian}

#==============================================================================
# ---- Database configuration macros.
#	Macros used to configure Berkley db parameters.
#
# rpmdb macro configuration values are a colon (or white space) separated
# list of tokens, with an optional '!' negation to explicitly disable bit
# values, or a "=value" if a parameter. A per-tag value is used (e.g.
# %_dbi_config_Packages) if defined, otherwise a per-rpmdb default
# (e.g. %_dbi_config).
#
# The rpmdb configuration tokens are in a popt table in rpmdb/dbconfig.c,
# see that for the latest gory details. Note carefully that, unless you
# are writing an rpm installer, you shouldn't have to touch *any* of these
# parameters.
#

# Use Berkeley DB transaction logging for rpmdb ACID behavior.
# XXX the %{?__nofsync} is passed from the --nofsync popt alias on the rpm cli.
%__dbi_txn      create %{?__nofsync:nofsync} lock log mpool txn auto_commit thread thread_count=64
%__dbi_perms			perms=0644
%__dbi_tmpdir			tmpdir=%{_dbpath}/tmp

%__dbi_other			%{?__dbi_tmpdir} %{?__dbi_txn}

%__dbi_transient		%{?__dbi_rebuild} temporary private

# database configuration: Berkeley-DB, Hash
%__dbi_htconfig	\
  hash		\
  %{?__dbi_other}\
  %{?__dbi_perms}\
%{nil}
%_dbi_htconfig			%{__dbi_htconfig}

# database configuration: Berkeley-DB, Btree
%__dbi_btconfig	\
  btree		\
  %{?__dbi_other}\
  %{?__dbi_perms}\
%{nil}
%_dbi_btconfig			%{__dbi_btconfig}

# database configuration: SQLite
%__dbi_sqlconfig		%{?__dbi_perms} %{?__dbi_tmpdir}
%_dbi_sqlconfig			%{__dbi_sqlconfig}

# database tag configuration
%_dbi_tags                      %{expand:%%{_dbi_tags_%{_dbapi_used}}}

%_bt_dupsort    bt_dupsort primary=Packages
%_h_dupsort     h_dupsort primary=Packages

%_dbi_tags_3                    Packages:Name:Version:Release:Arch:Os:Basenames:Group:Providename:Requirename:Conflictname:Obsoletename:Triggername:Dirnames:Installtid:Sigmd5:Sha1header:Filedigests:Pubkeys:Packagecolor:Nvra:Sourcepkgid:Filepaths:Seqno:Btree:Hash:Queue:Recno

%_dbi_tags_4                    Packages:Name:Version:Release:Arch:Os:Basenames:Group:Providename:Requirename:Conflictname:Obsoletename:Triggername:Dirnames:Installtid:Sigmd5:Sha1header:Filedigests:Pubkeys:Packagecolor:Nvra:Sourcepkgid:Filepaths:Seqno

# database configuration: Berkeley-DB [dbapi 3 hooks]
%_dbi_config_3                  %{_dbi_btconfig}
%_dbi_config_3_Arch             %{_dbi_btconfig} %{?_bt_dupsort} pagesize=512
%_dbi_config_3_Basenames        %{_dbi_btconfig} %{?_bt_dupsort} pagesize=16384
%_dbi_config_3_Conflictname     %{_dbi_btconfig} %{?_bt_dupsort} pagesize=512
%_dbi_config_3_Conflictyamlentry %{_dbi_btconfig} %{?_bt_dupsort}
%_dbi_config_3_Dirnames         %{_dbi_btconfig} %{?_bt_dupsort} pagesize=1024
%_dbi_config_3_Filedigests      %{_dbi_htconfig} %{?_h_dupsort}
%_dbi_config_3_Filepaths	%{_dbi_btconfig} %{?_bt_dupsort} pagesize=1024
%_dbi_config_3_Group            %{_dbi_btconfig} %{?_bt_dupsort} pagesize=32768
%_dbi_config_3_Installtid       %{_dbi_btconfig} %{?_bt_dupsort} pagesize=32768
%_dbi_config_3_Name             %{_dbi_btconfig} %{?_bt_dupsort} pagesize=1024
%_dbi_config_3_Nvra             %{_dbi_btconfig} %{?_bt_dupsort} pagesize=2048
%_dbi_config_3_Obsoletename     %{_dbi_btconfig} %{?_bt_dupsort} pagesize=8192
%_dbi_config_3_Obsoleteyamlentry %{_dbi_btconfig} %{?_bt_dupsort}
%_dbi_config_3_Os               %{_dbi_btconfig} %{?_bt_dupsort} pagesize=512
%_dbi_config_3_Packagecolor     %{_dbi_htconfig} %{?_h_dupsort}
%_dbi_config_3_Providename      %{_dbi_btconfig} %{?_bt_dupsort} pagesize=8192
%_dbi_config_3_Provideyamlentry  %{_dbi_btconfig} %{?_bt_dupsort}
%_dbi_config_3_Pubkeys          %{_dbi_htconfig} %{?_h_dupsort}
%_dbi_config_3_Release          %{_dbi_btconfig} %{?_bt_dupsort} pagesize=8192
%_dbi_config_3_Removetid        %{_dbi_btconfig} %{?_bt_dupsort}
%_dbi_config_3_Requirename      %{_dbi_btconfig} %{?_bt_dupsort} pagesize=65536
%_dbi_config_3_Requireyamlentry  %{_dbi_btconfig} %{?_bt_dupsort}
%_dbi_config_3_Sha1header       %{_dbi_htconfig} %{?_h_dupsort}
%_dbi_config_3_Sigmd5           %{_dbi_htconfig} %{?_h_dupsort}
%_dbi_config_3_Sourcepkgid      %{_dbi_btconfig} %{?_bt_dupsort} pagesize=2048
%_dbi_config_3_Triggername      %{_dbi_btconfig} %{?_bt_dupsort} pagesize=512
%_dbi_config_3_Version          %{_dbi_btconfig} %{?_bt_dupsort} pagesize=2048
%_dbi_config_3_Packages         %{_dbi_btconfig} pagesize=65536
%_dbi_config_3_Depcache         %{_dbi_btconfig} temporary private
%_dbi_config_3_Seqno            %{_dbi_btconfig} seq_id=0 pagesize=512
%_dbi_config_3_Btree            btree %{?__dbi_perms} debug
%_dbi_config_3_Hash             hash  %{?__dbi_perms} debug
%_dbi_config_3_Queue            queue %{?__dbi_perms} debug
%_dbi_config_3_Recno            recno %{?__dbi_perms} debug
%_dbi_config_3_Heap             heap %{?__dbi_perms} debug

# database configuration: SQLite [dbapi 4 hooks]
%_dbi_config_4                  %{_dbi_sqlconfig}
%_dbi_config_4_Arch             %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Basenames        %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Conflictname     %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Conflictyamlentry %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Dirnames         %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Filedigests      %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Filepaths	%{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Group            %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Installtid       %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Name             %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Nvra             %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Obsoletename     %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Obsoleteyamlentry %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Os               %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Packagecolor     %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Providename      %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Provideyamlentry %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Pubkeys          %{_dbi_sqlconfig} %{?_bt_dupsort} debug
%_dbi_config_4_Release          %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Removetid        %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Requirename      %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Requireyamlentry %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Sha1header       %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Sigmd5           %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Sourcepkgid      %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Triggername      %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Version          %{_dbi_sqlconfig} %{?_bt_dupsort}
%_dbi_config_4_Packages         %{_dbi_sqlconfig}
%_dbi_config_4_Depcache         %{_dbi_sqlconfig} temporary private
%_dbi_config_4_Seqno            %{_dbi_sqlconfig} seq_id=0

# database configuration [code entry hooks]
%_dbi_config                    %{expand:%%{_dbi_config_%{_dbapi_used}}}
%_dbi_config_Arch               %{expand:%%{_dbi_config_%{_dbapi_used}_Arch}}
%_dbi_config_Basenames          %{expand:%%{_dbi_config_%{_dbapi_used}_Basenames}}
%_dbi_config_Conflictname       %{expand:%%{_dbi_config_%{_dbapi_used}_Conflictname}}
%_dbi_config_Conflictyamlentry  %{expand:%%{_dbi_config_%{_dbapi_used}_Conflictyamlentry}}

%_dbi_config_Dirnames           %{expand:%%{_dbi_config_%{_dbapi_used}_Dirnames}}
%_dbi_config_Filedigests        %{expand:%%{_dbi_config_%{_dbapi_used}_Filedigests}}
%_dbi_config_Filepaths		%{expand:%%{_dbi_config_%{_dbapi_used}_Filepaths}}
%_dbi_config_Group              %{expand:%%{_dbi_config_%{_dbapi_used}_Group}}
%_dbi_config_Installtid         %{expand:%%{_dbi_config_%{_dbapi_used}_Installtid}}
%_dbi_config_Name               %{expand:%%{_dbi_config_%{_dbapi_used}_Name}}
%_dbi_config_Nvra               %{expand:%%{_dbi_config_%{_dbapi_used}_Nvra}}
%_dbi_config_Obsoletename       %{expand:%%{_dbi_config_%{_dbapi_used}_Obsoletename}}
%_dbi_config_Obsoleteyamlentry  %{expand:%%{_dbi_config_%{_dbapi_used}_Obsoleteyamlentry}}
%_dbi_config_Os                 %{expand:%%{_dbi_config_%{_dbapi_used}_Os}}
%_dbi_config_Packagecolor       %{expand:%%{_dbi_config_%{_dbapi_used}_Packagecolor}}
%_dbi_config_Providename        %{expand:%%{_dbi_config_%{_dbapi_used}_Providename}}
%_dbi_config_Provideyamlentry   %{expand:%%{_dbi_config_%{_dbapi_used}_Provideyamlentry}}
%_dbi_config_Pubkeys            %{expand:%%{_dbi_config_%{_dbapi_used}_Pubkeys}}
%_dbi_config_Release            %{expand:%%{_dbi_config_%{_dbapi_used}_Release}}
%_dbi_config_Removetid          %{expand:%%{_dbi_config_%{_dbapi_used}_Removetid}}
%_dbi_config_Requirename        %{expand:%%{_dbi_config_%{_dbapi_used}_Requirename}}
%_dbi_config_Requireyamlentry   %{expand:%%{_dbi_config_%{_dbapi_used}_Requireyamlentry}}
%_dbi_config_Sha1header         %{expand:%%{_dbi_config_%{_dbapi_used}_Sha1header}}
%_dbi_config_Sigmd5             %{expand:%%{_dbi_config_%{_dbapi_used}_Sigmd5}}
%_dbi_config_Sourcepkgid        %{expand:%%{_dbi_config_%{_dbapi_used}_Sourcepkgid}}
%_dbi_config_Triggername        %{expand:%%{_dbi_config_%{_dbapi_used}_Triggername}}
%_dbi_config_Version            %{expand:%%{_dbi_config_%{_dbapi_used}_Version}}
%_dbi_config_Packages           %{expand:%%{_dbi_config_%{_dbapi_used}_Packages}}
%_dbi_config_Depcache            %{expand:%%{_dbi_config_%{_dbapi_used}_Depcache}}
%_dbi_config_Seqno              %{expand:%%{_dbi_config_%{_dbapi_used}_Seqno}}

# Database API configuration:
#
#   0,1: Berkeley-DB 1.x API     (no longer supported)
#   2:   Berkeley-DB 2.x API     (no longer supported)
#   3:   Berkeley-DB 3.x/4.x API (default)
#   4:   SQLite 3.x API          (alternative)
#
# There are different macros so that --rebuilddb can convert the
# database between formats (usually for upgrading purposes)
#
%_dbapi			3
%_dbapi_used		%{_dbapi}

#
# Export package NEVRA (stamped with install tid) info for HRMIB on this path.
#
# XXX	Note: escaped %% for use in headerSprintf()
#%_hrmib_path	/var/cache/hrmib/%{___NVRA}

#==============================================================================
# ---- GPG/PGP/PGP5 signature macros.
#	Macro(s) to hold the arguments passed to GPG/PGP for package
#	signing and verification.
#

%_gpg_passphrase_way %{?_gpg_passphrase:--passphrase "%{_gpg_passphrase}"}%{!?_gpg_passphrase:--passphrase-fd 3}

%__gpg_check_password_cmd	%{__gpg} \
	gpg --batch --no-verbose %{_gpg_passphrase_way} \
	%{?_gpg_sign_cmd_extra_args:%{_gpg_sign_cmd_extra_args}} \
	-u "%{_gpg_name}" -so -
#%__pgp_check_password_cmd	%{__pgp} \
#	pgp +batchmode=on +verbose=0 "%{_pgp_name}" -sf
#%__pgp5_check_password_cmd	%{__pgp} \
#	pgps +batchmode=on +verbose=0 +armor=off "%{_pgp_name}" -f

%__gpg_sign_cmd			%{__gpg} \
	gpg --batch --no-verbose --no-armor %{_gpg_passphrase_way}  --no-secmem-warning \
	%{?_gpg_sign_cmd_extra_args:%{_gpg_sign_cmd_extra_args}} \
	-u "%{_gpg_name}" -sbo %{__signature_filename} %{__plaintext_filename}
#%__pgp_sign_cmd			%{__pgp} \
#	pgp +batchmode=on +verbose=0 +armor=off \
#	"+myname=%{_pgp_name}" -sb %{__plaintext_filename} %{__signature_filename}
#%__pgp5_sign_cmd		%{__pgp} \
#	pgps +batchmode=on +verbose=0 +armor=off \
#	"+myname=%{_pgp_name}" -b %{__plaintext_filename} -o %{__signature_filename}

# rpm-5.0 and later verifies signatures internally
#%__gpg_verify_cmd		%{__gpg} \
#	gpg --batch --no-verbose --verify --no-secmem-warning \
#	%{__signature_filename} %{__plaintext_filename}
#%__pgp_verify_cmd		%{__pgp} \
#	pgp +batchmode=on +verbose=0 \
#	%{__signature_filename} %{__plaintext_filename}
#%__pgp5_verify_cmd		%{__pgp} \
#	pgpv +batchmode=on +verbose=0 \
#	+OutputInformationFD=1 +OutputWarningFD=1 \
#	-o %{__signature_filename} %{__plaintext_filename}

#
# XXX rpm-4.1 verifies prelinked libraries using a prelink undo helper.
#	Normally this macro is defined in %{_etcrpm}/macros.prelink, installed
#	with the prelink package. If the macro is undefined, then prelinked
#	shared libraries contents are MD5 digest verified (as usual), rather
#	than MD5 verifying the output of the prelink undo helper.
#
#	Note: The 2nd token is used as argv[0] and "library" is a
#	placeholder that will be deleted and replaced with the appropriate
#	library file path.
#%__prelink_undo_cmd     /usr/sbin/prelink prelink -y library

# Horowitz Key Protocol server configuration
#
#%_hkp_keyserver         hkp://keys.rpm5.org
#%_hkp_keyserver         hkp://keys.n3npq.net
#%_hkp_keyserver         hkp://pool.sks-keyservers.net
#%_hkp_keyserver_query   %{_hkp_keyserver}/pks/lookup?op=get&search=


# NSS_InitContext() parameter configuration
#
#%_nssdb_path	/etc/pki/nssdb
%_nssdb_path	/etc/pki/rpm
%_nssdb_certprefix	rpm-
%_nssdb_keyprefix	rpm-
%_nssdb_secmodname	rpm-secmod.db
%_nssdb_flags		0

#==============================================================================
# ---- Transaction macros.
#	Macro(s) used to parameterize transactions.
#

#	The default transaction color. This value is a set of bits to
#	determine file and dependency affinity for this arch.
#		0	uncolored (i.e. use only arch as install hint)
#		1	Elf32 permitted
#		2	Elf64 permitted
#		4	MIPS reserved
%_transaction_color 7

#	A default autorelocation path prefixed to file paths of packages
#	that have an incompatible arch. This was used on ia64 to prefix
#	/emul/ia32 to i386 file paths, and nowhere else.
#
# XXX	Note: escaped %% for use in headerSprintf()
#%_autorelocate_path	%{nil}

#	A default directory color to choose when directories are
#	auto-relocated.
#%_autorelocate_dcolor 0

#	Open all indices before doing chroot(2).
#
%_openall_before_chroot	1

#	The path to the dependency universe database. The default value
#	is the rpmdb-vendor location. The macro is usually defined in
#	%{_etcrpm}/macros.solve, installed with the rpmdb-vendor package.
#%_solve_dbpath	/usr/lib/rpmdb/%{_arch}-%{_vendor}-%{_os}/rpm

#	The path to the dependency universe packages. This should
#	be a path to the packages contained in the solve database.
#
# XXX	Note: needs a pesky trailing /
#%_solve_pkgsdir	/mnt/rpm/test/latest-i386/RedHat/RPMS/

#	The output binary package file name template used when suggesting
#	binary packages that solve a dependency. The macro is usually defined
#	in %{_etcrpm}/macros.solve, installed with the rpmdb-vendor package.
#
# XXX	Note: escaped %% for use in headerSprintf()
#%_solve_name_fmt	%{?_solve_pkgsdir}%{___NVRA}.rpm

#	The "transactional rollback" directory in which erased packages will
#	be saved when using the --repackage option.
%_repackage_dir		%{_var}/spool/repackage

#	The output binary package file name template used when repackaging
#	erased packages.
#
# XXX	Note: escaped %% for use in headerSprintf()
%_repackage_name_fmt	%{___NVRA}.rpm

#	A path (i.e. URL) prefix that is pre-pended to %{_repackage_dir}.
%_repackage_root	%{nil}

#	If non-zero, all erasures will be automagically repackaged.
%_repackage_all_erasures 0

#	Prevent pure erasure transactions with --rollback. Pure
#	erasure rollback transactions will undo an anaconda install,
#	for example, which %_unsafe_rollbacks tries to prevent.
#
#	Set this to non-zero at your own risk, it's dangerous.
%_unsafe_rollbacks	0

#	Automate transaction rollbacks on upgrade failure.
#
#	Set this to non-zero at your own risk, it's dangerous.
%_rollback_transaction_on_failure	0

#	Verify digest/signature flags for various rpm modes:
#	0x30300 (_RPMVSF_NODIGESTS)    --nohdrchk      if set, don't check digest(s)
#	0xc0c00 (_RPMVSF_NOSIGNATURES) --nosignature   if set, don't check signature(s)
#	0xf0000 (_RPMVSF_NOPAYLOAD)    --nolegacy      if set, check header+payload (if possible)
#	0x00f00 (_RPMVSF_NOHEADER)     --nohdrchk      if set, don't check rpmdb headers
#
#	For example, the value 0xf0c00 (=0xf0000+0xc0c00) disables legacy
#	digest/signature checking, disables signature checking, but attempts
#	digest checking, also when retrieving headers from the database.
#
#	The checking overhead was ~11ms per header for digests/signatures on
#	a 600 Mhz Dell SMP server circa 1998.
#
#	Each header from the database is checked only when first encountered
#	for each database open.
#
#	Note: the %_vsflags_erase applies to --upgrade/--freshen modes as
#	well as --erase.
#
%__vsflags		0xf0000
%_vsflags_build		%{__vsflags}
%_vsflags_erase		%{__vsflags}
%_vsflags_install	%{__vsflags}
%_vsflags_query		%{__vsflags}
%_vsflags_verify	%{__vsflags}

#	Choose keyutils keyring type:
#
#	group		KEY_SPEC_GROUP_KEYRING
#	process		KEY_SPEC_PROCESS_KEYRING
#	session		KEY_SPEC_SESSION_KEYRING
#	thread		KEY_SPEC_THREAD_KEYRING
#	user		KEY_SPEC_USER_KEYRING
#	user_session	KEY_SPEC_USER_SESSION_KEYRING
#
%_keyutils_keyring	process

#	Relations between package names that cause dependency loops
#	with legacy packages that cannot be fixed. Relations are
#	specified as
#		p>q
#	where package p has a Requires: on something that package q Provides:
#
# XXX	Note: that there cannot be any whitespace within the string "p>q",
#	and that both p and q are package names (i.e. no version/release).
#
%_dependency_whiteout_caos_core		\
	perl>perl-Filter		\
	pam>coreutils			\
	pam>initscripts			\
	glibc-common>glibc		\
	glibc>nscd			\
	filesystem>setup
%_dependency_whiteout_OWL31		\
	libusb1>owl-hier

%_dependency_whiteout			\
	%{?_dependency_whiteout_OWL31} \
	%{?_dependency_whiteout_system} \
	%{nil}

#
# Default path used for serializing transactions with a  fcntl lock.
#
# The original, FHS clompliant, path was /var/lock/run/transaction,
# but the transaction lock needs to be finer grained, at least
# per-database, not global, for many rpm operations with transaction sets.
#
# The fcntl lock is now off by default, posix mutexes (or equiv) are sufficient.
# to protect Berkeley DB data, and using multiple databases with concurrent
# access is a more important feature to rpm than serializing transaction
# sets. Change your configuration if you disagree.
#
# XXX Note: the suggested file name is __db.000 to expedite
# support issues, because users typically do "rm -f /var/lib/rpm/__db*",
# which will clean up the fcntl lock at the same time.
#%_rpmlock_path	%{_dbpath}/__db.000

#==============================================================================
# ---- Query macros.
#
# Default query format string for displaying package names everywhere
%___NVRA	%%{NAME}-%%{VERSION}-%%{RELEASE}%%|DISTTAG?{-%%{DISTTAG}%%|DISTEPOCH?{%%{DISTEPOCH}}|}|%%|ARCH?{.%%|SOURCERPM?{%%{ARCH}}:{src}|}:{}|


# Default headerSprintf() output format string for rpm -qa
#
# XXX	Note: escaped %% for use in headerSprintf()
%_query_all_fmt		%{___NVRA}

#
# Path for rpm -qH (default is /usr/share/comps/%{_arch}/hdlist)
%_query_hdlist_path	%{_datadir}/comps/%{_arch}/hdlist

#
# Permit network access? (".fdio" prohibits network access)
#%_rpmgio	.fdio

#
# Pattern matching for installation via "+N-V-R.A" CLI arguments
#%_rpmgi_pattern_glob()	%{_rpmdir}/%1-*-*.*.rpm
%_rpmgi_pattern_glob	%{_rpmdir}/*/
%_rpmgi_pattern_regex()	^.+/%1-[^-]+-[^-]+\\.[^.]+\\.rpm$

#
# UUIDv3/UUIDv5 namespace URI macros. The complete canonical path is
#	%_uuid_uri	%{?_uuid_auth}/%{?_uuid_path}/Tagname/Tagvalue
%_uuid_auth	http://rpm5.org/
%_uuid_path	/package

#==============================================================================
# ---- EVRD... dependency tuple comparison macros.
#

# (configuration without twiddle-in-version)
# STEP 1: Match the string and capture regex parts
#                      1          2           3             4
#                      E      ":" V        "-"R          ":"D
#%evr_tuple_match  ^(?:([^:-]+):)?([^:-]+)(?:-([^:-]+))?(?::([^:-]+))?$

# STEP 2: Assemble <E,V,R,D> tuple from regex parts
# <E,V,R,D>         case 1:  case 2:  case 3:  case 4:  case 5:  case 6:
#                   E:V-R:D  E:V-R    E:V      E:       V-R      V
# %evr_tuple_select 1234     123_     12__     1___     _23_     _2__
#%evr_tuple_select 123_

# STEP 3: Configure the comparison order of the <E,V,R,D> tuple elements
#%evr_tuple_order  EVR

# (configuration with twiddle-in-version)
# STEP 1: Match the string and capture regex parts
#                      1          2           3              4             5
#                      E      ":" V        "~"T           "-"R          ":"D
%evr_tuple_match   ^(?:([^:-]+):)?([^:~-]+)(?:~([^:-]+))?(?:-([^:-]+))?(?::([^:-]+))?$

# STEP 2: Assemble <E,V,T,R,D> tuple from regex parts (11 cases)
#     E:V~T-R:D    12345
#     E:V-R:D      12_45
#     E:V~T-R      1234_
#     E:V-R        12_4_
#     E:V~T        123__
#     E:V          12___
#     E:           1____
#     V~T-R        _234_
#     V-R          _2_4_
#     V~T          _23__
#     V            _2___
%evr_tuple_select  12_4_

# STEP 3: Configure the comparison order of the <E,V,T,R,D> tuple elements
%evr_tuple_order  EVR
   
# data validation patterns for identifier tags
%pattern_Name		^[A-Za-z0-9][A-Za-z0-9+._-]*$
%pattern_Epoch		^[0-9]+$
%pattern_Version	^[A-Za-z0-9+._~]+$
%pattern_Release	^[A-Za-z0-9+._]+$
%pattern_Disttag	^[A-Za-z0-9]+$
%pattern_Repotag	^[A-Za-z0-9]+$
%pattern_Distepoch	^[A-Za-z0-9.]+$
#%pattern_Url
#%pattern_Cvsid
#%pattern_Group
#%pattern_Summary
#%pattern_Distribution
#%pattern_Vendor
#%pattern_License
#%pattern_Packager
#%pattern_Buildroot
#%pattern_Keywords
#%pattern_Variants
#%pattern_Prefixes
#%pattern_Docdir
#%pattern_Xmajor
#%pattern_Xminor
#%pattern_Autoreqprov
#%pattern_Autoreq
#%pattern_Autoprov
#%pattern_Source
#%pattern_Patch
#%pattern_Icon
#%pattern_Nosource
#%pattern_Nopatch
#%pattern_Buildprereq
#%pattern_Buildprovides
#%pattern_Buildrequires
#%pattern_Buildconflicts
#%pattern_Buildobsoletes
#%pattern_Buildsuggests
#%pattern_Buildenhances
#%pattern_Prereq
#%pattern_Provideflags
#%pattern_Requireflags
#%pattern_Conflictflags
#%pattern_Obsoleteflags
#%pattern_Suggestsflags
#%pattern_Enhancesflags
#%pattern_Buildplatforms
#%pattern_Excludearch
#%pattern_Exclusivearch
#%pattern_Excludeos
#%pattern_Exclusiveos
#%pattern_Buildarchs

#==============================================================================
# ---- Run-time probe dependency macros.

#
%_rpmds_filter_name	archfilter

#
%_rpmds_cpuinfo_path	/proc/cpuinfo

#
%_rpmds_sysinfo_path	%{_etcrpm}/sysinfo

#
%_rpmds_ldconfig_cmd	/sbin/ldconfig -p
%_rpmds_ldconfig_cache	/etc/ld.so.cache

# A colon-separated list of directories which should match the rld's
# (runtime loader) list of directories it searches for shared objects.
# Only used on platforms that don't have a configurable loader search
# path via ldconfig, crle, or something similar. 
#%_rpmds_rld_search_path	/lib:/usr/lib

#
# Full path and arguments to Solaris' command to list what directories
# the runtime loader searches.  Needs to include `-64' for LP64 Solaris
# systems.
#%_rpmds_crle_cmd		/usr/bin/crle

#
%_rpmds_getconf_path	/

#
%_rpmds_perldeps_cmd	%{__find} %{_libdir}/perl5 | %{_rpmhome}/perl.prov

#
%_varrun		/var/run

#==============================================================================
# ---- Cache configuration macros.
#	Macro(s) used to configure the universe of headers used to
#	solve dependencies using rpmcache(8).
#
#	Note: These values were specific to my machine, and most certainly
#	are incorrect for any other machine. The macros are
#	included here only to document the macro names and usage.
#%_bhpath        file://localhost/mnt/dist
#%_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)
#%_bhN           @(SRPMS|i386|alpha|sparc|s390|ia64)
#%_bhVR          @(RedHat|Fedora)
#%_bhA           RPMS

#
# A configuration to build an rpmdb from yum package hierarchy
%_bhpath        file://%{_varcachewdj}
%_bhcoll        @(updates)
%_bhN           @(packages)
%_bhVR          %{nil}
%_bhA           %{nil}

#	The cache database directory.
%_cache_dbpath		%{_varcachewdj}/rpmdb

#==============================================================================
# ---- per-platform macros.
#	Macros that are specific to an individual platform. The values here
#	will be used if the per-platform macro file does not exist..
#
%_arch			arm
%_build_arch		arm
%_vendor		agl
%_os			linux-gnueabi
%_gnu			-gnu

%_host_platform		%{_host_cpu}-%{_host_vendor}-%{_host_os}%{?_host_gnu}%{!?_host_gnu:%{?_gnu}}
%_build_platform	%{_build_cpu}-%{_build_vendor}-%{_build_os}%{?_host_gnu}%{!?_host_gnu:%{?_gnu}}
%_target_platform	%{_target_cpu}-%{_target_vendor}-%{_target_os}%{?_host_gnu}%{!?_host_gnu:%{?_gnu}}

#==============================================================================
# ---- configure macros.
#	Macro(s) slavishly copied from autoconf's config.status.
#
%_prefix		/usr
%_exec_prefix		%{_prefix}
%_datarootdir		%{_prefix}/share
%_bindir		%{_exec_prefix}/bin
%_sbindir		%{_exec_prefix}/sbin
%_libexecdir		%{_exec_prefix}/libexec
%_datadir		%{_datarootdir}
%_sysconfdir		%{_prefix}/etc
%_sharedstatedir	%{_prefix}/com
%_localstatedir		%{_prefix}/var
%_lib			lib
%_libdir		%{_exec_prefix}/%{_lib}
%_includedir		%{_prefix}/include
%_oldincludedir		/usr/include
%_infodir		%{_datarootdir}/info
%_mandir		%{_datarootdir}/man
%_localedir		%{_datarootdir}/locale
%_lispdir		%{_datarootdir}/emacs/site-lisp
%_initddir              %{_sysconfdir}/rc.d/init.d
# This is a deprecated misspelling, present for backwards compatibility.
%_initrddir             %{_initddir}

#---------------------------------------------------------------------
#   Multilibs
%_multilibpatt	(/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$

#==============================================================================
# ---- config.guess platform macros.
#	Macro(s) similar to the tokens used by configure.
#
%_build			%{_host}
%_build_alias		%{_host_alias}
%_build_cpu		%{_host_cpu}
%_build_vendor		%{_host_vendor}
%_build_os		%{_host_os}
%_host			arm-agl-linux-gnueabi
%_host_alias		arm-agl-linux-gnueabi%{nil}
%_host_cpu		%{?_platform_cpu}%{!?_platform_cpu:%{_arch}}
%_host_vendor		%{?_platform_vendor}%{!?_platform_vendor:%{_vendor}}
%_host_os		%{?_platform_os}%{!?_platform_os:%{_os}}
%_host_gnu		%{?_platform_gnu}%{!?_platform_gnu:%{_gnu}}
%_target		%{_host}
%_target_alias		%{_host_alias}
%_target_cpu		%{_host_cpu}
%_target_vendor		%{_host_vendor}
%_target_os		%{_host_os}

#------------------------------------------------------------------------
# lua macros
#
#%rpm_license_check	%{expand:%%define rpm_license_check %{lua:\
#f = io.open("/dev/tty", "w")\
#if f then\
#    f:write ("\\nJust checking to see who is using rpm-5.4.16.\\nThe RPM Package Manager license is LGPL, as always.\\nRelax ...\\n")\
#    f:close()\
#end\
#}1}%{rpm_license_check}

#------------------------------------------------------------------------
# executable(...) configuration.
#
# Path to scripts to autogenerate executable(foo) script dependencies,
#
# Note: Used iff _use_internal_dependency_generator is non-zero. The
# helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}.
#%__executable_provides	%{_rpmhome}/executabledeps.sh --provides
#%__executable_requires	%{_rpmhome}/executabledeps.sh --requires
#%%__scriptlet_requires	%{__bash} --rpm-requires

#==============================================================================
# ---- embedded inyterpreter macros.
#
# Embedded interpreter commands run when an interpreter is instantiated.
#

%_luaI_init     %{nil}

%_tclI_init     %{nil}

%_perlI_init    use RPM;\
%{nil}

%_rubyI_init    %{nil}

%_pythonI_init	import rpm\
%{nil}

#==============================================================================
# XXX Caveat:
# XXX With %{load:...} being interpreted immediately -- not lazily --
# XXX within a macro init file, a failure to load causes immediate loading
# XXX termination silently.
# XXX
# XXX So the order as well as the existence of the %{load:...} macros below
# XXX are critically important.
# XXX
# XXX Note also that loaded macro files can NOT recursively load other
# XXX macro files; only a top-level (i.e. after --macros, or within a *.spec)
# XXX file is permitted to do %{load:...}. The reason for the rule is to
# XXX prevent recursive loops: there's no known need for immediate loading
# XXX EXCEPT as a construction artifact while splitting rpmbuild macros
# XXX from other structural configuration (like paths and booleans) used
# XXX for configuring RPM itself.
# XXX
# XXX Simple example(s):
# XXX	If the file %{_usrlibrpm}/macros.d/selinux doesn't exist,
# XXX	then %{_usrlibrpm}/macros.rpmbuild will NOT be loaded.
# XXX
# XXX	if the file %{_usrlibrpm}/macros.d/cmake attempts another
# XXX	%{load:...}, then loading will CEASE at that point in the file.
#==============================================================================
# ---- SELinux configuration macros.
%{load:%{_usrlibrpm}/macros.d/selinux}

#==============================================================================
# ---- rpmbuild macros.
%{load:%{_usrlibrpm}/macros.rpmbuild}

#------------------------------------------------------------------------
# cmake(...) configuration
#%%{load:%{_usrlibrpm}/macros.d/cmake}

#------------------------------------------------------------------------
# gstreamer(...) configuration.
#%%{load:%{_usrlibrpm}/macros.d/gstreamer}

#------------------------------------------------------------------------
# haskell(...) configuration.
#%%{load:%{_usrlibrpm}/macros.d/haskell}

#------------------------------------------------------------------------
# perl(...) configuration
%{load:%{_usrlibrpm}/macros.d/perl}

#------------------------------------------------------------------------
# python(...) configuration.
%{load:%{_usrlibrpm}/macros.d/python}

#------------------------------------------------------------------------
# php(...) configuration.
%{load:%{_usrlibrpm}/macros.d/php}

#------------------------------------------------------------------------
# java(...) configuration.
#%%{load:%{_usrlibrpm}/macros.d/java}

#------------------------------------------------------------------------
# libtool(...) configuration.
%{load:%{_usrlibrpm}/macros.d/libtool}

#------------------------------------------------------------------------
# pkgconfig(...) configuration.
%{load:%{_usrlibrpm}/macros.d/pkgconfig}

#------------------------------------------------------------------------
# mono(...) configuration.
#%%{load:%{_usrlibrpm}/macros.d/mono}

#------------------------------------------------------------------------
# ruby(...) configuration.
#%%{load:%{_usrlibrpm}/macros.d/ruby}

#------------------------------------------------------------------------
# tcl(...) configuration.
%{load:%{_usrlibrpm}/macros.d/tcl}

#------------------------------------------------------------------------
# typelib(...) configuration.
#%%{load:%{_usrlibrpm}/macros.d/typelib}

# \endverbatim
#*/
