]>
Commit | Line | Data |
---|---|---|
0fb756ff | 1 | # |
98b48f20 | 2 | # TODO: |
157d4449 | 3 | # - s=/dev/null=/home/services/xdm= in %%trigger for graceful upgrade from xdm/kdm/gdm 2.2 |
1619b9aa | 4 | # - check all /etc/pam.d/gdm-* to be pldized: |
2e4b2dc4 | 5 | # gdm-autologin[4] gdm-fingerprint[10] gdm-password[1] gdm-smartcard gdm-launch-environment[11] |
98b48f20 | 6 | # |
82848b6f JB |
7 | # Conditional build: |
8 | %bcond_without static_libs # static library | |
9 | ||
3c614ca4 | 10 | %define glib2_ver 1:2.56.0 |
066398c3 | 11 | Summary: GNOME Display Manager |
82455104 ER |
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 | |
066398c3 | 18 | Name: gdm |
ab66cda2 | 19 | Version: 41.0 |
eb03eaac | 20 | Release: 1 |
3488434f | 21 | Epoch: 2 |
b354c9f4 | 22 | License: GPL v2+ |
42b347d0 | 23 | Group: X11/Applications |
ab66cda2 JB |
24 | Source0: https://download.gnome.org/sources/gdm/41/%{name}-%{version}.tar.xz |
25 | # Source0-md5: 55cb882364fbfe86eb6f9dc3b2b956ed | |
ac5ef200 | 26 | Source1: %{name}.pamd |
27 | Source2: %{name}.init | |
495829ba | 28 | Source3: %{name}-pld-logo.png |
de273fad | 29 | Source4: %{name}-autologin.pamd |
f85eb744 | 30 | Source5: %{name}-custom.desktop |
31 | Source6: %{name}-default.desktop | |
c3a3f740 | 32 | Source9: %{name}.tmpfiles |
1619b9aa | 33 | Source10: %{name}-fingerprint.pamd |
b5fd02c4 | 34 | Source11: %{name}-launch-environment.pamd |
ac5ef200 | 35 | Patch0: %{name}-xdmcp.patch |
68bb2c39 AF |
36 | Patch1: %{name}-xsession.patch |
37 | Patch2: %{name}-defaults.patch | |
82848b6f | 38 | Patch3: %{name}-both-libraries.patch |
c62afa2e | 39 | URL: https://wiki.gnome.org/Projects/GDM |
ced8d2ed | 40 | BuildRequires: accountsservice-devel >= 0.6.35 |
f2a1103b | 41 | BuildRequires: audit-libs-devel |
557def69 | 42 | BuildRequires: check-devel >= 0.9.4 |
51dc2905 | 43 | BuildRequires: dconf |
c62afa2e | 44 | BuildRequires: gettext-tools >= 0.19.8 |
3c614ca4 | 45 | BuildRequires: glib2-devel >= %{glib2_ver} |
b5fd02c4 | 46 | BuildRequires: gobject-introspection-devel >= 0.9.12 |
de273fad | 47 | BuildRequires: gtk+3-devel >= 3.0.0 |
4f41bf78 | 48 | BuildRequires: iso-codes |
eb03eaac | 49 | BuildRequires: keyutils-devel >= 1.6 |
de273fad | 50 | BuildRequires: libcanberra-gtk3-devel >= 0.4 |
68bb2c39 | 51 | BuildRequires: libselinux-devel |
ced8d2ed | 52 | BuildRequires: libstdc++-devel |
de273fad | 53 | BuildRequires: libwrap-devel |
ced8d2ed | 54 | BuildRequires: libxcb-devel |
82848b6f JB |
55 | BuildRequires: meson >= 0.50 |
56 | BuildRequires: ninja >= 1.5 | |
98b48f20 | 57 | BuildRequires: pam-devel |
f2a1103b | 58 | BuildRequires: pkgconfig |
68bb2c39 | 59 | BuildRequires: plymouth-devel |
0df7c395 | 60 | BuildRequires: rpmbuild(find_lang) >= 1.23 |
82848b6f | 61 | BuildRequires: rpmbuild(macros) >= 1.736 |
ced8d2ed | 62 | BuildRequires: systemd-devel >= 1:209 |
b6aa2fd7 | 63 | BuildRequires: tar >= 1:1.22 |
de273fad ŁK |
64 | BuildRequires: xorg-lib-libX11-devel |
65 | BuildRequires: xorg-lib-libXau-devel | |
dc82d2d7 | 66 | BuildRequires: xorg-lib-libXdmcp-devel |
b5fd02c4 | 67 | BuildRequires: xorg-lib-libXext-devel |
de273fad | 68 | BuildRequires: xorg-lib-libXft-devel |
dc82d2d7 | 69 | BuildRequires: xorg-lib-libXi-devel |
70 | BuildRequires: xorg-lib-libXinerama-devel | |
b354c9f4 JB |
71 | # for "XServer disables tcp access by default" detection |
72 | BuildRequires: xorg-xserver-server-devel | |
b6aa2fd7 | 73 | BuildRequires: xz |
b5fd02c4 | 74 | BuildRequires: yelp-tools |
3c614ca4 | 75 | Requires(post,postun): glib2 >= %{glib2_ver} |
459deb1e | 76 | Requires(post,postun): gtk-update-icon-cache |
83594792 ER |
77 | Requires(postun): /usr/sbin/groupdel |
78 | Requires(postun): /usr/sbin/userdel | |
26288641 JB |
79 | Requires(pre): /bin/id |
80 | Requires(pre): /usr/sbin/groupadd | |
81 | Requires(pre): /usr/sbin/useradd | |
903f486b | 82 | Requires(posttrans): dconf |
fa7436ec | 83 | Requires: %{name}-libs = %{epoch}:%{version}-%{release} |
6954d666 | 84 | Requires: /usr/bin/X |
ced8d2ed | 85 | Requires: accountsservice >= 0.6.35 |
4429cfb0 | 86 | Requires: dbus-x11 |
0e7e2757 | 87 | Requires: gdm-wm >= 3.2.1 |
3c614ca4 | 88 | Requires: glib2 >= %{glib2_ver} |
ced8d2ed JB |
89 | Requires: gnome-session >= 3.26.0 |
90 | Requires: gnome-settings-daemon >= 3.26.0 | |
de273fad | 91 | Requires: hicolor-icon-theme |
c62afa2e JB |
92 | Requires: iso-codes |
93 | Requires: libcanberra-gtk3 >= 0.4 | |
bba08ce8 | 94 | Requires: pam >= 0.99.7.1 |
b614b4a4 | 95 | Requires: polkit-gnome >= 0.93 |
6beee835 | 96 | Requires: which |
f3737f40 | 97 | Requires: xinitrc-ng >= 1.0 |
2004c339 | 98 | Requires: xorg-app-sessreg |
f2a1103b | 99 | Requires: xorg-app-xmodmap |
2294f17e | 100 | Suggests: ConsoleKit-x11 >= 0.4.1 |
0e7e2757 | 101 | Suggests: pam-pam_gnome_keyring |
557def69 | 102 | Suggests: xorg-xserver-Xephyr |
f85eb744 | 103 | Suggests: zenity |
048e8543 | 104 | Provides: XDM |
5387309f | 105 | Provides: group(xdm) |
106 | Provides: user(xdm) | |
3c614ca4 JB |
107 | Obsoletes: gdm-Xnest < 2:2.28 |
108 | Obsoletes: gdm-systemd < 2:3.2.1.1-10 | |
109 | Obsoletes: gdm-upstart < 2:3.20 | |
110 | Obsoletes: gdm-user-switch-applet < 2:3.0.0-2 | |
111 | Obsoletes: gnome-applet-fast-user-switch < 2.21 | |
98b48f20 | 112 | Conflicts: gdkxft |
557def69 | 113 | Conflicts: systemd < 186 |
ac5ef200 | 114 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
066398c3 | 115 | |
84e15ca6 TP |
116 | %description |
117 | Gdm (the GNOME Display Manager) is a highly configurable | |
118 | reimplementation of xdm, the X Display Manager. Gdm allows you to log | |
119 | into your system with the X Window System running and supports running | |
120 | several different X sessions on your local machine at the same time. | |
b9713681 | 121 | |
25351dc6 | 122 | %description -l es.UTF-8 |
116b805d | 123 | Administrador de Entrada del GNOME. |
124 | ||
25351dc6 | 125 | %description -l ja.UTF-8 |
de273fad ŁK |
126 | Gdm (the GNOME Display Manager) は、高度に設定可能な xdm X Display Manager |
127 | の再実装版です。 Gdm を使うと、 X Window System が動いているあなたの | |
25351dc6 | 128 | システムにいろいろなセッションを選択してログインすることができます。 |
24b65b9a | 129 | |
25351dc6 | 130 | このバージョンの Gdm では、各種言語や、XIM を選択することも可能です。 |
24b65b9a | 131 | |
25351dc6 JR |
132 | %description -l pl.UTF-8 |
133 | Gdm jest wysokokonfigurowalną reimplementacją xdma. Gdm pozwala | |
134 | logować się do systemu z poziomu X11 i wspiera jednoczesną pracę kilku | |
135 | różnych sesji X na lokalnej maszynie. | |
f6d3e03e | 136 | |
25351dc6 | 137 | %description -l pt_BR.UTF-8 |
116b805d | 138 | Gerenciador de Entrada do GNOME. |
139 | ||
25351dc6 JR |
140 | %description -l ru.UTF-8 |
141 | GDM (GNOME Display Manager) - это реимплементация xdm (X Display | |
142 | Manager). GDM позволяет вам входить в систему, на которой запущено X | |
143 | Window и поддерживает работу нескольуих разных X сеансов одновременно. | |
24b65b9a | 144 | |
25351dc6 JR |
145 | %description -l uk.UTF-8 |
146 | GDM (GNOME Display Manager) - це реімплементація xdm (X Display | |
147 | Manager). GDM дозволяє вам входити в систему, на якій запущено X | |
148 | Window та підтримує роботу кількох різних X сеансів одночасно. | |
24b65b9a | 149 | |
82848b6f JB |
150 | %package init |
151 | Summary: Init script for GDM | |
152 | Summary(pl.UTF-8): Skrypt init dla GDM-a | |
153 | Group: X11/Applications | |
154 | Requires(post,preun): /sbin/chkconfig | |
155 | Requires(post,preun,postun): systemd-units >= 38 | |
156 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
157 | Requires: open | |
158 | Requires: rc-scripts >= 0.4.3.0 | |
159 | Requires: systemd-units >= 38 | |
160 | ||
161 | %description init | |
162 | Init script for GDM. | |
163 | ||
164 | %description init -l pl.UTF-8 | |
165 | Skrypt init dla GDM-a. | |
166 | ||
9813a180 ŁK |
167 | %package libs |
168 | Summary: GDM libraries | |
169 | Summary(pl.UTF-8): Biblioteki GDM | |
170 | Group: Libraries | |
171 | ||
172 | %description libs | |
173 | GDM libraries. | |
174 | ||
175 | %description libs -l pl.UTF-8 | |
176 | Biblioteki GDM. | |
177 | ||
1deeed32 ŁK |
178 | %package devel |
179 | Summary: Header files for GDM | |
180 | Summary(pl.UTF-8): Pliki nagłówkowe i dokumentacja | |
181 | Group: X11/Development/Libraries | |
fa7436ec | 182 | Requires: %{name}-libs = %{epoch}:%{version}-%{release} |
1deeed32 ŁK |
183 | |
184 | %description devel | |
185 | This package contains the files necessary to develop applications | |
186 | using GDM's libraries. | |
187 | ||
188 | %description devel -l pl.UTF-8 | |
189 | Pakiet zawiera pliki potrzebne do rozwoju aplikacji używających | |
190 | bibliotek programu GDM. | |
191 | ||
192 | %package static | |
193 | Summary: Static libraries for GDM | |
194 | Summary(pl.UTF-8): Biblioteki statyczne dla GDM | |
195 | Group: X11/Development/Libraries | |
fa7436ec | 196 | Requires: %{name}-devel = %{epoch}:%{version}-%{release} |
1deeed32 ŁK |
197 | |
198 | %description static | |
199 | This package contains static libraries for GDM. | |
200 | ||
201 | %description static -l pl.UTF-8 | |
202 | Pakiet zawiera statyczne biblioteki GDM. | |
203 | ||
b9713681 | 204 | %prep |
f2a1103b | 205 | %setup -q |
116b805d | 206 | %patch0 -p1 |
3488434f | 207 | %patch1 -p1 |
70caaf1f | 208 | %patch2 -p1 |
82848b6f | 209 | %patch3 -p1 |
3488434f | 210 | |
b9713681 | 211 | %build |
82848b6f JB |
212 | %meson build \ |
213 | %{!?with_static_libs:--default-library=shared} \ | |
214 | -Dgdm-xsession=true \ | |
215 | -Dgroup=xdm \ | |
216 | -Dinitial-vt=9 \ | |
217 | -Dipv6=true \ | |
218 | -Dpam-mod-dir=/%{_lib}/security \ | |
219 | -Dpam-prefix=/etc \ | |
220 | -Dtcp-wrappers=true \ | |
221 | -Dudev-dir=/lib/udev/rules.d \ | |
222 | -Duser=xdm | |
223 | ||
224 | %ninja_build -C build | |
b9713681 | 225 | |
226 | %install | |
227 | rm -rf $RPM_BUILD_ROOT | |
3938ef44 | 228 | install -d $RPM_BUILD_ROOT/etc/{rc.d/init.d,pam.d,security} \ |
82848b6f | 229 | $RPM_BUILD_ROOT{/home/services/xdm,/var/lib/gdm/.local,/var/log/gdm,/var/run/gdm/greeter} \ |
c62afa2e | 230 | $RPM_BUILD_ROOT{%{_pixmapsdir},%{_datadir}/xsessions,%{systemdunitdir}} \ |
9f2ad13f | 231 | $RPM_BUILD_ROOT%{systemdtmpfilesdir} |
f6d3e03e | 232 | |
82848b6f | 233 | %ninja_install -C build |
066398c3 | 234 | |
0e7e2757 | 235 | cp -p %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/gdm-password |
1619b9aa | 236 | cp -p %{SOURCE10} $RPM_BUILD_ROOT/etc/pam.d/gdm-fingerprint |
76ae213a | 237 | cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/pam.d/gdm-autologin |
2e4b2dc4 | 238 | cp -p %{SOURCE11} $RPM_BUILD_ROOT/etc/pam.d/gdm-launch-environment |
76ae213a | 239 | install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/gdm |
76ae213a | 240 | cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_pixmapsdir} |
aa83a117 | 241 | cp -p %{SOURCE9} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf |
c3a3f740 | 242 | |
ced8d2ed JB |
243 | # replace file with mask (to allow choosing via prefdm.service) |
244 | ln -sf /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/gdm.service | |
245 | ||
066398c3 JR |
246 | touch $RPM_BUILD_ROOT/etc/security/blacklist.gdm |
247 | ||
c62afa2e | 248 | %find_lang %{name} --with-gnome |
b9713681 | 249 | |
f85eb744 | 250 | # allow executing ~/.Xclients and ~/.xsession |
76ae213a ER |
251 | cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_datadir}/xsessions/custom.desktop |
252 | cp -p %{SOURCE6} $RPM_BUILD_ROOT%{_datadir}/xsessions/default.desktop | |
c00e1fa1 | 253 | |
dc63666f JB |
254 | %clean |
255 | rm -rf $RPM_BUILD_ROOT | |
256 | ||
7d69ec85 | 257 | %posttrans |
903f486b | 258 | umask 022 |
7d69ec85 MB |
259 | /usr/bin/dconf update |
260 | ||
f7e4906b | 261 | %pre |
b32b0eb5 | 262 | %groupadd -g 55 -r -f xdm |
0fb756ff | 263 | %useradd -u 55 -r -d /home/services/xdm -s /bin/false -c "X Display Manager" -g xdm xdm |
f7e4906b | 264 | |
e7d75b7d | 265 | %post |
831056d7 | 266 | %update_icon_cache hicolor |
e7d75b7d | 267 | |
98b48f20 | 268 | %postun |
831056d7 | 269 | %update_icon_cache hicolor |
f7e4906b | 270 | if [ "$1" = "0" ]; then |
5387309f | 271 | %userremove xdm |
272 | %groupremove xdm | |
f7e4906b | 273 | fi |
98b48f20 | 274 | |
ec8ebb38 | 275 | %triggerpostun -- %{name} < 2:3.2.1.1-10 |
dc82d2d7 | 276 | if [ -f /etc/X11/gdm/gdm.conf-custom.rpmsave ]; then |
82848b6f | 277 | mv -f /etc/X11/gdm/gdm.conf-custom.rpmsave /etc/gdm/custom.conf |
dc82d2d7 | 278 | fi |
279 | ||
98b48f20 | 280 | %post init |
7943107a | 281 | /sbin/chkconfig --add gdm |
76ae213a ER |
282 | # -n skips restarting as it would otherise terminate all sessions opened from gdm! |
283 | %service -n gdm restart | |
d637e133 JR |
284 | %systemd_reload |
285 | ||
286 | %postun init | |
287 | %systemd_reload | |
93384147 | 288 | |
98b48f20 | 289 | %preun init |
dc63666f | 290 | if [ "$1" = "0" ]; then |
0fb756ff | 291 | %service gdm stop |
dc63666f | 292 | /sbin/chkconfig --del gdm |
7943107a | 293 | fi |
f6d3e03e | 294 | |
7a8d4610 JR |
295 | %post libs |
296 | /sbin/ldconfig | |
297 | %glib_compile_schemas | |
298 | ||
299 | %postun libs | |
300 | /sbin/ldconfig | |
301 | if [ "$1" = "0" ]; then | |
302 | %glib_compile_schemas | |
303 | fi | |
4dab4991 | 304 | |
12f50676 | 305 | %files -f %{name}.lang |
066398c3 | 306 | %defattr(644,root,root,755) |
c62afa2e | 307 | %doc AUTHORS MAINTAINERS NEWS README.md |
de273fad | 308 | %attr(755,root,root) %{_sbindir}/gdm |
de273fad | 309 | %attr(755,root,root) %{_bindir}/gdm-screenshot |
b5fd02c4 | 310 | %attr(755,root,root) %{_bindir}/gdmflexiserver |
f2a1103b | 311 | %attr(755,root,root) %{_libexecdir}/gdm-host-chooser |
3c614ca4 | 312 | %attr(755,root,root) %{_libexecdir}/gdm-runtime-config |
f2a1103b PZ |
313 | %attr(755,root,root) %{_libexecdir}/gdm-session-worker |
314 | %attr(755,root,root) %{_libexecdir}/gdm-simple-chooser | |
4ecd7d9c JB |
315 | %attr(755,root,root) %{_libexecdir}/gdm-wayland-session |
316 | %attr(755,root,root) %{_libexecdir}/gdm-x-session | |
ced8d2ed | 317 | %attr(755,root,root) /%{_lib}/security/pam_gdm.so |
c62afa2e | 318 | /lib/udev/rules.d/61-gdm.rules |
98b48f20 | 319 | %dir %{_sysconfdir}/gdm |
f2a1103b PZ |
320 | %dir %{_sysconfdir}/gdm/Init |
321 | %attr(755,root,root) %config %{_sysconfdir}/gdm/Init/Default | |
116b805d | 322 | %attr(755,root,root) %config %{_sysconfdir}/gdm/PreSession |
116b805d | 323 | %attr(755,root,root) %config %{_sysconfdir}/gdm/PostSession |
518f8c4c | 324 | %attr(755,root,root) %config %{_sysconfdir}/gdm/Xsession |
f2a1103b | 325 | %dir %{_sysconfdir}/gdm/PostLogin |
518f8c4c | 326 | %config %{_sysconfdir}/gdm/PostLogin/Default.sample |
336213b1 | 327 | %attr(640,root,xdm) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gdm/custom.conf |
b7923f97 JB |
328 | %config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.d/gdm.conf |
329 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/gdm-* | |
711a64ba | 330 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.gdm |
c920af86 | 331 | %{_datadir}/dconf/profile/gdm |
82848b6f JB |
332 | %dir %{systemduserunitdir}/gnome-session@gnome-login.target.d |
333 | %{systemduserunitdir}/gnome-session@gnome-login.target.d/session.conf | |
de4bad9d | 334 | %attr(1770,root,xdm) %dir /var/lib/gdm |
8eb31fdc | 335 | %attr(755,xdm,xdm) /var/lib/gdm/.local |
de273fad ŁK |
336 | %attr(750,xdm,xdm) %dir /var/log/gdm |
337 | %attr(711,root,xdm) %dir /var/run/gdm | |
338 | %attr(755,xdm,xdm) %dir /var/run/gdm/greeter | |
98b48f20 | 339 | %attr(750,xdm,xdm) /home/services/xdm |
9f2ad13f | 340 | %{systemdtmpfilesdir}/%{name}.conf |
c62afa2e | 341 | %{_pixmapsdir}/gdm-pld-logo.png |
12f50676 | 342 | %{_datadir}/gdm |
ced8d2ed | 343 | %{_datadir}/gnome-session/sessions/gnome-login.session |
f85eb744 | 344 | %{_datadir}/xsessions/custom.desktop |
345 | %{_datadir}/xsessions/default.desktop | |
1deeed32 | 346 | |
82848b6f JB |
347 | %files init |
348 | %defattr(644,root,root,755) | |
349 | %attr(754,root,root) /etc/rc.d/init.d/gdm | |
350 | %{systemdunitdir}/gdm.service | |
351 | ||
9813a180 ŁK |
352 | %files libs |
353 | %defattr(644,root,root,755) | |
68bb2c39 AF |
354 | %attr(755,root,root) %{_libdir}/libgdm.so.1.0.0 |
355 | %attr(755,root,root) %ghost %{_libdir}/libgdm.so.1 | |
68bb2c39 | 356 | %{_libdir}/girepository-1.0/Gdm-1.0.typelib |
7a8d4610 | 357 | %{_datadir}/glib-2.0/schemas/org.gnome.login-screen.gschema.xml |
9813a180 | 358 | |
1deeed32 ŁK |
359 | %files devel |
360 | %defattr(644,root,root,755) | |
b7923f97 | 361 | %attr(755,root,root) %{_libdir}/libgdm.so |
7531806a | 362 | %dir %{_includedir}/gdm |
68bb2c39 AF |
363 | %{_includedir}/gdm/gdm-client-glue.h |
364 | %{_includedir}/gdm/gdm-client.h | |
ced8d2ed | 365 | %{_includedir}/gdm/gdm-pam-extensions.h |
68bb2c39 AF |
366 | %{_includedir}/gdm/gdm-sessions.h |
367 | %{_includedir}/gdm/gdm-user-switching.h | |
68bb2c39 | 368 | %{_pkgconfigdir}/gdm.pc |
ced8d2ed | 369 | %{_pkgconfigdir}/gdm-pam-extensions.pc |
68bb2c39 | 370 | %{_datadir}/gir-1.0/Gdm-1.0.gir |
1deeed32 ŁK |
371 | |
372 | %files static | |
373 | %defattr(644,root,root,755) | |
68bb2c39 | 374 | %{_libdir}/libgdm.a |