Date: Tuesday, May 8, 2012 @ 10:13:10 Author: tpowa Revision: 158728 upgpkg: slim 1.3.3-1
bump to latest version, added systemd service file Added: slim/trunk/slim.service Modified: slim/trunk/PKGBUILD Deleted: slim/trunk/no-host.patch slim/trunk/restart.patch slim/trunk/sigterm.patch slim/trunk/slim-1.3.2-libpng15.patch ---------------------------+ PKGBUILD | 60 ++++++++---------- no-host.patch | 29 -------- restart.patch | 144 -------------------------------------------- sigterm.patch | 45 ------------- slim-1.3.2-libpng15.patch | 11 --- slim.service | 10 +++ 6 files changed, 37 insertions(+), 262 deletions(-) Modified: PKGBUILD =================================================================== --- PKGBUILD 2012-05-08 13:54:05 UTC (rev 158727) +++ PKGBUILD 2012-05-08 14:13:10 UTC (rev 158728) @@ -5,59 +5,44 @@ # Contributor: Hugo Ideler <[email protected]> pkgname=slim -pkgver=1.3.2 -pkgrel=7 +pkgver=1.3.3 +pkgrel=1 pkgdesc='Desktop-independent graphical login manager for X11' arch=('i686' 'x86_64') url='http://slim.berlios.de/' license=('GPL2') -depends=('pam' 'libxmu' 'libpng' 'libjpeg' 'libxft') +depends=('consolekit' 'pam' 'libxmu' 'libpng' 'libjpeg' 'libxft') backup=('etc/slim.conf' 'etc/logrotate.d/slim' 'etc/pam.d/slim') source=("http://download.berlios.de/${pkgname}/${pkgname}-${pkgver}.tar.gz" 'rc.d' 'pam.d' 'logrotate' + 'slim.service' 'ptr_pam.patch' - 'no-host.patch' - 'restart.patch' - 'sigterm.patch' - 'session-name.patch' - 'tty-slowness.patch' - 'slim-1.3.2-libpng15.patch') -sha1sums=('e421d5487732c8317f8f591906661e014b036358' - '6fe0ba83509af634bce47be34e30995965bffc79' - 'a0e991ef0ac5120465a3be014a26e70ba073b6ae' - 'b969cc902c1d9915a5609141a652c77b2732407b' - '640668c984a13593a1bfba8d3b503c005d5f401e' - 'b86eddd083fb9f6259e46c735f55ebe76c655bd3' - '2d526bc0c498bf307ee50e2d22b4f53ffa0c4435' - '0b35048723c527fb824c5e0f9b9064f751871785' - 'fdd35562ce010babaeb793f92f9906fdcdaf3f9f' - '213fefe8533c845ea8c40585b6a8097820d5e5d2' - '3cd674e548f4e0aadbbd32a67b4efd1ed263afef') + 'session-name.patch') + install=install build() { - cd "${srcdir}/${pkgname}-${pkgver}" - - sed -i -e 's/png12/png15/g' Makefile + cd "${srcdir}/${pkgname}-${pkgver}" patch -p1 -i ../ptr_pam.patch # FS#23995: pointer mishandling confuses PAM - patch -p1 -i ../no-host.patch # cf patch: do not set PAM host - patch -p1 -i ../restart.patch # cf patch: restart X server if killed - patch -p1 -i ../sigterm.patch # FS#23984: do not wait for input when SIGTERM'd patch -p1 -i ../session-name.patch # FS#26693: fix default session name - patch -p1 -i ../tty-slowness.patch # FS#18313: fix sluggish TTY after slim start - patch -p0 -i ../slim-1.3.2-libpng15.patch - - make USE_PAM=1 + cd ${srcdir} + mkdir build + cd build + cmake ../${pkgbase}-${pkgver} \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_SKIP_RPATH=ON \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DUSE_PAM=yes -DUSE_CONSOLEKIT=yes + make } package() { - cd "${srcdir}/${pkgname}-${pkgver}" + cd ${srcdir}/build/ + make DESTDIR="${pkgdir}" install - make DESTDIR="${pkgdir}" MANDIR=/usr/share/man install - install -D -m755 ../rc.d "${pkgdir}"/etc/rc.d/slim install -D -m644 ../pam.d "${pkgdir}"/etc/pam.d/slim install -D -m644 ../logrotate "${pkgdir}"/etc/logrotate.d/slim @@ -65,4 +50,13 @@ # Provide sane defaults sed -i 's|#xserver_arguments.*|xserver_arguments -nolisten tcp vt07|' "${pkgdir}"/etc/slim.conf sed -i 's|/var/run/slim.lock|/var/lock/slim.lock|' "${pkgdir}"/etc/slim.conf + # install systemd files + install -D -m644 ${srcdir}/slim.service ${pkgdir}/usr/lib/systemd/system/slim.service } +md5sums=('ce53e44c1e4a2eacf5bb7688ee2a5de8' + 'd8ea9c4dee2811524b67f4f666311a1f' + 'e16d3a206272d11cf331ec4fc0f7ffff' + '43da096480bf72c3ccec8ad8400f34f0' + 'aef560f5a765582b2a7fc1fac5b323a7' + 'ae4b237d472ec5d373e30080aa0ff804' + 'ebcb6829028615686de7b64ceeaaf8ed') Deleted: no-host.patch =================================================================== --- no-host.patch 2012-05-08 13:54:05 UTC (rev 158727) +++ no-host.patch 2012-05-08 14:13:10 UTC (rev 158728) @@ -1,29 +0,0 @@ -Datum: Sun, 30 Jan 2011 12:49:00 +0200 -Von: Samuli Suominen <[email protected]> -An: [email protected], [email protected], [email protected] -Betreff: SLIM and ConsoleKit 0.4.2 (and up) - -People have been coming to #xfce after Arch's ConsoleKit 0.4.3 upgrade -to ask for help why Suspend / Hibernate / and such doesn't work. - -It's because SLIM is using pam_ck_connector.so and SLIM sets Host to localhost -and makes pam_ck_connector.so believe it's actually a *remote host* called -localhost and will refuse access. - -http://bugs.gentoo.org/346037 -https://developer.berlios.de/bugs/?func=detailbug&bug_id=17757&group_id=2663 -http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-misc/slim/files/346037-stop_setting_host_for_pam_ck_connector_so.patch?view=log - - -diff -aur old/app.cpp new/app.cpp ---- old/app.cpp 2011-01-30 12:39:34.033337944 +0100 -+++ new/app.cpp 2011-01-30 12:40:25.843337943 +0100 -@@ -228,8 +228,6 @@ - pam.start("slim"); - pam.set_item(PAM::Authenticator::TTY, DisplayName); - pam.set_item(PAM::Authenticator::Requestor, "root"); -- pam.set_item(PAM::Authenticator::Host, "localhost"); -- - } - catch(PAM::Exception& e){ - cerr << APPNAME << ": " << e << endl; Deleted: restart.patch =================================================================== --- restart.patch 2012-05-08 13:54:05 UTC (rev 158727) +++ restart.patch 2012-05-08 14:13:10 UTC (rev 158728) @@ -1,144 +0,0 @@ -http://developer.berlios.de/patch/?func=detailpatch&patch_id=2378&group_id=2663 - - -diff -aur slim-1.3.2.b/app.cpp slim-1.3.2.c/app.cpp ---- slim-1.3.2.b/app.cpp 2010-08-21 15:10:48.579631179 +0200 -+++ slim-1.3.2.c/app.cpp 2010-08-21 15:11:03.946389843 +0200 -@@ -104,6 +104,11 @@ - - extern App* LoginApp; - -+int xioerror(Display *disp) { -+ LoginApp->RestartServer(); -+ return 0; -+} -+ - void CatchSignal(int sig) { - cerr << APPNAME << ": unexpected signal " << sig << endl; - -@@ -114,19 +119,6 @@ - exit(ERR_EXIT); - } - -- --void AlarmSignal(int sig) { -- int pid = LoginApp->GetServerPID(); -- if(waitpid(pid, NULL, WNOHANG) == pid) { -- LoginApp->StopServer(); -- LoginApp->RemoveLock(); -- exit(OK_EXIT); -- } -- signal(sig, AlarmSignal); -- alarm(2); --} -- -- - void User1Signal(int sig) { - signal(sig, User1Signal); - } -@@ -277,7 +269,6 @@ - signal(SIGHUP, CatchSignal); - signal(SIGPIPE, CatchSignal); - signal(SIGUSR1, User1Signal); -- signal(SIGALRM, AlarmSignal); - - #ifndef XNEST_DEBUG - if (!force_nodaemon && cfg->getOption("daemon") == "yes") { -@@ -298,7 +289,6 @@ - - CreateServerAuth(); - StartServer(); -- alarm(2); - #endif - - } -@@ -614,6 +604,8 @@ - int status; - while (wpid != pid) { - wpid = wait(&status); -+ if (wpid == ServerPID) -+ xioerror(Dpy); // Server died, simulate IO error - } - if (WIFEXITED(status) && WEXITSTATUS(status)) { - LoginPanel->Message("Failed to execute login command"); -@@ -659,9 +651,6 @@ - - - void App::Reboot() { -- // Stop alarm clock -- alarm(0); -- - #ifdef USE_PAM - try{ - pam.end(); -@@ -684,9 +673,6 @@ - - - void App::Halt() { -- // Stop alarm clock -- alarm(0); -- - #ifdef USE_PAM - try{ - pam.end(); -@@ -772,6 +758,7 @@ - - StopServer(); - RemoveLock(); -+ while (waitpid(-1, NULL, WNOHANG) > 0); // Collects all dead childrens - Run(); - } - -@@ -842,6 +829,7 @@ - - for(cycles = 0; cycles < ncycles; cycles++) { - if((Dpy = XOpenDisplay(DisplayName))) { -+ XSetIOErrorHandler(xioerror); - return 1; - } else { - if(!ServerTimeout(1, (char *) "X server to begin accepting connections")) -@@ -926,9 +914,6 @@ - ServerPID = -1; - break; - } -- alarm(15); -- pause(); -- alarm(0); - - // Wait for server to start up - if(WaitForServer() == 0) { -@@ -963,15 +948,12 @@ - - - void App::StopServer() { -- // Stop alars clock and ignore signals -- alarm(0); - signal(SIGQUIT, SIG_IGN); - signal(SIGINT, SIG_IGN); - signal(SIGHUP, SIG_IGN); - signal(SIGPIPE, SIG_IGN); - signal(SIGTERM, SIG_DFL); - signal(SIGKILL, SIG_DFL); -- signal(SIGALRM, SIG_DFL); - - // Catch X error - XSetIOErrorHandler(IgnoreXIO); -diff -aur slim-1.3.2.b/app.h slim-1.3.2.c/app.h ---- slim-1.3.2.b/app.h 2010-08-21 15:10:40.499582804 +0200 -+++ slim-1.3.2.c/app.h 2010-08-21 15:11:03.946389843 +0200 -@@ -34,6 +34,7 @@ - ~App(); - void Run(); - int GetServerPID(); -+ void RestartServer(); - void StopServer(); - - bool serverStarted; -@@ -49,7 +50,6 @@ - void Console(); - void Exit(); - void KillAllClients(Bool top); -- void RestartServer(); - void ReadConfig(); - void OpenLog(); - void CloseLog(); Deleted: sigterm.patch =================================================================== --- sigterm.patch 2012-05-08 13:54:05 UTC (rev 158727) +++ sigterm.patch 2012-05-08 14:13:10 UTC (rev 158728) @@ -1,45 +0,0 @@ -diff -aur old/panel.cpp new/panel.cpp ---- old/panel.cpp 2011-04-29 15:15:57.210134850 +0200 -+++ new/panel.cpp 2011-04-29 15:16:17.260285407 +0200 -@@ -10,6 +10,7 @@ - */ - - #include <sstream> -+#include <poll.h> - #include "panel.h" - - using namespace std; -@@ -288,16 +289,24 @@ - field=curfield; - bool loop = true; - OnExpose(); -+ -+ struct pollfd x11_pfd = {0}; -+ x11_pfd.fd = ConnectionNumber(Dpy); -+ x11_pfd.events = POLLIN; - while(loop) { -- XNextEvent(Dpy, &event); -- switch(event.type) { -- case Expose: -- OnExpose(); -- break; -- -- case KeyPress: -- loop=OnKeyPress(event); -- break; -+ if(XPending(Dpy) || poll(&x11_pfd, 1, -1) > 0) { -+ while(XPending(Dpy)) { -+ XNextEvent(Dpy, &event); -+ switch(event.type) { -+ case Expose: -+ OnExpose(); -+ break; -+ -+ case KeyPress: -+ loop=OnKeyPress(event); -+ break; -+ } -+ } - } - } - Deleted: slim-1.3.2-libpng15.patch =================================================================== --- slim-1.3.2-libpng15.patch 2012-05-08 13:54:05 UTC (rev 158727) +++ slim-1.3.2-libpng15.patch 2012-05-08 14:13:10 UTC (rev 158728) @@ -1,11 +0,0 @@ ---- png.c -+++ png.c -@@ -57,7 +57,7 @@ - return(0); - } - -- if (setjmp(png_ptr->jmpbuf)) -+ if (setjmp(png_jmpbuf(png_ptr))) - { - png_destroy_read_struct(&png_ptr, &info_ptr, (png_infopp) NULL); - fclose(infile); Added: slim.service =================================================================== --- slim.service (rev 0) +++ slim.service 2012-05-08 14:13:10 UTC (rev 158728) @@ -0,0 +1,10 @@ +[Unit] +Description=SLiM Simple Login Manager +Requires=dev-tty7.device +After=dev-tty7.device systemd-user-sessions.service + +[Service] +ExecStart=/usr/bin/slim -nodaemon + +[Install] +WantedBy=graphical.target
