]>
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 /etc/pam.d/gdm-autologin | |
5 | # - upstart package | |
6 | # | |
7 | # Conditiional build: | |
8 | %bcond_without selinux # without selinux | |
9 | ||
10 | Summary: GNOME Display Manager | |
11 | Summary(es.UTF-8): Administrador de Entrada del GNOME | |
12 | Summary(ja.UTF-8): GNOME ディスプレイマネージャ | |
13 | Summary(pl.UTF-8): gdm - zarządca ekranów GNOME | |
14 | Summary(pt_BR.UTF-8): Gerenciador de Entrada do GNOME | |
15 | Summary(ru.UTF-8): Дисплейный менеджер GNOME | |
16 | Summary(uk.UTF-8): Дисплейний менеджер GNOME | |
17 | Name: gdm | |
18 | Version: 3.0.0 | |
19 | Release: 1 | |
20 | Epoch: 2 | |
21 | License: GPL/LGPL | |
22 | Group: X11/Applications | |
23 | Source0: http://ftp.gnome.org/pub/GNOME/sources/gdm/3.0/%{name}-%{version}.tar.bz2 | |
24 | # Source0-md5: 186ee9a2413ee8eed42699b7119e5624 | |
25 | Source1: %{name}.pamd | |
26 | Source2: %{name}.init | |
27 | Source3: %{name}-pld-logo.png | |
28 | Source4: %{name}-autologin.pamd | |
29 | Source5: %{name}-custom.desktop | |
30 | Source6: %{name}-default.desktop | |
31 | Patch0: %{name}-xdmcp.patch | |
32 | Patch1: %{name}-polkit.patch | |
33 | Patch2: %{name}-xsession.patch | |
34 | Patch3: %{name}-defaults.patch | |
35 | URL: http://www.gnome.org/projects/gdm/ | |
36 | BuildRequires: GConf2-devel >= 2.32.0 | |
37 | BuildRequires: accountsservice-devel >= 0.6.5 | |
38 | BuildRequires: attr-devel | |
39 | BuildRequires: audit-libs-devel | |
40 | BuildRequires: autoconf >= 2.60 | |
41 | BuildRequires: automake >= 1:1.11 | |
42 | BuildRequires: check >= 0.9.4 | |
43 | BuildRequires: dbus-glib-devel >= 0.74 | |
44 | BuildRequires: docbook-dtd412-xml | |
45 | BuildRequires: fontconfig-devel >= 2.5.0 | |
46 | BuildRequires: gettext-devel | |
47 | BuildRequires: glib2-devel >= 1:2.28.0 | |
48 | BuildRequires: gnome-doc-utils | |
49 | BuildRequires: gnome-panel-devel >= 2.0.0 | |
50 | BuildRequires: gtk+3-devel >= 3.0.0 | |
51 | BuildRequires: intltool >= 0.40.0 | |
52 | BuildRequires: iso-codes | |
53 | BuildRequires: libcanberra-gtk3-devel >= 0.4 | |
54 | %{?with_selinux:BuildRequires: libselinux-devel} | |
55 | BuildRequires: libtool | |
56 | BuildRequires: libwrap-devel | |
57 | BuildRequires: libxklavier-devel >= 4.0-2 | |
58 | BuildRequires: pam-devel | |
59 | BuildRequires: pango-devel >= 1.3.0 | |
60 | BuildRequires: perl-modules | |
61 | BuildRequires: pkgconfig | |
62 | BuildRequires: rpmbuild(find_lang) >= 1.23 | |
63 | BuildRequires: rpmbuild(macros) >= 1.311 | |
64 | BuildRequires: scrollkeeper >= 0.1.4 | |
65 | BuildRequires: upower-devel >= 0.9.0 | |
66 | BuildRequires: xorg-lib-libX11-devel | |
67 | BuildRequires: xorg-lib-libXau-devel | |
68 | BuildRequires: xorg-lib-libXdmcp-devel | |
69 | BuildRequires: xorg-lib-libXft-devel | |
70 | BuildRequires: xorg-lib-libXi-devel | |
71 | BuildRequires: xorg-lib-libXinerama-devel | |
72 | BuildRequires: xorg-lib-libXrandr-devel | |
73 | Requires(post,postun): /usr/bin/scrollkeeper-update | |
74 | Requires(post,postun): gtk-update-icon-cache | |
75 | Requires(post,preun): GConf2 | |
76 | Requires(postun): /usr/sbin/groupdel | |
77 | Requires(postun): /usr/sbin/userdel | |
78 | Requires(pre): /bin/id | |
79 | Requires(pre): /usr/sbin/groupadd | |
80 | Requires(pre): /usr/sbin/useradd | |
81 | Requires: /usr/bin/X | |
82 | Requires: ConsoleKit >= 0.4.1 | |
83 | Requires: accountsservice >= 0.6.5 | |
84 | Requires: gnome-session >= 2.91.91.1 | |
85 | Requires: gnome-settings-daemon >= 2.91.91 | |
86 | Requires: hicolor-icon-theme | |
87 | Requires: pam >= 0.99.7.1 | |
88 | Requires: polkit-gnome >= 0.93 | |
89 | Requires: which | |
90 | Requires: xorg-app-sessreg | |
91 | Requires: xorg-app-xmodmap | |
92 | Suggests: zenity | |
93 | Provides: XDM | |
94 | Provides: group(xdm) | |
95 | Provides: user(xdm) | |
96 | Obsoletes: gdm-Xnest | |
97 | Conflicts: gdkxft | |
98 | # sr@Latn vs. sr@latin | |
99 | Conflicts: glibc-misc < 6:2.7 | |
100 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
101 | ||
102 | %description | |
103 | Gdm (the GNOME Display Manager) is a highly configurable | |
104 | reimplementation of xdm, the X Display Manager. Gdm allows you to log | |
105 | into your system with the X Window System running and supports running | |
106 | several different X sessions on your local machine at the same time. | |
107 | ||
108 | %description -l es.UTF-8 | |
109 | Administrador de Entrada del GNOME. | |
110 | ||
111 | %description -l ja.UTF-8 | |
112 | Gdm (the GNOME Display Manager) は、高度に設定可能な xdm X Display Manager | |
113 | の再実装版です。 Gdm を使うと、 X Window System が動いているあなたの | |
114 | システムにいろいろなセッションを選択してログインすることができます。 | |
115 | ||
116 | このバージョンの Gdm では、各種言語や、XIM を選択することも可能です。 | |
117 | ||
118 | %description -l pl.UTF-8 | |
119 | Gdm jest wysokokonfigurowalną reimplementacją xdma. Gdm pozwala | |
120 | logować się do systemu z poziomu X11 i wspiera jednoczesną pracę kilku | |
121 | różnych sesji X na lokalnej maszynie. | |
122 | ||
123 | %description -l pt_BR.UTF-8 | |
124 | Gerenciador de Entrada do GNOME. | |
125 | ||
126 | %description -l ru.UTF-8 | |
127 | GDM (GNOME Display Manager) - это реимплементация xdm (X Display | |
128 | Manager). GDM позволяет вам входить в систему, на которой запущено X | |
129 | Window и поддерживает работу нескольуих разных X сеансов одновременно. | |
130 | ||
131 | %description -l uk.UTF-8 | |
132 | GDM (GNOME Display Manager) - це реімплементація xdm (X Display | |
133 | Manager). GDM дозволяє вам входити в систему, на якій запущено X | |
134 | Window та підтримує роботу кількох різних X сеансів одночасно. | |
135 | ||
136 | %package init | |
137 | Summary: Init script for GDM | |
138 | Summary(pl.UTF-8): Skrypt init dla GDM-a | |
139 | Group: X11/Applications | |
140 | Requires(post,preun): /sbin/chkconfig | |
141 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
142 | Requires: open | |
143 | Requires: rc-scripts >= 0.4.3.0 | |
144 | ||
145 | %description init | |
146 | Init script for GDM. | |
147 | ||
148 | %description init -l pl.UTF-8 | |
149 | Skrypt init dla GDM-a. | |
150 | ||
151 | %package user-switch-applet | |
152 | Summary: GNOME applet for fast user switching | |
153 | Summary(pl.UTF-8): Aplet GNOME do szybkiego przełączania użytkowników | |
154 | Group: X11/Applications | |
155 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
156 | Provides: gnome-applet-fast-user-switch = %{epoch}:%{version}-%{release} | |
157 | Obsoletes: gnome-applet-fast-user-switch | |
158 | ||
159 | %description user-switch-applet | |
160 | The GDM User Switch Applet is an applet for the GNOME panel which | |
161 | provides a mechanism for switching between users. | |
162 | ||
163 | %description user-switch-applet -l pl.UTF-8 | |
164 | GDM User Switch Applet to aplet panelu GNOME udostępniający mechanizm | |
165 | do przełączania między użytkownikami. | |
166 | ||
167 | %prep | |
168 | %setup -q | |
169 | %patch0 -p1 | |
170 | %patch1 -p1 | |
171 | %patch2 -p1 | |
172 | %patch3 -p1 | |
173 | ||
174 | %build | |
175 | touch data/gdm.schemas.in.in | |
176 | %{__libtoolize} | |
177 | %{__glib_gettextize} | |
178 | %{__intltoolize} | |
179 | %{__aclocal} | |
180 | %{__autoheader} | |
181 | %{__autoconf} | |
182 | %{__automake} | |
183 | %configure \ | |
184 | --disable-console-helper \ | |
185 | --disable-scrollkeeper \ | |
186 | --disable-silent-rules \ | |
187 | --with-console-kit \ | |
188 | --enable-authentication-scheme=pam \ | |
189 | --with-pam-prefix=/etc \ | |
190 | --with-tcp-wrappers=yes \ | |
191 | --with%{!?with_selinux:out}-selinux \ | |
192 | --with-xdmcp=yes \ | |
193 | --with-xinerama=yes \ | |
194 | --with-user=xdm \ | |
195 | --with-group=xdm | |
196 | ||
197 | %{__make} | |
198 | ||
199 | %install | |
200 | rm -rf $RPM_BUILD_ROOT | |
201 | install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,security} \ | |
202 | $RPM_BUILD_ROOT{/home/services/xdm,/var/log/gdm} \ | |
203 | $RPM_BUILD_ROOT%{_datadir}/xsessions | |
204 | ||
205 | %{__make} install \ | |
206 | DESTDIR=$RPM_BUILD_ROOT \ | |
207 | PAM_PREFIX=/etc | |
208 | ||
209 | install %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/gdm | |
210 | install %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/gdm-autologin | |
211 | install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/gdm | |
212 | install %{SOURCE3} $RPM_BUILD_ROOT%{_pixmapsdir} | |
213 | touch $RPM_BUILD_ROOT/etc/security/blacklist.gdm | |
214 | ||
215 | %find_lang %{name} --with-gnome --with-omf --all-name | |
216 | ||
217 | # allow executing ~/.Xclients and ~/.xsession | |
218 | install %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/xsessions/custom.desktop | |
219 | install %{SOURCE6} $RPM_BUILD_ROOT%{_datadir}/xsessions/default.desktop | |
220 | ||
221 | %clean | |
222 | rm -rf $RPM_BUILD_ROOT | |
223 | ||
224 | %pre | |
225 | %groupadd -g 55 -r -f xdm | |
226 | %useradd -u 55 -r -d /home/services/xdm -s /bin/false -c "X Display Manager" -g xdm xdm | |
227 | ||
228 | %post | |
229 | %gconf_schema_install gdm-simple-greeter.schemas | |
230 | %scrollkeeper_update_post | |
231 | %update_icon_cache hicolor | |
232 | ||
233 | %preun | |
234 | %gconf_schema_uninstall gdm-simple-greeter.schemas | |
235 | ||
236 | %postun | |
237 | %scrollkeeper_update_postun | |
238 | %update_icon_cache hicolor | |
239 | ||
240 | if [ "$1" = "0" ]; then | |
241 | %userremove xdm | |
242 | %groupremove xdm | |
243 | fi | |
244 | ||
245 | %triggerpostun -- %{name} < 1:2.13.0.8-1 | |
246 | if [ -f /etc/X11/gdm/gdm.conf-custom.rpmsave ]; then | |
247 | mv /etc/X11/gdm/gdm.conf-custom.rpmsave /etc/gdm/custom.conf | |
248 | fi | |
249 | ||
250 | %post init | |
251 | /sbin/chkconfig --add gdm | |
252 | if [ -f /var/lock/subsys/gdm ]; then | |
253 | echo "Run \"/sbin/service gdm restart\" to restart gdm." >&2 | |
254 | echo "WARNING: it will terminate all sessions opened from gdm!" >&2 | |
255 | else | |
256 | echo "Run \"/sbin/service gdm start\" to start gdm." >&2 | |
257 | fi | |
258 | ||
259 | %preun init | |
260 | if [ "$1" = "0" ]; then | |
261 | %service gdm stop | |
262 | /sbin/chkconfig --del gdm | |
263 | fi | |
264 | ||
265 | %files -f %{name}.lang | |
266 | %defattr(644,root,root,755) | |
267 | %doc AUTHORS ChangeLog NEWS README TODO | |
268 | %attr(755,root,root) %{_sbindir}/gdm | |
269 | %attr(755,root,root) %{_sbindir}/gdm-binary | |
270 | %attr(755,root,root) %{_bindir}/gdm-screenshot | |
271 | %attr(755,root,root) %{_bindir}/gdmflexiserver | |
272 | %attr(755,root,root) %{_libexecdir}/gdm-crash-logger | |
273 | %attr(755,root,root) %{_libexecdir}/gdm-factory-slave | |
274 | %attr(755,root,root) %{_libexecdir}/gdm-host-chooser | |
275 | %attr(755,root,root) %{_libexecdir}/gdm-product-slave | |
276 | %attr(755,root,root) %{_libexecdir}/gdm-session-worker | |
277 | %attr(755,root,root) %{_libexecdir}/gdm-simple-chooser | |
278 | %attr(755,root,root) %{_libexecdir}/gdm-simple-greeter | |
279 | %attr(755,root,root) %{_libexecdir}/gdm-simple-slave | |
280 | %attr(755,root,root) %{_libexecdir}/gdm-xdmcp-chooser-slave | |
281 | %dir %{_sysconfdir}/gdm | |
282 | %dir %{_sysconfdir}/gdm/Init | |
283 | %attr(755,root,root) %config %{_sysconfdir}/gdm/Init/Default | |
284 | %attr(755,root,root) %config %{_sysconfdir}/gdm/PreSession | |
285 | %attr(755,root,root) %config %{_sysconfdir}/gdm/PostSession | |
286 | %attr(755,root,root) %config %{_sysconfdir}/gdm/Xsession | |
287 | %dir %{_sysconfdir}/gdm/PostLogin | |
288 | %config %{_sysconfdir}/gdm/PostLogin/Default.sample | |
289 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gdm/custom.conf | |
290 | %{_sysconfdir}/gconf/schemas/gdm-simple-greeter.schemas | |
291 | %config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.d/* | |
292 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/gdm* | |
293 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.gdm | |
294 | %{_sysconfdir}/dconf/db/gdm | |
295 | %{_sysconfdir}/dconf/profile/gdm | |
296 | %attr(1755,root,xdm) %dir /var/cache/gdm | |
297 | %attr(1770,root,xdm) %dir /var/gdm | |
298 | %attr(1770,root,xdm) %dir /var/lib/gdm | |
299 | %dir /var/lib/gdm/.config | |
300 | %attr(755,xdm,xdm) %dir /var/lib/gdm/.config/dconf | |
301 | %attr(1750,root,xdm) %dir /var/lib/gdm/.gconf.mandatory | |
302 | %attr(1640,root,xdm) /var/lib/gdm/.gconf.mandatory/*.xml | |
303 | %attr(644,root,xdm) /var/lib/gdm/.gconf.path | |
304 | %attr(750,xdm,xdm) %dir /var/log/gdm | |
305 | %attr(711,root,xdm) %dir /var/run/gdm | |
306 | %attr(755,xdm,xdm) %dir /var/run/gdm/greeter | |
307 | %attr(750,xdm,xdm) /home/services/xdm | |
308 | %{_pixmapsdir}/* | |
309 | %{_datadir}/gdm | |
310 | %{_datadir}/polkit-1/actions/gdm.policy | |
311 | %{_datadir}/gnome-session/sessions/gdm.session | |
312 | %{_datadir}/xsessions/custom.desktop | |
313 | %{_datadir}/xsessions/default.desktop | |
314 | %{_iconsdir}/hicolor/*/apps/*.png | |
315 | ||
316 | %files init | |
317 | %defattr(644,root,root,755) | |
318 | %attr(754,root,root) /etc/rc.d/init.d/gdm |