[arch-commits] Commit in slim/repos (14 files)

Ionut Biru ibiru at archlinux.org
Mon Jan 30 18:50:43 UTC 2012


    Date: Monday, January 30, 2012 @ 13:50:42
  Author: ibiru
Revision: 148308

db-move: moved slim from [staging] to [testing] (i686)

Added:
  slim/repos/testing-i686/
  slim/repos/testing-i686/PKGBUILD
    (from rev 148047, slim/repos/staging-i686/PKGBUILD)
  slim/repos/testing-i686/install
    (from rev 148047, slim/repos/staging-i686/install)
  slim/repos/testing-i686/logrotate
    (from rev 148047, slim/repos/staging-i686/logrotate)
  slim/repos/testing-i686/no-host.patch
    (from rev 148047, slim/repos/staging-i686/no-host.patch)
  slim/repos/testing-i686/pam.d
    (from rev 148047, slim/repos/staging-i686/pam.d)
  slim/repos/testing-i686/ptr_pam.patch
    (from rev 148047, slim/repos/staging-i686/ptr_pam.patch)
  slim/repos/testing-i686/rc.d
    (from rev 148047, slim/repos/staging-i686/rc.d)
  slim/repos/testing-i686/restart.patch
    (from rev 148047, slim/repos/staging-i686/restart.patch)
  slim/repos/testing-i686/session-name.patch
    (from rev 148047, slim/repos/staging-i686/session-name.patch)
  slim/repos/testing-i686/sigterm.patch
    (from rev 148047, slim/repos/staging-i686/sigterm.patch)
  slim/repos/testing-i686/slim-1.3.2-libpng15.patch
    (from rev 148047, slim/repos/staging-i686/slim-1.3.2-libpng15.patch)
  slim/repos/testing-i686/tty-slowness.patch
    (from rev 148047, slim/repos/staging-i686/tty-slowness.patch)
Deleted:
  slim/repos/staging-i686/

---------------------------+
 PKGBUILD                  |   68 ++++++++++++++++++++
 install                   |    7 ++
 logrotate                 |    9 ++
 no-host.patch             |   29 ++++++++
 pam.d                     |   10 +++
 ptr_pam.patch             |   52 +++++++++++++++
 rc.d                      |   36 +++++++++++
 restart.patch             |  144 ++++++++++++++++++++++++++++++++++++++++++++
 session-name.patch        |   21 ++++++
 sigterm.patch             |   45 +++++++++++++
 slim-1.3.2-libpng15.patch |   11 +++
 tty-slowness.patch        |   30 +++++++++
 12 files changed, 462 insertions(+)

Copied: slim/repos/testing-i686/PKGBUILD (from rev 148047, slim/repos/staging-i686/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2012-01-30 18:50:42 UTC (rev 148308)
@@ -0,0 +1,68 @@
+# $Id$
+# Maintainer: Gaetan Bisson <bisson at archlinux.org>
+# Contributor: Thayer Williams <thayer at archlinux.org>
+# Contributor: Alexander Fehr <pizzapunk gmail com>
+# Contributor: Hugo Ideler <hugoideler at dse.nl>
+
+pkgname=slim
+pkgver=1.3.2
+pkgrel=7
+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')
+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'
+        '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')
+
+install=install
+
+build() {
+	cd "${srcdir}/${pkgname}-${pkgver}"
+
+	sed -i -e 's/png12/png15/g' Makefile
+	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
+}
+
+package() {
+	cd "${srcdir}/${pkgname}-${pkgver}"
+
+	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
+
+	# 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
+}

Copied: slim/repos/testing-i686/install (from rev 148047, slim/repos/staging-i686/install)
===================================================================
--- testing-i686/install	                        (rev 0)
+++ testing-i686/install	2012-01-30 18:50:42 UTC (rev 148308)
@@ -0,0 +1,7 @@
+post_install() {
+  cat <<EOF
+
+==> Add slim to the DAEMONS array in /etc/rc.conf or update /etc/inittab.
+
+EOF
+}

Copied: slim/repos/testing-i686/logrotate (from rev 148047, slim/repos/staging-i686/logrotate)
===================================================================
--- testing-i686/logrotate	                        (rev 0)
+++ testing-i686/logrotate	2012-01-30 18:50:42 UTC (rev 148308)
@@ -0,0 +1,9 @@
+/var/log/slim.log {
+    compress
+    rotate 1
+    size 1024k
+    notifempty
+    missingok
+    copytruncate
+    noolddir
+}

