rpm
5.2.1
|
00001 # 01036 %_rpmgi_pattern_regex() ^.+/%1-[^-]+-[^-]+\\.[^.]+\\.rpm$ 01037 01038 # 01039 # UUIDv3/UUIDv5 namespace URI macros. The complete canonical path is 01040 # %_uuid_uri %{?_uuid_auth}/%{?_uuid_path}/Tagname/Tagvalue 01041 %_uuid_auth http://rpm5.org/ 01042 %_uuid_path /package 01043 01044 #============================================================================== 01045 # ---- EVRD... dependency tuple comparison macros. 01046 # 01047 01048 # STEP 1: Match the string and capture regex parts 01049 # 1 2 3 4 01050 # X ":" X "-"X ":"X 01051 %evr_tuple_match ^(?:([^:-]+):)?([^:-]+)(?:-([^:-]+))?(?::([^:-]+))?$ 01052 01053 # STEP 2: Assemble <E,V,R,D> tuple from regex parts 01054 # <E,V,R,D> case 1: case 2: case 3: case 4: case 5: case 6: 01055 # X:X-X:X X:X-X X:X X: X-X X 01056 # %evr_tuple_select 1234 123_ 12__ 1___ _23_ _2__ 01057 %evr_tuple_select 123_ 01058 01059 # STEP 3: Configure the comparison order of the <E,V,R,D> tuple elements 01060 %evr_tuple_order EVR 01061 01062 # data validation patterns for identifier tags 01063 %pattern_Name ^[A-Za-z0-9][A-Za-z0-9+._-]*$ 01064 %pattern_Epoch ^[0-9]+$ 01065 %pattern_Version ^[A-Za-z0-9+._]+$ 01066 %pattern_Release ^[A-Za-z0-9+._]+$ 01067 %pattern_Disttag ^[A-Za-z0-9]+$ 01068 %pattern_Repotag ^[A-Za-z0-9]+$ 01069 %pattern_Distepoch ^[A-Za-z0-9.]+$ 01070 #%pattern_Url 01071 #%pattern_Cvsid 01072 #%pattern_Group 01073 #%pattern_Summary 01074 #%pattern_Distribution 01075 #%pattern_Vendor 01076 #%pattern_License 01077 #%pattern_Packager 01078 #%pattern_Buildroot 01079 #%pattern_Keywords 01080 #%pattern_Variants 01081 #%pattern_Prefixes 01082 #%pattern_Docdir 01083 #%pattern_Xmajor 01084 #%pattern_Xminor 01085 #%pattern_Autoreqprov 01086 #%pattern_Autoreq 01087 #%pattern_Autoprov 01088 #%pattern_Source 01089 #%pattern_Patch 01090 #%pattern_Icon 01091 #%pattern_Nosource 01092 #%pattern_Nopatch 01093 #%pattern_Buildprereq 01094 #%pattern_Buildprovides 01095 #%pattern_Buildrequires 01096 #%pattern_Buildconflicts 01097 #%pattern_Buildobsoletes 01098 #%pattern_Buildsuggests 01099 #%pattern_Buildenhances 01100 #%pattern_Prereq 01101 #%pattern_Provideflags 01102 #%pattern_Requireflags 01103 #%pattern_Conflictflags 01104 #%pattern_Obsoleteflags 01105 #%pattern_Suggestsflags 01106 #%pattern_Enhancesflags 01107 #%pattern_Buildplatforms 01108 #%pattern_Excludearch 01109 #%pattern_Exclusivearch 01110 #%pattern_Excludeos 01111 #%pattern_Exclusiveos 01112 #%pattern_Buildarchs 01113 01114 #============================================================================== 01115 # ---- Run-time probe dependency macros. 01116 01117 # 01118 %_rpmds_filter_name archfilter 01119 01120 # 01121 %_rpmds_cpuinfo_path /proc/cpuinfo 01122 01123 # 01124 %_rpmds_sysinfo_path %{_etcrpm}/sysinfo 01125 01126 # 01127 %_rpmds_ldconfig_cmd /sbin/ldconfig -p 01128 %_rpmds_ldconfig_cache /etc/ld.so.cache 01129 01130 # A colon-separated list of directories which should match the rld's 01131 # (runtime loader) list of directories it searches for shared objects. 01132 # Only used on platforms that don't have a configurable loader search 01133 # path via ldconfig, crle, or something similar. 01134 #%_rpmds_rld_search_path /lib:/usr/lib 01135 01136 # 01137 # Full path and arguments to Solaris' command to list what directories 01138 # the runtime loader searches. Needs to include `-64' for LP64 Solaris 01139 # systems. 01140 #%_rpmds_crle_cmd /usr/bin/crle 01141 01142 # 01143 %_rpmds_getconf_path / 01144 01145 # 01146 %_rpmds_perldeps_cmd %{__find} %{_libdir}/perl5 | %{_rpmhome}/perl.prov 01147 01148 # 01149 %_varrun /var/run 01150 01151 #============================================================================== 01152 # ---- Cache configuration macros. 01153 # Macro(s) used to configure the universe of headers used to 01154 # solve dependencies using rpmcache(8). 01155 # 01156 # Note: These values were specific to my machine, and most certainly 01157 # are incorrect for any other machine. The macros are 01158 # included here only to document the macro names and usage. 01159 #%_bhpath file://localhost/mnt/dist 01160 #%_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) 01161 #%_bhN @(SRPMS|i386|alpha|sparc|s390|ia64) 01162 #%_bhVR @(RedHat|Fedora) 01163 #%_bhA RPMS 01164 01165 # 01166 # A configuration to build an rpmdb from yum package hierarchy 01167 %_bhpath file: 01168 %_bhcoll @(updates) 01169 %_bhN @(packages) 01170 %_bhVR %{nil} 01171 %_bhA %{nil} 01172 01173 # The cache database directory. 01174 %_cache_dbpath /var/cache/yum/rpmdb 01175 01176 #============================================================================== 01177 # ---- per-platform macros. 01178 # Macros that are specific to an individual platform. The values here 01179 # will be used if the per-platform macro file does not exist.. 01180 # 01181 %_arch i386 01182 %_build_arch i386 01183 %_vendor portbld 01184 %_os freebsd 01185 %_gnu %{nil} 01186 01187 %_host_platform %{_host_cpu}-%{_host_vendor}-%{_host_os}%{?_gnu} 01188 %_build_platform %{_build_cpu}-%{_build_vendor}-%{_build_os}%{?_gnu} 01189 %_target_platform %{_target_cpu}-%{_target_vendor}-%{_target_os}%{?_gnu} 01190 01191 # 01192 # Define a generic value for optflags. Normally overridden by per-target macros. 01193 %optflags -O2 01194 01195 # 01196 # Define per-arch and per-os defaults. Normally overridden by per-target macros. 01197 %__arch_install_post %{nil} 01198 %__os_install_post %{___build_post} 01199 01200 #============================================================================== 01201 # ---- Scriptlet template templates. 01202 # Global defaults used for building scriptlet templates. 01203 # 01204 01205 %___build_shell %{?_buildshell:%{_buildshell}}%{!?_buildshell:/bin/sh} 01206 %___build_args -e 01207 %___build_cmd %{?_sudo:%{_sudo} }%{?_remsh:%{_remsh} %{_remhost} }%{?_remsudo:%{_remsudo} }%{?_remchroot:%{_remchroot} %{_remroot} }%{___build_shell} %{___build_args} 01208 %___build_pre \ 01209 RPM_SOURCE_DIR=\"%{u2p:%{_sourcedir}}\"\ 01210 RPM_BUILD_DIR=\"%{u2p:%{_builddir}}\"\ 01211 RPM_OPT_FLAGS=\"%{optflags}\"\ 01212 RPM_ARCH=\"%{_arch}\"\ 01213 RPM_OS=\"%{_os}\"\ 01214 export RPM_SOURCE_DIR RPM_BUILD_DIR RPM_OPT_FLAGS RPM_ARCH RPM_OS\ 01215 RPM_DOC_DIR=\"%{_docdir}\"\ 01216 export RPM_DOC_DIR\ 01217 RPM_PACKAGE_NAME=\"%{name}\"\ 01218 RPM_PACKAGE_VERSION=\"%{version}\"\ 01219 RPM_PACKAGE_RELEASE=\"%{release}\"\ 01220 export RPM_PACKAGE_NAME RPM_PACKAGE_VERSION RPM_PACKAGE_RELEASE\ 01221 %{?buildroot:RPM_BUILD_ROOT=\"%{u2p:%{buildroot}}\"\ 01222 export RPM_BUILD_ROOT}\ 01223 %{?_javaclasspath:CLASSPATH=\"%{_javaclasspath}\"\ 01224 export CLASSPATH}\ 01225 unset PERL_MM_OPT || :\ 01226 LC_ALL=C\ 01227 export LC_ALL\ 01228 LANG=C\ 01229 export LANG\ 01230 unset DISPLAY || :\ 01231 unset LINGUAS || :\ 01232 unset LANGUAGE || :\ 01233 unset LC_MESSAGES || :\ 01234 \ 01235 %{verbose:set -x}%{!verbose:exec > /dev/null}\ 01236 umask 022\ 01237 cd "%{u2p:%{_builddir}}"\ 01238 01239 01240 #%___build_body %{nil} 01241 %___build_post exit 0 01242 01243 %___build_template #!%{___build_shell}\ 01244 %{___build_pre}\ 01245 %{nil} 01246 01247 #%{___build_body}\ 01248 #%{___build_post}\ 01249 #%{nil} 01250 01251 #============================================================================== 01252 # ---- Scriptlet templates. 01253 # Macro(s) that expand to a command and script that is executed. 01254 # CAVEAT: All macro expansions must fit in a BUFSIZ (8192 byte) buffer. 01255 # 01256 %__spec_prep_shell %{___build_shell} 01257 %__spec_prep_args %{___build_args} 01258 %__spec_prep_cmd %{___build_cmd} 01259 %__spec_prep_pre %{___build_pre} 01260 %__spec_prep_body %{___build_body} 01261 %__spec_prep_post %{___build_post} 01262 %__spec_prep_template #!%{__spec_prep_shell}\ 01263 %{__spec_prep_pre}\ 01264 %{nil} 01265 01266 #%{__spec_prep_body}\ 01267 #%{__spec_prep_post}\ 01268 #%{nil} 01269 01270 %__spec_build_shell %{___build_shell} 01271 %__spec_build_args %{___build_args} 01272 %__spec_build_cmd %{___build_cmd} 01273 %__spec_build_pre %{___build_pre} 01274 %__spec_build_body %{___build_body} 01275 %__spec_build_post %{___build_post} 01276 %__spec_build_template #!%{__spec_build_shell}\ 01277 %{__spec_build_pre}\ 01278 %{nil} 01279 01280 #%{__spec_build_body}\ 01281 #%{__spec_build_post}\ 01282 #%{nil} 01283 01284 %__spec_install_shell %{___build_shell} 01285 %__spec_install_args %{___build_args} 01286 %__spec_install_cmd %{___build_cmd} 01287 %__spec_install_pre %{___build_pre}\ 01288 %{?buildroot:%{__rm} -rf '%{buildroot}'; %{__mkdir_p} '%{buildroot}'} 01289 %__spec_install_body %{___build_body} 01290 %__spec_install_post\ 01291 %{?__debug_package:%{__debug_install_post}}\ 01292 %{__arch_install_post}\ 01293 %{__os_install_post}\ 01294 %{nil} 01295 %__spec_install_template #!%{__spec_install_shell}\ 01296 %{__spec_install_pre}\ 01297 %{nil} 01298 01299 #%{__spec_install_body}\ 01300 #%{__spec_install_post}\ 01301 #%{nil} 01302 01303 %__spec_check_shell %{___build_shell} 01304 %__spec_check_args %{___build_args} 01305 %__spec_check_cmd %{___build_cmd} 01306 %__spec_check_pre %{___build_pre} 01307 %__spec_check_body %{___build_body} 01308 %__spec_check_post %{___build_post} 01309 %__spec_check_template #!%{__spec_check_shell}\ 01310 %{__spec_check_pre}\ 01311 %{nil} 01312 01313 #%{__spec_check_body}\ 01314 #%{__spec_check_post}\ 01315 #%{nil} 01316 01317 #%__spec_autodep_shell %{___build_shell} 01318 #%__spec_autodep_args %{___build_args} 01319 #%__spec_autodep_cmd %{___build_cmd} 01320 #%__spec_autodep_pre %{___build_pre} 01321 #%__spec_autodep_body %{___build_body} 01322 #%__spec_autodep_post %{___build_post} 01323 #%__spec_autodep_template #!%{__spec_autodep_shell}\ 01324 #%{__spec_autodep_pre}\ 01325 #%{nil} 01326 01327 #%{__spec_autodep_body}\ 01328 #%{__spec_autodep_post}\ 01329 #%{nil} 01330 01331 %__spec_clean_shell %{___build_shell} 01332 %__spec_clean_args %{___build_args} 01333 %__spec_clean_cmd %{___build_cmd} 01334 %__spec_clean_pre %{___build_pre} 01335 %__spec_clean_body %{?buildroot:%{__rm} -rf '%{buildroot}'}\ 01336 %{nil} 01337 %__spec_clean_post %{nil} 01338 %__spec_clean_template #!%{__spec_clean_cmd}\ 01339 %{__spec_clean_pre}\ 01340 %{nil} 01341 01342 #%{__spec_clean_body}\ 01343 #%{__spec_clean_post}\ 01344 #%{nil} 01345 01346 %__spec_track_shell %{___build_shell} 01347 %__spec_track_args %{___build_args} 01348 %__spec_track_cmd %{___build_cmd} 01349 %__spec_track_pre %{__vcheck} %{verbose:--verbose}%{!verbose:--noverbose} -f - << GO_SYSIN_DD 01350 %__spec_track_body %{___build_body} 01351 %__spec_track_post GO_SYSIN_DD\ 01352 %{nil} 01353 %__spec_track_template #!%{__spec_track_shell}\ 01354 %{__spec_track_pre}\ 01355 %{nil} 01356 01357 %__spec_sanitycheck_shell %{___build_shell} 01358 %__spec_sanitycheck_args %{___build_args} 01359 %__spec_sanitycheck_cmd %{___build_cmd} 01360 %__spec_sanitycheck_pre %{___build_pre} 01361 %__spec_sanitycheck_body %{___build_body} 01362 %__spec_sanitycheck_post %{___build_post} 01363 %__spec_sanitycheck_template #!%{__spec_sanitycheck_shell}\ 01364 %{__spec_sanitycheck_pre}\ 01365 %{nil} 01366 01367 %__spec_rmbuild_shell %{___build_shell} 01368 %__spec_rmbuild_args %{___build_args} 01369 %__spec_rmbuild_cmd %{___build_cmd} 01370 %__spec_rmbuild_pre %{___build_pre} 01371 %__spec_rmbuild_body %{___build_body} 01372 %__spec_rmbuild_post %{___build_post} 01373 %__spec_rmbuild_template #!%{__spec_rmbuild_shell}\ 01374 %{__spec_rmbuild_pre}\ 01375 %{nil} 01376 01377 #%{__spec_rmbuild_body}\ 01378 #%{__spec_rmbuild_post}\ 01379 #%{nil} 01380 01381 # XXX We don't expand pre/post install scriptlets (yet). 01382 #%__spec_pre_pre %{nil} 01383 #%__spec_pre_post %{nil} 01384 #%__spec_post_pre %{nil} 01385 #%__spec_post_post %{nil} 01386 #%__spec_preun_pre %{nil} 01387 #%__spec_preun_post %{nil} 01388 #%__spec_postun_pre %{nil} 01389 #%__spec_postun_post %{nil} 01390 #%__spec_triggerpostun_pre %{nil} 01391 #%__spec_triggerpostun_post %{nil} 01392 #%__spec_triggerun_pre %{nil} 01393 #%__spec_triggerun_post %{nil} 01394 #%__spec_triggerin_pre %{nil} 01395 #%__spec_triggerin_post %{nil} 01396 01397 #============================================================================== 01398 # ---- configure macros. 01399 # Macro(s) slavishly copied from autoconf's config.status. 01400 # 01401 %_prefix /usr/local 01402 %_exec_prefix %{_prefix} 01403 %_bindir %{_exec_prefix}/bin 01404 %_sbindir %{_exec_prefix}/sbin 01405 %_libexecdir %{_exec_prefix}/libexec 01406 %_datadir %{_prefix}/share 01407 %_sysconfdir %{_prefix}/etc 01408 %_sharedstatedir %{_prefix}/com 01409 %_localstatedir %{_prefix}/var 01410 %_lib lib 01411 %_libdir %{_exec_prefix}/%{_lib} 01412 %_includedir %{_prefix}/include 01413 %_oldincludedir /usr/include 01414 %_infodir %{_prefix}/info 01415 %_mandir %{_prefix}/man 01416 %_localedir %{_datadir}/locale 01417 01418 %_initrddir %{_sysconfdir}/rc.d/init.d 01419 01420 #--------------------------------------------------------------------- 01421 # Multilibs 01422 %_multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$ 01423 01424 #============================================================================== 01425 # ---- config.guess platform macros. 01426 # Macro(s) similar to the tokens used by configure. 01427 # 01428 %_build %{_host} 01429 %_build_alias %{_host_alias} 01430 %_build_cpu %{_host_cpu} 01431 %_build_vendor %{_host_vendor} 01432 %_build_os %{_host_os} 01433 %_host i386-portbld-freebsd8.1 01434 %_host_alias %{nil} 01435 %_host_cpu i386 01436 %_host_vendor portbld 01437 %_host_os freebsd8.1 01438 %_target %{_host} 01439 %_target_alias %{_host_alias} 01440 %_target_cpu %{_host_cpu} 01441 %_target_vendor %{_host_vendor} 01442 %_target_os %{_host_os} 01443 01444 #============================================================================== 01445 # ---- specfile macros. 01446 # Macro(s) here can be used reliably for reproducible builds. 01447 # (Note: Above is the goal, below are the macros under development) 01448 # 01449 # The configure macro does the following: 01450 # optionally change to a subdirectory (not implemented). 01451 # attempt to update config.guess and config.sub. 01452 # run configure with correct prefix, platform, and CFLAGS. 01453 # optionally restore current directory (not implemented). 01454 # The configure macro should be invoked as %configure (rather than %{configure}) 01455 # because the rest of the arguments will be expanded using %*. 01456 # 01457 # This is the version of %configure used through rpm-3.0.4. 01458 #%configure \ 01459 # %{?__libtoolize:[ -f configure.in ] && %{__libtoolize} --copy --force} \ 01460 # CFLAGS="%{optflags}" ./configure %{_target_platform} --prefix=%{_prefix} 01461 # 01462 #------------------------------------------------------------------------------ 01463 # This is an improved version of %configure (from PLD team). 01464 %configure \ 01465 CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \ 01466 CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \ 01467 FFLAGS="${FFLAGS:-%optflags}" ; export FFLAGS ; \ 01468 ./configure --host=%{_host} --build=%{_build} \\\ 01469 --target=%{_target_platform} \\\ 01470 --program-prefix=%{?_program_prefix} \\\ 01471 --prefix=%{_prefix} \\\ 01472 --exec-prefix=%{_exec_prefix} \\\ 01473 --bindir=%{_bindir} \\\ 01474 --sbindir=%{_sbindir} \\\ 01475 --sysconfdir=%{_sysconfdir} \\\ 01476 --datadir=%{_datadir} \\\ 01477 --includedir=%{_includedir} \\\ 01478 --libdir=%{_libdir} \\\ 01479 --libexecdir=%{_libexecdir} \\\ 01480 --localstatedir=%{_localstatedir} \\\ 01481 --sharedstatedir=%{_sharedstatedir} \\\ 01482 --mandir=%{_mandir} \\\ 01483 --infodir=%{_infodir} 01484 01485 #------------------------------------------------------------------------------ 01486 # The make install analogue of %configure: 01487 %makeinstall \ 01488 make \\\ 01489 prefix=%{?buildroot:%{buildroot}}%{_prefix} \\\ 01490 exec_prefix=%{?buildroot:%{buildroot}}%{_exec_prefix} \\\ 01491 bindir=%{?buildroot:%{buildroot}}%{_bindir} \\\ 01492 sbindir=%{?buildroot:%{buildroot}}%{_sbindir} \\\ 01493 sysconfdir=%{?buildroot:%{buildroot}}%{_sysconfdir} \\\ 01494 datadir=%{?buildroot:%{buildroot}}%{_datadir} \\\ 01495 includedir=%{?buildroot:%{buildroot}}%{_includedir} \\\ 01496 libdir=%{?buildroot:%{buildroot}}%{_libdir} \\\ 01497 libexecdir=%{?buildroot:%{buildroot}}%{_libexecdir} \\\ 01498 localstatedir=%{?buildroot:%{buildroot}}%{_localstatedir} \\\ 01499 sharedstatedir=%{?buildroot:%{buildroot}}%{_sharedstatedir} \\\ 01500 mandir=%{?buildroot:%{buildroot}}%{_mandir} \\\ 01501 infodir=%{?buildroot:%{buildroot}}%{_infodir} \\\ 01502 install 01503 01504 #------------------------------------------------------------------------------ 01505 # The GNUconfigure macro does the following: 01506 # update config.guess and config.sub. 01507 # regenerate all autoconf/automake files 01508 # optionally change to a directory (make the directory if requested). 01509 # run configure with correct prefix, platform, and CFLAGS. 01510 # optionally restore current directory. 01511 # 01512 # Based on autogen.sh from GNOME and orginal GNUconfigure 01513 # 01514 %GNUconfigure(MCs:) \ 01515 CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS; \ 01516 LDFLAGS="${LDFLAGS:-%{-s:-s}}" ; export LDFLAGS; \ 01517 %{-C:_mydir="`pwd`"; %{-M: %{__mkdir} -p "%{-C*}";} cd "%{-C*}"} \ 01518 dirs="`find ${_mydir} -name 'configure.[ai][cn]' -print`"; export dirs; \ 01519 for coin in `echo ${dirs}` \ 01520 do \ 01521 dr=`dirname ${coin}`; \ 01522 if test -f ${dr}/NO-AUTO-GEN; then \ 01523 : \ 01524 else \ 01525 macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < ${coin}`; \ 01526 ( cd "${dr}"; \ 01527 aclocalinclude="${ACLOCAL_FLAGS}"; \ 01528 for k in ${macrodirs}; do \ 01529 if test -d ${k}; then \ 01530 aclocalinclude="${aclocalinclude} -I ${k}"; \ 01531 ##else \ 01532 ## echo "**Warning**: No such directory \`${k}'. Ignored." \ 01533 fi \ 01534 done \ 01535 if grep "^AM_GNU_GETTEXT" configure.[ai][cn] >/dev/null; then \ 01536 if grep "sed.*POTFILES" configure.[ai][cn] >/dev/null; then \ 01537 : do nothing -- we still have an old unmodified configure.[ai][cn] \ 01538 else \ 01539 test -r ${dr}/aclocal.m4 || touch ${dr}/aclocal.m4; \ 01540 echo "no" | gettextize --force --copy; \ 01541 test -r ${dr}/aclocal.m4 && %{__chmod} u+w ${dr}/aclocal.m4; \ 01542 fi \ 01543 fi \ 01544 if grep "^AM_PROG_LIBTOOL" configure.[ai][cn] >/dev/null; then \ 01545 %{__libtoolize} --force --copy; \ 01546 fi \ 01547 aclocal ${aclocalinclude}; \ 01548 if grep "^AM_CONFIG_HEADER" configure.[ai][cn] >/dev/null; then \ 01549 %{__autoheader}; \ 01550 fi \ 01551 echo "Running automake --gnu ${am_opt} ..."; \ 01552 %{__automake} --add-missing --gnu ${am_opt}; \ 01553 %{__autoconf}; \ 01554 ); \ 01555 fi \ 01556 done \ 01557 %{-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} %* ; \ 01558 %{-C:cd "${_mydir}"; unset _mydir} 01559 01560 %patches %{lua: for i, p in ipairs(patches) do print(p.." ") end} 01561 %sources %{lua: for i, s in ipairs(sources) do print(s.." ") end} 01562 01563 #------------------------------------------------------------------------------ 01564 # argument to pass to 'make' to run one job per cpu in parallel on smp systems. 01565 %_smp_mflags %([ -z "$RPM_BUILD_NCPUS" ] \\\ 01566 && RPM_BUILD_NCPUS="`/usr/bin/getconf NPROCESSORS_ONLN`"; \\\ 01567 [ "$RPM_BUILD_NCPUS" -gt 1 ] && echo "-j$RPM_BUILD_NCPUS") 01568 01569 #------------------------------------------------------------------------------ 01570 # arch macro for all Intel i?86 compatibile processors 01571 # (Note: This macro (and it's analogues) will probably be obsoleted when 01572 # rpm can use regular expressions against target platforms in macro 01573 # conditionals. 01574 # 01575 %ix86 i386 i486 i586 i686 pentium3 pentium4 athlon 01576 01577 # same thing for arm 01578 %arm arm armv3 armv3l armv3b armv4 armv4l armv4b armv5 armv5l armv5b armv5te armv5tel armv5teb xscale armv6 armv6l 01579 01580 # same for alpha 01581 %alpha alpha alphaev56 alphaev6 alphaev67 01582 01583 # and sparc 01584 %sparc sun4 sun4m sun4c sun4d sun4u sparcv9b sparcv9v2 %{sparcx} 01585 01586 # add alternative sparc architectures macro (bugzilla #455972 patch) 01587 %sparcx sparc sparcv8 sparcv9 sparcv9v sparc64 sparc64v 01588 01589 # also for mips 01590 %mips mips mips2 mips3 mips4 octeon 01591 %mipsel mipsel mips2el mips3el mips4el loongson2e loongson2f octeonel 01592 01593 %mipsx %mips %mipsel mips64 mips64el 01594 01595 #------------------------------------------------------------------------ 01596 # Use in %install to generate locale specific file lists. For example, 01597 # 01598 # %install 01599 # ... 01600 # %find_lang %{name} 01601 # ... 01602 # %files -f %{name}.lang 01603 # 01604 %find_lang %{_rpmhome}/find-lang.sh %{buildroot} 01605 01606 #------------------------------------------------------------------------ 01607 # lua macros 01608 # 01609 #%rpm_license_check %{expand:%%define rpm_license_check %{lua:\ 01610 #f = io.open("/dev/tty", "w")\ 01611 #if f then\ 01612 # f:write ("\\nJust checking to see who is using rpm-5.2.1.\\nThe RPM Package Manager license is LGPL, as always.\\nRelax ...\\n")\ 01613 # f:close()\ 01614 #end\ 01615 #}1}%{rpm_license_check} 01616 01617 #------------------------------------------------------------------------ 01618 # perl(...) configuration 01619 # 01620 01621 # Path to scripts to autogenerate perl package dependencies, 01622 # 01623 # Note: Used iff _use_internal_dependency_generator is non-zero. The 01624 # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. 01625 #%__perl_provides %{_rpmhome}/perldeps.pl --provides 01626 #%__perl_requires %{_rpmhome}/perldeps.pl --requires 01627 %__perl_provides %{_rpmhome}/perl.prov 01628 %__perl_requires %{_rpmhome}/perl.req 01629 01630 # Useful macros for building *.rpm perl packages. 01631 # (from Artur Frysiak <wiget@t17.ds.pwr.wroc.pl>) 01632 # 01633 # For example, these can be used as (from ImageMagick.spec from PLD site) 01634 # [...] 01635 # BuildPrereq: perl 01636 # [...] 01637 # %package perl 01638 # Summary: libraries and modules for access to ImageMagick from perl 01639 # Group: Development/Languages/Perl 01640 # Requires: %{name} = %{version} 01641 # %requires_eq perl 01642 # [...] 01643 # %install 01644 # rm -fr $RPM_BUILD_ROOT 01645 # install -d $RPM_BUILD_ROOT/%{perl_sitearch} 01646 # [...] 01647 # %files perl 01648 # %defattr(644,root,root,755) 01649 # %{perl_sitearch}/Image 01650 # %dir %{perl_sitearch}/auto/Image 01651 # 01652 01653 %requires_eq() %(echo '%*' | LC_ALL="C" xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not") 01654 01655 %perl_sitearch %(eval "`%{__perl} -V:installsitearch`"; echo $installsitearch) 01656 %perl_sitelib %(eval "`%{__perl} -V:installsitelib`"; echo $installsitelib) 01657 %perl_vendorarch %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch) 01658 %perl_vendorlib %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib) 01659 %perl_archlib %(eval "`%{__perl} -V:installarchlib`"; echo $installarchlib) 01660 %perl_privlib %(eval "`%{__perl} -V:installprivlib`"; echo $installprivlib) 01661 %perl_version %(eval "`%{__perl} -V:version`"; echo $version) 01662 01663 #------------------------------------------------------------------------ 01664 # python(...) configuration. 01665 # 01666 # Path to scripts to autogenerate python package dependencies, 01667 # 01668 # Note: Used iff _use_internal_dependency_generator is non-zero. The 01669 # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. 01670 %__python_provides %{_rpmhome}/pythondeps.sh --provides 01671 %__python_requires %{_rpmhome}/pythondeps.sh --requires 01672 01673 # Useful macros for building *.rpm python packages (for python > 1.6). 01674 # 01675 %python_sitearch %(%{__python} -c "import os; from distutils.sysconfig import get_python_lib; lib=get_python_lib(1); print os.path.islink(lib) and os.path.abspath(os.path.join(os.path.dirname(lib),os.readlink(lib))) or lib") 01676 %python_sitelib %(%{__python} -c "import os; from distutils.sysconfig import get_python_lib; lib=get_python_lib(); print os.path.islink(lib) and os.path.abspath(os.path.join(os.path.dirname(lib),os.readlink(lib))) or lib") 01677 %python_version %(%{__python} -c "import sys; print(sys.version[0:3])") 01678 01679 %py_compile(O) \ 01680 find %1 -name '*.pyc' -name '*.pyo' -exec rm -f {} \\; \ 01681 %{__python} %{?O:-O} -c "import sys, os, compileall; br='%{buildroot}'; compileall.compile_dir(sys.argv[1], ddir=br and (sys.argv[1][len(os.path.abspath(br)):]+'/') or None)" %1 \ 01682 01683 %py_requires(d) \ 01684 %define maxver %(%{__python} -c "import sys; a,b=sys.version_info[:2]; print '%%d.%%d'%%(a,b+1)" 2>/dev/null || echo PYTHON-NOT-FOUND) \ 01685 BuildRequires: python %{-d:python-devel} \ 01686 PreReq: python >= %{python_version}, python < %{maxver} 01687 01688 #------------------------------------------------------------------------ 01689 # php(...) configuration. 01690 # 01691 # Path to scripts to autogenerate php package dependencies, 01692 # 01693 # Note: Used iff _use_internal_dependency_generator is non-zero. The 01694 # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. 01695 #%__php_provides %{_rpmhome}/phpdeps.sh --provides 01696 #%__php_requires %{_rpmhome}/phpdeps.sh --requires 01697 #%__php_provides %{_rpmhome}/php.prov 01698 #%__php_requires %{_rpmhome}/php.req 01699 01700 #------------------------------------------------------------------------ 01701 # java(...) configuration. 01702 # 01703 # Path to scripts to autogenerate java package dependencies, 01704 # 01705 # Note: Used iff _use_internal_dependency_generator is non-zero. The 01706 # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. 01707 %__java_provides %{_rpmhome}/javadeps.sh --provides 01708 %__java_requires %{_rpmhome}/javadeps.sh --requires 01709 01710 #------------------------------------------------------------------------ 01711 # libtool(...) configuration. 01712 # 01713 # Path to scripts to autogenerate libtool package dependencies, 01714 # 01715 # Note: Used iff _use_internal_dependency_generator is non-zero. The 01716 # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. 01717 %__libtool_provides %{_rpmhome}/libtooldeps.sh --provides %{buildroot} %{name} 01718 %__libtool_requires %{_rpmhome}/libtooldeps.sh --requires %{buildroot} %{name} 01719 01720 #------------------------------------------------------------------------ 01721 # pkgconfig(...) configuration. 01722 # 01723 # Path to scripts to autogenerate pkgconfig package dependencies, 01724 # 01725 # Note: Used iff _use_internal_dependency_generator is non-zero. The 01726 # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. 01727 %__pkgconfig_provides %{_rpmhome}/pkgconfigdeps.sh --provides 01728 %__pkgconfig_requires %{_rpmhome}/pkgconfigdeps.sh --requires 01729 01730 #------------------------------------------------------------------------ 01731 # mono(...) configuration. 01732 # 01733 # Path to scripts to autogenerate mono package dependencies, 01734 # 01735 # Note: Used iff _use_internal_dependency_generator is non-zero. The 01736 # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. 01737 %__mono_provides %{_rpmhome}/mono-find-provides 01738 %__mono_requires %{_rpmhome}/mono-find-requires 01739 01740 #------------------------------------------------------------------------ 01741 # executable(...) configuration. 01742 # 01743 # Path to scripts to autogenerate executable(foo) script dependencies, 01744 # 01745 # Note: Used iff _use_internal_dependency_generator is non-zero. The 01746 # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}. 01747 #%__executable_provides %{_rpmhome}/executabledeps.sh --provides 01748 #%__executable_requires %{_rpmhome}/executabledeps.sh --requires 01749 %__scriptlet_requires %{__bash} --rpm-requires 01750 01751 # \endverbatim 01752 #*/