Group :: Graphical desktop/GNOME
RPM: gdm
Main Changelog Spec Patches Sources Download Gear Bugs and FR Repocop
%define ver_major 2.26
%define _libexecdir %_prefix/libexec
%define _localstatedir %_var
%define authentication_scheme pam
%def_disable static
%def_disable debug
%def_enable ipv6
%def_with xinerama
%def_with xdmcp
%def_with tcp_wrappers
%def_without selinux
%def_with consolekit
%def_with libaudit
%def_enable polkit
%def_without xevie
Name: gdm
Version: %ver_major.0
Release: alt1
Summary: The GNOME Display Manager
License: GPLv2+
URL: ftp://ftp.gnome.org/
Group: Graphical desktop/GNOME
Provides: gnome-dm
Requires: GConf-sanity-check
Requires: coreutils consolehelper zenity xinitrc iso-codes
Source: %gnome_ftp/%name/%ver_major/%name-%version.tar.bz2
Source2: %name-Xsession
# ALT patches
Patch2: %name-2.24.0-alt-xsession.patch
Patch5: %name-2.24.0-alt-pam.patch
# required patch24
Patch6: %name-2.26.0-alt-multistack-pam.patch
# Fedora patches
Patch12: %name-2.23.92-force-active-vt.patch
Patch13: %name-2.23.92-save-root-window.patch
Patch14: %name-2.25.2-append-logs.patch
# uses /etc/sysconfig/keyboard and is thus not directly upstreamable
# should probably be changed to get the system layout from the X server
Patch23: gdm-system-keyboard.patch
#http://git.gnome.org/cgit/preview/gdm/?h=multi-stack
Patch24: gdm-2.25.2-multistack-but-boring.patch
Patch25: gdm-2.25.2-start-faster.patch
Patch26: gdm-2.25.2-dont-depend-on-hostname.patch
# http://bugzilla.redhat.com/show_bug.cgi?id=485974
Patch27: gdm-2.26.0-clean-up-auth-entries.patch
Patch28: gdm-2.26.0-load-settings-for-other-user.patch
%{?_with_consolekit:Requires: ConsoleKit-x11}
# from configure.ac
%define dbus_glib_ver 0.74
%define glib_ver 2.15.4
%define gtk_ver 2.10.0
%define pango_ver 1.3.0
%define libglade_ver 1.99.2
%define scrollkeeper_ver 0.1.4
%define gconf_ver 2.6.1
%define policykit_ver 0.7
%define gnome_panel_ver 2.0.0
BuildPreReq: desktop-file-utils gnome-common gnome-doc-utils rpm-build-gnome
BuildPreReq: intltool >= 0.40.0
BuildPreReq: libdbus-glib-devel >= %dbus_glib_ver
BuildPreReq: libhal-devel
BuildPreReq: iso-codes-devel
BuildPreReq: glib2-devel >= %glib_ver
BuildPreReq: libgtk+2-devel >= %gtk_ver
BuildPreReq: libpango-devel >= %pango_ver
BuildPreReq: libglade-devel >= %libglade_ver
BuildPreReq: librarian
BuildPreReq: libGConf-devel >= %gconf_ver
%{?_with_consolekit:BuildPreReq: libConsoleKit-devel}
%{?_with_selinux:BuildPreReq: libselinux-devel}
%{?_with_libaudit:BuildPreReq: libaudit-devel}
BuildPreReq: libpam-devel
%{?_with_tcp_wrappers:BuildPreReq: libwrap-devel}
%{?_enable_polkit:BuildPreReq: libPolicyKit-gnome-devel >= 0.8}
BuildPreReq: libgnome-panel-devel >= 2.0.0
BuildPreReq: libxklavier-devel >= 3.5
BuildPreReq: fontconfig-devel >= 2.5.0
BuildPreReq: libX11-devel libXau-devel libXext-devel libXdmcp-devel libXft-devel libSM-devel
BuildPreReq: libXi-devel xorg-inputproto-devel libXinerama-devel xorg-xineramaproto-devel libXevie-devel
BuildPreReq: xorg-xephyr xorg-server
BuildPreReq: libcheck-devel
BuildPreReq: libnss-devel >= 3.11.1
BuildRequires: docbook-dtds gcc-c++ glibc-devel gnome-doc-utils-xslt libdmx-devel libgnomecanvas-devel libpopt-devel librsvg-devel perl-XML-Parser xorg-cf-files xsltproc zenity
%description
Gdm (the GNOME Display Manager) is a highly configurable
reimplementation of xdm, the X Display Manager. Gdm allows you to log
into your system with the X Window System running and supports running
several different X sessions on your local machine at the same time.
%package help
Summary: User documentation for Gdm
Group: Graphical desktop/GNOME
BuildArch: noarch
Conflicts: %name < %version-%release
%description help
Gdm (the GNOME Display Manager) is a highly configurable
reimplementation of xdm, the X Display Manager. Gdm allows you to log
into your system with the X Window System running and supports running
several different X sessions on your local machine at the same time.
This package contains user documentation for Gdm.
%package user-switch-applet
Summary: GNOME applet for fast user switching
Group: Graphical desktop/GNOME
Requires: gdm >= 2.21.9
Requires: xorg-x11-xnest
Obsoletes: gnome-applets-extra-fast-user-switch
Provides: gnome-applets-extra-fast-user-switch = %version-%release
%description user-switch-applet
The Fast User-Switching Applet is an applet for the GNOME panel which
provides a menu to switch between users.
%package plugin-fingerprint
Summary: Fingerprint plugin for Gdm
Group: Graphical desktop/GNOME
Requires: %name = %version-%release
Requires: %_libdir/gdm/simple-greeter/plugins
%description plugin-fingerprint
Gdm (the GNOME Display Manager) is a highly configurable
reimplementation of xdm, the X Display Manager. Gdm allows you to log
into your system with the X Window System running and supports running
several different X sessions on your local machine at the same time.
This package contains Fingerprint plugin for Gdm.
%package plugin-smartcard
Summary: Smartcard plugin for Gdm
Group: Graphical desktop/GNOME
Requires: %name = %version-%release
Requires: %_libdir/gdm/simple-greeter/plugins
%description plugin-smartcard
Gdm (the GNOME Display Manager) is a highly configurable
reimplementation of xdm, the X Display Manager. Gdm allows you to log
into your system with the X Window System running and supports running
several different X sessions on your local machine at the same time.
This package contains Smartcard plugin for Gdm.
%prep
%setup -q
subst 's at /usr/bin/grep at grep at g' data/Init.in
#%%patch2 -p1
%patch5 -p1
%patch12 -p1 -b .force-active-vt
%patch13 -p1 -b .save-root-window
%patch14 -p1 -b .append-logs
%patch23 -p1 -b .system-keyboard
%patch24 -p1 -b .multistack-but-boring
%patch6 -p1
%patch25 -p1 -b .start-faster
%patch26 -p1 -b .dont-depend-on-hostname
%patch27 -p1 -b .clean-up-auth-entries
%patch28 -p1 -b .load-settings-for-other-user
%build
mkdir -p m4
%autoreconf
export CFLAGS="$CFLAGS `pkg-config --cflags dbus-glib-1`"
export LDFLAGS="$LDFLAGS `pkg-config --libs dbus-glib-1`"
%configure \
%{subst_enable static} \
--disable-scrollkeeper \
--disable-schemas-install \
%{subst_enable polkit} \
--enable-console-helper \
--enable-authentication-scheme=%authentication_scheme \
%{subst_enable ipv6} \
%{subst_enable debug} \
--with-sysconfsubdir=X11/gdm \
%{subst_with xinerama} \
%{subst_with xdmcp} \
%{?_with_tcp_wrappers:--with-tcp-wrappers} \
%{subst_with selinux} \
%{?_with_consolekit:--with-console-kit} \
--with-pam-prefix=%_sysconfdir \
%{subst_with xevie} \
%{subst_with libaudit} \
--disable-dependency-tracking
%make_build XLIB_LIBS=" -lXau -lX11 -lXext"
# strip unneeded translations from .mo files
# ideally intltool (ha!) would do that for us
# http://bugzilla.gnome.org/show_bug.cgi?id=474987
cd po
grep -v ".*[.]desktop[.]in.*\|.*[.]server[.]in[.]in$\|.*[.]schemas[.]in$" POTFILES.in > POTFILES.keep
mv POTFILES.keep POTFILES.in
intltool-update --pot
for p in *.po; do
msgmerge $p %{name}.pot > $p.out
msgfmt -o `basename $p .po`.gmo $p.out
done
%install
mkdir -p %buildroot%_datadir/gdm/autostart/LoginWindow
%make DESTDIR=%buildroot install
mkdir -p %buildroot%_sysconfdir/X11/sessions
install -pD -m755 %SOURCE2 %buildroot%_sysconfdir/X11/%name/Xsession
find %buildroot -name '*.a' -delete
find %buildroot -name '*.la' -delete
#Remove devel files
rm -rf %buildroot%_includedir
rm -rf %buildroot%_pkgconfigdir
rm -f %buildroot%_libdir/*.so
%find_lang %name
%find_lang --output=%name-help.lang --without-mo --with-gnome %name
%preun
if [ $1 = 0 ]; then
%gconf2_uninstall gdm-simple-greeter
fi
%post
%gconf2_install gdm-simple-greeter
%files -f %name.lang
%_bindir/*
%_sbindir/*
%_libexecdir/*
%_libdir/*.so.*
%dir %_libdir/%name
%dir %_libdir/%name/simple-greeter
%dir %_libdir/%name/simple-greeter/plugins
%_libdir/%name/simple-greeter/plugins/password.so
%exclude %_libexecdir/gdm-user-switch-applet
%_datadir/%name
%_pixmapsdir/*
%_datadir/icons/*/*/*/*.*
%dir %_sysconfdir/X11/sessions
%config %_sysconfdir/pam.d/gdm
%config %_sysconfdir/pam.d/gdm-autologin
%config %_sysconfdir/dbus-1/system.d/%name.conf
%config %gconf_schemasdir/*
%config(noreplace) %_sysconfdir/X11/%name
%doc AUTHORS ChangeLog NEWS README TODO
%dir %{_localstatedir}/log/gdm
%attr(775, root, gdm) %dir %{_localstatedir}/spool/gdm
%attr(1770, gdm, gdm) %dir %{_localstatedir}/lib/gdm
%attr(1750, gdm, gdm) %dir %{_localstatedir}/lib/gdm/.gconf.mandatory
%attr(1640, gdm, gdm) %dir %{_localstatedir}/lib/gdm/.gconf.mandatory/*.xml
%attr(1640, gdm, gdm) %dir %{_localstatedir}/lib/gdm/.gconf.path
%attr(1777, root, gdm) %dir %{_localstatedir}/run/gdm
%files user-switch-applet
%_libexecdir/gdm-user-switch-applet
%bonobo_serversdir/*.server
%_datadir/gnome-2.0/ui/*
%files help -f %name-help.lang
# TODO
#files plugin-fingerprint
#%config %_sysconfdir/pam.d/gdm-fingerprint
#%_libdir/%name/simple-greeter/plugins/fingerprint.so
#files plugin-smartcard
#%config %_sysconfdir/pam.d/gdm-smartcard
#%_libdir/%name/simple-greeter/plugins/smartcard.so
%changelog
…
Full changelog you can see here
%define _libexecdir %_prefix/libexec
%define _localstatedir %_var
%define authentication_scheme pam
%def_disable static
%def_disable debug
%def_enable ipv6
%def_with xinerama
%def_with xdmcp
%def_with tcp_wrappers
%def_without selinux
%def_with consolekit
%def_with libaudit
%def_enable polkit
%def_without xevie
Name: gdm
Version: %ver_major.0
Release: alt1
Summary: The GNOME Display Manager
License: GPLv2+
URL: ftp://ftp.gnome.org/
Group: Graphical desktop/GNOME
Provides: gnome-dm
Requires: GConf-sanity-check
Requires: coreutils consolehelper zenity xinitrc iso-codes
Source: %gnome_ftp/%name/%ver_major/%name-%version.tar.bz2
Source2: %name-Xsession
# ALT patches
Patch2: %name-2.24.0-alt-xsession.patch
Patch5: %name-2.24.0-alt-pam.patch
# required patch24
Patch6: %name-2.26.0-alt-multistack-pam.patch
# Fedora patches
Patch12: %name-2.23.92-force-active-vt.patch
Patch13: %name-2.23.92-save-root-window.patch
Patch14: %name-2.25.2-append-logs.patch
# uses /etc/sysconfig/keyboard and is thus not directly upstreamable
# should probably be changed to get the system layout from the X server
Patch23: gdm-system-keyboard.patch
#http://git.gnome.org/cgit/preview/gdm/?h=multi-stack
Patch24: gdm-2.25.2-multistack-but-boring.patch
Patch25: gdm-2.25.2-start-faster.patch
Patch26: gdm-2.25.2-dont-depend-on-hostname.patch
# http://bugzilla.redhat.com/show_bug.cgi?id=485974
Patch27: gdm-2.26.0-clean-up-auth-entries.patch
Patch28: gdm-2.26.0-load-settings-for-other-user.patch
%{?_with_consolekit:Requires: ConsoleKit-x11}
# from configure.ac
%define dbus_glib_ver 0.74
%define glib_ver 2.15.4
%define gtk_ver 2.10.0
%define pango_ver 1.3.0
%define libglade_ver 1.99.2
%define scrollkeeper_ver 0.1.4
%define gconf_ver 2.6.1
%define policykit_ver 0.7
%define gnome_panel_ver 2.0.0
BuildPreReq: desktop-file-utils gnome-common gnome-doc-utils rpm-build-gnome
BuildPreReq: intltool >= 0.40.0
BuildPreReq: libdbus-glib-devel >= %dbus_glib_ver
BuildPreReq: libhal-devel
BuildPreReq: iso-codes-devel
BuildPreReq: glib2-devel >= %glib_ver
BuildPreReq: libgtk+2-devel >= %gtk_ver
BuildPreReq: libpango-devel >= %pango_ver
BuildPreReq: libglade-devel >= %libglade_ver
BuildPreReq: librarian
BuildPreReq: libGConf-devel >= %gconf_ver
%{?_with_consolekit:BuildPreReq: libConsoleKit-devel}
%{?_with_selinux:BuildPreReq: libselinux-devel}
%{?_with_libaudit:BuildPreReq: libaudit-devel}
BuildPreReq: libpam-devel
%{?_with_tcp_wrappers:BuildPreReq: libwrap-devel}
%{?_enable_polkit:BuildPreReq: libPolicyKit-gnome-devel >= 0.8}
BuildPreReq: libgnome-panel-devel >= 2.0.0
BuildPreReq: libxklavier-devel >= 3.5
BuildPreReq: fontconfig-devel >= 2.5.0
BuildPreReq: libX11-devel libXau-devel libXext-devel libXdmcp-devel libXft-devel libSM-devel
BuildPreReq: libXi-devel xorg-inputproto-devel libXinerama-devel xorg-xineramaproto-devel libXevie-devel
BuildPreReq: xorg-xephyr xorg-server
BuildPreReq: libcheck-devel
BuildPreReq: libnss-devel >= 3.11.1
BuildRequires: docbook-dtds gcc-c++ glibc-devel gnome-doc-utils-xslt libdmx-devel libgnomecanvas-devel libpopt-devel librsvg-devel perl-XML-Parser xorg-cf-files xsltproc zenity
%description
Gdm (the GNOME Display Manager) is a highly configurable
reimplementation of xdm, the X Display Manager. Gdm allows you to log
into your system with the X Window System running and supports running
several different X sessions on your local machine at the same time.
%package help
Summary: User documentation for Gdm
Group: Graphical desktop/GNOME
BuildArch: noarch
Conflicts: %name < %version-%release
%description help
Gdm (the GNOME Display Manager) is a highly configurable
reimplementation of xdm, the X Display Manager. Gdm allows you to log
into your system with the X Window System running and supports running
several different X sessions on your local machine at the same time.
This package contains user documentation for Gdm.
%package user-switch-applet
Summary: GNOME applet for fast user switching
Group: Graphical desktop/GNOME
Requires: gdm >= 2.21.9
Requires: xorg-x11-xnest
Obsoletes: gnome-applets-extra-fast-user-switch
Provides: gnome-applets-extra-fast-user-switch = %version-%release
%description user-switch-applet
The Fast User-Switching Applet is an applet for the GNOME panel which
provides a menu to switch between users.
%package plugin-fingerprint
Summary: Fingerprint plugin for Gdm
Group: Graphical desktop/GNOME
Requires: %name = %version-%release
Requires: %_libdir/gdm/simple-greeter/plugins
%description plugin-fingerprint
Gdm (the GNOME Display Manager) is a highly configurable
reimplementation of xdm, the X Display Manager. Gdm allows you to log
into your system with the X Window System running and supports running
several different X sessions on your local machine at the same time.
This package contains Fingerprint plugin for Gdm.
%package plugin-smartcard
Summary: Smartcard plugin for Gdm
Group: Graphical desktop/GNOME
Requires: %name = %version-%release
Requires: %_libdir/gdm/simple-greeter/plugins
%description plugin-smartcard
Gdm (the GNOME Display Manager) is a highly configurable
reimplementation of xdm, the X Display Manager. Gdm allows you to log
into your system with the X Window System running and supports running
several different X sessions on your local machine at the same time.
This package contains Smartcard plugin for Gdm.
%prep
%setup -q
subst 's at /usr/bin/grep at grep at g' data/Init.in
#%%patch2 -p1
%patch5 -p1
%patch12 -p1 -b .force-active-vt
%patch13 -p1 -b .save-root-window
%patch14 -p1 -b .append-logs
%patch23 -p1 -b .system-keyboard
%patch24 -p1 -b .multistack-but-boring
%patch6 -p1
%patch25 -p1 -b .start-faster
%patch26 -p1 -b .dont-depend-on-hostname
%patch27 -p1 -b .clean-up-auth-entries
%patch28 -p1 -b .load-settings-for-other-user
%build
mkdir -p m4
%autoreconf
export CFLAGS="$CFLAGS `pkg-config --cflags dbus-glib-1`"
export LDFLAGS="$LDFLAGS `pkg-config --libs dbus-glib-1`"
%configure \
%{subst_enable static} \
--disable-scrollkeeper \
--disable-schemas-install \
%{subst_enable polkit} \
--enable-console-helper \
--enable-authentication-scheme=%authentication_scheme \
%{subst_enable ipv6} \
%{subst_enable debug} \
--with-sysconfsubdir=X11/gdm \
%{subst_with xinerama} \
%{subst_with xdmcp} \
%{?_with_tcp_wrappers:--with-tcp-wrappers} \
%{subst_with selinux} \
%{?_with_consolekit:--with-console-kit} \
--with-pam-prefix=%_sysconfdir \
%{subst_with xevie} \
%{subst_with libaudit} \
--disable-dependency-tracking
%make_build XLIB_LIBS=" -lXau -lX11 -lXext"
# strip unneeded translations from .mo files
# ideally intltool (ha!) would do that for us
# http://bugzilla.gnome.org/show_bug.cgi?id=474987
cd po
grep -v ".*[.]desktop[.]in.*\|.*[.]server[.]in[.]in$\|.*[.]schemas[.]in$" POTFILES.in > POTFILES.keep
mv POTFILES.keep POTFILES.in
intltool-update --pot
for p in *.po; do
msgmerge $p %{name}.pot > $p.out
msgfmt -o `basename $p .po`.gmo $p.out
done
%install
mkdir -p %buildroot%_datadir/gdm/autostart/LoginWindow
%make DESTDIR=%buildroot install
mkdir -p %buildroot%_sysconfdir/X11/sessions
install -pD -m755 %SOURCE2 %buildroot%_sysconfdir/X11/%name/Xsession
find %buildroot -name '*.a' -delete
find %buildroot -name '*.la' -delete
#Remove devel files
rm -rf %buildroot%_includedir
rm -rf %buildroot%_pkgconfigdir
rm -f %buildroot%_libdir/*.so
%find_lang %name
%find_lang --output=%name-help.lang --without-mo --with-gnome %name
%preun
if [ $1 = 0 ]; then
%gconf2_uninstall gdm-simple-greeter
fi
%post
%gconf2_install gdm-simple-greeter
%files -f %name.lang
%_bindir/*
%_sbindir/*
%_libexecdir/*
%_libdir/*.so.*
%dir %_libdir/%name
%dir %_libdir/%name/simple-greeter
%dir %_libdir/%name/simple-greeter/plugins
%_libdir/%name/simple-greeter/plugins/password.so
%exclude %_libexecdir/gdm-user-switch-applet
%_datadir/%name
%_pixmapsdir/*
%_datadir/icons/*/*/*/*.*
%dir %_sysconfdir/X11/sessions
%config %_sysconfdir/pam.d/gdm
%config %_sysconfdir/pam.d/gdm-autologin
%config %_sysconfdir/dbus-1/system.d/%name.conf
%config %gconf_schemasdir/*
%config(noreplace) %_sysconfdir/X11/%name
%doc AUTHORS ChangeLog NEWS README TODO
%dir %{_localstatedir}/log/gdm
%attr(775, root, gdm) %dir %{_localstatedir}/spool/gdm
%attr(1770, gdm, gdm) %dir %{_localstatedir}/lib/gdm
%attr(1750, gdm, gdm) %dir %{_localstatedir}/lib/gdm/.gconf.mandatory
%attr(1640, gdm, gdm) %dir %{_localstatedir}/lib/gdm/.gconf.mandatory/*.xml
%attr(1640, gdm, gdm) %dir %{_localstatedir}/lib/gdm/.gconf.path
%attr(1777, root, gdm) %dir %{_localstatedir}/run/gdm
%files user-switch-applet
%_libexecdir/gdm-user-switch-applet
%bonobo_serversdir/*.server
%_datadir/gnome-2.0/ui/*
%files help -f %name-help.lang
# TODO
#files plugin-fingerprint
#%config %_sysconfdir/pam.d/gdm-fingerprint
#%_libdir/%name/simple-greeter/plugins/fingerprint.so
#files plugin-smartcard
#%config %_sysconfdir/pam.d/gdm-smartcard
#%_libdir/%name/simple-greeter/plugins/smartcard.so
%changelog
…
Full changelog you can see here