Copied: slim/repos/testing-i686/no-host.patch (from rev 148047, slim/repos/staging-i686/no-host.patch)
===================================================================
--- testing-i686/no-host.patch	                        (rev 0)
+++ testing-i686/no-host.patch	2012-01-30 18:50:42 UTC (rev 148308)
@@ -0,0 +1,29 @@
+Datum: Sun, 30 Jan 2011 12:49:00 +0200
+Von: Samuli Suominen <ssuominen at gentoo.org>
+An: jgc at archlinux.org, andyrtr at archlinux.org, thayer at archlinux.org
+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;

Copied: slim/repos/testing-i686/pam.d (from rev 148047, slim/repos/staging-i686/pam.d)
===================================================================
--- testing-i686/pam.d	                        (rev 0)
+++ testing-i686/pam.d	2012-01-30 18:50:42 UTC (rev 148308)
@@ -0,0 +1,10 @@
+#%PAM-1.0
+auth            requisite       pam_nologin.so
+auth            required        pam_env.so
+auth            required        pam_unix.so
+account         required        pam_unix.so
+password        required        pam_unix.so
+session         required        pam_limits.so
+session         required        pam_unix.so
+session         optional        pam_loginuid.so
+session         optional        pam_ck_connector.so

Copied: slim/repos/testing-i686/ptr_pam.patch (from rev 148047, slim/repos/staging-i686/ptr_pam.patch)
===================================================================
--- testing-i686/ptr_pam.patch	                        (rev 0)
+++ testing-i686/ptr_pam.patch	2012-01-30 18:50:42 UTC (rev 148308)
@@ -0,0 +1,52 @@
+diff -aur old/app.cpp new/app.cpp
+--- old/app.cpp	2010-07-08 07:04:10.000000000 +0200
++++ new/app.cpp	2011-05-01 18:30:52.933844872 +0200
+@@ -43,8 +43,8 @@
+     Panel* panel = *static_cast<Panel**>(appdata_ptr);
+     int result = PAM_SUCCESS;
+     for (int i=0; i<num_msg; i++){
+-        resp[i]->resp=0;
+-        resp[i]->resp_retcode=0;
++        (*resp)[i].resp=0;
++        (*resp)[i].resp_retcode=0;
+         switch(msg[i]->msg_style){
+             case PAM_PROMPT_ECHO_ON:
+                 // We assume PAM is asking for the username
+@@ -53,13 +53,13 @@
+                     case Panel::Suspend:
+                     case Panel::Halt:
+                     case Panel::Reboot:
+-                        resp[i]->resp=strdup("root");
++                        (*resp)[i].resp=strdup("root");
+                         break;
+ 
+                     case Panel::Console:
+                     case Panel::Exit:
+                     case Panel::Login:
+-                        resp[i]->resp=strdup(panel->GetName().c_str());
++                        (*resp)[i].resp=strdup(panel->GetName().c_str());
+                         break;
+                 }
+                 break;
+@@ -75,7 +75,7 @@
+ 
+                     default:
+                         panel->EventHandler(Panel::Get_Passwd);
+-                        resp[i]->resp=strdup(panel->GetPasswd().c_str());
++                        (*resp)[i].resp=strdup(panel->GetPasswd().c_str());
+                         break;
+                 }
+                 break;
+@@ -91,9 +91,9 @@
+     }
+     if (result!=PAM_SUCCESS){
+         for (int i=0; i<num_msg; i++){
+-            if (resp[i]->resp==0) continue;
+-            free(resp[i]->resp);
+-            resp[i]->resp=0;
++            if ((*resp)[i].resp==0) continue;
++            free((*resp)[i].resp);
++            (*resp)[i].resp=0;
+         };
+         free(*resp);
+         *resp=0;

Copied: slim/repos/testing-i686/rc.d (from rev 148047, slim/repos/staging-i686/rc.d)
===================================================================
--- testing-i686/rc.d	                        (rev 0)
+++ testing-i686/rc.d	2012-01-30 18:50:42 UTC (rev 148308)
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+PID=`pidof -o %PPID /usr/bin/slim`
+case "$1" in
+  start)
+    stat_busy "Starting Simple Login Manager"
+    [ -z "$PID" ] && /usr/bin/slim -d &> /dev/null
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      add_daemon slim
+      stat_done
+    fi
+    ;;
+  stop)
+    stat_busy "Stopping Simple Login Manager"
+    [ ! -z "$PID" ] && kill $PID &> /dev/null
+    if [ $? -gt 0 ]; then
+      stat_fail
+    else
+      rm_daemon slim
+      stat_done
+    fi
+    ;;
+  restart)
+    $0 stop
+    sleep 3
+    $0 start
+    ;;
+  *)
+    echo "usage: $0 {start|stop|restart}"
+esac
+exit 0

