diff options
Diffstat (limited to 'test/slim')
-rw-r--r-- | test/slim/.footprint | 41 | ||||
-rw-r--r-- | test/slim/.md5sum | 9 | ||||
-rw-r--r-- | test/slim/Pkgfile | 45 | ||||
-rw-r--r-- | test/slim/gcc44.patch | 12 | ||||
-rwxr-xr-x | test/slim/post-install | 2 | ||||
-rwxr-xr-x | test/slim/slim | 37 | ||||
-rw-r--r-- | test/slim/slim-restart.patch | 141 | ||||
-rw-r--r-- | test/slim/slim-tty-slowness.patch | 29 | ||||
-rw-r--r-- | test/slim/slim.conf | 79 | ||||
-rw-r--r-- | test/slim/stdlib.patch | 11 | ||||
-rw-r--r-- | test/slim/xinitrc | 108 |
11 files changed, 514 insertions, 0 deletions
diff --git a/test/slim/.footprint b/test/slim/.footprint new file mode 100644 index 000000000..a4ad32a45 --- /dev/null +++ b/test/slim/.footprint @@ -0,0 +1,41 @@ +drwxr-xr-x root/root etc/ +drwxr-xr-x root/root etc/rc.d/ +drwxr-xr-x root/root etc/rc.d/init.d/ +-rwxr-xr-x root/root etc/rc.d/init.d/slim +drwxr-xr-x root/root etc/rc.d/rc0.d/ +lrwxrwxrwx root/root etc/rc.d/rc0.d/K10slim -> ../init.d/slim +drwxr-xr-x root/root etc/rc.d/rc1.d/ +lrwxrwxrwx root/root etc/rc.d/rc1.d/K10slim -> ../init.d/slim +drwxr-xr-x root/root etc/rc.d/rc2.d/ +lrwxrwxrwx root/root etc/rc.d/rc2.d/K10slim -> ../init.d/slim +drwxr-xr-x root/root etc/rc.d/rc3.d/ +lrwxrwxrwx root/root etc/rc.d/rc3.d/S40slim -> ../init.d/slim +drwxr-xr-x root/root etc/rc.d/rc4.d/ +lrwxrwxrwx root/root etc/rc.d/rc4.d/K10slim -> ../init.d/slim +drwxr-xr-x root/root etc/rc.d/rc5.d/ +lrwxrwxrwx root/root etc/rc.d/rc5.d/K10slim -> ../init.d/slim +drwxr-xr-x root/root etc/rc.d/rc6.d/ +lrwxrwxrwx root/root etc/rc.d/rc6.d/K10slim -> ../init.d/slim +drwxr-xr-x root/root etc/skel/ +-rw-r--r-- root/root etc/slim.conf +-rw-r--r-- root/root etc/slim.xinitrc +drwxr-xr-x root/root usr/ +drwxr-xr-x root/root usr/bin/ +-rwxr-xr-x root/root usr/bin/slim +drwxr-xr-x root/root usr/share/ +drwxr-xr-x root/root usr/share/man/ +drwxr-xr-x root/root usr/share/man/man1/ +-rw-r--r-- root/root usr/share/man/man1/slim.1.gz +drwxr-xr-x root/root usr/share/slim/ +drwxr-xr-x root/root usr/share/slim/themes/ +drwxr-xr-x root/root usr/share/slim/themes/default/ +-rw-r--r-- root/root usr/share/slim/themes/default/background.jpg +-rw-r--r-- root/root usr/share/slim/themes/default/panel.png +-rw-r--r-- root/root usr/share/slim/themes/default/slim.theme +drwxr-xr-x root/root usr/share/slim/themes/slim-nutyx/ +-rw-r--r-- root/root usr/share/slim/themes/slim-nutyx/COPYING +-rw-r--r-- root/root usr/share/slim/themes/slim-nutyx/COPYRIGHT.background +-rw-r--r-- root/root usr/share/slim/themes/slim-nutyx/COPYRIGHT.panel +-rw-r--r-- root/root usr/share/slim/themes/slim-nutyx/background.png +-rw-r--r-- root/root usr/share/slim/themes/slim-nutyx/panel.png +-rw-r--r-- root/root usr/share/slim/themes/slim-nutyx/slim.theme diff --git a/test/slim/.md5sum b/test/slim/.md5sum new file mode 100644 index 000000000..7f511d8cf --- /dev/null +++ b/test/slim/.md5sum @@ -0,0 +1,9 @@ +87a3a022fa1d6dfe460c2989de1da5db gcc44.patch +f7e9ef62e3d4c8e3e85865c0a169fc5f slim +727d0acb24c0fbf0751134c37a9c895f slim-1.3.1.tar.gz +648d871fe7d2a97b7d7b928019e2feee slim-restart.patch +be48f19a2e2f154bed750171e8d0fc7f slim-tty-slowness.patch +d0c5fd4f91c385cc23c35f981ac2c695 slim.conf +fdfe21bf4e734d7bdcdcd827b7e13585 slimnutyx-2009.2.tar.gz +9143a67ce78ca11a7e811138859ad54f stdlib.patch +ab0b73ade8884ddc24006cfcf03955bf xinitrc diff --git a/test/slim/Pkgfile b/test/slim/Pkgfile new file mode 100644 index 000000000..a7d97d0f4 --- /dev/null +++ b/test/slim/Pkgfile @@ -0,0 +1,45 @@ +# Description: Gestionnaire de sessions tres configurable +# URL: http://slim.berlios.de +# Maintainer: NuTyX core team +# Packager: thierryn1 at hispeed dot ch +# Depends on: xorg, expat, libjpeg, libpng + +name=slim +version=1.3.1 +release=4 +source=(http://download.berlios.de/$name/$name-$version.tar.gz\ + http://kiao.no-ip.info/NuTyX/files/slimnutyx-2009.2.tar.gz + stdlib.patch xinitrc gcc44.patch slim-restart.patch\ + slim slim.conf slim-tty-slowness.patch) + +build() { + cd $name-$version + patch -Np1 -i ../slim-tty-slowness.patch + patch -Np1 -i ../gcc44.patch + patch -Np1 -i ../slim-restart.patch + sed -i -e 's/png12/png14/g' Makefile + make + sed -i "s|/usr/X11R6/include|/usr/include/xorg|g" slim.conf + sed -i "s|/usr/X11R6/|/usr/|g" slim.conf + make DESTDIR=$PKG install + mv $SRC/slim-nutyx \ + $PKG/usr/share/slim/themes/ + mkdir -p $PKG/etc/skel + install -m644 ../slim.conf $PKG/etc/slim.conf + install -m644 ../xinitrc $PKG/etc/slim.xinitrc + mkdir -p $PKG/etc/rc.d/init.d + mkdir -p $PKG/etc/rc.d/rc{0,1,2,3,4,5,6}.d + install -D -m755 -o root -g root ../slim $PKG/etc/rc.d/init.d + for i in rc3.d; + do + ln -s ../init.d/slim $PKG/etc/rc.d/$i/S40slim + done + for i in rc{0,1,2,4,5,6}.d; + do + ln -s ../init.d/slim $PKG/etc/rc.d/$i/K10slim + done + mv $PKG/usr/man \ + $PKG/usr/share + sed -i 's@/var/run/slim.lock@/var/lock/slim.lock@' $PKG/etc/slim.conf + chown -R root:root $PKG/usr/share/slim/themes +} diff --git a/test/slim/gcc44.patch b/test/slim/gcc44.patch new file mode 100644 index 000000000..83d9f99ec --- /dev/null +++ b/test/slim/gcc44.patch @@ -0,0 +1,12 @@ +diff -ru slim-1.3.1/switchuser.h slim-patched/switchuser.h +--- slim-1.3.1/switchuser.h 2008-11-11 19:40:18.000000000 +0000 ++++ slim-patched/switchuser.h 2008-11-11 19:40:28.000000000 +0000 +@@ -18,6 +18,7 @@ + #include <pwd.h> + #include <grp.h> + #include <paths.h> ++#include <cstdio> + #include <iostream> + #include "const.h" + #include "cfg.h" + diff --git a/test/slim/post-install b/test/slim/post-install new file mode 100755 index 000000000..eae03d54b --- /dev/null +++ b/test/slim/post-install @@ -0,0 +1,2 @@ +#!/bin/bash +sed -i "s/^id:[3-5]/id:3/" /etc/inittab diff --git a/test/slim/slim b/test/slim/slim new file mode 100755 index 000000000..428d1982b --- /dev/null +++ b/test/slim/slim @@ -0,0 +1,37 @@ +#!/bin/sh +# Begin $rc_base/init.d/slim + +# $Id: $ + +. /etc/sysconfig/rc +. $rc_functions +lockfile=$(grep lockfile /etc/slim.conf |tr -s " " | cut -d" " -f2) +pid=$(pidof -o %PPID /usr/X11R6/bin/X) + + +case "$1" in + start) + boot_mesg "Starting Simple Login Manager" + loadproc /usr/bin/slim -d + ;; + stop) + boot_mesg "Stopping Simple Login Manager" + if [ -f $lockfile ]; then + rm $lockfile + fi + [ ! -z "$pid" ] && kill $pid >/dev/null 2>&1 + if [ $? -gt 0 ]; then + killproc /usr/bin/slim + fi + ;; + restart) + $0 stop + sleep 3 + $0 start + ;; + *) + echo "Usage: $0 start|stop|restart" + ;; +esac + +# End of file diff --git a/test/slim/slim-restart.patch b/test/slim/slim-restart.patch new file mode 100644 index 000000000..1f9c02dff --- /dev/null +++ b/test/slim/slim-restart.patch @@ -0,0 +1,141 @@ +diff -ur slim-1.3.1.orig/app.cpp slim-1.3.1/app.cpp +--- slim-1.3.1.orig/app.cpp 2008-09-26 02:54:15.000000000 +0200 ++++ slim-1.3.1/app.cpp 2008-11-21 20:38:48.000000000 +0100 +@@ -102,6 +102,11 @@ + + extern App* LoginApp; + ++int xioerror(Display *disp) { ++ LoginApp->RestartServer(); ++ return 0; ++} ++ + void CatchSignal(int sig) { + cerr << APPNAME << ": unexpected signal " << sig << endl; + LoginApp->StopServer(); +@@ -109,19 +114,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); + } +@@ -267,7 +259,6 @@ + signal(SIGHUP, CatchSignal); + signal(SIGPIPE, CatchSignal); + signal(SIGUSR1, User1Signal); +- signal(SIGALRM, AlarmSignal); + + #ifndef XNEST_DEBUG + OpenLog(); +@@ -287,7 +278,6 @@ + + CreateServerAuth(); + StartServer(); +- alarm(2); + #endif + + } +@@ -603,6 +593,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"); +@@ -648,9 +640,6 @@ + + + void App::Reboot() { +- // Stop alarm clock +- alarm(0); +- + #ifdef USE_PAM + try{ + pam.end(); +@@ -673,9 +662,6 @@ + + + void App::Halt() { +- // Stop alarm clock +- alarm(0); +- + #ifdef USE_PAM + try{ + pam.end(); +@@ -761,6 +747,7 @@ + + StopServer(); + RemoveLock(); ++ while (waitpid(-1, NULL, WNOHANG) > 0); // Collects all dead childrens + Run(); + } + +@@ -831,6 +818,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")) +@@ -913,9 +901,6 @@ + ServerPID = -1; + break; + } +- alarm(15); +- pause(); +- alarm(0); + + // Wait for server to start up + if(WaitForServer() == 0) { +@@ -948,15 +933,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 -ur slim-1.3.1.orig/app.h slim-1.3.1/app.h +--- slim-1.3.1.orig/app.h 2008-09-26 02:54:15.000000000 +0200 ++++ slim-1.3.1/app.h 2008-11-21 20:38:48.000000000 +0100 +@@ -34,6 +34,7 @@ + ~App(); + void Run(); + int GetServerPID(); ++ void RestartServer(); + void StopServer(); + + // Lock functions +@@ -48,7 +49,6 @@ + void Console(); + void Exit(); + void KillAllClients(Bool top); +- void RestartServer(); + void ReadConfig(); + void OpenLog(); + void CloseLog(); diff --git a/test/slim/slim-tty-slowness.patch b/test/slim/slim-tty-slowness.patch new file mode 100644 index 000000000..1f1f2e166 --- /dev/null +++ b/test/slim/slim-tty-slowness.patch @@ -0,0 +1,29 @@ +--- slim-1.3.1.orig/app.cpp 2009-01-13 11:30:36.000000000 +0900 ++++ slim-1.3.1/app.cpp 2009-01-13 11:32:27.000000000 +0900 +@@ -270,21 +270,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); diff --git a/test/slim/slim.conf b/test/slim/slim.conf new file mode 100644 index 000000000..8cf5cc460 --- /dev/null +++ b/test/slim/slim.conf @@ -0,0 +1,79 @@ +# Path, X server and arguments (if needed) +# Note: -xauth $authfile is automatically appended +default_path ./:/bin:/usr/bin:/usr/local/bin:/usr/bin +default_xserver /usr/bin/X +#xserver_arguments -dpi 75 + +# Commands for halt, login, etc. +halt_cmd /sbin/shutdown -h now +reboot_cmd /sbin/shutdown -r now +console_cmd /usr/bin/xterm -C -fg white -bg black +sb -T "Console login" -e /bin/sh -c "/bin/cat /etc/issue; exec /bin/login" +#suspend_cmd /usr/sbin/suspend + +# Full path to the xauth binary +xauth_path /usr/bin/xauth + +# Xauth file for server +authfile /var/run/slim.auth + + +# Activate numlock when slim starts. Valid values: on|off +# numlock on + +# Hide the mouse cursor (note: does not work with some WMs). +# Valid values: true|false +# hidecursor false + +# This command is executed after a succesful login. +# you can place the %session and %theme variables +# to handle launching of specific commands in .xinitrc +# depending of chosen session and slim theme +# +# NOTE: if your system does not have bash you need +# to adjust the command according to your preferred shell, +# i.e. for freebsd use: +# login_cmd exec /bin/sh - ~/.xinitrc %session +login_cmd exec /bin/bash -login ~/.xinitrc %session + +# Commands executed when starting and exiting a session. +# They can be used for registering a X11 session with +# sessreg. You can use the %user variable +# +# sessionstart_cmd some command +# sessionstop_cmd some command + +# Start in daemon mode. Valid values: yes | no +# Note that this can overridden by the command line +# option "-d" +# daemon yes + +# Available sessions (first one is the default). +# The current chosen session name is replaced in the login_cmd +# above, so your login command can handle different sessions. +# see the xinitrc.sample file shipped with slim sources +sessions twm,fvwm,jwm,lxde,blackbox,openbox,fluxbox,xfce4,gnome,icewm,wmaker,twindy,e16,ede,mwm + +# Executed when pressing F11 (requires imagemagick) +screenshot_cmd import -window root /slim.png + +# welcome message. Available variables: %host, %domain +welcome_msg Welcome to %host + +# shutdown / reboot messages +shutdown_msg The system is halting... +reboot_msg The system is rebooting... + +# default user, leave blank or remove this line +# for avoid pre-loading the username. +#default_user simone + +# current theme, use comma separated list to specify a set to +# randomly choose from +current_theme slim-nutyx + +# Lock file +lockfile /var/lock/slim.lock + +# Log file +logfile /var/log/slim.log + diff --git a/test/slim/stdlib.patch b/test/slim/stdlib.patch new file mode 100644 index 000000000..855b110dd --- /dev/null +++ b/test/slim/stdlib.patch @@ -0,0 +1,11 @@ +--- cfg.cpp.orig 2008-04-21 00:36:08.000000000 -0700 ++++ cfg.cpp 2008-04-21 00:37:01.000000000 -0700 +@@ -11,6 +11,7 @@ + #include <fstream> + #include <string> + #include <iostream> ++#include <cstdlib> + #include <unistd.h> + + #include <sys/types.h> + diff --git a/test/slim/xinitrc b/test/slim/xinitrc new file mode 100644 index 000000000..62f4d752d --- /dev/null +++ b/test/slim/xinitrc @@ -0,0 +1,108 @@ +# $Id: xinitrc,v 1.4 2008/05/13 17:33:40 install Exp install $ +# the following variable defines the session which is started if the user +# doesn't explicitely select a session +DEFAULT_SESSION=startede + +case $1 in +xfce4) + exec startxfce4 + ;; +ede) + if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then + eval `dbus-launch --sh-syntax --exit-with-session` + export DBUS_SESSION_BUS_ADDRESS + fi + exec startede + ;; + +openbox) + if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then + eval `dbus-launch --sh-syntax --exit-with-session` + export DBUS_SESSION_BUS_ADDRESS + fi + exec openbox-session + ;; +lxde) + if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then + eval `dbus-launch --sh-syntax --exit-with-session` + export DBUS_SESSION_BUS_ADDRESS + fi + exec startlxde + ;; +e16) + if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then + eval `dbus-launch --sh-syntax --exit-with-session` + export DBUS_SESSION_BUS_ADDRESS + fi + exec starte16 + ;; +fluxbox) + if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then + eval `dbus-launch --sh-syntax --exit-with-session` + export DBUS_SESSION_BUS_ADDRESS + fi + exec startfluxbox + ;; +twindy) + if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then + eval `dbus-launch --sh-syntax --exit-with-session` + export DBUS_SESSION_BUS_ADDRESS + fi + exec twindy + ;; +fvwm) + if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then + eval `dbus-launch --sh-syntax --exit-with-session` + export DBUS_SESSION_BUS_ADDRESS + fi + exec fvwm + ;; +jwm) + if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then + eval `dbus-launch --sh-syntax --exit-with-session` + export DBUS_SESSION_BUS_ADDRESS + fi + exec jwm + ;; +twm) + if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then + eval `dbus-launch --sh-syntax --exit-with-session` + export DBUS_SESSION_BUS_ADDRESS + fi + exec twm + ;; +icewm) + if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then + eval `dbus-launch --sh-syntax --exit-with-session` + export DBUS_SESSION_BUS_ADDRESS + fi + icewmbg & + icewmtray & + exec icewm + ;; +wmaker) + if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then + eval `dbus-launch --sh-syntax --exit-with-session` + export DBUS_SESSION_BUS_ADDRESS + fi + exec wmaker + ;; +blackbox) + if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then + eval `dbus-launch --sh-syntax --exit-with-session` + export DBUS_SESSION_BUS_ADDRESS + fi + exec blackbox + ;; +gnome) + exec gnome-session + exec dbus-launch --exit-with-session gnome-session + ;; +mwm) + exec mwm + ;; +*) + exec $DEFAULT_SESSION + ;; +esac + |