User Tools

Site Tools



This shows you the differences between two versions of the page.

Link to this comparison view

rpm_macros [2015/05/22 10:43]
stephdl [RPM directory macros]
rpm_macros [2019/06/05 21:48]
Line 1: Line 1:
-===== Valid RPM Macros ===== 
-Here are the definitions for some common specfile macros as they are defined on Fedora 13 (rpm-4.8.0-14.fc13). For definitions of more macros, examine the output of "<code>rpm --showrc</code>". To see the expanded definition of a macro use the command <code>rpm --eval "%{macro}"</code> Note that neither command will take into account macros defined inside specfiles, but both will take into account macros defined in your <code>~/.rpmmacros</code> file and macros defined on the command line. 
-Keep in mind that some of these macros may evaluate differently on older Fedora or EPEL releases.  
-==== Macros mimicking autoconf variables ==== 
-  %{_sysconfdir}        /etc 
-  %{_prefix}            /usr 
-  %{_exec_prefix}       %{_prefix} 
-  %{_bindir}            %{_exec_prefix}/bin 
-  %{_libdir}            %{_exec_prefix}/%{_lib} 
-  %{_libexecdir}        %{_exec_prefix}/libexec 
-  %{_sbindir}           %{_exec_prefix}/sbin 
-  %{_sharedstatedir}    /var/lib 
-  %{_datarootdir}       %{_prefix}/share 
-  %{_datadir}           %{_datarootdir} 
-  %{_includedir}        %{_prefix}/include 
-  %{_infodir}           /usr/share/info 
-  %{_mandir}            /usr/share/man 
-  %{_localstatedir}     /var 
-  %{_initddir}          %{_sysconfdir}/rc.d/init.d 
-<WRAP center round tip 60%> 
-Differences in EPEL 4 & 5  
-  * **%{_initddir}** does not exist in EPEL 4 & 5, use the deprecated **%{_initrddir}** macro instead  
-  * **%{_sharedstatedir}** expands to **%{_prefix}/com** in EPEL 4 & 5 
-==== Other macros and variables for paths ==== 
-These macros should be used for paths that are not covered by the macros mimicking autoconf variables. The <code>%{buildroot}</code> macro or the <code>$RPM_BUILD_ROOT</code> variable is the directory that should be assumed to be the root file system when installing files. Is is used as the value for the <code>DESTDIR</code> variable. 
-  %{_var}               /var 
-  %{_tmppath}           %{_var}/tmp 
-  %{_usr}               /usr 
-  %{_usrsrc}            %{_usr}/src 
-  %{_lib}               lib (lib64 on 64bit multilib systems) 
-  %{_docdir}            %{_datadir}/doc 
-  %{buildroot}          %{_buildrootdir}/%{name}-%{version}-%{release}.%{_arch} 
-  $RPM_BUILD_ROOT       %{buildroot} 
-==== Build flags macros and variables ==== 
-These macros should be used as flags for the compiler or linker. Note that the values for the macros below reflect the settings on Fedora 13 (i686) with redhat-rpm-config installed. 
-  %{__global_cflags}   -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 
-  %{optflags}          %{__global_cflags} -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables 
-  $RPM_OPT_FLAGS       %{optflags} 
-==== RPM directory macros ==== 
-The macros are usually used with <code>rpmbuild --define</code> to specify which directories rpmbuild should use, it is unusual to use them within SPEC files. 
-  %{_topdir}            %{getenv:HOME}/rpmbuild 
-  %{_builddir}          %{_topdir}/BUILD 
-  %{_rpmdir}            %{_topdir}/RPMS 
-  %{_sourcedir}         %{_topdir}/SOURCES 
-  %{_specdir}           %{_topdir}/SPECS 
-  %{_srcrpmdir}         %{_topdir}/SRPMS 
-  %{_buildrootdir}      %{_topdir}/BUILDROOT 
-<WRAP center round tip 60%> 
-**%{_buildrootdir}** does not exist in EPEL 4 & 5 
-{{tag> rpm }} 
rpm_macros.txt ยท Last modified: 2019/06/05 21:48 (external edit)