add .gbs.conf and update to 2.36.4
[platform/upstream/glib.git] / packaging / glib2.spec
1 %define with_systemtap 0
2 %define keepstatic 1
3
4 Name:           glib2
5 Version:        2.36.4
6 Release:        0
7 # FIXME: find out if tapsets should really be in devel package or in main package
8 Summary:        General-Purpose Utility Library
9 License:        LGPL-2.1+
10 Group:          Base/Libraries
11 Url:            http://www.gtk.org/
12 Source:         http://download.gnome.org/sources/glib/2.32/%{name}-%{version}.tar.xz
13 Source1:        glib2.sh
14 Source2:        glib2.csh
15 # Not upstream file. Only proposes upstream packages:
16 Source4:        glib2-upstream-gnome_defaults.conf
17 Source6:        macros.glib2
18 # Not depending on gtk-doc shortens bootstrap compilation path.
19 # Please update this file from the latest gtk-doc package:
20 Source7:        gtk-doc.m4
21 Source99:       baselibs.conf
22 Source1001:     glib2.manifest
23 BuildRequires:  automake
24 BuildRequires:  fdupes
25 BuildRequires:  gcc-c++
26 BuildRequires:  pkg-config
27 BuildRequires:  python
28 BuildRequires:  gettext-tools
29 # gdbus-codegen is run during the build, so we need python-xml
30 BuildRequires:  python-xml
31 %if 0%{?with_systemtap}
32 BuildRequires:  systemtap-sdt-devel
33 %endif
34 # Needed for gresource
35 BuildRequires:  pkgconfig(libelf) >= 0.8.12
36 BuildRequires:  pkgconfig(libffi)
37 BuildRequires:  pkgconfig(libpcre)
38 BuildRequires:  pkgconfig(zlib)
39
40 %description
41 GLib is a general-purpose utility library, which provides many useful
42 data types, macros, type conversions, string utilities, file utilities,
43 a main loop abstraction, and so on.
44
45 %package tools
46 Summary:        General-Purpose Utility Library -- Tools
47
48 %description tools
49 GLib is a general-purpose utility library, which provides many useful
50 data types, macros, type conversions, string utilities, file utilities,
51 a main loop abstraction, and so on.
52
53 %package -n gio-branding-upstream
54 Summary:        Upstream definitions of default settings and applications
55 Requires:       libgio = %{version}
56 Provides:       %{name}-branding-upstream = %{version}
57 Obsoletes:      %{name}-branding-upstream < %{version}
58 Provides:       gio-branding = %{version}
59 Conflicts:      otherproviders(gio-branding)
60 Supplements:    packageand(libgio:branding-upstream)
61 BuildArch:      noarch
62 #BRAND: The /etc/gnome_defaults.conf allows to define arbitrary
63 #BRAND: applications as preferred defaults.
64 #BRAND: A /usr/share/glib-2.0/schemas/$NAME.gschema.override file can
65 #BRAND: be used to override the default value for GSettings keys. See
66 #BRAND: README.Gsettings-overrides for more details. The branding
67 #BRAND: package should then have proper Requires for features changed
68 #BRAND: with such an override file.
69 # NOTE: gnome_defaults is not an upstream feature, but a SuSE
70 # enhancement, but to conform branding conventions, the package is named
71 # as gio-branding-upstream.
72
73 %description -n gio-branding-upstream
74 This package provides upstream defaults for settings stored with
75 GSettings and applications used by the MIME system.
76
77 %package devel
78 #'
79 Requires:       %{name} = %{version}
80 Requires:       glibc-devel
81 Requires:       pkg-config
82 # Now require the subpackages too
83 Requires:       glib2-tools = %{version}
84 Requires:       libgio = %{version}
85 Requires:       libglib = %{version}
86 Requires:       libgmodule = %{version}
87 Requires:       libgobject = %{version}
88 Requires:       libgthread = %{version}
89 # Required by gdbus-codegen
90 Requires:       python-xml
91 Provides:       glib2-doc = 2.19.6
92 Obsoletes:      glib2-doc < 2.19.6
93 Summary:        General-Purpose Utility Library -- Development Files
94
95 %description devel
96 GLib is a general-purpose utility library, which provides many useful
97 data types, macros, type conversions, string utilities, file utilities,
98 a main loop abstraction, and so on.
99
100 This package contains the development files for GLib.
101
102 %package devel-static
103 Requires:       %{name}-devel = %{version}
104 Summary:        General-Purpose Utility Library -- Static Libraries
105
106 %description devel-static
107 GLib is a general-purpose utility library, which provides many useful
108 data types, macros, type conversions, string utilities, file utilities,
109 a main loop abstraction, and so on.
110
111 This package contains static versions of the GLib libraries.
112
113 %package -n libglib
114 Summary:        General-Purpose Utility Library
115 Provides:       %{name} = %{version}
116 Obsoletes:      %{name} < %{version}
117
118 %description -n libglib
119 GLib is a general-purpose utility library, which provides many useful
120 data types, macros, type conversions, string utilities, file utilities,
121 a main loop abstraction, and so on.
122
123 %package -n libgmodule
124 Summary:        General-Purpose Utility Library -- Library for Modules
125
126 %description -n libgmodule
127 GLib is a general-purpose utility library, which provides many useful
128 data types, macros, type conversions, string utilities, file utilities,
129 a main loop abstraction, and so on.
130
131 The libgmodule library provides a portable way to dynamically load
132 object files (commonly known as 'plug-ins').
133
134 %package -n libgio
135 Summary:        General-Purpose Utility Library -- Library for VFS
136 Requires:       gio-branding = %{version}
137 # bnc#555605: shared-mime-info is required by libgio to properly detect mime types.
138 Requires:       shared-mime-info
139 # bnc#678518: libgio interacts with others by means of dbus-launch
140 #Requires:       dbus-1-x11
141 Provides:       gio = %{version}
142
143 %description -n libgio
144 GLib is a general-purpose utility library, which provides many useful
145 data types, macros, type conversions, string utilities, file utilities,
146 a main loop abstraction, and so on.
147
148 GIO provides a modern, easy-to-use VFS API.
149
150
151 %package -n libgthread
152 Summary:        General-Purpose Utility Library -- Library for Threads
153
154 %description -n libgthread
155 GLib is a general-purpose utility library, which provides many useful
156 data types, macros, type conversions, string utilities, file utilities,
157 a main loop abstraction, and so on.
158
159 The libgthread library provides a portable way to write multi-threaded
160 software.
161
162 %package -n libgobject
163 Summary:        General-Purpose Utility Library -- Object-Oriented Framework for C
164
165 %description -n libgobject
166 GLib is a general-purpose utility library, which provides many useful
167 data types, macros, type conversions, string utilities, file utilities,
168 a main loop abstraction, and so on.
169
170 The GObject library provides an object-oriented framework for C.
171
172 %prep
173 %setup -q -n %{name}-%{version}
174 cp %{SOURCE1001} .
175 cp -a %{S:1} %{S:2} .
176 cp -a %{S:4} gnome_defaults.conf
177 if ! test -f %{_datadir}/aclocal/gtk-doc.m4 ; then
178     cp -a %{S:7} m4macros/
179 fi
180
181 %build
182 NOCONFIGURE=1 ./autogen.sh
183 %configure \
184     --enable-static \
185 %if 0%{?with_systemtap}
186     --enable-systemtap \
187 %endif
188     --with-pcre=system
189
190 %{__make} %{?_smp_mflags} V=1
191
192
193 %install
194 %make_install
195 %find_lang glib20 %{?no_lang_C}
196
197 mkdir -p %{buildroot}%{_sysconfdir}/profile.d
198 install -D -m0644 glib2.sh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.sh
199 install -D -m0644 glib2.csh %{buildroot}%{_sysconfdir}/profile.d/zzz-glib2.csh
200 install -D -m0644 gnome_defaults.conf %{buildroot}%{_sysconfdir}/gnome_defaults.conf
201 # default apps magic
202 mkdir -p %{buildroot}%{_localstatedir}/cache/gio-2.0 %{buildroot}%{_datadir}/applications
203 touch %{buildroot}%{_localstatedir}/cache/gio-2.0/gnome-defaults.list
204 touch %{buildroot}%{_localstatedir}/cache/gio-2.0/xfce-defaults.list
205 touch %{buildroot}%{_localstatedir}/cache/gio-2.0/lxde-defaults.list
206 ln -s %{_localstatedir}/cache/gio-2.0/gnome-defaults.list %{buildroot}%{_datadir}/applications/defaults.list
207 # gio-querymodules magic
208 %if "%{_lib}" == "lib64"
209 mv %{buildroot}%{_bindir}/gio-querymodules %{buildroot}%{_bindir}/gio-querymodules-64
210 %endif
211 touch %{buildroot}%{_libdir}/gio/modules/giomodule.cache
212 # gsettings magic
213 touch %{buildroot}%{_datadir}/glib-2.0/schemas/gschemas.compiled
214 # remove files we don't care about
215 find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print
216 # Install rpm macros
217 mkdir -p %{buildroot}%{_sysconfdir}/rpm
218 cp %{S:6} %{buildroot}%{_sysconfdir}/rpm
219 %fdupes %{buildroot}
220
221
222 %post -n libglib -p /sbin/ldconfig
223
224 %post -n libgobject -p /sbin/ldconfig
225
226 %post -n libgthread -p /sbin/ldconfig
227
228 %post -n libgio -p /sbin/ldconfig
229
230 %post -n libgmodule -p /sbin/ldconfig
231
232 %postun -n libglib -p /sbin/ldconfig
233
234 %postun -n libgobject -p /sbin/ldconfig
235
236 %postun -n libgthread -p /sbin/ldconfig
237
238 %postun -n libgio -p /sbin/ldconfig
239
240 %postun -n libgmodule -p /sbin/ldconfig
241
242
243 %files tools
244 %manifest %{name}.manifest
245 %defattr(-,root,root)
246 %dir %{_datadir}/bash-completion
247 %dir %{_datadir}/bash-completion/completions
248 %{_datadir}/bash-completion/completions/gresource
249 %{_datadir}/bash-completion/completions/gsettings
250 %{_bindir}/gdbus
251 %{_bindir}/gio-querymodules*
252 %{_bindir}/glib-compile-schemas
253 %{_bindir}/gresource
254 %{_bindir}/gsettings
255 # We put those files here, but they don't really belong here. They just don't
256 # have a better home... The zzz-glib2 scripts could arguably be in
257 # libglib but that would break the shared library policy.
258 %{_sysconfdir}/profile.d/zzz-glib2.*
259
260 %files -n gio-branding-upstream
261 %manifest %{name}.manifest
262 %defattr(-,root,root)
263 %config (noreplace) %{_sysconfdir}/gnome_defaults.conf
264
265 %files -n libglib
266 %manifest %{name}.manifest
267 %defattr(-, root, root)
268 %license COPYING
269 %{_libdir}/libglib*.so.*
270
271 %files -n libgmodule
272 %manifest %{name}.manifest
273 %defattr(-, root, root)
274 %{_libdir}/libgmodule*.so.*
275
276 %files -n libgobject
277 %manifest %{name}.manifest
278 %defattr(-, root, root)
279 %{_libdir}/libgobject*.so.*
280
281 %files -n libgthread
282 %manifest %{name}.manifest
283 %defattr(-, root, root)
284 %{_libdir}/libgthread*.so.*
285
286 %files -n libgio
287 %manifest %{name}.manifest
288 %defattr(-, root, root)
289 %{_libdir}/libgio*.so.*
290 %dir %{_libdir}/gio
291 %dir %{_libdir}/gio/modules
292 %ghost %{_libdir}/gio/modules/giomodule.cache
293 %dir %{_datadir}/glib-2.0/
294 %dir %{_datadir}/glib-2.0/schemas/
295 %ghost %{_datadir}/glib-2.0/schemas/gschemas.compiled
296 %{_datadir}/applications/defaults.list
297 %dir %{_localstatedir}/cache/gio-2.0
298 %ghost %{_localstatedir}/cache/gio-2.0/gnome-defaults.list
299 %ghost %{_localstatedir}/cache/gio-2.0/xfce-defaults.list
300 %ghost %{_localstatedir}/cache/gio-2.0/lxde-defaults.list
301
302
303 %lang_package -f glib20
304
305
306 %files devel
307 %manifest %{name}.manifest
308 %defattr(-,root,root)
309
310 %{_bindir}/gdbus-codegen
311 %{_datadir}/bash-completion/completions/*
312 %_datadir/glib-2.0/codegen
313
314 %{_bindir}/glib-compile-resources
315 %{_bindir}/glib-genmarshal
316 %{_bindir}/glib-gettextize
317 %{_bindir}/glib-mkenums
318 %{_bindir}/gobject-query
319 %{_bindir}/gtester
320 %{_bindir}/gtester-report
321 %dir %{_datadir}/aclocal
322 %{_datadir}/aclocal/glib-2.0.m4
323 %{_datadir}/aclocal/glib-gettext.m4
324 %{_datadir}/aclocal/gsettings.m4
325 %dir %{_datadir}/glib-2.0/
326 %{_datadir}/glib-2.0/gdb/
327 %{_datadir}/glib-2.0/gettext/
328 %{_datadir}/glib-2.0/schemas/gschema.dtd
329 %{_includedir}/glib-2.0
330 %{_includedir}/gio-unix-2.0
331 %{_libdir}/lib*.so
332 %dir %{_libdir}/glib-2.0/
333 %{_libdir}/glib-2.0/include/
334 %{_libdir}/pkgconfig/*.pc
335 %{_datadir}/gdb/auto-load/%{_libdir}/*-gdb.py
336 %if 0%{?with_systemtap}
337 %{_datadir}/systemtap/tapset/*.stp
338 %endif
339 %{_sysconfdir}/rpm/macros.glib2
340 # Own these directories to not depend on gdb
341 %dir %{_datadir}/gdb
342 %dir %{_datadir}/gdb/auto-load
343 %dir %{_datadir}/gdb/auto-load%{_prefix}
344 %dir %{_datadir}/gdb/auto-load%{_libdir}
345
346 %files devel-static
347 %manifest %{name}.manifest
348 %defattr(-,root,root)
349 %{_libdir}/lib*.a
350
351 %changelog