diff --git a/README.md b/README.md index 5991c86..6d5afb3 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,4 @@ # lxdm +Login manager for the Lightweight X11 Desktop Environment. + diff --git a/lxdm-0.3.0-Xsession-default-profile.patch b/lxdm-0.3.0-Xsession-default-profile.patch new file mode 100644 index 0000000..cf79334 --- /dev/null +++ b/lxdm-0.3.0-Xsession-default-profile.patch @@ -0,0 +1,15 @@ +diff -Nru lxdm-0.3.0.orig//data/Xsession lxdm-0.3.0/data/Xsession +--- lxdm-0.3.0.orig//data/Xsession 2010-08-23 16:44:22.000000000 +0200 ++++ lxdm-0.3.0/data/Xsession 2011-04-19 22:38:17.945102355 +0200 +@@ -2,6 +2,11 @@ + + # use bash for "exec -l", howto run login shell by /bin/sh ? + ++test -f /etc/profile && . /etc/profile ++test -f "$HOME/.profile" && . "$HOME/.profile" ++test -f /etc/xprofile && . /etc/xprofile ++test -f "$HOME/.xprofile" && . "$HOME/.xprofile" ++ + if [ $# -eq 1 -a -n "$1" ]; then + LXSESSION=$1 + else diff --git a/lxdm-0.4.1-Xorg-no-background.patch b/lxdm-0.4.1-Xorg-no-background.patch new file mode 100644 index 0000000..ba25445 --- /dev/null +++ b/lxdm-0.4.1-Xorg-no-background.patch @@ -0,0 +1,12 @@ +diff -Nru lxdm-0.4.1.orig/data/lxdm.conf.in lxdm-0.4.1/data/lxdm.conf.in +--- lxdm-0.4.1.orig/data/lxdm.conf.in 2013-07-15 13:19:08.816228232 +0200 ++++ lxdm-0.4.1/data/lxdm.conf.in 2013-07-15 13:19:51.428794540 +0200 +@@ -21,7 +21,7 @@ + [server] + active_vt=1 + ## arg used to start xserver, not fully function +-# arg=/usr/bin/X -background vt1 ++arg=/usr/bin/Xorg -background none -nolisten tcp + + [display] + ## gtk theme used by greeter diff --git a/lxdm-0.4.1-active_vt_1.patch b/lxdm-0.4.1-active_vt_1.patch new file mode 100644 index 0000000..df9c5cd --- /dev/null +++ b/lxdm-0.4.1-active_vt_1.patch @@ -0,0 +1,11 @@ +diff -Nru lxdm-0.4.1.orig/data/lxdm.conf.in lxdm-0.4.1/data/lxdm.conf.in +--- lxdm-0.4.1.orig/data/lxdm.conf.in 2011-07-29 15:42:33.000000000 +0200 ++++ lxdm-0.4.1/data/lxdm.conf.in 2013-05-25 22:06:56.406509276 +0200 +@@ -19,6 +19,7 @@ + greeter=@FULL_LIBEXECDIR@/lxdm-greeter-gtk + + [server] ++active_vt=1 + ## arg used to start xserver, not fully function + # arg=/usr/bin/X -background vt1 + diff --git a/lxdm-0.4.1-glib-2.32.patch b/lxdm-0.4.1-glib-2.32.patch new file mode 100644 index 0000000..87d0e9b --- /dev/null +++ b/lxdm-0.4.1-glib-2.32.patch @@ -0,0 +1,13 @@ +--- a/src/lxcom.c ++++ b/src/lxcom.c +@@ -89,7 +89,7 @@ static gboolean lxcom_prepare (GSource *source,gint *timeout) + + static gboolean lxcom_check(GSource *source) + { +- return TRUE; ++ return (((LXComSource*)source)->poll.revents&G_IO_IN)?TRUE:FALSE; + } + + static gboolean lxcom_dispatch (GSource *source,GSourceFunc callback,gpointer user_data) +-- +1.7.4.1 diff --git a/lxdm-0.4.1-pam_console_remove.patch b/lxdm-0.4.1-pam_console_remove.patch new file mode 100644 index 0000000..0321162 --- /dev/null +++ b/lxdm-0.4.1-pam_console_remove.patch @@ -0,0 +1,9 @@ +diff -Nru lxdm-0.4.1.orig/pam/lxdm lxdm-0.4.1/pam/lxdm +--- lxdm-0.4.1.orig/pam/lxdm 2011-07-29 15:42:33.000000000 +0200 ++++ lxdm-0.4.1/pam/lxdm 2013-04-26 16:29:31.953845992 +0200 +@@ -5,5 +5,4 @@ + session optional pam_keyinit.so force revoke + session include system-auth + session required pam_loginuid.so +-session optional pam_console.so + session optional pam_gnome_keyring.so auto_start diff --git a/lxdm.spec b/lxdm.spec new file mode 100644 index 0000000..58faa01 --- /dev/null +++ b/lxdm.spec @@ -0,0 +1,179 @@ +Name: lxdm +Version: 0.4.1 +Release: 9mamba +Summary: Login manager for the Lightweight X11 Desktop Environment +Group: Graphical Desktop/Applications/Environment +Vendor: openmamba +Distribution: openmamba +Packager: Fabio Giani +URL: http://www.lxde.org/ +Source: http://downloads.sourceforge.net/project/lxde/lxdm/LXDM%20%{version}/lxdm-%{version}.tar.gz +Patch0: %{name}-0.3.0-Xsession-default-profile.patch +Patch1: %{name}-0.4.1-glib-2.32.patch +Patch2: lxdm-0.4.1-pam_console_remove.patch +Patch3: lxdm-0.4.1-active_vt_1.patch +Patch4: lxdm-0.4.1-Xorg-no-background.patch +License: GPL +BuildRoot: %{_tmppath}/%{name}-%{version}-root +## AUTOBUILDREQ-BEGIN +BuildRequires: ConsoleKit-devel +BuildRequires: glibc-devel +BuildRequires: libatk-devel +BuildRequires: libcairo-devel +BuildRequires: libdbus-devel +BuildRequires: libfontconfig-devel +BuildRequires: libfreetype-devel +BuildRequires: libgdk-pixbuf-devel +BuildRequires: libglib-devel +BuildRequires: libgtk2-devel +BuildRequires: libpango-devel +BuildRequires: libX11-devel +BuildRequires: libxcb-devel +BuildRequires: pam-devel +## AUTOBUILDREQ-END + +%description +Login manager for the Lightweight X11 Desktop Environment. + +%debug_package + +%prep +%setup -q +%patch0 -p1 +%patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 + +# Remove pregenerated lxdm.conf to recreate with passed directories +# Fixes configuring for using /usr/local/libexec +rm -f data/lxdm.conf + +%build +%configure +%make + +%install +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" +%makeinstall + +install -d %{buildroot}/lib/systemd/system +cat >%{buildroot}/lib/systemd/system/lxdm.service << _EOF +[Unit] +Description=LXDE Display Manager +Conflicts=getty@tty1.service +After=systemd-user-sessions.service getty@tty1.service +Conflicts=plymouth-quit.service + +[Service] +ExecStart=/usr/sbin/lxdm +Restart=always + +[Install] +Alias=display-manager.service +_EOF + +rm -f %{buildroot}%{_sysconfdir}/lxdm/PreLogin + +%find_lang %{name} + +%clean +[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" + +%post +if [ $1 -ge 1 ]; then + sed -i "s|# arg=/usr/bin/X.*|arg=/usr/bin/Xorg -background none -nolisten tcp|" \ + %{_sysconfdir}/lxdm/lxdm.conf + /usr/sbin/alternatives --install \ + %{_sbindir}/login_manager login_manager %{_sbindir}/lxdm 20 + systemctl -q daemon-reload || true + systemctl -q enable lxdm.service || true +fi +exit 0 + +%postun +if [ "$1" = "0" ]; then + /usr/sbin/update-alternatives --remove login_manager %{_sbindir}/lxdm + systemctl -q disable lxdm.service || true +fi +exit 0 + +%posttrans +# runtime fix a configuration issue when upgrading from previous buggy releases +if [ $1 -ge 1 ]; then +sed -i "s|/usr/local/libexec/lxdm-greeter-gtk|%{_libexecdir}/lxdm-greeter-gtk|" %{_sysconfdir}/lxdm/lxdm.conf +fi +: + +%files -f %{name}.lang +%defattr(-,root,root) +%{_sysconfdir}/lxdm/Xsession +%dir %{_sysconfdir}/lxdm +%config(noreplace) %{_sysconfdir}/lxdm/* +%{_sysconfdir}/pam.d/lxdm +%{_bindir}/lxdm-config +%{_sbindir}/lxdm +%{_sbindir}/lxdm-binary +%{_libexecdir}/lxdm-greeter-gdk +%{_libexecdir}/lxdm-greeter-gtk +%{_libexecdir}/lxdm-numlock +/lib/systemd/system/lxdm.service +%dir %{_datadir}/lxdm +%{_datadir}/lxdm/config.ui +%dir %{_datadir}/lxdm/themes +%dir %{_datadir}/lxdm/themes/Industrial +%{_datadir}/lxdm/themes/Industrial/* +/usr/share/lxdm/lxdm.glade +%doc AUTHORS COPYING +#README TODO + +%changelog +* Mon Jul 15 2013 Silvan Calarco 0.4.1-9mamba +- fix lxdm.service after fixing plymouth 0.8.8 for smooth transition +- lxdm.conf: run X as "Xorg -background none -nolisten tcp" + +* Mon Jun 24 2013 Silvan Calarco 0.4.1-8mamba +- lxdm.service: remove plymouth from After list to allow smooth transition to X + +* Sat May 25 2013 Silvan Calarco 0.4.1-7mamba +- systemd service file: add conflict with getty@tty1 to fix start on tty1 +- patch default lxdm.conf with active_vt=1 + +* Sat May 25 2013 Silvan Calarco 0.4.1-6mamba +- really remove %{_sysconfdir}/lxfm/PreLogin + +* Fri Apr 26 2013 Silvan Calarco 0.4.1-5mamba +- remove empty PreLogin template as a workaround for it blocking login (seen on r-pi) +- remove pam_console entry from pam configuration + +* Fri Mar 22 2013 Silvan Calarco 0.4.1-4mamba +- provide and enable as systemd display-manager.service alias + +* Sat Jul 28 2012 Silvan Calarco 0.4.1-3mamba +- added patch to fix 100% cpu hog after glib 2.32 update + +* Sat Mar 31 2012 Silvan Calarco 0.4.1-2mamba +- fix wrong path /usr/local/libexec in lxdm.conf by making sure it is recreated using configure options + +* Sat Nov 12 2011 Silvan Calarco 0.4.1-1mamba +- update to 0.4.1 + +* Tue Apr 19 2011 Silvan Calarco 0.3.0-3mamba +- modified Xsession startup file to read /etc/profile and /etc/xprofile + +* Sun Jan 30 2011 Silvan Calarco 0.3.0-2mamba +- set as an alternative for login_manager +- build debug package +- fix attributes for /etc/lxdm/Xsession (was set as not executable 0644) + +* Mon Dec 13 2010 Silvan Calarco 0.3.0-1mamba +- update to 0.3.0 + +* Tue Jun 22 2010 Silvan Calarco 0.1.0-3mamba +- fixed specfile name (must be the same as package name) + +* Sat Jan 23 2010 Fabio Giani 0.1.0-2mamba +- group changed + +* Fri Jan 15 2010 Fabio Giani 0.1.0-1mamba +- package created by autospec