Blob Blame History Raw

# Revert, crashes https://bugzilla.redhat.com/956868
#global _hardened_build 1

Name:    lightdm
Summary: Lightweight Display Manager
Version: 1.8.0
Release: 2%{?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 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