]> git.pld-linux.org Git - packages/rpm.git/blame - rpm.macros
- added RPM in Summary(pl), -build Requires: textutils
[packages/rpm.git] / rpm.macros
CommitLineData
a8bf9720
AF
1# PLD rpm macros
2
3%_defaultdocdir %{_usr}/share/doc
4%_fixowner [ `%{__id_u}` = '0' ] && %{__chown_Rhf} root.@ROOT_GROUP@
5%_fixgroup true
6%_topdir %(echo $HOME)/rpm
7%_exec_prefix %{_prefix}
8%_bindir %{_exec_prefix}/bin
9%_sbindir %{_exec_prefix}/sbin
10%_libexecdir %{_exec_prefix}/lib
11%_datadir %{_prefix}/share
12%_sharedstatedir %{_prefix}/com
13%_lib lib
14%_libdir %{_exec_prefix}/%{_lib}
15%_includedir %{_prefix}/include
16%_oldincludedir /usr/include
17%_sysconfdir /etc
18%_localstatedir /var
19%_infodir /usr/share/info
20%_mandir %{_prefix}/share/man
cd33aab7
AM
21#-----------------------------------------------------------------
22# CFLAGS and LDFLAGS used to build
23
24%debugcflags -O0 -g
25%rpmcflags %{?debug:%debugcflags}%{!?debug:%optflags}
26%rpmldflags %{!?debug:-s}
27
a544555d 28# kernel compiler
c8709bd0
JB
29%kgcc kgcc
30%kgcc_package egcs
a544555d 31
cd33aab7 32#-----------------------------------------------------------------
9f0287b5 33%configure2_13 { \
cd33aab7
AM
34 if [ -n "$LINGUAS" ]; then unset LINGUAS; fi; \
35 LDFLAGS="${LDFLAGS:-%rpmldflags}" ; export LDFLAGS ; \
36 CFLAGS="${CFLAGS:-%rpmcflags}" ; export CFLAGS ; \
37 CXXFLAGS="${CXXFLAGS:-%rpmcflags}" ; export CXXFLAGS ; \
38 FFLAGS="${FFLAGS:-%rpmcflags}" ; export FFLAGS ; \
700ee83b
AM
39 %{?__cc:CC=%{__cc} ; export CC ; } \
40 %{?__cxx:CXX=%{__cxx} ; export CXX ; } \
cd33aab7 41 ./configure \
fa74a11c 42 --host=%{_target_platform} \
cd33aab7
AM
43 --prefix=%{_prefix} \
44 --exec-prefix=%{_exec_prefix} \
45 --bindir=%{_bindir} \
46 --sbindir=%{_sbindir} \
47 --sysconfdir=%{_sysconfdir} \
48 --datadir=%{_datadir} \
49 --includedir=%{_includedir} \
50 --libdir=%{_libdir} \
51 --libexecdir=%{_libexecdir} \
52 --localstatedir=%{_localstatedir} \
53 --sharedstatedir=%{_sharedstatedir} \
54 --mandir=%{_mandir} \
55 --infodir=%{_infodir} \
56}
57
85f82bec 58#----------------------------------------------------------------
9f0287b5 59%configure {./configure \
85f82bec
AF
60 LDFLAGS="${LDFLAGS:-%rpmldflags}" \
61 CFLAGS="${CFLAGS:-%rpmcflags}" \
62 CXXFLAGS="${CXXFLAGS:-%rpmcflags}" \
63 FFLAGS="${FFLAGS:-%rpmcflags}" \
9f0287b5
AF
64 %{?__cc:CC=%{__cc}} \
65 %{?__cxx:CXX=%{__cxx}} \
85f82bec
AF
66 --build=%{_target_platform} \
67 --prefix=%{_prefix} \
68 --exec-prefix=%{_exec_prefix} \
69 --bindir=%{_bindir} \
70 --sbindir=%{_sbindir} \
71 --sysconfdir=%{_sysconfdir} \
72 --datadir=%{_datadir} \
73 --includedir=%{_includedir} \
74 --libdir=%{_libdir} \
75 --libexecdir=%{_libexecdir} \
76 --localstatedir=%{_localstatedir} \
77 --sharedstatedir=%{_sharedstatedir} \
78 --mandir=%{_mandir} \
79 --infodir=%{_infodir} \
80}
81
cd33aab7
AM
82# Location of autoconf macros
83%_aclocaldir %(aclocal --print-ac-dir)
84
c5eece2c 85# Location of pkgconfig files
895ccc5b 86%_pkgconfigdir /usr/lib/pkgconfig
c5eece2c 87
cd33aab7
AM
88# Location of top applink dir
89%_applnkdir /usr/X11R6/share/applnk
90
91# Location pixmaps for applnk/desktop files
92%_pixmapsdir /usr/X11R6/share/pixmaps
93
c5eece2c
JB
94# Location of fonts directories
95%_fontsdir /usr/share/fonts
96
cd33aab7
AM
97# Current date
98%date %(LC_ALL="C" date +"%a %b %d %Y")
99
100# tmp directory
101%tmpdir %(echo "${TMPDIR:-/tmp}")
102
103# Example files, programs, scripts...
104%_examplesdir /usr/src/examples
105
bd63739a 106# The directory holding Linux kernel sources
107%_kernelsrcdir /usr/src/linux
108
cd33aab7
AM
109# If non-empty "debug" macro defined, add "dbg" suffix to release number
110%_rpmfilename %%{NAME}-%%{VERSION}-%%{RELEASE}%{?debug:dbg}.%%{ARCH}.rpm
111
0cdbc762
AM
112# requires name = version-release
113%requires_releq() %(LC_ALL="C" rpm -q --queryformat 'Requires:%%{NAME} = %%{VERSION}-%%{RELEASE}' %1| grep -v "is not")
77a5b131 114%requires_kernel_releq() %(LC_ALL="C" rpm -q --queryformat 'Prereq:kernel = %%{VERSION}-%%{RELEASE}' kernel-headers | grep -v "is not")
9589be39
JB
115%requires_releq_kernel_up() %(LC_ALL="C" rpm -q --queryformat 'Prereq:kernel-up = %%{VERSION}-%%{RELEASE}' kernel-headers | grep -v "is not")
116%requires_releq_kernel_smp() %(LC_ALL="C" rpm -q --queryformat 'Prereq:kernel-smp = %%{VERSION}-%%{RELEASE}' kernel-headers | grep -v "is not")
fd4d8ee0 117
cd33aab7
AM
118#-----------------------------------------------------------------
119# find and gzip all files in %{_mandir} and %{infodir}
120#
121# Requires: xargs, find
122#
123#%no_install_post_compress_docs 1
124%__spec_install_post_compress_docs { \
125echo "Compress man and info pages."; \
126%{!?no_install_post_compress_docs: \
127 %{?verbose:set -x;} \
128 for i in /usr/share/man /usr/X11R6/man /usr/share/info; do \
129 if [ -d "$RPM_BUILD_ROOT$i" ]; then \
130 find "$RPM_BUILD_ROOT$i" -name \*.bz2 -print | xargs -r %{__bzip2} -df; \
131 find "$RPM_BUILD_ROOT$i" -name \*.gz -print | xargs -r %{__gzip} -dnf; \
132 find "$RPM_BUILD_ROOT$i" -type f -print | xargs -r %{__gzip} -9nf; \
133 fi; \
134 done; \
135} }
136
137#-----------------------------------------------------------------
138# Strip executable binaries and shared object files
139#
140# Requires: find, awk, strip, cut, xargs
141#
142#%no_install_post_strip 1
143%__spec_install_post_strip {%{!?debug: \
144%{!?no_install_post_strip: \
145 %{?verbose:set -x;} \
146 echo "Strip executable binaries and shared object files."; \
147 filelist=`find $RPM_BUILD_ROOT -type f ! -regex ".*ld-[0-9.]*so.*"`; \
148 elfexelist=`echo $filelist | xargs -r file | \
149 awk '/ELF.*executable/ {print $1}' | cut -d: -f1`; \
150 elfsharedlist=`echo $filelist | xargs -r file | \
151 awk '/LF.*shared object/ {print $1}' | cut -d: -f1`; \
152 if [ -n "$elfexelist" ]; then \
153 strip --remove-section=.note --remove-section=.comment $elfexelist; \
154 fi; \
155 if [ -n "$elfsharedlist" ]; then \
156 strip --strip-unneeded --remove-section=.note --remove-section=.comment $elfsharedlist; \
157 fi; } \
158} }
159
160%_source_payload w9.gzdio
161%_binary_payload w9.bzdio
162
163#-----------------------------------------------------------------
164# post %install sequence:
165# - autodeps exceptions
166# - compress all man and info pages,
167# - strip all ELF executables and ELF shared objects if not %debug.
168
169###################################################################
170# Requires/Provides automation
171# exceptions system by Jacek Konieczny <jajcus@pld.org.pl>
f10da3d9
JK
172%__spec_prep_pre \
173_autoreqprov=n \
174%{?_noautoreqfiles:_autoreqprov=y}\
175%{?_noautoreq:_autoreqprov=y}\
176%{?_noautoreqdep:_autoreqprov=y}\
177%{?_noautoprovfiles:_autoreqprov=y}\
178%{?_noautoprov:_autoreqprov=y}\
179if [ "$_autoreqprov" = "y" ] ; then \
180 if [ -f %{_builddir}/__rpm_lock ] ; then \
181 echo "Some package using \%_noauto* macros is already being built" >&2 \
182 echo "If it is not true delete %{_builddir}/__rpm_lock" >&2 \
183 exit 1 \
184 else \
185 rm -f %{_builddir}/__rpm_*\
186 touch %{_builddir}/__rpm_lock \
187 fi \
188fi \
cd33aab7
AM
189%{nil}
190
81bcf939 191%__os_install_post \
cd33aab7
AM
192%{?_noautoreqfiles:for f in %{_noautoreqfiles} ; do echo %{?buildroot:%{buildroot}}$f >> %{_builddir}/__rpm_noautoreqfiles ; done }\
193%{?_noautoreq:for f in %{_noautoreq} ; do echo "$f" >> %{_builddir}/__rpm_noautoreq ; done }\
194%{?_noautoreqdep:for f in %{_noautoreqdep} ; do echo "$f" >> %{_builddir}/__rpm_noautoreqdep ; done }\
195%{?_noautoprovfiles:for f in %{_noautoprovfiles} ; do echo %{?buildroot:%{buildroot}}$f >> %{_builddir}/__rpm_noautoprovfiles ; done }\
196%{?_noautoprov:for f in %{_noautoprov} ; do echo "$f" >> %{_builddir}/__rpm_noautoprov ; done }\
197%{__spec_install_post_strip}\
198%{__spec_install_post_compress_docs}\
199%{__arch_install_post}\
cd33aab7
AM
200%{nil}
201
202%__spec_clean_pre %{___build_pre}\
f10da3d9
JK
203_autoreqprov=n \
204%{?_noautoreqfiles:_autoreqprov=y}\
205%{?_noautoreq:_autoreqprov=y}\
206%{?_noautoreqdep:_autoreqprov=y}\
207%{?_noautoprovfiles:_autoreqprov=y}\
208%{?_noautoprov:_autoreqprov=y}\
209%{?_noautoreqfiles:_autoreqprov=y}\
210if [ "$_autoreqprov" = "y" ] ; then \
211 rm -f %{_builddir}/__rpm_* \
212fi \
cd33aab7
AM
213%{nil}
214
215
216#%_noautoreqfiles "%{_defaultdocdir}.*" "%{_examplesdir}.*"
217#%_noautoreq %{nil}
218#%_noautoreqdep %{nil}
219#%_noautoprovfiles %{nil}
220#%_noautoprov %{nil}
This page took 0.053195 seconds and 4 git commands to generate.