]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # TODO: | |
3 | # - s=/dev/null=/home/services/xdm= in %%trigger for graceful upgrade from xdm/kdm/gdm 2.2 | |
4 | # - check all /etc/pam.d/gdm-* to be pldized: | |
5 | # gdm-autologin[4] gdm-fingerprint[11] gdm-password[1] gdm-smartcard gdm-welcome | |
6 | # | |
7 | # Conditional build: | |
8 | %bcond_without selinux # without selinux | |
9 | %bcond_without systemd # by default use systemd for session tracking instead of ConsoleKit (fallback to ConsoleKit on runtime) | |
10 | ||
11 | Summary: GNOME Display Manager | |
12 | Summary(es.UTF-8): Administrador de Entrada del GNOME | |
13 | Summary(ja.UTF-8): GNOME ディスプレイマネージャ | |
14 | Summary(pl.UTF-8): gdm - zarządca ekranów GNOME | |
15 | Summary(pt_BR.UTF-8): Gerenciador de Entrada do GNOME | |
16 | Summary(ru.UTF-8): Дисплейный менеджер GNOME | |
17 | Summary(uk.UTF-8): Дисплейний менеджер GNOME | |
18 | Name: gdm | |
19 | Version: 3.4.1 | |
20 | Release: 3 | |
21 | Epoch: 2 | |
22 | License: GPL/LGPL | |
23 | Group: X11/Applications | |
24 | Source0: http://ftp.gnome.org/pub/GNOME/sources/gdm/3.4/%{name}-%{version}.tar.xz | |
25 | # Source0-md5: fda0470340f9c0bc2f8daccb280af520 | |
26 | Source1: %{name}.pamd | |
27 | Source2: %{name}.init | |
28 | Source3: %{name}-pld-logo.png | |
29 | Source4: %{name}-autologin.pamd | |
30 | Source5: %{name}-custom.desktop | |
31 | Source6: %{name}-default.desktop | |
32 | Source7: %{name}.upstart | |
33 | Source9: %{name}.tmpfiles | |
34 | Source10: %{name}-fingerprint.pamd | |
35 | Patch0: %{name}-xdmcp.patch | |
36 | Patch1: %{name}-polkit.patch | |
37 | Patch2: %{name}-xsession.patch | |
38 | Patch3: %{name}-defaults.patch | |
39 | Patch4: shell-check.patch | |
40 | URL: http://www.gnome.org/projects/gdm/ | |
41 | BuildRequires: accountsservice-devel >= 0.6.12 | |
42 | BuildRequires: attr-devel | |
43 | BuildRequires: audit-libs-devel | |
44 | BuildRequires: autoconf >= 2.60 | |
45 | BuildRequires: automake >= 1:1.11 | |
46 | BuildRequires: check >= 0.9.4 | |
47 | BuildRequires: dbus-glib-devel >= 0.74 | |
48 | BuildRequires: docbook-dtd412-xml | |
49 | BuildRequires: fontconfig-devel >= 2.5.0 | |
50 | BuildRequires: gettext-devel | |
51 | BuildRequires: glib2-devel >= 1:2.30.0 | |
52 | BuildRequires: gnome-doc-utils | |
53 | BuildRequires: gtk+3-devel >= 3.0.0 | |
54 | BuildRequires: intltool >= 0.40.0 | |
55 | BuildRequires: iso-codes | |
56 | BuildRequires: libcanberra-gtk3-devel >= 0.4 | |
57 | %{?with_selinux:BuildRequires: libselinux-devel} | |
58 | BuildRequires: libtool | |
59 | BuildRequires: libwrap-devel | |
60 | BuildRequires: libxklavier-devel >= 4.0-2 | |
61 | BuildRequires: nss-devel >= 3.11.1 | |
62 | BuildRequires: pam-devel | |
63 | BuildRequires: pango-devel >= 1.3.0 | |
64 | BuildRequires: perl-modules | |
65 | BuildRequires: pkgconfig | |
66 | BuildRequires: polkit-devel >= 0.93 | |
67 | BuildRequires: rpmbuild(find_lang) >= 1.23 | |
68 | BuildRequires: rpmbuild(macros) >= 1.627 | |
69 | %{?with_systemd:BuildRequires: systemd-devel} | |
70 | BuildRequires: tar >= 1:1.22 | |
71 | BuildRequires: upower-devel >= 0.9.0 | |
72 | BuildRequires: xorg-lib-libX11-devel | |
73 | BuildRequires: xorg-lib-libXau-devel | |
74 | BuildRequires: xorg-lib-libXdmcp-devel | |
75 | BuildRequires: xorg-lib-libXft-devel | |
76 | BuildRequires: xorg-lib-libXi-devel | |
77 | BuildRequires: xorg-lib-libXinerama-devel | |
78 | BuildRequires: xorg-lib-libXrandr-devel | |
79 | BuildRequires: xz | |
80 | Requires(post,postun): glib2 >= 1:2.26.0 | |
81 | Requires(post,postun): gtk-update-icon-cache | |
82 | Requires(postun): /usr/sbin/groupdel | |
83 | Requires(postun): /usr/sbin/userdel | |
84 | Requires(pre): /bin/id | |
85 | Requires(pre): /usr/sbin/groupadd | |
86 | Requires(pre): /usr/sbin/useradd | |
87 | Requires(posttrans): dconf | |
88 | Requires: %{name}-libs = %{epoch}:%{version}-%{release} | |
89 | Requires: /usr/bin/X | |
90 | Requires: accountsservice >= 0.6.12 | |
91 | Requires: dbus-x11 | |
92 | Requires: gdm-wm >= 3.2.1 | |
93 | Requires: gnome-session >= 3.0.0 | |
94 | Requires: gnome-settings-daemon >= 3.0.0 | |
95 | Requires: hicolor-icon-theme | |
96 | Requires: pam >= 0.99.7.1 | |
97 | Requires: polkit-gnome >= 0.93 | |
98 | Requires: which | |
99 | Requires: xinitrc-ng >= 1.0 | |
100 | Requires: xorg-app-sessreg | |
101 | Requires: xorg-app-xmodmap | |
102 | Suggests: ConsoleKit-x11 >= 0.4.1 | |
103 | Suggests: pam-pam_gnome_keyring | |
104 | Suggests: zenity | |
105 | Provides: XDM | |
106 | Provides: group(xdm) | |
107 | Provides: user(xdm) | |
108 | Obsoletes: gdm-Xnest | |
109 | Obsoletes: gdm-systemd | |
110 | Obsoletes: gdm-user-switch-applet | |
111 | Obsoletes: gnome-applet-fast-user-switch | |
112 | Conflicts: gdkxft | |
113 | # sr@Latn vs. sr@latin | |
114 | Conflicts: glibc-misc < 6:2.7 | |
115 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
116 | ||
117 | %description | |
118 | Gdm (the GNOME Display Manager) is a highly configurable | |
119 | reimplementation of xdm, the X Display Manager. Gdm allows you to log | |
120 | into your system with the X Window System running and supports running | |
121 | several different X sessions on your local machine at the same time. | |
122 | ||
123 | %description -l es.UTF-8 | |
124 | Administrador de Entrada del GNOME. | |
125 | ||
126 | %description -l ja.UTF-8 | |
127 | Gdm (the GNOME Display Manager) は、高度に設定可能な xdm X Display Manager | |
128 | の再実装版です。 Gdm を使うと、 X Window System が動いているあなたの | |
129 | システムにいろいろなセッションを選択してログインすることができます。 | |
130 | ||
131 | このバージョンの Gdm では、各種言語や、XIM を選択することも可能です。 | |
132 | ||
133 | %description -l pl.UTF-8 | |
134 | Gdm jest wysokokonfigurowalną reimplementacją xdma. Gdm pozwala | |
135 | logować się do systemu z poziomu X11 i wspiera jednoczesną pracę kilku | |
136 | różnych sesji X na lokalnej maszynie. | |
137 | ||
138 | %description -l pt_BR.UTF-8 | |
139 | Gerenciador de Entrada do GNOME. | |
140 | ||
141 | %description -l ru.UTF-8 | |
142 | GDM (GNOME Display Manager) - это реимплементация xdm (X Display | |
143 | Manager). GDM позволяет вам входить в систему, на которой запущено X | |
144 | Window и поддерживает работу нескольуих разных X сеансов одновременно. | |
145 | ||
146 | %description -l uk.UTF-8 | |
147 | GDM (GNOME Display Manager) - це реімплементація xdm (X Display | |
148 | Manager). GDM дозволяє вам входити в систему, на якій запущено X | |
149 | Window та підтримує роботу кількох різних X сеансів одночасно. | |
150 | ||
151 | %package libs | |
152 | Summary: GDM libraries | |
153 | Summary(pl.UTF-8): Biblioteki GDM | |
154 | Group: Libraries | |
155 | ||
156 | %description libs | |
157 | GDM libraries. | |
158 | ||
159 | %description libs -l pl.UTF-8 | |
160 | Biblioteki GDM. | |
161 | ||
162 | %package devel | |
163 | Summary: Header files for GDM | |
164 | Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja | |
165 | Group: X11/Development/Libraries | |
166 | Requires: %{name}-libs = %{epoch}:%{version}-%{release} | |
167 | ||
168 | %description devel | |
169 | This package contains the files necessary to develop applications | |
170 | using GDM's libraries. | |
171 | ||
172 | %description devel -l pl.UTF-8 | |
173 | Pakiet zawiera pliki potrzebne do rozwoju aplikacji używających | |
174 | bibliotek programu GDM. | |
175 | ||
176 | %package static | |
177 | Summary: Static libraries for GDM | |
178 | Summary(pl.UTF-8): Biblioteki statyczne dla GDM | |
179 | Group: X11/Development/Libraries | |
180 | Requires: %{name}-devel = %{epoch}:%{version}-%{release} | |
181 | ||
182 | %description static | |
183 | This package contains static libraries for GDM. | |
184 | ||
185 | %description static -l pl.UTF-8 | |
186 | Pakiet zawiera statyczne biblioteki GDM. | |
187 | ||
188 | %package init | |
189 | Summary: Init script for GDM | |
190 | Summary(pl.UTF-8): Skrypt init dla GDM-a | |
191 | Group: X11/Applications | |
192 | Requires(post,preun): /sbin/chkconfig | |
193 | Requires(post,preun,postun): systemd-units >= 38 | |
194 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
195 | Requires: open | |
196 | Requires: rc-scripts >= 0.4.3.0 | |
197 | Requires: systemd-units >= 38 | |
198 | ||
199 | %description init | |
200 | Init script for GDM. | |
201 | ||
202 | %description init -l pl.UTF-8 | |
203 | Skrypt init dla GDM-a. | |
204 | ||
205 | %package upstart | |
206 | Summary: Upstart job description for GDM | |
207 | Summary(pl.UTF-8): Opis zadania Upstart dla GDM | |
208 | Group: Daemons | |
209 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
210 | Requires: upstart >= 0.6 | |
211 | ||
212 | %description upstart | |
213 | Upstart job description for GDM. | |
214 | ||
215 | %description upstart -l pl.UTF-8 | |
216 | Opis zadania Upstart dla GDM. | |
217 | ||
218 | %prep | |
219 | %setup -q | |
220 | %patch0 -p1 | |
221 | %patch1 -p1 | |
222 | %patch2 -p1 | |
223 | %patch3 -p1 | |
224 | %patch4 -p1 | |
225 | ||
226 | %build | |
227 | touch data/gdm.schemas.in.in | |
228 | %{__libtoolize} | |
229 | %{__glib_gettextize} | |
230 | %{__intltoolize} | |
231 | %{__aclocal} | |
232 | %{__autoheader} | |
233 | %{__autoconf} | |
234 | %{__automake} | |
235 | %configure \ | |
236 | %{?debug:--enable-debug} \ | |
237 | --disable-console-helper \ | |
238 | --disable-scrollkeeper \ | |
239 | --disable-silent-rules \ | |
240 | %{__with_without systemd systemd} \ | |
241 | --with-console-kit \ | |
242 | --enable-authentication-scheme=pam \ | |
243 | --with-pam-prefix=/etc \ | |
244 | --with-tcp-wrappers=yes \ | |
245 | --with%{!?with_selinux:out}-selinux \ | |
246 | --with-xdmcp=yes \ | |
247 | --with-xinerama=yes \ | |
248 | --with-user=xdm \ | |
249 | --with-group=xdm | |
250 | ||
251 | %{__make} | |
252 | ||
253 | %install | |
254 | rm -rf $RPM_BUILD_ROOT | |
255 | install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,security,init} \ | |
256 | $RPM_BUILD_ROOT{/home/services/xdm,/var/log/gdm} \ | |
257 | $RPM_BUILD_ROOT{%{_datadir}/xsessions,%{systemdunitdir}} \ | |
258 | $RPM_BUILD_ROOT%{systemdtmpfilesdir} | |
259 | ||
260 | %{__make} install \ | |
261 | DESTDIR=$RPM_BUILD_ROOT \ | |
262 | PAM_PREFIX=%{_sysconfdir} | |
263 | ||
264 | %{__rm} $RPM_BUILD_ROOT/etc/pam.d/gdm | |
265 | cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/gdm-password | |
266 | cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/gdm-fingerprint | |
267 | cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/gdm-autologin | |
268 | install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/gdm | |
269 | cp -p %{SOURCE7} $RPM_BUILD_ROOT/etc/init/%{name}.conf | |
270 | cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_pixmapsdir} | |
271 | ln -s /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/gdm.service | |
272 | install %{SOURCE9} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf | |
273 | ||
274 | touch $RPM_BUILD_ROOT/etc/security/blacklist.gdm | |
275 | ||
276 | %find_lang %{name} --with-gnome --with-omf --all-name | |
277 | ||
278 | # allow executing ~/.Xclients and ~/.xsession | |
279 | cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/xsessions/custom.desktop | |
280 | cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_datadir}/xsessions/default.desktop | |
281 | ||
282 | %{__rm} $RPM_BUILD_ROOT%{_libdir}/gdm/simple-greeter/extensions/*.{a,la} \ | |
283 | $RPM_BUILD_ROOT%{_libdir}/*.la | |
284 | ||
285 | %clean | |
286 | rm -rf $RPM_BUILD_ROOT | |
287 | ||
288 | %posttrans | |
289 | umask 022 | |
290 | /usr/bin/dconf update | |
291 | ||
292 | %pre | |
293 | %groupadd -g 55 -r -f xdm | |
294 | %useradd -u 55 -r -d /home/services/xdm -s /bin/false -c "X Display Manager" -g xdm xdm | |
295 | ||
296 | %post | |
297 | %glib_compile_schemas | |
298 | %update_icon_cache hicolor | |
299 | ||
300 | %postun | |
301 | %update_icon_cache hicolor | |
302 | if [ "$1" = "0" ]; then | |
303 | %glib_compile_schemas | |
304 | %userremove xdm | |
305 | %groupremove xdm | |
306 | fi | |
307 | ||
308 | %triggerpostun -- %{name} < 2:3.2.1.1-10 | |
309 | if [ -f /etc/X11/gdm/gdm.conf-custom.rpmsave ]; then | |
310 | mv /etc/X11/gdm/gdm.conf-custom.rpmsave /etc/gdm/custom.conf | |
311 | fi | |
312 | ||
313 | %post init | |
314 | /sbin/chkconfig --add gdm | |
315 | # -n skips restarting as it would otherise terminate all sessions opened from gdm! | |
316 | %service -n gdm restart | |
317 | %systemd_reload | |
318 | ||
319 | %postun init | |
320 | %systemd_reload | |
321 | ||
322 | %preun init | |
323 | if [ "$1" = "0" ]; then | |
324 | %service gdm stop | |
325 | /sbin/chkconfig --del gdm | |
326 | fi | |
327 | ||
328 | %post libs -p /sbin/ldconfig | |
329 | %postun libs -p /sbin/ldconfig | |
330 | ||
331 | %files -f %{name}.lang | |
332 | %defattr(644,root,root,755) | |
333 | %doc AUTHORS ChangeLog NEWS README TODO | |
334 | %attr(755,root,root) %{_sbindir}/gdm | |
335 | %attr(755,root,root) %{_sbindir}/gdm-binary | |
336 | %attr(755,root,root) %{_bindir}/gdm-screenshot | |
337 | %attr(755,root,root) %{_bindir}/gdmflexiserver | |
338 | %dir %{_libdir}/gdm | |
339 | %dir %{_libdir}/gdm/simple-greeter | |
340 | %dir %{_libdir}/gdm/simple-greeter/extensions | |
341 | %attr(755,root,root) %{_libdir}/gdm/simple-greeter/extensions/libfingerprint.so | |
342 | %attr(755,root,root) %{_libdir}/gdm/simple-greeter/extensions/libpassword.so | |
343 | %attr(755,root,root) %{_libdir}/gdm/simple-greeter/extensions/libsmartcard.so | |
344 | %attr(755,root,root) %{_libexecdir}/gdm-crash-logger | |
345 | %attr(755,root,root) %{_libexecdir}/gdm-factory-slave | |
346 | %attr(755,root,root) %{_libexecdir}/gdm-host-chooser | |
347 | %attr(755,root,root) %{_libexecdir}/gdm-product-slave | |
348 | %attr(755,root,root) %{_libexecdir}/gdm-session-worker | |
349 | %attr(755,root,root) %{_libexecdir}/gdm-simple-chooser | |
350 | %attr(755,root,root) %{_libexecdir}/gdm-simple-greeter | |
351 | %attr(755,root,root) %{_libexecdir}/gdm-simple-slave | |
352 | %attr(755,root,root) %{_libexecdir}/gdm-xdmcp-chooser-slave | |
353 | %attr(755,root,root) %{_libexecdir}/gdm-smartcard-worker | |
354 | %dir %{_sysconfdir}/gdm | |
355 | %dir %{_sysconfdir}/gdm/Init | |
356 | %attr(755,root,root) %config %{_sysconfdir}/gdm/Init/Default | |
357 | %attr(755,root,root) %config %{_sysconfdir}/gdm/PreSession | |
358 | %attr(755,root,root) %config %{_sysconfdir}/gdm/PostSession | |
359 | %attr(755,root,root) %config %{_sysconfdir}/gdm/Xsession | |
360 | %dir %{_sysconfdir}/gdm/PostLogin | |
361 | %config %{_sysconfdir}/gdm/PostLogin/Default.sample | |
362 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gdm/custom.conf | |
363 | %config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.d/* | |
364 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/gdm* | |
365 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.gdm | |
366 | %{_sysconfdir}/dconf/db/gdm.d | |
367 | %{_sysconfdir}/dconf/profile/gdm | |
368 | %attr(1755,root,xdm) %dir /var/cache/gdm | |
369 | %attr(1770,root,xdm) %dir /var/gdm | |
370 | %attr(1770,root,xdm) %dir /var/lib/gdm | |
371 | %dir /var/lib/gdm/.config | |
372 | %attr(755,xdm,xdm) %dir /var/lib/gdm/.config/dconf | |
373 | %attr(755,xdm,xdm) /var/lib/gdm/.local | |
374 | %attr(750,xdm,xdm) %dir /var/log/gdm | |
375 | %attr(711,root,xdm) %dir /var/run/gdm | |
376 | %attr(755,xdm,xdm) %dir /var/run/gdm/greeter | |
377 | %attr(750,xdm,xdm) /home/services/xdm | |
378 | %{systemdtmpfilesdir}/%{name}.conf | |
379 | %{_pixmapsdir}/* | |
380 | %{_datadir}/gdm | |
381 | %{_datadir}/polkit-1/actions/gdm.policy | |
382 | %{_datadir}/gnome-session/sessions/gdm-fallback.session | |
383 | %{_datadir}/gnome-session/sessions/gdm-shell.session | |
384 | %{_datadir}/xsessions/custom.desktop | |
385 | %{_datadir}/xsessions/default.desktop | |
386 | %{_iconsdir}/hicolor/*/apps/*.png | |
387 | %{_datadir}/glib-2.0/schemas/org.gnome.login-screen.gschema.xml | |
388 | ||
389 | %files libs | |
390 | %defattr(644,root,root,755) | |
391 | %attr(755,root,root) %{_libdir}/libgdmgreeter.so.1.0.0 | |
392 | %attr(755,root,root) %ghost %{_libdir}/libgdmgreeter.so.1 | |
393 | %attr(755,root,root) %{_libdir}/libgdmsimplegreeter.so.1.0.0 | |
394 | %attr(755,root,root) %ghost %{_libdir}/libgdmsimplegreeter.so.1 | |
395 | %{_libdir}/girepository-1.0/GdmGreeter-1.0.typelib | |
396 | ||
397 | %files devel | |
398 | %defattr(644,root,root,755) | |
399 | %dir %{_includedir}/gdm | |
400 | %dir %{_includedir}/gdm/greeter | |
401 | %{_includedir}/gdm/greeter/gdm-greeter-client.h | |
402 | %{_includedir}/gdm/greeter/gdm-greeter-sessions.h | |
403 | %dir %{_includedir}/gdm/simple-greeter | |
404 | %{_includedir}/gdm/simple-greeter/gdm-login-extension.h | |
405 | %{_pkgconfigdir}/gdmgreeter.pc | |
406 | %{_pkgconfigdir}/gdmsimplegreeter.pc | |
407 | %{_libdir}/libgdmgreeter.so | |
408 | %{_libdir}/libgdmsimplegreeter.so | |
409 | %{_datadir}/gir-1.0/GdmGreeter-1.0.gir | |
410 | ||
411 | %files static | |
412 | %defattr(644,root,root,755) | |
413 | %{_libdir}/libgdmgreeter.a | |
414 | %{_libdir}/libgdmsimplegreeter.a | |
415 | ||
416 | %files init | |
417 | %defattr(644,root,root,755) | |
418 | %attr(754,root,root) /etc/rc.d/init.d/gdm | |
419 | %{systemdunitdir}/gdm.service | |
420 | ||
421 | %files upstart | |
422 | %defattr(644,root,root,755) | |
423 | %config(noreplace) %verify(not md5 mtime size) /etc/init/%{name}.conf |