summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2014-05-04 13:40:52 +0200
committerSimon Rettberg2014-05-04 13:40:52 +0200
commit5afb2d14c421d35c01358ae8c78af1cba41ee086 (patch)
tree920b4e2f339f1e4ba40a7a9f8ddec538e6b3248a
parent[vmchooser2] ! (diff)
parent[stage4] rename gnome-session-fallback to "GNOME" for vmchooser (diff)
downloadtm-scripts-5afb2d14c421d35c01358ae8c78af1cba41ee086.tar.gz
tm-scripts-5afb2d14c421d35c01358ae8c78af1cba41ee086.tar.xz
tm-scripts-5afb2d14c421d35c01358ae8c78af1cba41ee086.zip
Merge branch 'master' of dnbd3:openslx-ng/tm-scripts
-rw-r--r--remote/modules/kdm-theme-bwlp/data/etc/kde4/kdm/kdmrc1
-rw-r--r--remote/modules/openstack/README25
-rw-r--r--remote/modules/openstack/module.build11
-rw-r--r--remote/modules/openstack/module.conf6
-rw-r--r--remote/modules/vbox/module.build13
-rwxr-xr-xremote/onetime-fixes/install-xfce4-greybird-theme118
-rw-r--r--remote/onetime-fixes/rename-gnome-flashback-session10
-rw-r--r--server/blacklists/desktop-sessions/filter10
-rw-r--r--server/blacklists/desktop-sessions/unity/unity-apps2
9 files changed, 190 insertions, 6 deletions
diff --git a/remote/modules/kdm-theme-bwlp/data/etc/kde4/kdm/kdmrc b/remote/modules/kdm-theme-bwlp/data/etc/kde4/kdm/kdmrc
index 62425031..196e1ce7 100644
--- a/remote/modules/kdm-theme-bwlp/data/etc/kde4/kdm/kdmrc
+++ b/remote/modules/kdm-theme-bwlp/data/etc/kde4/kdm/kdmrc
@@ -30,6 +30,7 @@ AutoLoginEnable=false
ServerAttempts=2
# Custom directory so kdm never sees any other sessions - it's up to the vmchooser to list them
SessionsDirs=/opt/openslx/xsessions
+TerminateServer=true
# Session is executed to start the user's session (as the user)
# "One of the keywords failsafe, default or custom, or a string to eval by a Bourne-compatible shell is passed as the first argument."
diff --git a/remote/modules/openstack/README b/remote/modules/openstack/README
new file mode 100644
index 00000000..ce373f20
--- /dev/null
+++ b/remote/modules/openstack/README
@@ -0,0 +1,25 @@
+Hier die Installationsschritte für 14.04:
+
+apt-get install -y neutron-common neutron-plugin-ml2 neutron-plugin-openvswitch-agent nova-compute-kvm python-guestfs python-mysqldb
+
+* System konfigurieren:
+dpkg-statoverride --update --add root root 0644 /boot/vmlinuz-$(uname -r)
+
+add to: /etc/sysctl.conf
+net.ipv4.conf.all.rp_filter=0
+net.ipv4.conf.default.rp_filter=0
+
+sysctl -p
+
+ovs-vsctl add-br br-int
+
+Configs:
+/etc/nova/api-paste.ini
+/etc/nova/nova.conf
+/etc/nova/nova-compute.conf
+
+/etc/neutron/api-paste.ini
+/etc/neutron/neutron.conf
+/etc/neutron/plugin/
+
+Ich denke die configs packen wir in die config.tgz
diff --git a/remote/modules/openstack/module.build b/remote/modules/openstack/module.build
new file mode 100644
index 00000000..97e93235
--- /dev/null
+++ b/remote/modules/openstack/module.build
@@ -0,0 +1,11 @@
+fetch_source() {
+ :
+}
+
+build() {
+ :
+}
+
+post_copy() {
+ :
+}
diff --git a/remote/modules/openstack/module.conf b/remote/modules/openstack/module.conf
new file mode 100644
index 00000000..8912f439
--- /dev/null
+++ b/remote/modules/openstack/module.conf
@@ -0,0 +1,6 @@
+REQUIRED_CONTENT_PACKAGES=""
+REQUIRED_INSTALLED_PACKAGES=""
+
+REQUIRED_BINARIES=""
+REQUIRED_LIBRARIES=""
+REQUIRED_DIRECTORIES=""
diff --git a/remote/modules/vbox/module.build b/remote/modules/vbox/module.build
index 5a533089..f4a8610a 100644
--- a/remote/modules/vbox/module.build
+++ b/remote/modules/vbox/module.build
@@ -1,11 +1,16 @@
#!/bin/bash
patch_vbox_scripts() {
- # patching some virtualbox utility scripts to include openslx-busybox paths. Strange sed-ing, as the added
- # openslx paths need to be at the end of PATH to not impede with system binaries to not impede with system binaries
+ # Patching virtualbox utility scripts to include openslx-busybox binary paths. Strange sed-ing, as the openslx
+ # binary paths need to be at the end of PATH to not impede with system binaries.
+ # It seems sufficient to patch just VBox, as eg. vboxmanage, vboxheadless etc. are just links to VBox.
+ # If only vboxmanage, vboxheadless or such should be patched (and not the base script VBox) just use a list
+ # in the loop (eg. 'for i in virtualbox vboxmanage vboxheadless; do'). These links will be replaced by patched
+ # 'real' files. Of course it will not make sense if VBox is included in the list, then.
+ # Patched files will be saved with extension .original.
+
pinfo "Patching virtual box scripts to include openslx (busybox)-paths ..."
- # vboxmanage is a link to VBox; will get unlinked. Original link will be vboxmanage.original
- for i in virtualbox vboxmanage vboxheadless; do
+ for i in VBox; do
pinfo "Patching virtual box script $i ..."
SCRIPTPATH=$(grep -m 1 PATH "${MODULE_BUILD_DIR}/usr/bin/$i"|sed 's/"//g') # assume first hit is real path
sed -i "-i.original" "/^PATH=/c ${SCRIPTPATH}:/opt/openslx/bin:/opt/openslx/usr/bin:/opt/openslx/sbin"\
diff --git a/remote/onetime-fixes/install-xfce4-greybird-theme b/remote/onetime-fixes/install-xfce4-greybird-theme
new file mode 100755
index 00000000..fd9a0819
--- /dev/null
+++ b/remote/onetime-fixes/install-xfce4-greybird-theme
@@ -0,0 +1,118 @@
+#!/bin/sh
+
+# first download the greybird theme
+if wget https://github.com/shimmerproject/Greybird/tarball/master -O /tmp/greybird.tgz ; then
+
+ # get name of theme folder
+ GREYBIRD="$(tar tfz /tmp/greybird.tgz | head -1)"
+
+ cd /usr/share/themes
+ tar xfz /tmp/greybird.tgz
+ if [ -d "$GREYBIRD" ]; then
+ mv "$GREYBIRD" Greybird
+ else
+ echo "Error mv'ing $GREYBIRD to Greybird"
+ exit 1
+ fi
+ cd -
+
+ # set Greybird as xfce4 theme
+ XFCE4_CONF="/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml"
+ sed -ibak 's,<property name="ThemeName" type="string" value=".*,<property name="ThemeName" type="string" value="Greybird"/>,' $XFCE4_CONF
+ sed -ibak 's,<property name="IconThemeName" type="string" value=".*,<property name="IconThemeName" type="string" value="gnome"/>,' $XFCE4_CONF
+
+ # set Greybird as xfwm4 theme
+ XFWM4_CONF="/etc/xdg/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml"
+ [ -e "$XFWM4_CONF" ] && mv "$XFWM4_CONF" "${XFWM4_CONF}.bak"
+
+ cat > "$XFWM4_CONF" << EOF
+<?xml version="1.0" encoding="UTF-8"?>
+
+<channel name="xfwm4" version="1.0">
+ <property name="general" type="empty">
+ <property name="activate_action" type="string" value="bring"/>
+ <property name="borderless_maximize" type="bool" value="true"/>
+ <property name="box_move" type="bool" value="false"/>
+ <property name="box_resize" type="bool" value="false"/>
+ <property name="button_layout" type="string" value="O|SHMC"/>
+ <property name="button_offset" type="int" value="0"/>
+ <property name="button_spacing" type="int" value="0"/>
+ <property name="click_to_focus" type="bool" value="true"/>
+ <property name="focus_delay" type="int" value="250"/>
+ <property name="cycle_apps_only" type="bool" value="false"/>
+ <property name="cycle_draw_frame" type="bool" value="true"/>
+ <property name="cycle_hidden" type="bool" value="true"/>
+ <property name="cycle_minimum" type="bool" value="true"/>
+ <property name="cycle_workspaces" type="bool" value="false"/>
+ <property name="double_click_time" type="int" value="250"/>
+ <property name="double_click_distance" type="int" value="5"/>
+ <property name="double_click_action" type="string" value="maximize"/>
+ <property name="easy_click" type="string" value="Alt"/>
+ <property name="focus_hint" type="bool" value="true"/>
+ <property name="focus_new" type="bool" value="true"/>
+ <property name="frame_opacity" type="int" value="100"/>
+ <property name="full_width_title" type="bool" value="true"/>
+ <property name="inactive_opacity" type="int" value="100"/>
+ <property name="maximized_offset" type="int" value="0"/>
+ <property name="move_opacity" type="int" value="100"/>
+ <property name="placement_ratio" type="int" value="20"/>
+ <property name="placement_mode" type="string" value="center"/>
+ <property name="popup_opacity" type="int" value="100"/>
+ <property name="mousewheel_rollup" type="bool" value="true"/>
+ <property name="prevent_focus_stealing" type="bool" value="false"/>
+ <property name="raise_delay" type="int" value="250"/>
+ <property name="raise_on_click" type="bool" value="true"/>
+ <property name="raise_on_focus" type="bool" value="false"/>
+ <property name="raise_with_any_button" type="bool" value="true"/>
+ <property name="repeat_urgent_blink" type="bool" value="false"/>
+ <property name="resize_opacity" type="int" value="100"/>
+ <property name="restore_on_move" type="bool" value="true"/>
+ <property name="scroll_workspaces" type="bool" value="true"/>
+ <property name="shadow_delta_height" type="int" value="0"/>
+ <property name="shadow_delta_width" type="int" value="0"/>
+ <property name="shadow_delta_x" type="int" value="0"/>
+ <property name="shadow_delta_y" type="int" value="-3"/>
+ <property name="shadow_opacity" type="int" value="50"/>
+ <property name="show_app_icon" type="bool" value="false"/>
+ <property name="show_dock_shadow" type="bool" value="true"/>
+ <property name="show_frame_shadow" type="bool" value="false"/>
+ <property name="show_popup_shadow" type="bool" value="false"/>
+ <property name="snap_resist" type="bool" value="false"/>
+ <property name="snap_to_border" type="bool" value="true"/>
+ <property name="snap_to_windows" type="bool" value="false"/>
+ <property name="snap_width" type="int" value="10"/>
+ <property name="sync_to_vblank" type="bool" value="false"/>
+ <property name="theme" type="string" value="Greybird"/>
+ <property name="tile_on_move" type="bool" value="true"/>
+ <property name="title_alignment" type="string" value="center"/>
+ <property name="title_font" type="string" value="Sans Bold 9"/>
+ <property name="title_horizontal_offset" type="int" value="0"/>
+ <property name="title_shadow_active" type="string" value="false"/>
+ <property name="title_shadow_inactive" type="string" value="false"/>
+ <property name="title_vertical_offset_active" type="int" value="0"/>
+ <property name="title_vertical_offset_inactive" type="int" value="0"/>
+ <property name="toggle_workspaces" type="bool" value="false"/>
+ <property name="unredirect_overlays" type="bool" value="true"/>
+ <property name="urgent_blink" type="bool" value="false"/>
+ <property name="use_compositing" type="bool" value="false"/>
+ <property name="workspace_count" type="int" value="4"/>
+ <property name="wrap_cycle" type="bool" value="true"/>
+ <property name="wrap_layout" type="bool" value="true"/>
+ <property name="wrap_resistance" type="int" value="10"/>
+ <property name="wrap_windows" type="bool" value="true"/>
+ <property name="wrap_workspaces" type="bool" value="false"/>
+ <property name="workspace_names" type="array">
+ <value type="string" value="Arbeitsfläche 1"/>
+ <value type="string" value="Arbeitsfläche 2"/>
+ <value type="string" value="Arbeitsfläche 3"/>
+ <value type="string" value="Arbeitsfläche 4"/>
+ </property>
+ </property>
+</channel>
+
+EOF
+
+ else
+ echo "Failed to download 'https://github.com/shimmerproject/Greybird/tarball/master' to '/tmp/greybird.tgz'"
+ exit 1
+ fi
diff --git a/remote/onetime-fixes/rename-gnome-flashback-session b/remote/onetime-fixes/rename-gnome-flashback-session
new file mode 100644
index 00000000..921db87e
--- /dev/null
+++ b/remote/onetime-fixes/rename-gnome-flashback-session
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+GNOME_FALLBACK_SESSION="/usr/share/xsessions/gnome-fallback.desktop"
+
+if [ -e "$GNOME_FALLBACK_SESSION" ]; then
+ sed -ibak 's,^Name=.*,Name=GNOME,' $GNOME_FALLBACK_SESSION
+else
+ echo "Gnome session fallback not found under '$GNOME_FALLBACK_SESSION'. Is it installed?"
+ exit 1
+fi
diff --git a/server/blacklists/desktop-sessions/filter b/server/blacklists/desktop-sessions/filter
index aafd1156..9281a412 100644
--- a/server/blacklists/desktop-sessions/filter
+++ b/server/blacklists/desktop-sessions/filter
@@ -1,5 +1,11 @@
- /usr/share/xsessions/*
-+ /usr/share/xsessions/gnome.desktop
-+ /usr/share/xsessions/kde-plasma.desktop
+ /usr/share/xsessions/ubuntu.desktop
+ /usr/share/xsessions/xfce.desktop
+
+# TODO: until gnome-shell conflicts with unity gets fixed
+# for ubuntu 14.04, filter it.
+# + /usr/share/xsessions/gnome.desktop
+
+# gnome-session-fallback for the good ol' gnome2 session
++ /usr/share/xsessions/gnome-fallback.desktop
++ /usr/share/xsessions/kde-plasma.desktop
diff --git a/server/blacklists/desktop-sessions/unity/unity-apps b/server/blacklists/desktop-sessions/unity/unity-apps
new file mode 100644
index 00000000..1f68f3c9
--- /dev/null
+++ b/server/blacklists/desktop-sessions/unity/unity-apps
@@ -0,0 +1,2 @@
+- /usr/share/applications/ubuntu-software-center.desktop
+- /usr/share/applications/ubuntu-amazon-default.desktop