Copied: slim/repos/testing-i686/restart.patch (from rev 148047, slim/repos/staging-i686/restart.patch)
===================================================================
--- testing-i686/restart.patch	                        (rev 0)
+++ testing-i686/restart.patch	2012-01-30 18:50:42 UTC (rev 148308)
@@ -0,0 +1,144 @@
+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();

Copied: slim/repos/testing-i686/session-name.patch (from rev 148047, slim/repos/staging-i686/session-name.patch)
===================================================================
--- testing-i686/session-name.patch	                        (rev 0)
+++ testing-i686/session-name.patch	2012-01-30 18:50:42 UTC (rev 148308)
@@ -0,0 +1,21 @@
+diff -Naur slim-1.3.2.old/panel.cpp slim-1.3.2.new/panel.cpp
+--- slim-1.3.2.old/panel.cpp	2010-10-24 06:01:15.117000019 +0000
++++ slim-1.3.2.new/panel.cpp	2010-10-24 17:26:30.987999967 +0000
+@@ -23,7 +23,7 @@
+     Root = root;
+     cfg = config;
+ 
+-    session = "";
++    session = cfg->nextSession(session);
+ 
+     // Init GC
+     XGCValues gcv;
+@@ -188,7 +188,7 @@
+ }
+ 
+ void Panel::ClearPanel() {
+-    session = "";
++    session = cfg->nextSession(session);
+     Reset();
+     XClearWindow(Dpy, Root);
+     XClearWindow(Dpy, Win);

Copied: slim/repos/testing-i686/sigterm.patch (from rev 148047, slim/repos/staging-i686/sigterm.patch)
===================================================================
--- testing-i686/sigterm.patch	                        (rev 0)
+++ testing-i686/sigterm.patch	2012-01-30 18:50:42 UTC (rev 148308)
@@ -0,0 +1,45 @@
+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;
++                }
++            }
+         }
+     }
+ 

Copied: slim/repos/testing-i686/slim-1.3.2-libpng15.patch (from rev 148047, slim/repos/staging-i686/slim-1.3.2-libpng15.patch)
===================================================================
--- testing-i686/slim-1.3.2-libpng15.patch	                        (rev 0)
+++ testing-i686/slim-1.3.2-libpng15.patch	2012-01-30 18:50:42 UTC (rev 148308)
@@ -0,0 +1,11 @@
+--- 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);

Copied: slim/repos/testing-i686/tty-slowness.patch (from rev 148047, slim/repos/staging-i686/tty-slowness.patch)
===================================================================
--- testing-i686/tty-slowness.patch	                        (rev 0)
+++ testing-i686/tty-slowness.patch	2012-01-30 18:50:42 UTC (rev 148308)
@@ -0,0 +1,30 @@
+diff -aur slim-1.3.2.a/app.cpp slim-1.3.2.b/app.cpp
+--- slim-1.3.2.a/app.cpp	2010-08-21 15:10:13.702755711 +0200
++++ slim-1.3.2.b/app.cpp	2010-08-21 15:10:48.579631179 +0200
+@@ -280,21 +280,22 @@
+         signal(SIGALRM, AlarmSignal);
+ 
+ #ifndef XNEST_DEBUG
+-        OpenLog();
+-        
+         if (!force_nodaemon && cfg->getOption("daemon") == "yes") {
+             daemonmode = true;
+         }
+ 
+         // Daemonize
+         if (daemonmode) {
+-            if (daemon(0, 1) == -1) {
++            if (daemon(0, 0) == -1) {
+                 cerr << APPNAME << ": " << strerror(errno) << endl;
+                 exit(ERR_EXIT);
+             }
+-            UpdatePid();
+         }
+ 
++        OpenLog();
++
++        if (daemonmode) UpdatePid();
++
+         CreateServerAuth();
+         StartServer();
+         alarm(2);




More information about the arch-commits mailing list