diff options
author | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2011-05-02 22:27:00 -0300 |
---|---|---|
committer | Nicolas Reynolds <fauno@kiwwwi.com.ar> | 2011-05-02 22:27:00 -0300 |
commit | 7046a475b24925c0ec7816ef7d2cdcf3b9cd4eb0 (patch) | |
tree | 4aa3a3a8bc27e82c152669c7f386675785341f39 /extra/slim | |
parent | 2b277c04e05c47b6f66a4a3b8b1fcf8756088153 (diff) | |
parent | ddb2605f6bccbdb398f3937ff21e4688915a450d (diff) |
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts:
extra/file-roller/PKGBUILD
Diffstat (limited to 'extra/slim')
-rw-r--r-- | extra/slim/PKGBUILD | 17 | ||||
-rw-r--r-- | extra/slim/ptr_pam.patch | 52 |
2 files changed, 62 insertions, 7 deletions
diff --git a/extra/slim/PKGBUILD b/extra/slim/PKGBUILD index 806359df7..96f18be9f 100644 --- a/extra/slim/PKGBUILD +++ b/extra/slim/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 121225 2011-04-29 15:13:05Z bisson $ +# $Id: PKGBUILD 122020 2011-05-01 17:05:22Z bisson $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Thayer Williams <thayer@archlinux.org> # Contributor: Alexander Fehr <pizzapunk gmail com> @@ -6,7 +6,7 @@ pkgname=slim pkgver=1.3.2 -pkgrel=4 +pkgrel=5 pkgdesc='Desktop-independent graphical login manager for X11' arch=('i686' 'x86_64' 'mips64el') url='http://slim.berlios.de/' @@ -18,6 +18,7 @@ source=("http://download.berlios.de/${pkgname}/${pkgname}-${pkgver}.tar.gz" 'pam.d' 'logrotate' 'gcc44.patch' + 'ptr_pam.patch' 'no-host.patch' 'restart.patch' 'sigterm.patch' @@ -27,6 +28,7 @@ sha1sums=('e421d5487732c8317f8f591906661e014b036358' 'a0e991ef0ac5120465a3be014a26e70ba073b6ae' 'b969cc902c1d9915a5609141a652c77b2732407b' '51121d451116c768d0fc027ff1ea70aaaef036e7' + '640668c984a13593a1bfba8d3b503c005d5f401e' 'b86eddd083fb9f6259e46c735f55ebe76c655bd3' '2d526bc0c498bf307ee50e2d22b4f53ffa0c4435' '0b35048723c527fb824c5e0f9b9064f751871785' @@ -38,11 +40,12 @@ build() { cd "${srcdir}/${pkgname}-${pkgver}" sed -i -e 's/png12/png14/g' Makefile - patch -p1 -i ../gcc44.patch - patch -p1 -i ../no-host.patch # do not set PAM host - patch -p1 -i ../restart.patch # restart X server if killed - patch -p1 -i ../sigterm.patch # do not wait for user input when SIGTERM'd - patch -p1 -i ../tty-slowness.patch # fix sluggish TTY after slim start + patch -p1 -i ../gcc44.patch # FS#14815: lacks include for gcc-4.4 + 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 ../tty-slowness.patch # FS#18313: fix sluggish TTY after slim start make USE_PAM=1 } diff --git a/extra/slim/ptr_pam.patch b/extra/slim/ptr_pam.patch new file mode 100644 index 000000000..3a3fbcdb7 --- /dev/null +++ b/extra/slim/ptr_pam.patch @@ -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; |