# Revert, crashes https://bugzilla.redhat.com/956868
#global _hardened_build 1
Name: lightdm
Summary: Lightweight Display Manager
Version: 1.8.2
Release: 1%{?dist}
# library/bindings are LGPLv2 or LGPLv3, the rest GPLv3+
License: (LGPLv2 or LGPLv3) and GPLv3+
#URL: http://www.freedesktop.org/wiki/Software/LightDM
URL: https://launchpad.net/lightdm/
Source0: https://launchpad.net/lightdm/1.8/%{version}/+download/lightdm-%{version}.tar.xz
Source1: lightdm.pam
Source2: lightdm-autologin.pam
Source3: lightdm-tmpfiles.conf
Source4: lightdm.service
Source6: lightdm.rules
Patch0: lightdm-lock-screen-before-switch.patch
## Downstream patches:
Patch10: lightdm-1.8.0-fedora_config.patch
# hack in support for --nodaemon option
Patch11: lightdm-nodaemon_option.patch
# disable saving to ~/.dmrc
Patch12: lightdm-1.6.0-no_dmrc_save.patch
## upstreamable patches
# https://bugzilla.redhat.com/show_bug.cgi?id=973584
# https://bugs.launchpad.net/lightdm/+bug/1190344
Patch50: lightdm-1.7.17-FD_leak.patch
BuildRequires: gettext
BuildRequires: gnome-common
BuildRequires: gtk-doc itstool
BuildRequires: intltool
BuildRequires: libgcrypt-devel
BuildRequires: pam-devel
BuildRequires: pkgconfig(dbus-glib-1)
BuildRequires: pkgconfig(gio-2.0) >= 2.26
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gmodule-export-2.0)
BuildRequires: pkgconfig(gobject-2.0)
BuildRequires: pkgconfig(gobject-introspection-1.0) >= 0.9.5
BuildRequires: pkgconfig(libxklavier)
BuildRequires: pkgconfig(QtCore)
BuildRequires: pkgconfig(QtDBus)
BuildRequires: pkgconfig(QtGui)
BuildRequires: pkgconfig(QtNetwork)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(xdmcp)
BuildRequires: systemd
BuildRequires: vala
Requires: %{name}-gobject%{?_isa} = %{version}-%{release}
Requires: accountsservice
Requires: dbus-x11
%if 0%{?fedora} && 0%{?fedora} > 18
Requires: polkit-js-engine
%endif
Requires: systemd
%{?systemd_requires}
Requires: xorg-x11-xinit
Requires(pre): shadow-utils
# beware of bootstrapping -- rex
# leaving this here, means greeters will have to require lightdm too,
# instead of relying on -gobject, -qt to pull it in
Requires: lightdm-greeter = 1.2
# needed for anaconda to boot into runlevel 5 after install
Provides: service(graphical-login) = lightdm
%description
LightDM is an X display manager that:
* Has a lightweight codebase
* Is standards compliant (PAM, ConsoleKit, etc)
* Has a well defined interface between the server and user interface
* Fully themeable (easiest with the webkit interface)
* Cross-desktop (greeters can be written in any toolkit)
%package gobject
Summary: LightDM GObject client library
# omit base package, to allow for easier bootstrapping
# requires greeters to manually
# Requires: lightdm
#Requires: %{name} = %{version}-%{release}
%description gobject
This package contains a GObject based library for LightDM clients to use to
interface with LightDM.
%package gobject-devel
Summary: Development files for %{name}-gobject
Requires: %{name}-gobject%{?_isa} = %{version}-%{release}
%description gobject-devel
%{summary}.
%package qt
Summary: LightDM QT client library
# see comment in -gobject above
#Requires: %{name} = %{version}-%{release}
%description qt
This package contains a QT based library for LightDM clients to use to interface
with LightDM.
%package qt-devel
Summary: Development files for %{name}-qt
Requires: %{name}-qt%{?_isa} = %{version}-%{release}
%description qt-devel
%{summary}.
%prep
%setup -q
%patch0 -p1 -b .lock-screen
%patch10 -p1 -b .fedora_config
%patch11 -p1 -b .nodaemon_option
%patch12 -p1 -b .no_dmrc_save
%patch50 -p1 -b .FD_leak
# rpath hack
sed -i -e 's|"/lib /usr/lib|"/%{_lib} %{_libdir}|' configure
%build
%configure \
--disable-static \
--enable-gtk-doc \
--enable-liblightdm-qt --disable-liblightdm-qt5 \
--enable-introspection \
--enable-tests \
--with-greeter-user=lightdm \
--with-greeter-session=lightdm-greeter
make %{?_smp_mflags} V=1
%install
make install DESTDIR=%{buildroot} INSTALL='install -p'
## unpackaged files
# libtool cruft
rm -fv %{buildroot}%{_libdir}/lib*.la
# We don't ship AppAmor
rm -rfv %{buildroot}%{_sysconfdir}/apparmor.d/
# omit upstart support
rm -rfv %{buildroot}%{_sysconfdir}/init
# install pam file
install -Dpm 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/pam.d/lightdm
install -Dpm 644 %{SOURCE2} %{buildroot}%{_sysconfdir}/pam.d/lightdm-autologin
install -Dpm 644 %{SOURCE3} %{buildroot}%{_prefix}/lib/tmpfiles.d/lightdm.conf
# We need to own these
mkdir -p %{buildroot}%{_datadir}/lightdm/remote-sessions
mkdir -p %{buildroot}%{_localstatedir}/cache/lightdm/
mkdir -p %{buildroot}%{_localstatedir}/run/lightdm
mkdir -p %{buildroot}%{_localstatedir}/log/lightdm
mkdir -p %{buildroot}%{_localstatedir}/lib/lightdm
%find_lang %{name} --with-gnome
install -m644 -p -D %{SOURCE4} %{buildroot}%{_unitdir}/lightdm.service
install -m644 -p -D %{SOURCE6} %{buildroot}%{_datadir}/polkit-1/rules.d/lightdm.rules
%check
# FIXME: most of these currently fail :( -- rex
make check ||:
%pre
getent group lightdm >/dev/null || groupadd -r lightdm
getent passwd lightdm >/dev/null || \
/usr/sbin/useradd -g lightdm -M -d /var/lib/lightdm -s /sbin/nologin -r lightdm
exit 0
%post
%{?systemd_post:%systemd_post lightdm.service}
%preun
%{?systemd_preun:%systemd_preun lightdm.service}
%postun
%{?systemd_postun}
%files -f %{name}.lang
%doc COPYING.GPL3
%doc NEWS
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.DisplayManager.conf
%config(noreplace) %{_sysconfdir}/pam.d/lightdm*
%dir %{_sysconfdir}/lightdm/
%config(noreplace) %{_sysconfdir}/lightdm/keys.conf
%config(noreplace) %{_sysconfdir}/lightdm/lightdm.conf
%config(noreplace) %{_sysconfdir}/lightdm/users.conf
%{_bindir}/dm-tool
%{_sbindir}/lightdm
%{_libexecdir}/lightdm/
%{_datadir}/lightdm/
%{_libdir}/girepository-1.0/LightDM-1.typelib
%{_mandir}/man1/lightdm*
%dir %attr(-,lightdm,lightdm) %{_localstatedir}/cache/lightdm/
%{_unitdir}/lightdm.service
%{_datadir}/polkit-1/rules.d/lightdm.rules
# because of systemd
%{_prefix}/lib/tmpfiles.d/lightdm.conf
%ghost %dir %{_localstatedir}/run/lightdm
%dir %attr(-,lightdm,lightdm) %{_localstatedir}/lib/lightdm/
%dir %attr(-,lightdm,lightdm) %{_localstatedir}/log/lightdm/
%post gobject -p /sbin/ldconfig
%postun gobject -p /sbin/ldconfig
%files gobject
%doc COPYING.LGPL2 COPYING.LGPL3
%{_libdir}/liblightdm-gobject-1.so.0*
%files gobject-devel
%doc %{_datadir}/gtk-doc/html/lightdm-gobject-1/
%{_includedir}/lightdm-gobject-1/
%{_libdir}/liblightdm-gobject-1.so
%{_libdir}/pkgconfig/liblightdm-gobject-1.pc
%{_datadir}/gir-1.0/LightDM-1.gir
%{_datadir}/vala/vapi/liblightdm-gobject-1.vapi
%post qt -p /sbin/ldconfig
%postun qt -p /sbin/ldconfig
%files qt
%doc COPYING.LGPL2 COPYING.LGPL3
%{_libdir}/liblightdm-qt-3.so.0*
%files qt-devel
%{_includedir}/lightdm-qt-3/
%{_libdir}/liblightdm-qt-3.so
%{_libdir}/pkgconfig/liblightdm-qt-3.pc
%changelog
* Wed Oct 16 2013 Rex Dieter <rdieter@fedoraproject.org> 1.8.2-1
- lightdm-1.8.2
* Thu Oct 10 2013 Rex Dieter <rdieter@fedoraproject.org> 1.8.1-1
- lightdm-1.8.1
* Wed Oct 09 2013 Rex Dieter <rdieter@fedoraproject.org> 1.8.0-2
- lightdm has no service file (#1017390)
* Wed Oct 09 2013 Rex Dieter <rdieter@fedoraproject.org> 1.8.0-1
- lightdm-1.8.0 (#1017081)
* Tue Oct 08 2013 Rex Dieter <rdieter@fedoraproject.org> 1.7.18-2
- systemd support no longer conditional/optional
- lightdm user home /var/lib/lightdm (instead of /var/log/lightdm)
* Mon Oct 07 2013 Rex Dieter <rdieter@fedoraproject.org> 1.7.18-1
- lightdm-1.7.18 (#1016230)
* Sat Oct 05 2013 Rex Dieter <rdieter@fedoraproject.org> 1.7.17-2
- lightdm does not maintain login history using /var/log/wtmp (#1014285)
- Lightdm leaks 6 FDs (#973584)
* Tue Sep 24 2013 Rex Dieter <rdieter@fedoraproject.org> 1.7.17-1
- lightdm-1.7.17
* Sat Sep 21 2013 Rex Dieter <rdieter@fedoraproject.org> - 1.7.16-1
- lightdm-1.7.16 (#1010183)
- add %%check (mostly useless now, but wip)
- cleanup scriptlets
* Thu Sep 12 2013 Rex Dieter <rdieter@fedoraproject.org> - 1.7.15-1
- 1.7.15 (#1006773)
- Word-readable .Xauthority (#1007187, CVE-2013-4331)
* Mon Sep 09 2013 Rex Dieter <rdieter@fedoraproject.org> 1.7.13-1
- 1.7.13
* Fri Sep 06 2013 Rex Dieter <rdieter@fedoraproject.org> 1.7.12-1
- 1.7.12 (#1001101)
* Tue Aug 27 2013 Rex Dieter <rdieter@fedoraproject.org> 1.7.11-2
- rebase nodaemon_option.patch
* Mon Aug 26 2013 Dan Mashal <dan.mashal@fedoraproject.org> - 1.7.11-1
- Update to 1.7.11
* Tue Aug 20 2013 Rex Dieter <rdieter@fedoraproject.org> 1.7.9-3
- remove systemd preset (#963899)
* Thu Aug 08 2013 Rex Dieter <rdieter@fedoraproject.org> 1.7.9-2
- rebase patches (thanks poma)
* Sat Aug 03 2013 Rex Dieter <rdieter@fedoraproject.org> 1.7.9-1
- lightdm-1.7.9 (#975998)
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.6.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Thu Jun 20 2013 Rex Dieter <rdieter@fedoraproject.org> 1.6.0-10
- fix systemd-logind support in -gobject bindings (#973618)
* Thu May 23 2013 Rex Dieter <rdieter@fedoraproject.org> 1.6.0-9
- really apply no_dmrc_save.patch (#963238)
* Tue May 21 2013 Rex Dieter <rdieter@fedoraproject.org> 1.6.0-8
- revert "lightdm is misusing the preset file logic of systemd" (#963899)
* Tue May 21 2013 Rex Dieter <rdieter@fedoraproject.org> 1.6.0-7
- cleanup/fix use of systemd macros
* Mon May 20 2013 Rex Dieter <rdieter@fedoraproject.org> 1.6.0-6
- disable lightdm writing to ~/.dmrc (#963238),
workaround selinux policy issue, use accountsservice exclusively.
- lightdm is misusing the preset file logic of systemd (#963899)
* Thu May 16 2013 Rex Dieter <rdieter@fedoraproject.org> 1.6.0-5
- %%post: setsebool -P xdm_write_home on (#963238)
* Thu Apr 25 2013 Rex Dieter <rdieter@fedoraproject.org> 1.6.0-4
- revert building PIE to avoid crashes (#956868)
* Thu Apr 25 2013 Rex Dieter <rdieter@fedoraproject.org> 1.6.0-3
- lightdm package should be built with PIE flags (#955147)
- apply systemd patch unconditionally
* Sun Apr 14 2013 Rex Dieter <rdieter@fedoraproject.org> 1.6.0-2
- lightdm does not honor UID_MIN from /etc/login.defs (#907312)
* Sun Apr 14 2013 Rex Dieter <rdieter@fedoraproject.org> 1.6.0-1
- lightdm-1.6.0
- No login key is writen in Mate-Desktop (#896130)
* Tue Apr 02 2013 Rex Dieter <rdieter@fedoraproject.org> 1.5.3-1
- lightdm-1.5.3
* Wed Mar 27 2013 Rex Dieter <rdieter@fedoraproject.org> 1.5.2-2
- lightdm.conf: +xserver-command=X -background none
* Wed Mar 27 2013 Rex Dieter <rdieter@fedoraproject.org> 1.5.2-1
- lightdm-1.5.2 (#928255)
* Sat Mar 09 2013 Rex Dieter <rdieter@fedoraproject.org> 1.5.1-1
- lightdm-1.5.1 (#919543)
* Fri Feb 22 2013 Rex Dieter <rdieter@fedoraproject.org> 1.5.0-3
- drop Requires: ConsoleKit (f18+)
* Wed Feb 06 2013 Rex Dieter <rdieter@fedoraproject.org> 1.5.0-2
- own %%_datadir/lightdm{,/remote-sessions}
- fix/cleanup macro usage
* Thu Jan 31 2013 Rex Dieter <rdieter@fedoraproject.org> 1.5.0-1
- lightdm-1.5.0
- License: (LGPLv2 or LGPLv3) and GPLv3+
* Thu Jan 31 2013 Rex Dieter <rdieter@fedoraproject.org> 1.4.0-6
- Requires: polkit-js-engine (f19+)
* Thu Jan 10 2013 Rex Dieter <rdieter@fedoraproject.org> 1.4.0-5
- polish systemd-login1 power support patch
* Tue Jan 08 2013 Rex Dieter <rdieter@fedoraproject.org> 1.4.0-4
- omit upstart/init support from packaging (#892157)
* Mon Nov 05 2012 Rex Dieter <rdieter@fedoraproject.org> 1.4.0-3
- native org.freedesktop.login1.(PowerOff|Reboot) support (#872797)
* Mon Nov 05 2012 Rex Dieter <rdieter@fedoraproject.org> 1.4.0-2
- lightdm: provide polkit .rules for actions (#872797)
* Fri Oct 05 2012 Gregor Tätzner <brummbq@fedoraproject.org> - 1.4.0-1
- lightdm-1.4.0
* Tue Sep 04 2012 Rex Dieter <rdieter@fedoraproject.org> 1.3.3-2
- lightdm.service: After=+livesys-late.service (#853985)
* Thu Aug 30 2012 Rex Dieter <rdieter@fedoraproject.org> - 1.3.3-1
- lightdm-1.3.3
- ship systemd preset for lightdm (#852845)
* Fri Aug 10 2012 Rex Dieter <rdieter@fedoraproject.org> - 1.3.2-7
- conditionalize systemd unit support
- lightdm.pam: +-session optional pam_ck_connector.so
* Tue Aug 7 2012 Lennart Poettering <lpoetter@redhat.com> - 1.3.2-6
- Add bus name to service file
* Tue Aug 7 2012 Lennart Poettering <lpoetter@redhat.com> - 1.3.2-5
- Display Manager Rework
- https://fedoraproject.org/wiki/Features/DisplayManagerRework
- https://bugzilla.redhat.com/show_bug.cgi?id=846153
* Tue Jul 24 2012 Gregor Tätzner <brummbq@fedoraproject.org> - 1.3.2-4
- import working lightdm-autologin pam config
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.3.2-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Sun Jul 15 2012 Gregor Tätzner <brummbq@fedoraproject.org> - 1.3.2-2
- comply with guidelines concerning user and group handling
* Fri Jul 13 2012 Rex Dieter <rdieter@fedoraproject.org> 1.3.2-1
- lightdm-1.3.2
* Sun Jul 01 2012 Rex Dieter <rdieter@fedoraproject.org> 1.3.1-2
- lightdm.conf: minimum-vt=1 (allows for better plymouth no vt-switch)
* Wed Jun 27 2012 Rex Dieter <rdieter@fedoraproject.org> 1.3.1-1
- lightdm-1.3.1
* Fri Jun 15 2012 Rex Dieter <rdieter@fedoraproject.org> 1.2.2-15
- default to alternatives-provided greeter
* Thu Jun 14 2012 Gregor Tätzner <brummbq@fedoraproject.org> - 1.2.2-14
- check if lightdm user exists, before creating him
- reset patch numbering
- use standard dir perm
* Tue Jun 12 2012 Rex Dieter <rdieter@fedoraproject.org> 1.2.2-13
- Requires: lightdm-greeter = 1.2
* Tue Jun 12 2012 Rex Dieter <rdieter@fedoraproject.org> 1.2.2-12
- move headers into -qt-devel pkg
* Mon Jun 11 2012 Rex Dieter <rdieter@fedoraproject.org> 1.2.2-11
- License: LGPLv3+ and GPLv3+
- make dbus files %%config
- gobject-devel, qt-devel subpkgs
* Mon May 14 2012 Rex Dieter <rdieter@fedoraproject.org> 1.2.2-10
- move /etc/tmpfiles.d/* => /usr/lib/tempfiles.d/
* Wed May 09 2012 Rex Dieter <rdieter@fedoraproject.org> 1.2.2-9
- fix typo, Requires: accountsservice
* Thu Apr 26 2012 Rex Dieter <rdieter@fedoraproject.org> 1.2.2-8
- Requires: accountservice ConsoleKit systemd
* Wed Apr 25 2012 Rex Dieter <rdieter@fedoraproject.org> 1.2.2-7
- respin nodaemon_option patch
* Wed Apr 25 2012 Rex Dieter <rdieter@fedoraproject.org> 1.2.2-6
- Requires: xorg-x11-xinit
- Requires: lightdm-greeter
- -gobject,-qt: drop dep on base pkg (easier for bootstrapping)
* Wed Apr 25 2012 Rex Dieter <rdieter@fedoraproject.org> 1.2.2-5
- make sane default lightdm.conf for fedora
- nodaemon_option.patch
- Requires: xorg-x11-xinit
* Wed Apr 25 2012 Rex Dieter <rdieter@fedoraproject.org> 1.2.2-4
- update lightdm.pam
- make /var/log/lightdm /var/lib/lightdm group-writable too
* Wed Apr 25 2012 Rex Dieter <rdieter@fedoraproject.org> 1.2.2-3
- omit useless %%post(un) scriptlets
- %%pre: add lightdm user/group
- BR: gnome-common
- %%build: --with-greeter-session=lightdm-gtk-greeter (for now)
* Tue Apr 24 2012 Rex Dieter <rdieter@fedoraproject.org> 1.2.2-2
- pkgconfig-style deps
* Tue Apr 24 2012 Rex Dieter <rdieter@fedoraproject.org> 1.2.2-1
- 1.2.2
* Fri Feb 17 2012 Christoph Wickert <cwickert@fedoraproject.org> - 1.1.3-1
- Update to 1.1.3
* Fri Feb 17 2012 Christoph Wickert <cwickert@fedoraproject.org> - 1.0.6-1
- Update to 1.0.6
- Make build verbose
* Sun Oct 02 2011 Christoph Wickert <cwickert@fedoraproject.org> - 1.0.0-1
- Update to 1.0.0
* Wed Aug 17 2011 Christoph Wickert <cwickert@fedoraproject.org> - 0.9.3-1
- Update to 0.9.3
* Fri Jul 08 2011 Christoph Wickert <cwickert@fedoraproject.org> - 0.4.2-1
- Update to 0.4.2
* Sat Jul 02 2011 Christoph Wickert <cwickert@fedoraproject.org> - 0.4.1-1
- Update to 0.4.1
* Sat Jun 25 2011 Christoph Wickert <cwickert@fedoraproject.org> - 0.4.0-1
- Update to 0.4.0
* Fri Apr 22 2011 Christoph Wickert <cwickert@fedoraproject.org> - 0.3.2-1
- Update to 0.3.2
* Sun Jan 23 2011 Christoph Wickert <cwickert@fedoraproject.org> - 0.2.3-1
- Update to 0.2.3
* Sat Oct 23 2010 Christoph Wickert <cwickert@fedoraproject.org> - 0.1.2-1
- Initial package