[arch-commits] Commit in slim/trunk (8 files)
Gaetan Bisson
bisson at archlinux.org
Sun Jan 30 12:14:12 UTC 2011
Date: Sunday, January 30, 2011 @ 07:14:12
Author: bisson
Revision: 108150
Make slim not set PAM Host, so suspend/hibernate hopefully works (see patch).
Also, minor cosmetic changes.
Added:
slim/trunk/gcc44.patch
(from rev 108149, slim/trunk/slim-gcc44.patch)
slim/trunk/no-host.patch
slim/trunk/restart.patch
(from rev 108149, slim/trunk/slim-restart.patch)
slim/trunk/tty-slowness.patch
(from rev 108149, slim/trunk/slim-tty-slowness.patch)
Modified:
slim/trunk/PKGBUILD
Deleted:
slim/trunk/slim-gcc44.patch
slim/trunk/slim-restart.patch
slim/trunk/slim-tty-slowness.patch
-------------------------+
PKGBUILD | 45 +++++++-------
gcc44.patch | 11 +++
no-host.patch | 29 +++++++++
restart.patch | 144 ++++++++++++++++++++++++++++++++++++++++++++++
slim-gcc44.patch | 11 ---
slim-restart.patch | 141 ---------------------------------------------
slim-tty-slowness.patch | 30 ---------
tty-slowness.patch | 30 +++++++++
8 files changed, 238 insertions(+), 203 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2011-01-30 11:17:24 UTC (rev 108149)
+++ PKGBUILD 2011-01-30 12:14:12 UTC (rev 108150)
@@ -5,51 +5,54 @@
pkgname=slim
pkgver=1.3.2
-pkgrel=1
+pkgrel=2
pkgdesc='Desktop-independent graphical login manager for X11'
arch=('i686' 'x86_64')
url='http://slim.berlios.de/'
license=('GPL2')
-depends=('pam' 'libxmu' 'libpng' 'libjpeg>=8' 'libxft')
+depends=('pam' 'libxmu' 'libpng' 'libjpeg' 'libxft')
backup=('etc/slim.conf' 'etc/logrotate.d/slim' 'etc/pam.d/slim')
install=slim.install
-source=("http://download.berlios.de/${pkgname}/${pkgname}-$pkgver.tar.gz"
+source=("http://download.berlios.de/${pkgname}/${pkgname}-${pkgver}.tar.gz"
'slim'
'slim.logrotate'
'slim.pam'
- 'slim-restart.patch'
- 'slim-tty-slowness.patch'
- 'slim-gcc44.patch')
+ 'gcc44.patch'
+ 'tty-slowness.patch'
+ 'restart.patch'
+ 'no-host.patch')
sha1sums=('e421d5487732c8317f8f591906661e014b036358'
'6fe0ba83509af634bce47be34e30995965bffc79'
'b969cc902c1d9915a5609141a652c77b2732407b'
'aff213af9ade7fe05db54fcd9a193e3dcb002aa9'
- 'e9b5b624da2063d4e0cbc68de44a3eae22d509cb'
+ '51121d451116c768d0fc027ff1ea70aaaef036e7'
'213fefe8533c845ea8c40585b6a8097820d5e5d2'
- '51121d451116c768d0fc027ff1ea70aaaef036e7')
+ '2d526bc0c498bf307ee50e2d22b4f53ffa0c4435'
+ 'b86eddd083fb9f6259e46c735f55ebe76c655bd3')
build() {
- cd "$srcdir/${pkgname}-$pkgver"
+ cd "${srcdir}/${pkgname}-${pkgver}"
- sed -i -e 's/png12/png14/g' Makefile # libpng 1.4.0
- patch -p1 < ../slim-gcc44.patch
- patch -p1 < ../slim-tty-slowness.patch # fix sluggish tty after slim start
- patch -p1 < ../slim-restart.patch # restart X server if killed
- # See http://developer.berlios.de/patch/?func=detailpatch&patch_id=2378&group_id=2663
+ sed -i -e 's/png12/png14/g' Makefile
+ patch -p1 -i ../gcc44.patch
+ patch -p1 -i ../tty-slowness.patch # fix sluggish tty after slim start
+ patch -p1 -i ../restart.patch # restart X server if killed
+ patch -p1 -i ../no-host.patch # do not set PAM host
+
make USE_PAM=1
}
package() {
- cd "$srcdir/${pkgname}-$pkgver"
+ cd "${srcdir}/${pkgname}-${pkgver}"
- make DESTDIR="$pkgdir" MANDIR=/usr/share/man install
+ make DESTDIR="${pkgdir}" MANDIR=/usr/share/man install
- install -D -m755 ../slim "$pkgdir/etc/rc.d/slim"
- install -D -m644 ../slim.logrotate "$pkgdir/etc/logrotate.d/slim"
- install -D -m644 ../slim.pam "$pkgdir/etc/pam.d/slim"
+ install -D -m755 ../slim "${pkgdir}/etc/rc.d/slim"
+ install -D -m644 ../slim.logrotate "${pkgdir}/etc/logrotate.d/slim"
+ install -D -m644 ../slim.pam "${pkgdir}/etc/pam.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"
+ 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/trunk/gcc44.patch (from rev 108149, slim/trunk/slim-gcc44.patch)
===================================================================
--- gcc44.patch (rev 0)
+++ gcc44.patch 2011-01-30 12:14:12 UTC (rev 108150)
@@ -0,0 +1,11 @@
+diff -aur slim-1.3.2/switchuser.h slim-1.3.2.a/switchuser.h
+--- slim-1.3.2/switchuser.h 2010-07-08 07:04:10.000000000 +0200
++++ slim-1.3.2.a/switchuser.h 2010-08-21 15:10:34.306212393 +0200
+@@ -13,6 +13,7 @@
+ #define _SWITCHUSER_H_
+
+ #include <stdlib.h>
++#include <stdio.h> /* remove */
+ #include <unistd.h>
+ #include <string.h>
+ #include <pwd.h>
Added: no-host.patch
===================================================================
--- no-host.patch (rev 0)
+++ no-host.patch 2011-01-30 12:14:12 UTC (rev 108150)
@@ -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/trunk/restart.patch (from rev 108149, slim/trunk/slim-restart.patch)
===================================================================
--- restart.patch (rev 0)
+++ restart.patch 2011-01-30 12:14:12 UTC (rev 108150)
@@ -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();
Deleted: slim-gcc44.patch
===================================================================
--- slim-gcc44.patch 2011-01-30 11:17:24 UTC (rev 108149)
+++ slim-gcc44.patch 2011-01-30 12:14:12 UTC (rev 108150)
@@ -1,11 +0,0 @@
-diff -aur slim-1.3.2/switchuser.h slim-1.3.2.a/switchuser.h
---- slim-1.3.2/switchuser.h 2010-07-08 07:04:10.000000000 +0200
-+++ slim-1.3.2.a/switchuser.h 2010-08-21 15:10:34.306212393 +0200
-@@ -13,6 +13,7 @@
- #define _SWITCHUSER_H_
-
- #include <stdlib.h>
-+#include <stdio.h> /* remove */
- #include <unistd.h>
- #include <string.h>
- #include <pwd.h>
Deleted: slim-restart.patch
===================================================================
--- slim-restart.patch 2011-01-30 11:17:24 UTC (rev 108149)
+++ slim-restart.patch 2011-01-30 12:14:12 UTC (rev 108150)
@@ -1,141 +0,0 @@
-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: slim-tty-slowness.patch
===================================================================
--- slim-tty-slowness.patch 2011-01-30 11:17:24 UTC (rev 108149)
+++ slim-tty-slowness.patch 2011-01-30 12:14:12 UTC (rev 108150)
@@ -1,30 +0,0 @@
-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);
Copied: slim/trunk/tty-slowness.patch (from rev 108149, slim/trunk/slim-tty-slowness.patch)
===================================================================
--- tty-slowness.patch (rev 0)
+++ tty-slowness.patch 2011-01-30 12:14:12 UTC (rev 108150)
@@ -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