Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.3:Update
gdm
gdm.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gdm.spec of Package gdm
# # spec file for package gdm # # Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # We can enable systemd support only if we have xorg 1.12, as it means # starting X with --seat, and only if we build the whole system with # systemd support (for instance, NetworkManager). %define with_systemd 1 %if %{with_systemd} %define systemdsystemunitdir %(pkg-config --variable=systemdsystemunitdir systemd) %endif # FIXME: need to check what should be done to enable this (at least adapt the pam files). See bnc#699999 %define enable_split_authentication 0 Name: gdm Version: 3.14.2 Release: 0 Summary: The GNOME Display Manager License: GPL-2.0+ Group: System/GUI/GNOME Url: http://projects.gnome.org/gdm/ Source: http://download.gnome.org/sources/gdm/3.14/%{name}-%{version}.tar.xz Source1: gdm.pamd Source2: gdm-autologin.pamd Source3: gdm-launch-environment.pamd Source6: gdm-fingerprint.pamd Source7: gdm-smartcard.pamd # gdmflexiserver wrapper, to enable other display managers to abuse the gdmflexiserver namespace (like lightdm) Source4: gdmflexiserver-wrapper # /etc/xinit.d/xdm integration script Source5: X11-displaymanager-gdm # GDM does not boostrap using gnome-autogen.sh, but has it's own bootstrap script Source8: autogen.sh # PATCH-NEEDS-REBASE PATCH-FIX-OPENSUSE gdm-desktop-session-env-pam.patch bnc427744 vuntz@novell.com -- Sets a PAM environment variable to let the pam gnome-keyring module know which session is started Patch6: gdm-desktop-session-env-pam.patch # PATCH-FIX-OPENSUSE gdm-suse-xsession.patch vuntz@novell.com -- Use the /etc/X11/xdm/* scripts Patch7: gdm-suse-xsession.patch # WARNING: do not remove/significantly change patch8 without updating the relevant patch in accountsservice too # PATCH-FIX-OPENSUSE gdm-sysconfig-settings.patch bnc432360 hpj@novell.com -- Read autologin options from /etc/sysconfig/displaymanager; note that accountsservice has a similar patch (accountsservice-sysconfig.patch) Patch8: gdm-sysconfig-settings.patch # PATCH-NEEDS-REBASE PATCH-FEATURE-OPENSUSE gdm-passwordless-login.patch vuntz@opensuse.org -- Support DISPLAYMANAGER_PASSWORD_LESS_LOGIN sysconfig option Patch9: gdm-passwordless-login.patch # PATCH-FIX-OPENSUSE gdm-default-wm.patch vuntz@novell.com -- Use sysconfig to know to which desktop to use by default Patch34: gdm-default-wm.patch # PATCH-FIX-OPENSUSE gdm-xauthlocalhostname.patch bnc#538064 vuntz@novell.com -- Set XAUTHLOCALHOSTNAME to current hostname when we authenticate, for local logins, to avoid issues in the session in case the hostname changes later one. See comment 24 in the bug. Patch35: gdm-xauthlocalhostname.patch # PATCH-FIX-UPSTREAM gdm-look-at-runlevel.patch bnc540482 bgo599180 vuntz@opensuse.org -- Look at the current runlevel before managing the display again, so we don't do this when shutting down or rebooting Patch40: gdm-look-at-runlevel.patch # PATCH-FIX-UPSTREAM gdm-plymouth-vt1.patch bnc#881676 fcrozat@suse.com -- switch to VT1 when quitting if gdm was starting with plymouth running Patch41: gdm-plymouth-vt1.patch # PATCH-FIX-OPENSUSE gdm-handle-shutdown-at-startup.patch bsc#938874 mgorse@suse.com -- don't crash if system shutting down while we initialize Patch42: gdm-handle-shutdown-at-startup.patch # PATCH-FIX-UPSTREAM gdm-tcp-listen.patch boo#978262 boo#981012 bgo#750026 badshah400@gmail.com -- Use -listen intead of -nolisten for tcp connections to Xorg >= 1.17; patch taken from upstream and rebased for gdm 3.16 branch Patch43: gdm-tcp-listen.patch BuildRequires: check-devel # needed for directory ownership BuildRequires: dconf BuildRequires: gnome-common # needed for directory ownership BuildRequires: gnome-session-core BuildRequires: gobject-introspection-devel >= 0.9.12 BuildRequires: iso-codes-devel BuildRequires: libXdmcp-devel BuildRequires: libXi-devel BuildRequires: libXinerama-devel BuildRequires: pam-devel BuildRequires: pwdutils BuildRequires: tcpd-devel BuildRequires: translation-update-upstream BuildRequires: update-desktop-files BuildRequires: xorg-x11-server BuildRequires: xorg-x11-server-extra BuildRequires: pkgconfig(accountsservice) %if %{with_systemd} BuildRequires: pkgconfig(libsystemd-daemon) BuildRequires: pkgconfig(libsystemd-journal) BuildRequires: pkgconfig(libsystemd-login) >= 186 %endif BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(libcanberra-gtk3) BuildRequires: pkgconfig(ply-boot-client) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xau) BuildRequires: pkgconfig(xrandr) Requires: %{name}-branding = %{version} %if ! %{with_systemd} Requires: ConsoleKit-x11 %endif Requires: gdmflexiserver Requires: gnome-session-core Requires: gnome-settings-daemon Requires: gnome-shell Requires: xorg-x11-server-extra Requires(post): dconf # accessibility Recommends: orca # For groupadd, useradd, usermod PreReq: pwdutils PreReq: %insserv_prereq Recommends: %{name}-lang Recommends: iso-codes Provides: gdm2 = %{version} Obsoletes: gdm2 < %{version} Provides: gnome-applets-gdm = %{version} Obsoletes: gnome-applets-gdm < %{version} # gdmflexiserver is dropped since 3.5.90 Obsoletes: gdmflexiserver < %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build DocDir: %{_defaultdocdir} %glib2_gsettings_schema_requires %description The GNOME Display Manager is a system service that is responsible for providing graphical log-ins and managing local and remote displays. %package -n libgdm1 Summary: Client Library for Communicating with GDM Greeter Server Group: System/Libraries Recommends: gdm %description -n libgdm1 The GNOME Display Manager is a system service that is responsible for providing graphical log-ins and managing local and remote displays. %package -n typelib-1_0-Gdm-1_0 Summary: Client Library for Communicating with GDM Greeter Server -- Introspection bindings Group: System/Libraries %description -n typelib-1_0-Gdm-1_0 The GNOME Display Manager is a system service that is responsible for providing graphical log-ins and managing local and remote displays. This package provides the GObject Introspection bindings for communicating with the GDM greeter server. %package devel Summary: Libraries for GDM -- Development Files Group: Development/Libraries/GNOME Requires: libgdm1 = %{version} Requires: typelib-1_0-Gdm-1_0 = %{version} %description devel The GNOME Display Manager is a system service that is responsible for providing graphical log-ins and managing local and remote displays. %package branding-upstream Summary: The GNOME Display Manager -- Upstream default configuration Group: System/GUI/GNOME Requires: %{name} = %{version} Provides: %{name}-branding = %{version} Conflicts: otherproviders(%{name}-branding) Supplements: packageand(%{name}:branding-upstream) BuildArch: noarch #BRAND: Provide one file: #BRAND: /etc/gdm/custom.conf #BRAND: Default configuration of gdm %description branding-upstream The GNOME Display Manager is a system service that is responsible for providing graphical log-ins and managing local and remote displays. This package provides the upstream default configuration for gdm. %package -n gdmflexiserver Summary: Gdmflexiserver Compatibility Wrapper for Display Managers Group: System/GUI/GNOME Suggests: gdm BuildArch: noarch %description -n gdmflexiserver The gdmflexiserver tool interacts with the display manager to enable fast user switching. This package contains a wrapper that selects the correct gdmflexiserver implementatoin, based on the running display manager. %lang_package %prep %setup -q cp %{S:8} . translation-update-upstream %patch6 -p1 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch34 -p1 %patch35 -p1 %patch40 -p1 %patch41 -p1 %patch42 -p1 %patch43 -p1 %build NOCONFIGURE=1 sh autogen.sh %configure\ --disable-static \ --libexecdir=%{_prefix}/lib/gdm \ --localstatedir=%{_localstatedir} \ --with-at-spi-registryd-directory=%{_libexecdir}/at-spi \ --with-check-accelerated-directory=%{_libexecdir} \ --with-gnome-settings-daemon-directory=%{_libexecdir}/gnome-settings-daemon-3.0 \ --enable-ipv6 \ --with-plymouth \ %if %{with_systemd} --with-systemd \ --disable-systemd-journal \ %else --with-consolekit-directory=%{_libexecdir}/ConsoleKit \ --without-systemd \ --with-console-kit \ %endif %if %{enable_split_authentication} --enable-split-authentication \ %else --disable-split-authentication \ %endif --with-initial-vt=7 \ --with-run-dir=/run/gdm %__make %{?jobs:-j%jobs} V=1 %install %make_install find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print # caribou is being launched by gnome-shell using d-bus. The autostart .desktop file only causes warnings # see boo#953665 and bgo#740788 rm %{buildroot}%{_datadir}/gdm/greeter/autostart/caribou-autostart.desktop # Do not ship the systemd.service file: openSUSE uses xdm, which enables the DM based on sysconfig. %if %{with_systemd} rm %{buildroot}%{systemdsystemunitdir}/gdm.service %endif ## Install PAM files. mkdir -p $RPM_BUILD_ROOT/etc/pam.d # Generic pam config cp %{SOURCE1} $RPM_BUILD_ROOT/etc/pam.d/gdm # Pam config for autologin cp %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/gdm-autologin # Pam config for the greeter session cp %{SOURCE3} $RPM_BUILD_ROOT/etc/pam.d/gdm-launch-environment %if %{enable_split_authentication} # Pam config for fingerprint authentication cp %{SOURCE6} $RPM_BUILD_ROOT/etc/pam.d/gdm-fingerprint # Pam config for smartcard authentication cp %{SOURCE7} $RPM_BUILD_ROOT/etc/pam.d/gdm-smartcard %endif # The default gdm pam configuration is the one to be used as pam-password too %if %{enable_split_authentication} rm $RPM_BUILD_ROOT/etc/pam.d/gdm-password echo "We are not ready for this, we need to know what to put in gdm-fingerprint and gdm-smartcard pam config files." false %endif ln -s gdm $RPM_BUILD_ROOT/etc/pam.d/gdm-password ## Install other files # Install PostLogin script. mv $RPM_BUILD_ROOT%{_sysconfdir}/gdm/PostLogin/Default.sample $RPM_BUILD_ROOT%{_sysconfdir}/gdm/PostLogin/Default # Move gdmflexiserver to libexecdir and replace it with the compatibility wrapper mv $RPM_BUILD_ROOT%{_bindir}/gdmflexiserver $RPM_BUILD_ROOT%{_libexecdir}/gdm/gdmflexiserver install -m 755 %{SOURCE4} $RPM_BUILD_ROOT%{_bindir}/gdmflexiserver #Install /etc/xinit.d/xdm integration script install -D -m 644 %{SOURCE5} %{buildroot}%{_libexecdir}/X11/displaymanagers/gdm # Install other files mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/gdm mkdir -p $RPM_BUILD_ROOT/run/gdm mkdir -p $RPM_BUILD_ROOT%{_bindir} ln -s ../sbin/gdm $RPM_BUILD_ROOT%{_bindir}/gdm %find_lang %{name} %{?no_lang_C} %clean rm -rf $RPM_BUILD_ROOT %pre /usr/sbin/groupadd -r gdm 2> /dev/null || : /usr/sbin/useradd -r -g gdm -G video -s /bin/false \ -c "Gnome Display Manager daemon" -d /var/lib/gdm gdm 2> /dev/null || : /usr/sbin/usermod -g gdm -G video -s /bin/false gdm 2> /dev/null # Fix incorrect interpretation of DISPLAYMANAGER_PASSWORD_LESS_LOGIN (#307566). # Last done in SLED10&10.1, first fixed in 10.3. # Can be removed after SLES12: if test -f sbin/conf.d/SuSEconfig.gdm && grep -q gdm-autologin sbin/conf.d/SuSEconfig.gdm ; then if grep -q '^DISPLAYMANAGER_PASSWORD_LESS_LOGIN="no"' etc/sysconfig/displaymanager ; then sed 's/^\(auth[[:space:]][[:space:]]*\)include[[:space:]]\([[:space:]]*\)common-auth/\1required\2pam_permit.so/' <etc/pam.d/gdm-autologin >etc/pam.d/gdm-autologin.new if cmp -s etc/pam.d/gdm-autologin etc/pam.d/gdm-autologin.new ; then rm etc/pam.d/gdm-autologin.new else mv etc/pam.d/gdm-autologin.new etc/pam.d/gdm-autologin fi fi fi # Fix how DISPLAYMANAGER_PASSWORD_LESS_LOGIN is used. Before 11.4, # /etc/pam.d/gdm was changed to use pam_permit. We don't want this anymore. if test -f /sbin/conf.d/SuSEconfig.gdm; then grep -q pam_permit.so /etc/pam.d/gdm if test $? -eq 0; then # We'll just use the file from the new package mv /etc/pam.d/gdm /etc/pam.d/gdm.rpmold fi fi %post %glib2_gsettings_schema_post %icon_theme_cache_post %posttrans # Create dconf database for gdm, to lockdown the gdm session dconf update %postun %insserv_cleanup %glib2_gsettings_schema_postun %icon_theme_cache_postun %post -n libgdm1 -p /sbin/ldconfig %postun -n libgdm1 -p /sbin/ldconfig %files %defattr(-,root,root) %doc AUTHORS COPYING ChangeLog NEWS README %doc %{_datadir}/help/C/%{name}/ %dir %config %{_sysconfdir}/gdm %config %{_sysconfdir}/gdm/[IPXl]* %{_sbindir}/gdm %{_bindir}/gdm %{_bindir}/gdm-screenshot %dir %{_datadir}/dconf %dir %{_datadir}/dconf/profile %{_datadir}/dconf/profile/gdm %{_datadir}/gdm/ %{_datadir}/glib-2.0/schemas/org.gnome.login-screen.gschema.xml %{_datadir}/gnome-session/sessions/gdm-shell.session %{_datadir}/icons/*/*/*/*.* %{_datadir}/pixmaps/*.png %dir %{_libexecdir}/gdm %{_libexecdir}/gdm/gdm-* %{_libexecdir}/gdm/gdmflexiserver %attr(750,gdm,gdm) %dir %{_localstatedir}/lib/gdm %attr(750,gdm,gdm) %dir %{_localstatedir}/log/gdm %dir %{_localstatedir}/cache/gdm %ghost %attr(751,gdm,gdm) %dir /run/gdm %config /etc/pam.d/gdm %config /etc/pam.d/gdm-autologin %if %{enable_split_authentication} %config /etc/pam.d/gdm-fingerprint %config /etc/pam.d/gdm-smartcard %endif %config /etc/pam.d/gdm-password %config /etc/pam.d/gdm-launch-environment %config %{_sysconfdir}/dbus-1/system.d/gdm.conf # /etc/xinit.d/xdm integration %dir %{_libexecdir}/X11/displaymanagers %{_libexecdir}/X11/displaymanagers/gdm %files -n libgdm1 %defattr(-,root,root) %{_libdir}/libgdm.so.* %files -n typelib-1_0-Gdm-1_0 %defattr(-,root,root) %{_libdir}/girepository-1.0/Gdm-1.0.typelib %files devel %defattr(-,root,root) %{_includedir}/gdm/ %{_libdir}/libgdm.so %{_libdir}/pkgconfig/gdm.pc %{_datadir}/gir-1.0/Gdm-1.0.gir %files branding-upstream %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/gdm/custom.conf %files -n gdmflexiserver %defattr(-,root,root) %{_bindir}/gdmflexiserver %files lang -f %{name}.lang %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor