diff options
| author | Jonathan Bauer | 2013-03-13 17:34:54 +0100 |
|---|---|---|
| committer | Jonathan Bauer | 2013-03-13 17:34:54 +0100 |
| commit | 28ffb58acc9ee84bc2ff78f0f9c6593b1f86e7a6 (patch) | |
| tree | 0856ea5a4b0942236041e994d93982b49b70b4cb /remote | |
| parent | plymouth for stage3.1 (diff) | |
| parent | delete data/stage3.1. It can be found under remote/stage3.1 now. (diff) | |
| download | tm-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')
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 Binary files differnew file mode 100644 index 00000000..c2e998e5 --- /dev/null +++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/color.png 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 Binary files differnew file mode 100644 index 00000000..b646e851 --- /dev/null +++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/enter.png 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 Binary files differnew file mode 100644 index 00000000..e12cfb8e --- /dev/null +++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/enter_inactive.png 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 Binary files differnew file mode 100644 index 00000000..b9682822 --- /dev/null +++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/environment.png 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 Binary files differnew file mode 100644 index 00000000..fde2787d --- /dev/null +++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/main-runner.png 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 Binary files differnew file mode 100644 index 00000000..d48b2b63 --- /dev/null +++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/rz-logo.png 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 Binary files differnew file mode 100644 index 00000000..00d05f29 --- /dev/null +++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/sessions.png 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 Binary files differnew file mode 100644 index 00000000..86bbe642 --- /dev/null +++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/sessions_inactive.png 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 Binary files differnew file mode 100644 index 00000000..f7b9e71f --- /dev/null +++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/system.png 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 Binary files differnew file mode 100644 index 00000000..c3e1719b --- /dev/null +++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/system_inactive.png 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 Binary files differnew file mode 100644 index 00000000..45cef30e --- /dev/null +++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/uni-logo.png 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 Binary files differnew file mode 100644 index 00000000..f9f34c5c --- /dev/null +++ b/remote/tools/kdm/data/usr/share/desktop/themes/kdm/uni/welcome-time-shadowed.png 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 Binary files differnew file mode 100755 index 00000000..d8ec07f9 --- /dev/null +++ b/remote/tools/vmchooser/data/openslx/bin/vmchooser 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 Binary files differnew file mode 100644 index 00000000..900dd867 --- /dev/null +++ b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/openslx/openslx-left.png 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 Binary files differnew file mode 100644 index 00000000..8ca9347b --- /dev/null +++ b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/openslx/openslx-right.png 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 Binary files differnew file mode 100644 index 00000000..c8736b72 --- /dev/null +++ b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/planets/planets-left.png 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 Binary files differnew file mode 100644 index 00000000..e21f0d8b --- /dev/null +++ b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/planets/planets-right.png 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 Binary files differnew file mode 100644 index 00000000..e602ccd1 --- /dev/null +++ b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/unifr/title_l.png 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 Binary files differnew file mode 100644 index 00000000..3edbcb0c --- /dev/null +++ b/remote/tools/vmchooser/data/usr/share/vmchooser/themes/unifr/title_r.png 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 Binary files differnew file mode 100755 index 00000000..41e3721c --- /dev/null +++ b/remote/tools/vmchooser/data/vmchooser/mesgdisp 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" |
