Remove unnecessary Group tag for localisation packages
[platform/upstream/rpm.git] / packaging / rpm-tizen_macros
1 # directories
2 %_infodir               %{_prefix}/share/info
3 %_mandir                %{_prefix}/share/man
4 %_sysconfdir            /etc
5 %_localstatedir         /var
6 %_defaultdocdir         %{_usr}/share/doc/packages
7 %_unitdir_user /usr/lib/systemd/user
8 %_unitdir /usr/lib/systemd/system
9
10 # package build macros
11 # %make_install           make install DESTDIR=%{?buildroot}
12 # %makeinstall            make DESTDIR=%{?buildroot:%{buildroot}} install
13 %rb_arch                %(echo %{_host_cpu}-linux | sed -e "s/i686/i586/" -e "s/armv5tel/armv4l/" -e "s/hppa2.0/hppa/")
14 %rb_ver                 %(/usr/bin/ruby -e 'puts VERSION.sub(/\\\.\\\d$/, "")')
15
16 # external kernel module helper macro(s)
17 %kernel_devel_uname_r %(/bin/rpm -q --provides $(/bin/rpm -q --whatprovides kernel-devel-uname-r) | sed -ne 's,kernel-devel-uname-r = ,, p')
18 %kernel_release %(/bin/rpm -q --queryformat '%{RPMTAG_VERSION}-%{RPMTAG_RELEASE}' $(/bin/rpm -q --whatprovides kernel))
19 %kernel_name    %(/bin/rpm -q --queryformat '%{RPMTAG_NAME}' $(/bin/rpm -q --whatprovides kernel))
20
21 # this script calls all scripts in /usr/lib/rpm/brp-tizen.d
22 %__os_install_post  \
23         /usr/lib/rpm/brp-compress \
24         /usr/lib/rpm/brp-tizen  \
25         %{!?disable_docs_package:/usr/lib/rpm/tizen/find-docs.sh %{buildroot}} \
26 %{nil}
27
28 # macro: %configure_kernel_source
29 #
30 #
31 %configure_kernel_source() \
32         if test -d /usr/src/linux ; then \
33             pushd /usr/src/linux \
34             test -f .config || cp arch/%_arch/defconfig.default .config \
35             yes "" | make oldconfig \
36             make dep \
37             popd \
38         fi \
39         %nil
40
41 %install_info(:-:) \
42     ALL_ARGS=(%{**}) \
43     NUM_ARGS=${#ALL_ARGS[@]} \
44     if test -x /sbin/install-info ; then \
45         if test -e "${ALL_ARGS[$((NUM_ARGS-1))]}" ; then \
46             /sbin/install-info "${ALL_ARGS[@]}" \
47         fi \
48     fi ; 
49
50 %install_info_delete(:-:) \
51     ALL_ARGS=(%{**}) \
52     NUM_ARGS=${#ALL_ARGS[@]} \
53     if test -x /sbin/install-info ; then \
54         if ! test -e "${ALL_ARGS[$((NUM_ARGS-1))]}" ; then \
55             /sbin/install-info --quiet --delete "${ALL_ARGS[@]}" \
56         fi ; \
57     fi ; 
58
59 # find-supplements.ksyms parses this macro directly out of the spec file:
60 %supplements_kernel_module() \
61     %{expand:%(if ! rpm -q kernel-syms > /dev/null; then echo "%fail Please add the kernel-syms package to BuildRequires"; fi)}
62
63 %do_profiling 1
64 %cflags_profile_generate -fprofile-generate
65 %cflags_profile_feedback -fprofile-use
66
67
68
69 # Tizen
70 #
71 %configure \
72   CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
73   CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
74   FFLAGS="${FFLAGS:-%optflags -I%_fmoddir}" ; export FFLAGS ; \
75   ./configure --build=%{_build} --host=%{_host} \\\
76         --program-prefix=%{?_program_prefix} \\\
77         --prefix=%{_prefix} \\\
78         --exec-prefix=%{_exec_prefix} \\\
79         --bindir=%{_bindir} \\\
80         --sbindir=%{_sbindir} \\\
81         --sysconfdir=%{_sysconfdir} \\\
82         --datadir=%{_datadir} \\\
83         --includedir=%{_includedir} \\\
84         --libdir=%{_libdir} \\\
85         --libexecdir=%{_libexecdir} \\\
86         --localstatedir=%{_localstatedir} \\\
87         --sharedstatedir=%{_sharedstatedir} \\\
88         --mandir=%{_mandir} \\\
89         --infodir=%{_infodir}
90
91
92 %reconfigure \
93   CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
94   CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
95   FFLAGS="${FFLAGS:-%optflags -I%_fmoddir}" ; export FFLAGS ; \
96   autoreconf -v --install --force || exit 1 \
97   ./configure --build=%{_build} --host=%{_host} \\\
98         --program-prefix=%{?_program_prefix} \\\
99         --prefix=%{_prefix} \\\
100         --exec-prefix=%{_exec_prefix} \\\
101         --bindir=%{_bindir} \\\
102         --sbindir=%{_sbindir} \\\
103         --sysconfdir=%{_sysconfdir} \\\
104         --datadir=%{_datadir} \\\
105         --includedir=%{_includedir} \\\
106         --libdir=%{_libdir} \\\
107         --libexecdir=%{_libexecdir} \\\
108         --localstatedir=%{_localstatedir} \\\
109         --sharedstatedir=%{_sharedstatedir} \\\
110         --mandir=%{_mandir} \\\
111         --infodir=%{_infodir}
112
113 %autogen \
114   CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \
115   CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
116   FFLAGS="${FFLAGS:-%optflags -I%_fmoddir}" ; export FFLAGS ; \
117   ./autogen.sh --build=%{_build} --host=%{_host} \\\
118         --program-prefix=%{?_program_prefix} \\\
119         --prefix=%{_prefix} \\\
120         --exec-prefix=%{_exec_prefix} \\\
121         --bindir=%{_bindir} \\\
122         --sbindir=%{_sbindir} \\\
123         --sysconfdir=%{_sysconfdir} \\\
124         --datadir=%{_datadir} \\\
125         --includedir=%{_includedir} \\\
126         --libdir=%{_libdir} \\\
127         --libexecdir=%{_libexecdir} \\\
128         --localstatedir=%{_localstatedir} \\\
129         --sharedstatedir=%{_sharedstatedir} \\\
130         --mandir=%{_mandir} \\\
131         --infodir=%{_infodir}
132
133
134 %makeinstall \
135   %{__make} \\\
136         prefix=%{?buildroot:%{buildroot}}%{_prefix} \\\
137         exec_prefix=%{?buildroot:%{buildroot}}%{_exec_prefix} \\\
138         bindir=%{?buildroot:%{buildroot}}%{_bindir} \\\
139         sbindir=%{?buildroot:%{buildroot}}%{_sbindir} \\\
140         sysconfdir=%{?buildroot:%{buildroot}}%{_sysconfdir} \\\
141         datadir=%{?buildroot:%{buildroot}}%{_datadir} \\\
142         includedir=%{?buildroot:%{buildroot}}%{_includedir} \\\
143         libdir=%{?buildroot:%{buildroot}}%{_libdir} \\\
144         libexecdir=%{?buildroot:%{buildroot}}%{_libexecdir} \\\
145         localstatedir=%{?buildroot:%{buildroot}}%{_localstatedir} \\\
146         sharedstatedir=%{?buildroot:%{buildroot}}%{_sharedstatedir} \\\
147         mandir=%{?buildroot:%{buildroot}}%{_mandir} \\\
148         infodir=%{?buildroot:%{buildroot}}%{_infodir} \\\
149   install
150
151
152 %make_install \
153   %{__make} \\\
154         DESTDIR=%{?buildroot:%{buildroot}} \\\
155         INSTALL_ROOT=%{?buildroot:%{buildroot}} \\\
156   install  \
157   rm -f %{?buildroot:%{buildroot}}%{_infodir}/dir \
158   find %{?buildroot:%{buildroot}} -regex ".*\\.la$" | xargs rm -f -- \
159   %{!?keepstatic:find %{?buildroot:%{buildroot}} -regex ".*\\.a$" | xargs rm -f --}
160
161 %_smp_mflags %([ -z "$RPM_BUILD_NCPUS" ] \\\
162         && RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \\\
163         [ "$RPM_BUILD_NCPUS" -gt 1 ] && echo "-j$RPM_BUILD_NCPUS")
164
165 %lang_package(n:f:) \
166 %package %{-n:-n %{-n*}-}locale \
167 Summary: Translations and Locale for package %{name}\
168 Requires: %{-n:%{-n*}}%{!-n:%{name}} = %{version} \
169 Provides: %{-n:%{-n*}}%{!-n:%{name}}-lang-all = %{version} \
170 BuildArch:  noarch \
171 %description %{-n:-n %{-n*}-}locale\
172 This package provides translations for package %{name}.\
173 %files %{-n:-n %{-n*}-}locale -f %{-f:%{-f*}.lang} %{!-f:%{name}.lang}\
174 %defattr(-,root,root,-)\
175 %{nil}
176
177 %docs_package \
178 %package docs \
179 Summary: Documentation for package %{name}\
180 AutoReqProv: 0\
181 %description docs\
182 This package provides documentation for package %{name}.\
183 %files docs -f documentation.list\
184 %defattr(-,root,root,-)\
185 %{nil}
186
187 # Bad hack to set $LANG to C during all RPM builds
188 %prep \
189 %%prep\
190 LANG=C\
191 export LANG\
192 unset DISPLAY\
193 %{nil}
194
195 %build %%build\
196 LANG=C\
197 export LANG\
198 unset DISPLAY\
199 CFLAGS="%optflags" ; export CFLAGS ; \
200 CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \
201 FFLAGS="${FFLAGS:-%optflags -I%_fmoddir}" ; export FFLAGS ; \
202 LD_AS_NEEDED=1; export LD_AS_NEEDED ; \
203 %{nil}
204
205 %install %{?_enable_debug_packages:%{?buildsubdir:%{debug_package}}}\
206 %%install\
207 LANG=C\
208 export LANG\
209 unset DISPLAY\
210 rm -rf %{?buildroot:%{buildroot}} \
211 mkdir -p %{?buildroot:%{buildroot}} \
212 %{nil}
213
214
215 %clean %%clean\
216 rm -rf %{?buildroot:%{buildroot}} \
217 %{nil}
218
219 %find_lang      /usr/lib/rpm/find-lang.sh %{buildroot}
220 %find_docs      /usr/lib/rpm/tizen/find-docs.sh %{buildroot}
221
222
223
224 #==============================================================================
225 # ---- default .desktop directories per the desktop-entry freedesktop.org spec
226
227 %_desktopdir    %{_datadir}/applications
228
229 #==============================================================================
230 # ---- Generic auto req/prov filtering macros
231 #
232 # http://fedoraproject.org/wiki/PackagingDrafts/AutoProvidesAndRequiresFiltering
233
234 # prevent anything matching from being scanned for provides
235 %filter_provides_in(P) %{expand: \
236 %global __filter_prov_cmd %{?__filter_prov_cmd} %{__grep} -v %{-P} '%*' | \
237 }
238
239 # prevent anything matching from being scanned for requires
240 %filter_requires_in(P) %{expand: \
241 %global __filter_req_cmd %{?__filter_req_cmd} %{__grep} -v %{-P} '%*' | \
242 }
243
244 # filter anything matching out of the provides stream
245 %filter_from_provides() %{expand: \
246 %global __filter_from_prov %{?__filter_from_prov} | %{__sed} -e '%*' \
247 }
248
249 # filter anything matching out of the requires stream
250 %filter_from_requires() %{expand: \
251 %global __filter_from_req %{?__filter_from_req} | %{__sed} -e '%*' \
252 }
253
254 # actually set up the filtering bits
255 %filter_setup %{expand: \
256 %global _use_internal_dependency_generator 0 \
257 %global __deploop() while read FILE; do /usr/lib/rpm/rpmdeps -%{1} ${FILE}; done | /bin/sort -u \
258 %global __find_provides /bin/sh -c "%{?__filter_prov_cmd} %{__deploop P} %{?__filter_from_prov}" \
259 %global __find_requires /bin/sh -c "%{?__filter_req_cmd}  %{__deploop R} %{?__filter_from_req}" \
260 }
261
262 %remove_docs \
263   rm -rf %{?buildroot:%{buildroot}}%{_infodir} \
264   rm -rf %{?buildroot:%{buildroot}}%{_defaultdocdir} \
265   rm -rf %{?buildroot:%{buildroot}}%{_datadir}/doc/%{name} \
266   rm -rf %{?buildroot:%{buildroot}}%{_datadir}/doc/%{name}-%{version} \
267   rm -rf %{?buildroot:%{buildroot}}%{_datadir}/gtk-doc \
268   rm -rf %{?buildroot:%{buildroot}}%{_datadir}/doc \
269   rm -rf %{?buildroot:%{buildroot}}%{_datadir}/man \
270   find %{?buildroot:%{buildroot}} -regex ".*/man/man./.*\.[0-9]" | xargs rm -f -- \
271   find %{?buildroot:%{buildroot}} -regex ".*/man/../man./.*\.[0-9]" | xargs rm -f -- \
272   find %{?buildroot:%{buildroot}} -regex ".*/man/man./.*\.[0-9]pm" | xargs rm -f --
273
274
275 %install_service() \
276 mkdir -p %{buildroot}/%{_unitdir}/%{1} \
277 ln -s ../%{2}  %{buildroot}/%{_unitdir}/%{1}/%{2}  \
278 %{nil}
279
280
281 %_fontsdir               %{_usr}/share/fonts
282 %_ttfontsdir             %{_fontsdir}/truetype
283 %_miscfontsdir           %{_fontsdir}/misc
284 %_fontsconfdir           %{_sysconfdir}/fonts
285 %_fontsconfddir          %{_fontsconfdir}/conf.d
286 %_fontsconfavaildir      %{_datadir}/%{name}/conf.avail
287
288 %devel_package \
289 %package devel \
290 Summary: Development files for package %{name}\
291 Group: Development\
292 %description devel\
293 This package provides header files and other developer releated files for package %{name}.\
294 %files devel \
295 %{_includedir}/*\
296 %{_libdir}/pkgconfig/*.pc\
297 %{_libdir}/*.so\
298 %{nil}
299
300 %devel_desc This package contains all necessary include files and libraries needed \
301 to develop applications that require %{name}.\
302 %{nil}
303