summaryrefslogtreecommitdiffstats
path: root/remote
diff options
context:
space:
mode:
authorJonathan Bauer2013-03-13 17:34:54 +0100
committerJonathan Bauer2013-03-13 17:34:54 +0100
commit28ffb58acc9ee84bc2ff78f0f9c6593b1f86e7a6 (patch)
tree0856ea5a4b0942236041e994d93982b49b70b4cb /remote
parentplymouth for stage3.1 (diff)
parentdelete data/stage3.1. It can be found under remote/stage3.1 now. (diff)
downloadtm-scripts-28ffb58acc9ee84bc2ff78f0f9c6593b1f86e7a6.tar.gz
tm-scripts-28ffb58acc9ee84bc2ff78f0f9c6593b1f86e7a6.tar.xz
tm-scripts-28ffb58acc9ee84bc2ff78f0f9c6593b1f86e7a6.zip
Merge branch 'master' of git.openslx.org:openslx-ng/tm-scripts
Diffstat (limited to 'remote')
-rw-r--r--remote/tools/base/base.conf3
-rw-r--r--remote/tools/consolekit/consolekit.build21
-rw-r--r--remote/tools/consolekit/consolekit.conf11
-rw-r--r--remote/tools/kdm/data/etc/kde4/kdm/kdmrc35
l---------remote/tools/kdm/data/etc/systemd/system/display-manager.service1
-rw-r--r--remote/tools/kdm/data/etc/systemd/system/kdm.service12
-rw-r--r--remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/KdmGreeterTheme.desktop8
-rw-r--r--remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/color.pngbin0 -> 176 bytes
-rw-r--r--remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/enter.pngbin0 -> 4260 bytes
-rw-r--r--remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/enter_inactive.pngbin0 -> 4072 bytes
-rw-r--r--remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/environment.pngbin0 -> 5076 bytes
-rw-r--r--remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/main-runner.pngbin0 -> 153 bytes
-rw-r--r--remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/rz-logo.pngbin0 -> 3212 bytes
-rw-r--r--remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/sessions.pngbin0 -> 4245 bytes
-rw-r--r--remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/sessions_inactive.pngbin0 -> 4066 bytes
-rw-r--r--remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/system.pngbin0 -> 4257 bytes
-rw-r--r--remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/system_inactive.pngbin0 -> 4091 bytes
-rw-r--r--remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/theme.xml232
-rw-r--r--remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/uni-logo.pngbin0 -> 44689 bytes
-rw-r--r--remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/welcome-time-shadowed.pngbin0 -> 4256 bytes
-rwxr-xr-xremote/tools/kdm/data/usr/share/xsessions/default.desktop10
-rw-r--r--remote/tools/kdm/kdm.build36
-rw-r--r--remote/tools/kdm/kdm.conf15
-rw-r--r--remote/tools/ldm-gtk-greeter/ldm-gtk-greeter.conf4
-rw-r--r--remote/tools/policykit-src/policykit.build44
-rw-r--r--remote/tools/policykit-src/policykit.conf10
-rw-r--r--remote/tools/policykit/policykit.build33
-rw-r--r--remote/tools/policykit/policykit.conf15
-rw-r--r--remote/tools/vmchooser/data/etc/openslx/vmchooser/vmchooser.conf4
-rwxr-xr-xremote/tools/vmchooser/data/openslx/bin/run-virt.sh440
-rwxr-xr-xremote/tools/vmchooser/data/openslx/bin/vmchooserbin0 -> 1673396 bytes
-rwxr-xr-xremote/tools/vmchooser/data/openslx/bin/xmlfilter.sh50
-rw-r--r--remote/tools/vmchooser/data/usr/share/vmchooser/themes/openslx/openslx-left.pngbin0 -> 9187 bytes
-rw-r--r--remote/tools/vmchooser/data/usr/share/vmchooser/themes/openslx/openslx-right.pngbin0 -> 3390 bytes
-rw-r--r--remote/tools/vmchooser/data/usr/share/vmchooser/themes/openslx/openslx.ini4
-rw-r--r--remote/tools/vmchooser/data/usr/share/vmchooser/themes/planets/planets-left.pngbin0 -> 11337 bytes
-rw-r--r--remote/tools/vmchooser/data/usr/share/vmchooser/themes/planets/planets-right.pngbin0 -> 3082 bytes
-rw-r--r--remote/tools/vmchooser/data/usr/share/vmchooser/themes/planets/planets.ini4
-rw-r--r--remote/tools/vmchooser/data/usr/share/vmchooser/themes/unifr/title_l.pngbin0 -> 17458 bytes
-rw-r--r--remote/tools/vmchooser/data/usr/share/vmchooser/themes/unifr/title_r.pngbin0 -> 4113 bytes
-rw-r--r--remote/tools/vmchooser/data/usr/share/vmchooser/themes/unifr/unifr.ini4
-rwxr-xr-xremote/tools/vmchooser/data/vmchooser/default.desktop10
-rwxr-xr-xremote/tools/vmchooser/data/vmchooser/mesgdispbin0 -> 222820 bytes
-rwxr-xr-xremote/tools/vmchooser/data/vmchooser/printer.sh10
-rwxr-xr-xremote/tools/vmchooser/data/vmchooser/scanner.sh4
-rwxr-xr-xremote/tools/vmchooser/data/vmchooser/smb.conf25
-rw-r--r--remote/tools/vmchooser/vmchooser.build27
-rw-r--r--remote/tools/vmchooser/vmchooser.conf5
48 files changed, 1042 insertions, 35 deletions
diff --git a/remote/tools/base/base.conf b/remote/tools/base/base.conf
index 29519edb..4af855b3 100644
--- a/remote/tools/base/base.conf
+++ b/remote/tools/base/base.conf
@@ -19,7 +19,8 @@ REQUIRED_BINARIES=" bash
modprobe
ps
scp
- ssh"
+ ssh
+ xterm"
REQUIRED_LIBRARIES=" libcap
libcidn
libcom_err
diff --git a/remote/tools/consolekit/consolekit.build b/remote/tools/consolekit/consolekit.build
new file mode 100644
index 00000000..ff7778aa
--- /dev/null
+++ b/remote/tools/consolekit/consolekit.build
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+fetch_source() {
+ pinfo "Extracting from running system..."
+}
+
+build() {
+ BUILDDIR="${TOOL_DIR}/${TOOL}/build"
+ COPYLIST="list_dpkg_output"
+ [ -e "${COPYLIST}" ] && rm "${COPYLIST}"
+
+ list_packet_files >> "${COPYLIST}"
+ tarcopy "$(cat "${COPYLIST}" | sort -u)" "${BUILDDIR}"
+
+}
+post_copy() {
+ mkdir -p "${INIT_DIR}/usr/lib/ConsoleKit/run-seat.d"
+ mkdir -p "${INIT_DIR}/etc/ConsoleKit/run-seat.d"
+ mkdir -p "${INIT_DIR}/etc/ConsoleKit/run-session.d"
+ mkdir -p "${INIT_DIR}/var/log/ConsoleKit"
+}
diff --git a/remote/tools/consolekit/consolekit.conf b/remote/tools/consolekit/consolekit.conf
new file mode 100644
index 00000000..38f1718f
--- /dev/null
+++ b/remote/tools/consolekit/consolekit.conf
@@ -0,0 +1,11 @@
+REQUIRED_PACKAGES="consolekit"
+REQUIRED_BINARIES=" ck-history
+ ck-launch-session
+ ck-list-sessions
+ ck-log-system-start
+ ck-log-system-restart
+ ck-log-system-stop
+ console-kit-daemon"
+REQUIRED_DIRECTORIES=" /usr/lib/ConsoleKit /etc /lib/systemd/system"
+REQUIRED_FILES=" /usr/share/dbus-1/system-services/org.freedesktop.ConsoleKit.service
+ /usr/share/polkit-1/actions/org.freedesktop.consolekit.policy"
diff --git a/remote/tools/kdm/data/etc/kde4/kdm/kdmrc b/remote/tools/kdm/data/etc/kde4/kdm/kdmrc
new file mode 100644
index 00000000..88f478ea
--- /dev/null
+++ b/remote/tools/kdm/data/etc/kde4/kdm/kdmrc
@@ -0,0 +1,35 @@
+[General]
+PidFile=/var/run/kdm.pid
+ServerVTs=-7
+
+[X-*-Greeter]
+UseTheme=true
+Theme=/usr/share/desktop/themes/kdm/uni
+UseBackground=false
+GreetString=OpenSLX Workstation (%h)
+SelectedUsers=
+UserList=false
+
+[X-:*-Greeter]
+AllowClose=false
+UseAdminSession=true
+
+[X-:0-Core]
+AllowRootLogin=true
+AllowShutdown=All
+AutoLoginEnable=false
+Reset=/etc/kde4/kdm/Xreset
+ServerAttempts=2
+Session=/etc/kde4/kdm/Xsession
+SessionsDirs=/etc/X11/session,/usr/share/xsessions,/usr/share/apps/kdm/sessions
+#Setup=/etc/kde4/kdm/Xsetup
+Startup=/etc/kde4/kdm/Xstartup
+
+[X-:0-Greeter]
+LogSource=/dev/xconsole
+PreselectUser=None
+UseAdminSession=false
+
+[xdmcp]
+Enable=false
+
diff --git a/remote/tools/kdm/data/etc/systemd/system/display-manager.service b/remote/tools/kdm/data/etc/systemd/system/display-manager.service
new file mode 120000
index 00000000..640910e3
--- /dev/null
+++ b/remote/tools/kdm/data/etc/systemd/system/display-manager.service
@@ -0,0 +1 @@
+kdm.service \ No newline at end of file
diff --git a/remote/tools/kdm/data/etc/systemd/system/kdm.service b/remote/tools/kdm/data/etc/systemd/system/kdm.service
new file mode 100644
index 00000000..14ff7457
--- /dev/null
+++ b/remote/tools/kdm/data/etc/systemd/system/kdm.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=KDM Display Manager
+Conflicts=getty@tty7.service
+After=systemd-user-sessions.service getty@tty7.service plymouth-quit.service
+
+[Service]
+ExecStart=/usr/bin/kdm -nodaemon
+Restart=always
+IgnoreSIGPIPE=no
+
+[Install]
+Alias=display-manager.service
diff --git a/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/KdmGreeterTheme.desktop b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/KdmGreeterTheme.desktop
new file mode 100644
index 00000000..36242be4
--- /dev/null
+++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/KdmGreeterTheme.desktop
@@ -0,0 +1,8 @@
+[KdmGreeterTheme]
+Encoding=UTF-8
+Greeter=theme.xml
+Name=Uni KDM theme
+Description=Uni Theme based on Daemonic KDM theme for FreeBSD
+Author=aceph <aceph@ventcore.net> and modified by MJanc
+Copyright=Creative Commons
+Screenshot=screenshot.png
diff --git a/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/color.png b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/color.png
new file mode 100644
index 00000000..c2e998e5
--- /dev/null
+++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/color.png
Binary files differ
diff --git a/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/enter.png b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/enter.png
new file mode 100644
index 00000000..b646e851
--- /dev/null
+++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/enter.png
Binary files differ
diff --git a/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/enter_inactive.png b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/enter_inactive.png
new file mode 100644
index 00000000..e12cfb8e
--- /dev/null
+++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/enter_inactive.png
Binary files differ
diff --git a/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/environment.png b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/environment.png
new file mode 100644
index 00000000..b9682822
--- /dev/null
+++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/environment.png
Binary files differ
diff --git a/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/main-runner.png b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/main-runner.png
new file mode 100644
index 00000000..fde2787d
--- /dev/null
+++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/main-runner.png
Binary files differ
diff --git a/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/rz-logo.png b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/rz-logo.png
new file mode 100644
index 00000000..d48b2b63
--- /dev/null
+++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/rz-logo.png
Binary files differ
diff --git a/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/sessions.png b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/sessions.png
new file mode 100644
index 00000000..00d05f29
--- /dev/null
+++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/sessions.png
Binary files differ
diff --git a/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/sessions_inactive.png b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/sessions_inactive.png
new file mode 100644
index 00000000..86bbe642
--- /dev/null
+++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/sessions_inactive.png
Binary files differ
diff --git a/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/system.png b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/system.png
new file mode 100644
index 00000000..f7b9e71f
--- /dev/null
+++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/system.png
Binary files differ
diff --git a/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/system_inactive.png b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/system_inactive.png
new file mode 100644
index 00000000..c3e1719b
--- /dev/null
+++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/system_inactive.png
Binary files differ
diff --git a/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/theme.xml b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/theme.xml
new file mode 100644
index 00000000..ab64ecfb
--- /dev/null
+++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/theme.xml
@@ -0,0 +1,232 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE greeter SYSTEM "greeter.dtd">
+<!--
+KDM-Uni-Theme
+-->
+<greeter id="theme">
+ <style font="Sans 11" window-text-color="#f0f0f0" base-color="#f0f0f0" text-color="#000000"/>
+
+ <!-- background -->
+ <item type="pixmap" id="background" background="true">
+ <normal file="color.png"/>
+ <pos x="0" y="0" width="100%" height="100%"/>
+ </item>
+
+ <!-- top / welcome, clock and big logo -->
+ <item type="rect" id="top" background="true">
+ <normal color="#000000" alpha="0.0"/>
+ <pos anchor="n" x="50%" y="0" width="100%" height="40%"/>
+ <box orientation="vertical" homogeneous="true">
+
+ <item type="pixmap" background="true">
+ <normal file="welcome-time-shadowed.png"/>
+ <pos anchor="n" x="50%" y="0" width="80%" height="44"/>
+ <box orientation="horizontal" homogeneous="true">
+ <!-- Welcome on ... -->
+ <item type="label" background="true">
+ <pos anchor="w" x="10%" y="30%"/>
+ <normal color="#f0f0f0" font="Sans 11"/>
+ <stock type="welcome-label"/>
+ </item>
+ <!-- clock -->
+ <item type="label" id="clock">
+ <pos anchor="e" x="90%" y="30%"/>
+ <normal color="#f0f0f0" font="Sans 11"/>
+ <text>%c</text>
+ </item>
+ </box>
+ </item>
+
+ <item type="rect" id="logo">
+ <normal color="#000000" alpha="0.0"/>
+ <pos anchor="c" x="50%" y="10%" width="100%" height="100%"/>
+ <box orientation="vertical" homogeneous="true">
+ <item type="pixmap">
+ <normal file="uni-logo.png"/>
+ <pos anchor="c" x="50%" y="50%"/>
+ </item>
+ </box>
+ </item>
+
+ </box>
+ </item>
+
+ <!-- main part / login, session, menu, ... -->
+ <item type="pixmap" id="main-runner" background="true">
+ <normal file="main-runner.png"/>
+ <pos anchor="c" x="50%" y="50%" width="100%" height="160"/>
+ <box orientation="horizontal" homogeneous="true">
+
+ <item type="rect" background="true">
+ <normal color="#000000" alpha="0.0"/>
+ <pos anchor="w" x="0%" y="50%" width="100%" height="100%"/>
+ <box orientation="horizontal" homogeneous="true">
+
+ <!-- left part / login -->
+ <item type="rect" background="true">
+ <normal color="#000000" alpha="0.0"/>
+ <pos anchor="w" x="0" y="50%" width="100%" height="100%"/>
+ <box orientation="horizontal">
+
+ <!-- small logo -->
+ <item type="pixmap" background="true">
+ <normal file="rz-logo.png"/>
+ <pos anchor="w" x="30" y="50%"/>
+ </item>
+
+ <!-- login -->
+ <item type="rect">
+ <normal color="#000000" alpha="0.0"/>
+ <pos anchor="w" x="70" y="50%" width="box" height="box"/>
+ <box orientation="horizontal" spacing="10">
+
+ <item type="rect">
+ <normal color="#000000" alpha="0.0"/>
+ <pos anchor="sw" x="0" y="100%" width="box" height="100%"/>
+ <box homogeneous="true" spacing="10">
+ <!-- username-label -->
+ <item type="label">
+ <pos anchor="nw" x="0" y="0"/>
+ <normal color="#f0f0f0" font="Sans 11"/>
+ <stock type="username-label"/>
+ </item>
+ <!-- password-label -->
+ <item type="label">
+ <pos anchor="sw" x="0" y="-0"/>
+ <normal color="#f0f0f0" font="Sans 11"/>
+ <stock type="password-label"/>
+ </item>
+ </box>
+ </item>
+
+ <item type="rect">
+ <normal color="#000000" alpha="0.0"/>
+ <pos anchor="nw" x="0" y="0" width="box" height="box"/>
+ <box homogeneous="true" spacing="10">
+ <!-- username-entry -->
+ <item type="entry" id="user-entry">
+ <pos anchor="w" x="0" y="50%" height="20" width="100"/>
+ </item>
+ <!-- password-entry -->
+ <item type="entry" id="pw-entry">
+ <pos anchor="w" x="0" y="50%" height="20" width="100"/>
+ </item>
+ </box>
+ </item>
+
+ <item type="pixmap" button="true" id="login_button">
+ <pos anchor="sw" x="0" y="-0" height="20" width="20"/>
+ <normal file="enter_inactive.png"/>
+ <prelight file="enter.png"/>
+ </item>
+
+ </box>
+ </item>
+
+ </box>
+ </item>
+
+ <!-- middle part / errors, caps info, kdm logo -->
+ <item type="rect">
+ <normal color="#000000" alpha="0.0"/>
+ <pos anchor="c" x="50%" y="50%" width="90%" height="100%"/>
+ <box orientation="vertical">
+
+ <!-- Login-Error -->
+ <item type="rect">
+ <normal color="#000000" alpha="0.0"/>
+ <pos anchor="n" x="50%" y="10" width="100%" height="30"/>
+ <box>
+ <item type="label" id="pam-error">
+ <normal color="#ff8b00" font="Sans 11"/>
+ <pos anchor="c" x="50%" y="15"/>
+ <text/>
+ </item>
+ </box>
+ </item>
+
+ <item type="pixmap">
+ <normal file="environment.png"/>
+ <pos anchor="c" x="50%" y="50%"/>
+ </item>
+
+ <!-- capslock-warning -->
+ <item type="rect" id="caps-lock-warning">
+ <normal color="#000000" alpha="0.4"/>
+ <pos anchor="s" x="50%" y="-10" width="100%" height="30"/>
+ <box>
+ <item type="label">
+ <normal color="#ff8b00" font="Sans 11"/>
+ <pos anchor="c" x="50%" y="15"/>
+ <stock type="caps-lock-warning"/>
+ </item>
+ </box>
+ </item>
+
+ </box>
+ </item>
+
+ <!-- right part / sessions, menu -->
+ <item type="rect">
+ <normal color="#000000" alpha="0.0"/>
+ <pos anchor="e" x="100%" y="50%" width="100%" height="100%"/>
+ <box orientation="vertical" homogeneous="true" spacing="10">
+
+ <!-- session-button -->
+ <item type="rect" id="session_button" button="true">
+ <normal color="#000000" alpha="0.0"/>
+ <pos anchor="se" x="-50" y="100%" width="box" height="box"/>
+ <box orientation="horizontal">
+ <item type="label">
+ <normal color="#bbbbbb" font="Sans 11"/>
+ <prelight color="#f0f0f0" font="Sans 11"/>
+ <active color="#ff8b00" font="Sans 11"/>
+ <pos anchor="e" x="100%" y="-24"/>
+ <stock type="session"/>
+ </item>
+ <item type="rect" id="session_button" button="true">
+ <normal color="#000000" alpha="0.0"/>
+ <pos anchor="c" x="50%" y="50%" width="10"/>
+ </item>
+ <item type="pixmap" id="session_button" button="true">
+ <normal file="sessions_inactive.png"/>
+ <prelight file="sessions.png"/>
+ <pos anchor="se" x="100%" y="100%"/>
+ </item>
+ </box>
+ </item>
+
+ <!-- menu-button -->
+ <item type="rect" id="system_button" button="true">
+ <normal color="#000000" alpha="0.0"/>
+ <pos anchor="ne" x="-50" y="0" width="box" height="box"/>
+ <box orientation="horizontal">
+ <item type="label">
+ <normal color="#bbbbbb" font="Sans 11"/>
+ <prelight color="#f0f0f0" font="Sans 11"/>
+ <active color="#ff8b00" font="Sans 11"/>
+ <pos anchor="e" x="100%" y="24"/>
+ <stock type="system"/>
+ </item>
+ <item type="rect" id="system_button" button="true">
+ <normal color="#000000" alpha="0.0"/>
+ <pos anchor="c" x="50%" y="50%" width="10"/>
+ </item>
+ <item type="pixmap" id="system_button" button="true">
+ <normal file="system_inactive.png"/>
+ <prelight file="system.png"/>
+ <pos anchor="ne" x="100%" y="0%"/>
+ </item>
+ </box>
+ </item>
+
+ </box>
+ </item>
+
+ </box>
+ </item>
+
+ </box>
+ </item>
+
+</greeter>
diff --git a/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/uni-logo.png b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/uni-logo.png
new file mode 100644
index 00000000..45cef30e
--- /dev/null
+++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/uni-logo.png
Binary files differ
diff --git a/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/welcome-time-shadowed.png b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/welcome-time-shadowed.png
new file mode 100644
index 00000000..f9f34c5c
--- /dev/null
+++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/welcome-time-shadowed.png
Binary files differ
diff --git a/remote/tools/kdm/data/usr/share/xsessions/default.desktop b/remote/tools/kdm/data/usr/share/xsessions/default.desktop
new file mode 100755
index 00000000..c6a0f825
--- /dev/null
+++ b/remote/tools/kdm/data/usr/share/xsessions/default.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=virtual machine chooser (default)
+Name[de]=Virtuelle Maschine auswählen
+Comment=This session starts the vm session chooser
+Comment[de]=Diese Sitzung startet das Auswahlmenü für die vorhandenen Sitzungen
+Exec=/openslx/bin/vmchooser
+TryExec=/openslx/bin/vmchooser
+Icon=
+Type=Application
diff --git a/remote/tools/kdm/kdm.build b/remote/tools/kdm/kdm.build
new file mode 100644
index 00000000..737853a9
--- /dev/null
+++ b/remote/tools/kdm/kdm.build
@@ -0,0 +1,36 @@
+#tool/distro specific functions for fetching, building and installing dependencies
+
+
+fetch_source () {
+ pinfo "Extracting from running system..."
+}
+
+build () {
+ BUILDDIR="${TOOL_DIR}/${TOOL}/build"
+ COPYLIST="list_dpkg_output"
+ [ -e "${COPYLIST}" ] && rm "${COPYLIST}"
+
+ list_packet_files >> "${COPYLIST}"
+ tarcopy "$(cat "${COPYLIST}" | sort -u)" "${BUILDDIR}"
+}
+
+post_copy() {
+ # copy static kdm files to stage3.2
+ cp -r ${TOOL_DIR}/${TOOL}/data/* ${INIT_DIR}
+ #create static kdm folders in stage3.2
+ mkdir -p ${INIT_DIR}/var/lib/kdm
+ mkdir -p ${INIT_DIR}/var/run/kdm
+
+
+ #copy required icons
+ tarcopy "/usr/share/icons/oxygen/16x16/actions/system-reboot.png" ${INIT_DIR}
+ tarcopy "/usr/share/icons/oxygen/16x16/actions/system-shutdown.png" ${INIT_DIR}
+ tarcopy "/usr/share/icons/oxygen/16x16/actions/dialog-cancel.png" ${INIT_DIR}
+ tarcopy "/usr/share/icons/oxygen/index.theme" ${INIT_DIR}
+ tarcopy "/usr/share/kde4/apps/kdm/pics/shutdown.png" ${INIT_DIR}
+ tarcopy "/usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf" ${INIT_DIR}
+ tarcopy "/usr/share/fonts/truetype/ubuntu-font-family/Ubuntu-R.ttf" ${INIT_DIR}
+ tarcopy "/usr/share/icons/default/index.theme" ${INIT_DIR}
+ gtk-update-icon-cache-3.0 "${INIT_DIR}/usr/share/icons/oxygen/" || perror "update-icon-cache-3.0 failed."
+}
+
diff --git a/remote/tools/kdm/kdm.conf b/remote/tools/kdm/kdm.conf
new file mode 100644
index 00000000..85f4ae66
--- /dev/null
+++ b/remote/tools/kdm/kdm.conf
@@ -0,0 +1,15 @@
+REQUIRED_DEPENDENCIES="kdm"
+REQUIRED_PACKAGES="kdm kde-workspace-kgreet-plugins"
+REQUIRED_BINARIES=""
+REQUIRED_DIRECTORIES=" /etc/dbus-1
+ /etc/pam.d
+ /etc/logrotate.d
+ /etc/insserv.conf.d
+ /etc/kde4/kdm
+ /usr/lib/kde4
+ /usr/share/dbus-1
+ /usr/share/polkit-1
+ /usr/share/kde4/services
+ /usr/bin"
+REQUIRED_FILES=""
+REQUIRED_LIBRARIES=""
diff --git a/remote/tools/ldm-gtk-greeter/ldm-gtk-greeter.conf b/remote/tools/ldm-gtk-greeter/ldm-gtk-greeter.conf
index 800e5f79..58d189b7 100644
--- a/remote/tools/ldm-gtk-greeter/ldm-gtk-greeter.conf
+++ b/remote/tools/ldm-gtk-greeter/ldm-gtk-greeter.conf
@@ -1,9 +1,9 @@
VERSION=lightdm-gtk-greeter-1.3.1
URL=https://launchpad.net/lightdm-gtk-greeter/1.4/1.3.1/+download/lightdm-gtk-greeter-1.3.1.tar.gz
REQUIRED_DEPENDENCIES="gtk+-3.0 liblightdm-gobject-1-dev libgdk-pixbuf2.0-0 libpango1.0-0 librsvg2-common shared-mime-info gnome-themes-standard"
-REQUIRED_PACKAGES="libgdk-pixbuf2.0-0 libpango1.0-0 librsvg2-common shared-mime-info gnome-themes-standard policykit-1"
+REQUIRED_PACKAGES="libgdk-pixbuf2.0-0 libpango1.0-0 librsvg2-common shared-mime-info gnome-themes-standard"
REQUIRED_BINARIES="lightdm-gtk-greeter"
-REQUIRED_DIRECTORIES="/usr/lib /usr/share/lightdm-gtk-greeter /usr/share/mime /usr/share/xgreeters /usr/share/icons /usr/share/themes /etc /usr/bin /usr/share/polkit-1 /usr/share/dbus-1"
+REQUIRED_DIRECTORIES="/usr/lib /usr/share/lightdm-gtk-greeter /usr/share/mime /usr/share/xgreeters /usr/share/icons /usr/share/themes /etc /usr/bin"
REQUIRED_FILES="/etc/lightdm/lightdm-gtk-greeter.conf"
REQUIRED_MODULES="ldm"
diff --git a/remote/tools/policykit-src/policykit.build b/remote/tools/policykit-src/policykit.build
new file mode 100644
index 00000000..72d7f246
--- /dev/null
+++ b/remote/tools/policykit-src/policykit.build
@@ -0,0 +1,44 @@
+#tool/distro specific functions for fetching, building and installing dependencies
+
+
+fetch_source () {
+ [ ! -e .fetched_source ] && download_untar "$URL" "src/"
+ touch .fetched_source
+}
+
+build () {
+ BUILDDIR=$TOOL_DIR/$TOOL/build
+
+ if [ ! -e .built ]; then
+ cd src/$VERSION
+
+ [ ! -d "${TOOL_DIR}/systemd/build" ] && perror "systemd build directory not found. Build it first."
+ pinfo "configuring..."
+ LIBSYSTEMD_LOGIN_LIBS="-L${TOOL_DIR}/systemd/build/usr/lib/" \
+ LIBSYSTEMD_LOGIN_CFLAGS="-I${TOOL_DIR}/systemd/build/usr/include -I${TOOL_DIR}/systemd/build/usr/include/systemd -lsystemd-login -lsystemd-daemon" \
+ ./configure --enable-libsystemd-login=yes --with-systemdsystemunitdir=/etc/systemd/system -prefix="/" --datarootdir="/usr/share" --enable-man-pages=no --enable-gtk-doc-html=no --enable-examples=no --enable-static=no
+ pinfo "calling make..."
+ make || perror "make failed."
+ [ ! -d "$BUILDDIR" ] && mkdir -p "$BUILDDIR"
+ pinfo "installing to $BUILDDIR..."
+ DESTDIR="$BUILDDIR" make install || perror "make install failed..."
+
+ COPYLIST="list_dpkg_output"
+ [ -e "$COPYLIST" ] && rm "$COPYLIST"
+
+ list_packet_files >> "$COPYLIST"
+ tarcopy "$(cat "$COPYLIST" | sort -u)" "$BUILDDIR"
+
+ cd -
+ touch .built
+
+ fi
+}
+
+post_copy() {
+
+ #Add Polkit User/Group/Shadow to Stage3.2
+ pinfo "Adding polkitd user to target system..."
+ add_user "polkitd"
+}
+
diff --git a/remote/tools/policykit-src/policykit.conf b/remote/tools/policykit-src/policykit.conf
new file mode 100644
index 00000000..73b04015
--- /dev/null
+++ b/remote/tools/policykit-src/policykit.conf
@@ -0,0 +1,10 @@
+VERSION=polkit-0.110
+URL=http://www.freedesktop.org/software/polkit/releases/polkit-0.110.tar.gz
+REQUIRED_DEPENDENCIES="libmozjs185-1.0"
+REQUIRED_PACKAGES="libmozjs185-1.0"
+REQUIRED_BINARIES=""
+REQUIRED_DIRECTORIES="/bin /etc /lib /usr/share/dbus-1 /usr/share/polkit-1"
+REQUIRED_FILES=""
+REQUIRED_LIBRARIES="libmozjs185"
+REQUIRED_MODULES="systemd"
+
diff --git a/remote/tools/policykit/policykit.build b/remote/tools/policykit/policykit.build
index 72d7f246..08f89290 100644
--- a/remote/tools/policykit/policykit.build
+++ b/remote/tools/policykit/policykit.build
@@ -2,37 +2,16 @@
fetch_source () {
- [ ! -e .fetched_source ] && download_untar "$URL" "src/"
- touch .fetched_source
+ pinfo "Extracting from running system..."
}
build () {
- BUILDDIR=$TOOL_DIR/$TOOL/build
+ BUILDDIR="${TOOL_DIR}/${TOOL}/build"
+ COPYLIST="list_dpkg_output"
+ [ -e "${COPYLIST}" ] && rm "${COPYLIST}"
- if [ ! -e .built ]; then
- cd src/$VERSION
-
- [ ! -d "${TOOL_DIR}/systemd/build" ] && perror "systemd build directory not found. Build it first."
- pinfo "configuring..."
- LIBSYSTEMD_LOGIN_LIBS="-L${TOOL_DIR}/systemd/build/usr/lib/" \
- LIBSYSTEMD_LOGIN_CFLAGS="-I${TOOL_DIR}/systemd/build/usr/include -I${TOOL_DIR}/systemd/build/usr/include/systemd -lsystemd-login -lsystemd-daemon" \
- ./configure --enable-libsystemd-login=yes --with-systemdsystemunitdir=/etc/systemd/system -prefix="/" --datarootdir="/usr/share" --enable-man-pages=no --enable-gtk-doc-html=no --enable-examples=no --enable-static=no
- pinfo "calling make..."
- make || perror "make failed."
- [ ! -d "$BUILDDIR" ] && mkdir -p "$BUILDDIR"
- pinfo "installing to $BUILDDIR..."
- DESTDIR="$BUILDDIR" make install || perror "make install failed..."
-
- COPYLIST="list_dpkg_output"
- [ -e "$COPYLIST" ] && rm "$COPYLIST"
-
- list_packet_files >> "$COPYLIST"
- tarcopy "$(cat "$COPYLIST" | sort -u)" "$BUILDDIR"
-
- cd -
- touch .built
-
- fi
+ list_packet_files >> "${COPYLIST}"
+ tarcopy "$(cat "${COPYLIST}" | sort -u)" "${BUILDDIR}"
}
post_copy() {
diff --git a/remote/tools/policykit/policykit.conf b/remote/tools/policykit/policykit.conf
index fbf997f6..cb16bc79 100644
--- a/remote/tools/policykit/policykit.conf
+++ b/remote/tools/policykit/policykit.conf
@@ -1,9 +1,14 @@
VERSION=polkit-0.110
URL=http://www.freedesktop.org/software/polkit/releases/polkit-0.110.tar.gz
-REQUIRED_DEPENDENCIES="libmozjs185-dev"
-REQUIRED_PACKAGES=""
+REQUIRED_DEPENDENCIES="libmozjs185-1.0"
+REQUIRED_PACKAGES="libmozjs185-1.0 policykit-1"
REQUIRED_BINARIES=""
-REQUIRED_DIRECTORIES="/bin /etc /lib /usr/share/dbus-1 /usr/share/polkit-1"
+REQUIRED_DIRECTORIES=" /etc/pam.d /etc/dbus-1 /etc/polkit-1
+ /usr/bin
+ /usr/share/dbus-1
+ /usr/share/polkit-1
+ /usr/lib/policykit-1
+ /usr/lib/i386-linux-gnu/polkit-1
+ /lib/systemd/system"
REQUIRED_FILES=""
-REQUIRED_MODULES="systemd"
-
+REQUIRED_LIBRARIES="libmozjs185"
diff --git a/remote/tools/vmchooser/data/etc/openslx/vmchooser/vmchooser.conf b/remote/tools/vmchooser/data/etc/openslx/vmchooser/vmchooser.conf
new file mode 100644
index 00000000..3dd30ebc
--- /dev/null
+++ b/remote/tools/vmchooser/data/etc/openslx/vmchooser/vmchooser.conf
@@ -0,0 +1,4 @@
+pool=default
+theme=unifr
+pvs=0
+path=/var/lib/virt
diff --git a/remote/tools/vmchooser/data/openslx/bin/run-virt.sh b/remote/tools/vmchooser/data/openslx/bin/run-virt.sh
new file mode 100755
index 00000000..b3863a2e
--- /dev/null
+++ b/remote/tools/vmchooser/data/openslx/bin/run-virt.sh
@@ -0,0 +1,440 @@
+#!/bin/bash
+# -----------------------------------------------------------------------------
+# Copyright (c) 2007..2010 - RZ Uni FR
+# Copyright (c) 2007..2011 - OpenSLX GmbH
+#
+# This program is free software distributed under the GPL version 2.
+# See http://openslx.org/COPYING
+#
+# If you have any feedback please consult http://openslx.org/feedback and
+# send your suggestions, praise, or complaints to feedback@openslx.org
+#
+# General information about OpenSLX can be found at http://openslx.org/
+# -----------------------------------------------------------------------------
+# run-virt.sh
+# - This is the generic wrapper for the several virtualization solutions.
+# The idea is to setup a set of variables used by at least two different
+# tools and then include the specific plugin which configures the speci-
+# fied virtualization tool.
+################################################################################
+
+. /etc/opt/openslx/openslx.conf
+
+################################################################################
+### Define default dirs / get configs
+################################################################################
+
+PLUGINCONFROOT=${OPENSLX_DEFAULT_CONFDIR}/plugins
+PLUGINCONFDIR=${PLUGINCONFROOT}/vmchooser
+# include general configuration from vmchooser
+[ -f ${PLUGINCONFROOT}/vmchooser/vmchooser.conf ] && \
+ . ${PLUGINCONFROOT}/vmchooser/vmchooser.conf
+# load general virtualization information
+[ -f ${PLUGINCONFROOT}/virtualization/virtualization.conf ] && \
+ . ${PLUGINCONFROOT}/virtualization/virtualization.conf
+
+################################################################################
+### Functions used throughout the script
+################################################################################
+
+# function to write to stdout and logfile
+LOGFILE=${OPENSLX_DEFAULT_LOGDIR}/run-virt.${USER}.$$.log
+writelog () {
+ # write to stdout
+ echo -e "$1"
+ # log into file
+ echo -e "$1" >> ${LOGFILE}
+}
+
+# remove config dirs when exit
+cleanexit () {
+ if echo "${RMDIRS}" 2>/dev/null | grep -q ${xmlvirt}; then
+ writelog "${xmlvirt} exited. Cleanning up... \c"
+ rm -rf ${RMDIRS} >/dev/null 2>&1
+ writelog "done"
+ fi
+
+ exit "$1"
+}
+
+# check for important files used
+filecheck ()
+{
+ filecheck=$(LANG=us ls -lh ${diskfile} 2>&1)
+ writelog "Filecheck:\n${filecheck}\n"
+ noimage=$(echo ${filecheck} | grep -i "no such file or directory" | wc -l)
+ rightsfile=${diskfile}
+
+ # check if link
+ if [ -L "${diskfile}" ]; then
+ # take link target
+ rightsfile=$(ls -lh ${diskfile} 2>&1 | awk -F '-> *' '{print $2}')
+ rightsfile=${vmdir}/${rightsfile}
+ filecheck=$(LANG=us ls -lh ${rightsfile} 2>&1)
+ fi
+
+ # does file exist
+ if [ "${noimage}" -ge "1" ]; then
+ writelog "Virtual Machine Image Problem:\c "
+ writelog "\tThe image you've specified doesn't exist."
+ writelog "Filecheck says:\c "
+ writelog "\t\t${diskfile}:\n\t\t\tNo such file or directory"
+ writelog "Hint:\c "
+ writelog "\t\t\tCompare spelling of the image with your options.\n"
+ exit 1
+ fi
+
+ # readable by calling user
+ if ! [ -r "${diskfile}" >/dev/null 2>&1 \
+ -o -r "${diskfile}" >/dev/null 2>&1 ]; then
+ writelog "Vmware Image Problem:\c "
+ writelog "\tThe image you've specified has wrong rights."
+ writelog "Filecheck says:\t\t$(echo ${filecheck} \
+ | awk '{print $1" "$3" "$4}') ${rightsfile}"
+ writelog "Hint:\t\t\tChange rights with: chmod a+r ${rightsfile}\n"
+ exit 1
+ fi
+
+ # writable (for persistent-mode)?
+ if ! [ -w "${diskfile}" >/dev/null 2>&1 \
+ -o -w "${diskfile}" >/dev/null 2>&1 ] \
+ && [ "${np}" = "independent-persistent" ]; then
+ writelog "Vmware Image Problem:\c "
+ writelog "\tThe image you have specified has wrong rights."
+ writelog "Filecheck says:\t\t$(echo ${filecheck} \
+ | awk '{print $1" "$3" "$4}') ${rightsfile}"
+ writelog "Hint:\t\t\tUse nonpersistent-mode or change rights to rw\n"
+ exit 1
+ fi
+}
+
+################################################################################
+### Get XML file and dir
+################################################################################
+
+# absolute or relative path?
+xmlfile=$1
+if ls ${xmlfile} 2>/dev/null | grep '/' >/dev/null 2>&1; then
+ xmlpath=$(dirname ${xmlfile})
+ xmlfile=$(basename ${xmlfile})
+else
+ xmlpath=${vmchooser_xmlpath}
+fi
+# full path
+xmlfile="${xmlpath}/${xmlfile%.xml}.xml"
+
+################################################################################
+### Sanity checks
+################################################################################
+
+# test if the xml file is valid
+if ! [ -r "${xmlfile}" ]; then
+ writelog "${xmlfile} not a readable XML file!"
+ exit 1
+fi
+
+# test if XML file
+if ! grep '<?xml' "${xmlfile}" >/dev/null 2>&1; then
+ writelog \
+ "Submitted configuration file ${xmlfile} seems to have wrong XML format"
+ exit 1
+fi
+
+# check for running in graphical environment otherwise no much use here
+[ -z "$DISPLAY" ] && echo -e "\n\tStart only within a graphical desktop!\n" \
+ && exit 1
+
+################################################################################
+### Logo for console
+################################################################################
+
+cat <<EOL
+ __ __
+ .----.--.--.-----.___.--.--.|__|.----.| |_
+ | _| | | |___| | || || _|| _|
+ |__| |_____|__|__| \___/ |__||__| |____|
+ OpenSLX virtual machine environment preparation script ...
+
+EOL
+
+################################################################################
+### Read needed variables from XML file
+################################################################################
+
+writelog "Starting configuration..."
+writelog "\tLogfile:\t\t${LOGFILE}"
+writelog "\t/tmp info:\t\t$(df -h | grep " /tmp$" | awk '{print $2}') \c"
+writelog "$(grep "/tmp " /proc/mounts | awk '{print $1" "$2" "$3" "$4}')"
+writelog "\tVM XML dir:\t\t$(dirname ${xmlfile})"
+writelog "\tXML file:\t\t${xmlfile}"
+writelog "VM config:"
+
+# Name of the virt image
+imgname=$(grep -io '<image_name param=.*"' ${xmlfile} \
+ | sed -e "s/&.*;/; /g" | awk -F '"' '{ print $2 }')
+
+# Imagename /w full path
+if echo ${imgname} 2>/dev/null | grep -q '^/' >/dev/null 2>&1; then
+ imgpath=$(dirname ${imgname})
+ imgname=$(basename ${imgname})
+ vmpath=${imgpath}/${imgname}
+# If old vmchooser binary stuff
+# We do not need folder name as it is already included by vmchooser
+elif echo ${xmlfile} 2>/dev/null | grep -q '^/tmp/' >/dev/null 2>&1; then
+ vmpath=$imgname
+ imgname=$(basename ${imgname})
+# Else use same path as xml
+else
+ imgpath=${xmlpath}
+ vmpath=${imgpath}/${imgname}
+fi
+
+# Check if virtual machine container file exists
+if ! [ -e "${vmpath}" ]; then
+ writelog "Virtual machine image ${vmpath} not found!"
+ exit 1
+fi
+
+# Name of the virt machine, sed because of Windows formatting
+vm_name=$(grep -o 'short_description param=.*"' ${xmlfile} \
+ | sed -e "s/&.*;/; /g" | awk -F '"' '{print $2}')
+# If ${vm_name} not defined use ${xmlfile}
+vm_name=${vm_name:-${xmlfile%.xml}}
+
+# Define vm_shortname since vm_name can be very long
+vm_shortname=$(basename ${xmlfile%.xml} | sed -e "s, ,-,g")
+
+# vm_name = displayname, define for old scripts
+displayname=${vm_name}
+
+# image is for the following virtual machine
+xmlvirt=$(grep -o 'virtualmachine param=.*"' ${xmlfile} \
+ | sed -e "s/&.*;/; /g" | awk -F '"' '{print $2}')
+
+# choose the proper virtualization/emulator plugin
+[ "x${xmlvirt}" != "x" -a "x${xmlvirt}" != "xqemukvm" -a \
+ "x${xmlvirt}" != "xvirtualbox" -a "x${xmlvirt}" != "xvmware" ] && \
+ xmlvirt="emufe"
+
+# make a guess from the filename extension if ${xmlvirt} is empty
+# (not set within the XML file)
+# TODO: implement possibility to submit own configuration files
+if [ -z "${xmlvirt}" ] && [ -n "${additional_config}" ]; then
+ writelog "No virtual machine parameter defined in ${xmlfile}"
+ writelog "Trying to guess VM...\c"
+ case "$(cat ${additional_config} | tr \"[A-Z]\" \"[a-z]\")" in
+ *config.version*|*virtualhw.version*|*independent-nonpersistent*|*vmdk*)
+ xmlvirt="vmware"
+ ;;
+ *innotek*|*virtualbox*)
+ xmlvirt="virtualbox"
+ ;;
+ *qemu*|*kvm*)
+ xmlvirt="qemukvm"
+ ;;
+ *)
+ xmlvirt="none"
+ ;;
+ esac
+elif [ -z "${xmlvirt}" ]; then
+ case "$(echo ${imgname##*.} | tr \"[A-Z]\" \"[a-z]\")" in
+ vmdk)
+ xmlvirt="vmware"
+ ;;
+ vbox|vdi)
+ xmlvirt="virtualbox"
+ ;;
+ qcow*)
+ xmlvirt="qemukvm"
+ ;;
+ *)
+ xmlvirt="emufe"
+ ;;
+ esac
+ writelog "result:\t${xmlvirt}"
+fi
+
+# Definition of the client system
+vmostype=$(grep -io '<os param=.*"' ${xmlfile} | awk -F '"' '{ print $2 }' |\
+ tr "[A-Z]" "[a-z]")
+
+# Definition of the networking the client system is connected to
+network_kind=$(grep -io '<network param=.*"' ${xmlfile} \
+ | awk -F '"' '{ print $2 }' | tr "[A-Z]" "[a-z]")
+network_card=$(grep -io '<netcard param=.*"' ${xmlfile} \
+ | awk -F '"' '{ print $2 }'| tr "[A-Z]" "[a-z]")
+
+# Set redirects to 0, see vmgrid if you want to define some
+redirects=0
+
+# Serial/parallel ports defined (e.g. "ttyS0" or "autodetect")
+serial=$(grep -io '<serialport param=.*"' ${xmlfile} \
+ | awk -F '"' '{ print $2 }')
+parallel=$(grep -io '<parport param=.*"' ${xmlfile} \
+ | awk -F '"' '{ print $2 }')
+
+writelog "\tVirtualization:\t\t$xmlvirt"
+writelog "\tVM name:\t\t$vm_name"
+writelog "\tVM short name:\t\t$vm_shortname"
+
+###############################################################################
+### Declaration of default variables
+###############################################################################
+
+# VM-ID static (00)
+VM_ID="00"
+# take last two digits of current pid...
+VM_ID=$(expr substr $$ $(expr ${#$} - 1) 2)
+
+# Make sure cpu_cores is not empty
+cpu_cores=${cpu_cores:-"1"}
+
+# Total amount of memory defined in stage 3
+# TODO: Should be dependent on the setup (if diff is written to RAM ...)
+permem=60
+if [ "x${VMCHOOSER_FORCE_HALF_MEM}" == "x1" ]; then
+ permem=30
+fi
+# Get a result which can be divided through 4
+mem=$(expr ${totalmem} / 100 \* ${permem} / 4 \* 4)
+if [ -n "${mainvirtmem}" ]; then
+ forcemem=$(expr ${mainvirtmem} / 4 \* 4)
+ mem=${forcemem}
+fi
+hostmem=$(expr ${totalmem} - ${mem})
+
+# Configuring ethernet mac address: first 3 bytes are fixed (00:50:56)
+# 4th byte is the VM-ID (0D)
+# last two bytes are taken from the bridge of the host
+# define one MAC per guest
+macguestpart="00:50:56:${VM_ID}"
+machostpart=$(echo ${hostmacaddr} | awk -F ":" '{print $(NF-1)":"$NF}')
+macaddr=$(echo "${macguestpart}:${machostpart}" | tr "[a-z]" "[A-Z]")
+
+# Virtual fd/cd/dvd and drive devices, floppy b: for configuration
+# if $floppy_0 from run-virt.include set then fdtest="TRUE"
+fdtest=
+fdtest=${floppy_0:+"TRUE"}
+# if $fdtest not set floppy0="FALSE", else "TRUE"
+floppy0=${fdtest:-"FALSE"}
+floppy1="TRUE"
+floppy1name="${PLUGINCONFDIR}/loopimg/fd.img"
+# if $cdrom_0 from run-virt.include set then cdtest="TRUE"
+cdtest=
+cdtest=${cdrom_0:+"TRUE"}
+# if $cdtest not set cdrom0="FALSE", else "TRUE"
+cdrom0=${cdtest:-"FALSE"}
+# if $cdrom_1 from run-virt.include set then cdtest="TRUE"
+cdtest=
+cdtest=${cdrom_1:+"TRUE"}
+# if $cdtest not set cdrom1="FALSE", else "TRUE"
+cdrom1=${cdtest:-"FALSE"}
+# IDE is expected default, test for the virtual disk image type should
+# be done while creating the runscripts ...
+ide="TRUE"
+scsi="FALSE"
+hddrv="ide"
+audio="true"
+remotedesktopport="590${VM_ID}"
+
+# Display resolution within the host system
+hostres=$(xvidtune -show 2>/dev/null| grep -ve "^$")
+xres=$(echo "${hostres}" | awk '{print $3}')
+yres=$(echo "${hostres}" | awk '{print $7}')
+
+# Resolution defined via xml parameter: fullscreen, full/X*Y/depth; windowed,
+# win/X*Y/depth
+userres=$(grep -io '<screen param=.*"' ${xmlfile} | awk -F '"' '{ print $2 }' | \
+ tr "A-Z" "a-z")
+case "${userres}" in
+ full*)
+ res=$(echo "${hostres}" | awk -F "/" '{print $2}')
+ uxres=${res%\**}
+ uyres=${#*\*}
+ userres="full"
+ ;;
+ win*)
+ res=$(echo "${hostres}" | awk -F "/" '{print $2}')
+ uxres=${res%\**}
+ uyres=${#*\*}
+ userres="win"
+ ;;
+esac
+
+
+# Enable 3D
+enable3d=$(grep -i "<enable3d param=.*" ${xmlfile} 2>/dev/null | \
+ awk -F '=' {'print $2'} | tr "[A-Z]" "[a-z]")
+
+# Add rw share
+sharepath="${HOME}"
+sharename="home"
+
+# Set hostname: using original hostname and adding string
+hostname="virt-$(hostname)"
+
+writelog "\tVM Hostname:\t\t$hostname"
+
+################################################################################
+### Setup the rest of the environment and run the configured vm
+################################################################################
+
+# Adjust sound volume
+writelog "Unmuting sound...\c "
+amixer -q sset Master 80% unmute 2>/dev/null
+amixer -q sset PCM 80% unmute 2>/dev/null
+amixer -q sset CD 80% unmute 2>/dev/null
+amixer -q sset Headphone 80% unmute 2>/dev/null
+amixer -q sset Front 80% unmute 2>/dev/null # in SUSE 11.0 it's headphone
+amixer -q sset Speaker 80% unmute 2>/dev/null # annoying built-in speaker
+writelog "finished\n"
+
+# Copy guest configuration (with added information) config.xml to be accessed
+# via virtual floppy
+# fixme -> to be changed (vmchooser adapts the file content!?)
+#TODO: wozu echo?
+#echo "Please fix the config.xml generation"
+cp ${xmlfile} ${PLUGINCONFDIR}/fd-loop/config.xml
+
+# Get all virtual machine specific stuff from the respective include file
+if [ -e ${PLUGINCONFROOT}/${xmlvirt}/run-virt.include ] ; then
+ self=${xmlvirt}
+ . ${PLUGINCONFROOT}/${xmlvirt}/run-virt.include
+ # start a windowmanager for easier handling
+ # (expect problems /w windows opening in background /w vmware without wm)
+ for dm in xfwm4 metacity openbox blackbox kwin fvwm2 ; do
+ if which $dm >/dev/null 2>&1 ; then
+ if [ "$dm" = "fvwm2" ] ; then
+ echo "EdgeScroll 0 0" > ${redodir}/fvwm
+ fvwm2 -f ${redodir}/fvwm >/dev/null 2>&1 &
+ else
+ $dm >/dev/null 2>&1 &
+ fi
+ break
+ fi
+ done
+ # Start poolvideoswitch if we find the autostarter file
+ if [ -e /etc/xdg/autostart/pvsgui.desktop ]; then
+ /usr/local/bin/pvsgui -p 2 -b >/dev/null 2>&1 &
+ fi
+ eval ${VIRTCMD} ${VIRTCMDOPTS}
+ writelog "Bye."
+
+ # Postrun for commands after virtualization finishes
+ if [ -n "${POSTRUN}" ]; then
+ eval ${POSTRUN} >/dev/null 2>&1
+ fi
+
+ cleanexit 0
+else
+ writelog "Failed because of missing ${xmlvirt} plugin."
+ cleanexit 1
+fi
+
+# Postrun for commands after virtualization finishes
+if [ -n "${POSTRUN}" ]; then
+ eval ${POSTRUN} >/dev/null 2>&1
+fi
+
+cleanexit 0
+exit 0
diff --git a/remote/tools/vmchooser/data/openslx/bin/vmchooser b/remote/tools/vmchooser/data/openslx/bin/vmchooser
new file mode 100755
index 00000000..d8ec07f9
--- /dev/null
+++ b/remote/tools/vmchooser/data/openslx/bin/vmchooser
Binary files differ
diff --git a/remote/tools/vmchooser/data/openslx/bin/xmlfilter.sh b/remote/tools/vmchooser/data/openslx/bin/xmlfilter.sh
new file mode 100755
index 00000000..ded5d114
--- /dev/null
+++ b/remote/tools/vmchooser/data/openslx/bin/xmlfilter.sh
@@ -0,0 +1,50 @@
+#!/bin/bash
+# -----------------------------------------------------------------------------
+# Copyright (c) 2007..2009 - RZ Uni FR
+# Copyright (c) 2007..2011 - OpenSLX GmbH
+#
+# This program is free software distributed under the GPL version 2.
+# See http://openslx.org/COPYING
+#
+# If you have any feedback please consult http://openslx.org/feedback and
+# send your suggestions, praise, or complaints to feedback@openslx.org
+#
+# General information about OpenSLX can be found at http://openslx.org/
+# -----------------------------------------------------------------------------
+# xmlfilter.sh
+# - This script is invoked by the vmchooser tool. It simply filters xml-
+# files (taking the path to these files in $1). You might modify it in any
+# way to match your needs, e.g. ask some database instead. You can re-
+# implement it in any other programming language too. You simply have to
+# return a list of proper xml files to be interpreted by the vmchooser
+# binary). Please check for vmchooser.sh too ...
+# -----------------------------------------------------------------------------
+
+# This script .
+#
+# currently:
+# - filter for slxgrp (which comes from /etc/machine-setup)
+#
+
+# include default directories
+. /etc/opt/openslx/openslx.conf
+
+if [ -f ${OPENSLX_DEFAULT_CONFDIR}/plugins/vmchooser/vmchooser.conf ]; then
+ . ${OPENSLX_DEFAULT_CONFDIR}/plugins/vmchooser/vmchooser.conf
+fi
+
+for FILE in $(find $1 -iname "*.xml"); do
+ # filter all xmls which aren't set active
+ if [ $(grep "<active param=.*true.*" ${FILE} | wc -l) -eq 1 ]; then
+ if [ -n ${vmchooser_env} ]; then
+ # filter all xmls with pool-param not equal to vmchooser::env
+ if [ $(grep "<pools param=\"${vmchooser_env}\"" ${FILE} | wc -l) -eq 1 ];\
+ then
+ echo ${FILE};
+ fi
+ else
+ # if there is no pool set, just take all available xmls
+ echo -e ${active}
+ fi
+ fi
+done
diff --git a/remote/tools/vmchooser/data/usr/share/vmchooser/themes/openslx/openslx-left.png b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/openslx/openslx-left.png
new file mode 100644
index 00000000..900dd867
--- /dev/null
+++ b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/openslx/openslx-left.png
Binary files differ
diff --git a/remote/tools/vmchooser/data/usr/share/vmchooser/themes/openslx/openslx-right.png b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/openslx/openslx-right.png
new file mode 100644
index 00000000..8ca9347b
--- /dev/null
+++ b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/openslx/openslx-right.png
Binary files differ
diff --git a/remote/tools/vmchooser/data/usr/share/vmchooser/themes/openslx/openslx.ini b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/openslx/openslx.ini
new file mode 100644
index 00000000..57a22821
--- /dev/null
+++ b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/openslx/openslx.ini
@@ -0,0 +1,4 @@
+background-color=#ffffff
+image-right=openslx-right.png
+image-left=openslx-left.png
+
diff --git a/remote/tools/vmchooser/data/usr/share/vmchooser/themes/planets/planets-left.png b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/planets/planets-left.png
new file mode 100644
index 00000000..c8736b72
--- /dev/null
+++ b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/planets/planets-left.png
Binary files differ
diff --git a/remote/tools/vmchooser/data/usr/share/vmchooser/themes/planets/planets-right.png b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/planets/planets-right.png
new file mode 100644
index 00000000..e21f0d8b
--- /dev/null
+++ b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/planets/planets-right.png
Binary files differ
diff --git a/remote/tools/vmchooser/data/usr/share/vmchooser/themes/planets/planets.ini b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/planets/planets.ini
new file mode 100644
index 00000000..d9aa17f6
--- /dev/null
+++ b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/planets/planets.ini
@@ -0,0 +1,4 @@
+background-color=#ffffff
+image-right=planets-right.png
+image-left=planets-left.png
+
diff --git a/remote/tools/vmchooser/data/usr/share/vmchooser/themes/unifr/title_l.png b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/unifr/title_l.png
new file mode 100644
index 00000000..e602ccd1
--- /dev/null
+++ b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/unifr/title_l.png
Binary files differ
diff --git a/remote/tools/vmchooser/data/usr/share/vmchooser/themes/unifr/title_r.png b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/unifr/title_r.png
new file mode 100644
index 00000000..3edbcb0c
--- /dev/null
+++ b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/unifr/title_r.png
Binary files differ
diff --git a/remote/tools/vmchooser/data/usr/share/vmchooser/themes/unifr/unifr.ini b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/unifr/unifr.ini
new file mode 100644
index 00000000..dadcb4e1
--- /dev/null
+++ b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/unifr/unifr.ini
@@ -0,0 +1,4 @@
+background-color=#003592
+image-right=title_r.png
+image-left=title_l.png
+
diff --git a/remote/tools/vmchooser/data/vmchooser/default.desktop b/remote/tools/vmchooser/data/vmchooser/default.desktop
new file mode 100755
index 00000000..91540228
--- /dev/null
+++ b/remote/tools/vmchooser/data/vmchooser/default.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Encoding=UTF-8
+Name=virtual machine chooser (default)
+Name[de]=Virtuelle Maschine auswählen
+Comment=This session starts the vm session chooser
+Comment[de]=Diese Sitzung startet das Auswahlmenü für die vorhandenen Sitzungen
+Exec=/opt/openslx/plugin-repo/vmchooser/vmchooser
+TryExec=/opt/openslx/plugin-repo/vmchooser/vmchooser
+Icon=
+Type=Application
diff --git a/remote/tools/vmchooser/data/vmchooser/mesgdisp b/remote/tools/vmchooser/data/vmchooser/mesgdisp
new file mode 100755
index 00000000..41e3721c
--- /dev/null
+++ b/remote/tools/vmchooser/data/vmchooser/mesgdisp
Binary files differ
diff --git a/remote/tools/vmchooser/data/vmchooser/printer.sh b/remote/tools/vmchooser/data/vmchooser/printer.sh
new file mode 100755
index 00000000..8f1d5ffa
--- /dev/null
+++ b/remote/tools/vmchooser/data/vmchooser/printer.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+#echo "<printer name=\"info\" path=\"//printserver/info\"> some pseudo printer </printer>"
+
+for(( i=0; $i<10; i=$i+1)); do
+ echo -e "printserver$i\tprinter$i\tPrinter Description $i"
+done
+
+echo -e "printserver.ruf.uni-freiburg.de\treal-printer-name\tSome really long printer Description"
+
diff --git a/remote/tools/vmchooser/data/vmchooser/scanner.sh b/remote/tools/vmchooser/data/vmchooser/scanner.sh
new file mode 100755
index 00000000..dcb94c68
--- /dev/null
+++ b/remote/tools/vmchooser/data/vmchooser/scanner.sh
@@ -0,0 +1,4 @@
+#!/bin/bash
+
+
+echo -e "scanserver\tscanner1hp\tThis is a test Scanner"
diff --git a/remote/tools/vmchooser/data/vmchooser/smb.conf b/remote/tools/vmchooser/data/vmchooser/smb.conf
new file mode 100755
index 00000000..ec757ce4
--- /dev/null
+++ b/remote/tools/vmchooser/data/vmchooser/smb.conf
@@ -0,0 +1,25 @@
+# basic samba configuration file for OpenSLX host-internal networking
+[global]
+ workgroup = OPENSLX
+ netbios name = HOMESERVER
+ security = SHARE
+ server string = Home and Print Provider
+ bind interfaces only = Yes
+ interfaces = NWIF
+ pid directory = PIDDIR
+
+[userhome]
+ comment = Home Directory of USER
+ path = /home/USER
+ create mask = 0700
+ guest ok = No
+ read only = No
+
+[scratch]
+ comment = Host System Temp Folder
+ path = /tmp
+ create mask = 0700
+ guest ok = Yes
+ read only = No
+ browseable = Yes
+
diff --git a/remote/tools/vmchooser/vmchooser.build b/remote/tools/vmchooser/vmchooser.build
new file mode 100644
index 00000000..536aa5d3
--- /dev/null
+++ b/remote/tools/vmchooser/vmchooser.build
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+fetch_source()
+{
+ [ ! -d src ] && mkdir src
+ if [ ! -e .fetched_source ]; then
+ git clone "${GIT}" src
+ touch .fetched_source
+ fi
+}
+
+build()
+{
+ if [ ! -e .built ]; then
+ cd src
+ pinfo "Running vmchooser buildscript"
+ . build.sh
+ pinfo ""
+ cd -
+ touch .built
+ fi
+}
+
+post_copy() {
+ :
+}
+
diff --git a/remote/tools/vmchooser/vmchooser.conf b/remote/tools/vmchooser/vmchooser.conf
new file mode 100644
index 00000000..ec1ceb86
--- /dev/null
+++ b/remote/tools/vmchooser/vmchooser.conf
@@ -0,0 +1,5 @@
+GIT=git://git.openslx.org/openslx/tools/vmchooser.git
+REQUIRED_DEPENDENCIES=" cmake
+ libqt4-dev"
+TARGET_DIR="openslx"
+REQUIRED_BINARIES="vmchooser"