Fix rpmlint warnings in spec file.
[platform/upstream/ibus.git] / ibus.spec.in
1 %{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
2 %{!?gtk_binary_version: %define gtk_binary_version %(pkg-config  --variable=gtk_binary_version gtk+-2.0)}
3
4 %define glib_ver %([ -a %{_libdir}/pkgconfig/glib-2.0.pc ] && pkg-config --modversion glib-2.0 | cut -d. -f 1,2 || echo -n "999")
5 %define gconf2_version 2.12.0
6 %define dbus_python_version 0.83.0
7 %define im_chooser_version 1.2.5
8
9 Name:       ibus
10 Version:    @PACKAGE_VERSION@
11 Release:    1%{?dist}
12 Summary:    Intelligent Input Bus for Linux OS
13 License:    LGPLv2+
14 Group:      System Environment/Libraries
15 URL:        http://code.google.com/p/ibus/
16 Source0:    http://ibus.googlecode.com/files/%{name}-%{version}.tar.gz
17 Source1:    xinput-ibus
18 # Patch0:     ibus-HEAD.patch
19
20 BuildRoot:  %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
21
22
23 BuildRequires:  cvs
24 BuildRequires:  gettext-devel
25 BuildRequires:  libtool
26 BuildRequires:  python
27 BuildRequires:  gtk2-devel
28 BuildRequires:  dbus-glib-devel
29 BuildRequires:  dbus-python-devel >= %{dbus_python_version}
30 BuildRequires:  desktop-file-utils
31 BuildRequires:  gtk-doc
32 BuildRequires:  GConf2-devel
33 BuildRequires:  pygobject2-devel
34 BuildRequires:  intltool
35
36 Requires:   %{name}-libs = %{version}-%{release}
37 Requires:   %{name}-gtk = %{version}-%{release}
38
39 Requires:   pygtk2
40 Requires:   pyxdg
41 Requires:   iso-codes
42 Requires:   dbus-python >= %{dbus_python_version}
43 Requires:   im-chooser >= %{im_chooser_version}
44 Requires:   GConf2 >= %{gconf2_version}
45 Requires:   notify-python
46
47 Requires(post):  desktop-file-utils
48 Requires(postun):  desktop-file-utils
49
50 Requires(pre): GConf2 >= %{gconf2_version}
51 Requires(post): GConf2 >= %{gconf2_version}
52 Requires(preun): GConf2 >= %{gconf2_version}
53
54 Requires(post):  %{_sbindir}/alternatives
55 Requires(postun):  %{_sbindir}/alternatives
56
57 Obsoletes:  ibus-qt < 1.1.0
58
59 %define _xinputconf %{_sysconfdir}/X11/xinit/xinput.d/ibus.conf
60
61 %description
62 IBus means Intelligent Input Bus. It is an input framework for Linux OS.
63
64 %package libs
65 Summary:    IBus libraries
66 Group:      System Environment/Libraries
67
68 Requires:   glib2 >= %{glib_ver}
69 Requires:   dbus >= 1.2.4
70
71 %description libs
72 This package contains the libraries for IBus
73
74 %package gtk
75 Summary:    IBus im module for gtk2
76 Group:      System Environment/Libraries
77 Requires:   %{name} = %{version}-%{release}
78 Requires(post): glib2 >= %{glib_ver}
79
80 %description gtk
81 This package contains ibus im module for gtk2
82
83 %package devel
84 Summary:    Development tools for ibus
85 Group:      Development/Libraries
86 Requires:   %{name} = %{version}-%{release}
87 Requires:   glib2-devel
88 Requires:   dbus-devel
89
90 %description devel
91 The ibus-devel package contains the header files and developer
92 docs for ibus.
93
94 %package devel-docs
95 Summary:    Developer documents for ibus
96 Group:      Development/Libraries
97 Requires:   %{name} = %{version}-%{release}
98 Requires:   gtk-doc
99
100 %description devel-docs
101 The ibus-devel-docs package contains developer documentation for ibus
102
103
104 %prep
105 %setup -q
106 # %patch0 -p1
107
108 %build
109 %configure --disable-static \
110            --disable-iso-codes-check \
111            --enable-gtk-doc
112 # make -C po update-gmo
113 make %{?_smp_mflags}
114
115 %install
116 rm -rf $RPM_BUILD_ROOT
117 make DESTDIR=$RPM_BUILD_ROOT install
118 rm -f $RPM_BUILD_ROOT%{_libdir}/libibus.la
119 rm -f $RPM_BUILD_ROOT%{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-ibus.la
120
121 # install xinput config file
122 install -pm 644 -D %{SOURCE1} $RPM_BUILD_ROOT%{_xinputconf}
123
124 # install .desktop files
125 echo "NoDisplay=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/ibus.desktop
126 echo "NoDisplay=true" >> $RPM_BUILD_ROOT%{_datadir}/applications/ibus-setup.desktop
127 echo "X-GNOME-Autostart-enabled=false" >> $RPM_BUILD_ROOT%{_sysconfdir}/xdg/autostart/ibus.desktop
128 rm -rf $RPM_BUILD_ROOT%{_sysconfdir}/xdg/autostart/ibus.desktop
129 desktop-file-install --delete-original          \
130   --dir $RPM_BUILD_ROOT%{_datadir}/applications \
131   $RPM_BUILD_ROOT%{_datadir}/applications/*
132
133 %find_lang %{name}
134
135 %clean
136 rm -rf $RPM_BUILD_ROOT
137
138 %post
139 # recreate icon cache
140 touch --no-create %{_datadir}/icons/hicolor || :
141 [ -x %{_bindir}/gtk-update-icon-cache ] && \
142   %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
143
144 %{_sbindir}/alternatives --install %{_sysconfdir}/X11/xinit/xinputrc xinputrc %{_xinputconf} 83 || :
145
146 export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
147 gconftool-2 --makefile-install-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
148
149 %pre
150 if [ "$1" -gt 1 ]; then
151     export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
152     gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
153 fi
154
155 %preun
156 if [ "$1" -eq 0 ]; then
157     export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source`
158     gconftool-2 --makefile-uninstall-rule %{_sysconfdir}/gconf/schemas/ibus.schemas >& /dev/null || :
159 fi
160
161 %postun
162 # recreate icon cache
163 touch --no-create %{_datadir}/icons/hicolor || :
164 [ -x %{_bindir}/gtk-update-icon-cache ] && \
165   %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
166
167 if [ "$1" = "0" ]; then
168   %{_sbindir}/alternatives --remove xinputrc %{_xinputconf} || :
169   # if alternative was set to manual, reset to auto
170   [ -L %{_sysconfdir}/alternatives/xinputrc -a "`readlink %{_sysconfdir}/alternatives/xinputrc`" = "%{_xinputconf}" ] && %{_sbindir}/alternatives --auto xinputrc || :
171 fi
172
173 %post libs -p /sbin/ldconfig
174
175 %postun libs -p /sbin/ldconfig
176
177 %post gtk
178 %{_bindir}/update-gtk-immodules %{_host} || :
179
180 %postun gtk
181 %{_bindir}/update-gtk-immodules %{_host} || :
182
183 %files -f %{name}.lang
184 %defattr(-,root,root,-)
185 %doc AUTHORS COPYING README
186 %dir %{python_sitelib}/ibus
187 %{python_sitelib}/ibus/*
188 %dir %{_datadir}/ibus/
189 %{_bindir}/ibus-daemon
190 %{_bindir}/ibus-setup
191 %{_datadir}/ibus/*
192 %{_datadir}/applications/*
193 %{_datadir}/icons/hicolor/*/apps/*
194 %{_libexecdir}/ibus-gconf
195 %{_libexecdir}/ibus-ui-gtk
196 %{_libexecdir}/ibus-x11
197 # %{_sysconfdir}/xdg/autostart/ibus.desktop
198 %{_sysconfdir}/gconf/schemas/ibus.schemas
199 %config %{_xinputconf}
200
201 %files libs
202 %defattr(-,root,root,-)
203 %{_libdir}/libibus.so.*
204
205 %files gtk
206 %defattr(-,root,root,-)
207 %{_libdir}/gtk-2.0/%{gtk_binary_version}/immodules/im-ibus.so
208
209 %files devel
210 %defattr(-,root,root,-)
211 %{_libdir}/lib*.so
212 %{_includedir}/*
213 %{_libdir}/pkgconfig/*
214
215 %files devel-docs
216 %defattr(-,root,root,-)
217 %{_datadir}/gtk-doc/html/*
218
219 %changelog
220 * @DATE_DISPLAY@ Peng Huang <shawn.p.huang@gmail.com> - @VERSION@-1
221 - Current version.