From 45dfd67aecca2d6f4c43a5006a7807e5fde60a64 Mon Sep 17 00:00:00 2001 From: Christian Rößler Date: Thu, 10 Oct 2013 16:24:29 +0200 Subject: [vbox] cleaned double etc-directory branch --- .../data/opt/openslx/etc/vbox/run-virt.include | 642 --------------------- .../vbox/data/opt/openslx/etc/vbox/vbox.conf | 2 - 2 files changed, 644 deletions(-) delete mode 100755 remote/modules/vbox/data/opt/openslx/etc/vbox/run-virt.include delete mode 100644 remote/modules/vbox/data/opt/openslx/etc/vbox/vbox.conf (limited to 'remote') diff --git a/remote/modules/vbox/data/opt/openslx/etc/vbox/run-virt.include b/remote/modules/vbox/data/opt/openslx/etc/vbox/run-virt.include deleted file mode 100755 index b755133f..00000000 --- a/remote/modules/vbox/data/opt/openslx/etc/vbox/run-virt.include +++ /dev/null @@ -1,642 +0,0 @@ -# run-virt.include -# ----------------------------------------------------------------------------- -# Copyright (c) 2009..2012 - RZ Uni Freiburg -# Copyright (c) 2009..2013 - 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.include -# - component for vmware/player of the vmchooser plugin run-virt.sh -################################################################################ - -# configuration writer functions -################################################################################ - -function clean_string () -{ - if [ "$#" -ge 1 ]; then - echo "$@" | tr '[A-Z]' '[a-z]' | tr -d '\t _./' - else - cat - | tr '[A-Z]' '[a-z]' | tr -d '\t _./' - fi -} - -vmostype=$(clean_string "$vmostype") - -runvmwareconfheader () -{ - echo "# This configuration file was generated by $0" > "$conffile" - - MAXMEM="9999999" - MAXCORES="256" - - # check for the ostype - # 1) memory limits - case "$vmostype" in - win31*|windows31*) - MAXMEM="32" - vmostype="win31" - ;; - winnt*|windowsnt*) - MAXMEM="1000" - vmostype="winnt" - ;; - win95*|windows95*) - MAXMEM="96" - vmostype="win95" - ;; - win98*|windows98*) - MAXMEM="384" - vmostype="win98" - ;; - winme*|windowsme*) - MAXMEM="384" - vmostype="winme" - ;; - win2000|windows2000|win2000pro*) - MAXMEM="4000" - vmostype="win2000pro" - ;; - win2000srv*|windows2000srv*|win2000serv*|windows2000serv*) - MAXMEM="4000" - vmostype="win2000serv" - ;; - win2000adv*|windows2000adv*|win2000dat*|windows2000dat*) - MAXMEM="8000" - vmostype="win2000advserv" - ;; - winnet*64|win*2003*64|windowsnet*64) - MAXMEM="8000" - vmostype="winnetstandard-64" - ;; - winnet*|win*2003*|windowsnet*) - MAXMEM="4000" - vmostype="winnetstandard" - ;; - winxphome*|windowsxphome*) - MAXMEM="4000" - vmostype="winxphome" - ;; - winxp*64|windowsxp*64) - MAXMEM="8000" - vmostype="winxppro-64" - ;; - winxp*|windowsxp*) - MAXMEM="4000" - vmostype="winxppro" - ;; - winvista*64|windowsvista*64) - MAXMEM="16000" - vmostype="winvista-64" - ;; - winvista*|windowsvista*) - MAXMEM="8000" - vmostype="winvista" - ;; - win7*64|windows7*64) - MAXMEM="32000" - vmostype="windows7-64" - ;; - win7*|windows7*) - MAXMEM="8000" - vmostype="windows7" - ;; - win*64) - MAXMEM="16000" - ;; - win*) - MAXMEM="8000" - ;; - dos|msdos*|ms-dos*) - MAXMEM="128" - vmostype="dos" - ;; - *64) - MAXMEM="123456" - ;; - *) - MAXMEM="8000" - ;; - esac - - # 2) other hardware + capabilities - shfolders="FALSE" - case "$vmostype" in - win31) - MAXCORES="1" - sound="sb16" - ;; - winnt) - MAXCORES="2" - sound="sb16" - ;; - win95|win98|winme) - MAXCORES="1" - ;; - win2000pro) # Don't know if Win 2000 supports shared folders, disabled to be safe - MAXCORES="2" - ;; - win2000serv) - MAXCORES="4" - ;; - win2000advserv) - MAXCORES="8" - ;; - winxphome) - MAXCORES="1" - shfolders="TRUE" - ;; - winxp*|winvista*|windows7*) - shfolders="TRUE" - ;; - winnet*) - shfolders="TRUE" - ;; - linux*|ubuntu*|suse*|debian*) - shfolders="TRUE" - ;; - macos*64) - MAXCORES="2" - vmostype="freebsd-64" - ;; - macos*) - MAXCORES="1" - vmostype="freebsd" - ;; - beos*) - vmostype="other" - ;; - # Unknown guestOS setting in .xml - use conservative defaults - *64) - vmostype="other-64" - ;; - *) - vmostype="other" - ;; - esac - - svga_autodetect="TRUE" - - real_core_count="$cpu_cores" - [ "$cpu_cores" -gt "$MAXCORES" ] && cpu_cores="$MAXCORES" - # It currently makes no sense to set the virtual number of cores - # to a different value than the virtual number of cores per virtual CPU. - cores_per_socket="$cpu_cores" - - if [ "x$shfolders" != "xFALSE" ]; then - ENABLE_SHARE='sharedFolder.option = "alwaysEnabled"' - else - ENABLE_SHARE='' - fi - - [ "$mem" -ge "$MAXMEM" ] && mem="$MAXMEM" - [ "$hwver" -lt "7" -a "$mem" -gt "3500" ] && mem="3500" - - cap3d="WHAT IS THIS VAR USED FOR?" # helper var for loging output - - cat >> "$conffile" </dev/null 2>&1 -} - -preferencesheader () -{ - cat > "$vmhome/preferences" <> "$vmhome/preferences" <> "$vmhome/preferences" </dev/null 2>&1 -mkdir -p "$confdir" >/dev/null 2>&1 -mkdir -p "$vmhome/dndlogs" >/dev/null 2>&1 -touch "$vmhome/dndlogs/dndlog.conf" >/dev/null 2>&1 - -# create preferences -preferencesheader - -# create VMware startup file -runvmwareconfheader - -# link to conffile if confdir != redodir -ln -s "$conffile" "$redodir/run-vmware.conf" >/dev/null 2>&1 - -# sync is needed to ensure that data is really written to virtual disk -sync - -# own nvram. We need it for floppy drive b, default nvram has just drive a -# TODO: optimize, currently kinda inefficient, too much copys, but we -# don't know which one is installed... -cp "/opt/openslx/etc/vmware/nvram" "$confdir/nvram" 2>/dev/null - - -# logging and stdout -################################################################################ - -# log script information -writelog "# File created by $0 (VMversion ${vmversion})\n# on $(date)\n" -## Edited for persistent mode. -writelog "Starting with ${diskmode} mode ...\n" -## - -# write all results to logfile -# log disksetup -writelog "Directories:" -writelog "\tConfdir:\t${confdir}" -writelog "\tConffile:\t${conffile}" -writelog "\tRedodir:\t${redodir}" -writelog "\tVMhome:\t\t${vmhome}" -writelog "\t/tmp info: \ -$(grep "/tmp " /proc/mounts) $(df -h | grep " /tmp$" | awk '{print $2}')" -# hw setup -writelog "Hardware:" -writelog "\tMAC:\t\t00:50:56:${VM_ID}:${machostpart}" -if [ -n "${network_card}" ]; then - writelog "\tNet Adaptor:\t${network_card}" -fi -writelog "\tMem:\t\t${mem} MB" -# echo nur wenn hostmem gesetzt -[ -n "${hostmem}" ] && writelog "\tHostmem:\t${hostmem} MB" -writelog "\tMax. res.:\t${xres}x${yres}" -writelog "\tCD-ROM1:\t${cdrom0}" -writelog "\tCD-ROM2:\t${cdrom1}" -writelog "\tFloppy_A:\t${floppy0}" -if [ "${serial}" = "TRUE" ]; then - writelog "\tSerial Port:\t${serialdev}" -fi -if [ "${parallel}" = "TRUE" ]; then - writelog "\tParallel Port:\t${paraldev}" -fi -# image -writelog "Diskimage:" -writelog "\tDiskfile:\t${diskfile}" -writelog "\tDisktype:\t${hddrv}" -writelog "\tHWVersion:\t${hwver}" -writelog "\tVMostype:\t${vmostype}" -# misc -writelog "Misc:" -writelog "\tDisplayname:\t${displayname}" -if [ "${cap3d}" = "TRUE" -a "${enable3d}" = "TRUE" ]; then - writelog "\t3D Graphics:\tenabled" -fi -# empty line at end -writelog "" - - -# finally set env for run-virt.sh -################################################################################ - -# configure and start samba service to provide user's home directory -#if [ -f /usr/sbin/smbd ] ; then -# sudo /opt/openslx/bin/sed -i /etc/vmware/smb.conf -e "s,USER,$USER," -# sudo /usr/sbin/nmbd -s /etc/vmware/smb.conf -# sudo /usr/sbin/smbd -s /etc/vmware/smb.conf -#fi - -# For debugging -cp "$conffile" "/tmp/vmware-last-config" - -# using the modified version of the wrapper script -VIRTCMD="/opt/openslx/bin/vmplayer" -VIRTCMDOPTS="${vmopt} ${conffile}" -RMDIRS="${redodir} ${conffile}" diff --git a/remote/modules/vbox/data/opt/openslx/etc/vbox/vbox.conf b/remote/modules/vbox/data/opt/openslx/etc/vbox/vbox.conf deleted file mode 100644 index 8a7a58e4..00000000 --- a/remote/modules/vbox/data/opt/openslx/etc/vbox/vbox.conf +++ /dev/null @@ -1,2 +0,0 @@ -# Todo: Good setting -export VBOX_USER_HOME="" -- cgit v1.2.3-55-g7522 From 2ec482308d1a1dcabbcf4b8053c48d4bf4c0a44b Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Fri, 11 Oct 2013 13:18:28 +0200 Subject: [vmchooser] added TODO to enable SCSI support for virtual disks --- remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt | 1 + 1 file changed, 1 insertion(+) (limited to 'remote') diff --git a/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt b/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt index 10a6283d..ec860b3c 100755 --- a/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt +++ b/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt @@ -383,6 +383,7 @@ cdtest=${cdrom_1:+"TRUE"} cdrom1=${cdtest:-"FALSE"} # IDE is expected default, test for the virtual disk image type should # be done while creating the runscripts ... +# TODO enable SCSI support instead of just disabling it. ide="TRUE" scsi="FALSE" hddrv="ide" -- cgit v1.2.3-55-g7522 From f7506ca1a37312b87e7e81cf47f568542d8ec667 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Fri, 11 Oct 2013 17:42:07 +0200 Subject: [samba] started rudimentary and bloated samba module for AD compatibility. WIP --- remote/modules/samba/samba.build | 17 +++++++++++++++++ remote/modules/samba/samba.conf | 24 ++++++++++++++++++++++++ remote/modules/samba/samba.conf.ubuntu | 20 ++++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 remote/modules/samba/samba.build create mode 100644 remote/modules/samba/samba.conf create mode 100644 remote/modules/samba/samba.conf.ubuntu (limited to 'remote') diff --git a/remote/modules/samba/samba.build b/remote/modules/samba/samba.build new file mode 100644 index 00000000..bd189b66 --- /dev/null +++ b/remote/modules/samba/samba.build @@ -0,0 +1,17 @@ +fetch_source() { + : +} + +build() { + COPYLIST="list_dpkg_output" + [ -e "$COPYLIST" ] && rm "$COPYLIST" + + list_packet_files >> "$COPYLIST" + tarcopy "$(cat "$COPYLIST" | sort -u)" "${MODULE_BUILD_DIR}" + + return 0 +} + +post_copy() { + : +} diff --git a/remote/modules/samba/samba.conf b/remote/modules/samba/samba.conf new file mode 100644 index 00000000..00063187 --- /dev/null +++ b/remote/modules/samba/samba.conf @@ -0,0 +1,24 @@ +REQUIRED_BINARIES=" + smbd + nmbd + smbclient + winbindd + smbnetfs + fusermount + keyctl + request-key + key.dns_resolver +" +REQUIRED_FILES=" + /etc/smbnetfs.conf + /etc/request-key.conf + /etc/request-key.d +" +# TODO dont copy all the binaries, strip the list down. +REQUIRED_DIRECTORIES=" + /usr/bin +" +# TODO check if the /var/lib/samba/*.tdg can be generated by mltk. +REQUIRED_SYSTEM_FILES=" + /var/lib/samba +" diff --git a/remote/modules/samba/samba.conf.ubuntu b/remote/modules/samba/samba.conf.ubuntu new file mode 100644 index 00000000..20bb46ba --- /dev/null +++ b/remote/modules/samba/samba.conf.ubuntu @@ -0,0 +1,20 @@ +REQUIRED_INSTALLED_PACKAGES=" + samba + smbclient + winbind + krb5-user + cifs-utils + smbnetfs + fuse + keyutils +" +REQUIRED_CONTENT_PACKAGES=" + samba + smbclient + winbind + krb5-user + cifs-utils + smbnetfs + fuse + keyutils +" -- cgit v1.2.3-55-g7522 From 1c69c603753c5711babce1d59e7fb44304f2199d Mon Sep 17 00:00:00 2001 From: Christian Rößler Date: Fri, 11 Oct 2013 18:43:29 +0200 Subject: [samba] Added missing link stage32/samba --- remote/targets/stage32/samba | 1 + 1 file changed, 1 insertion(+) create mode 120000 remote/targets/stage32/samba (limited to 'remote') diff --git a/remote/targets/stage32/samba b/remote/targets/stage32/samba new file mode 120000 index 00000000..c8dcfc0b --- /dev/null +++ b/remote/targets/stage32/samba @@ -0,0 +1 @@ +../../modules/samba \ No newline at end of file -- cgit v1.2.3-55-g7522 From 956362786393a7db0df6c6cbb276fe962fa20648 Mon Sep 17 00:00:00 2001 From: Christian Rößler Date: Fri, 11 Oct 2013 18:53:22 +0200 Subject: [openSuse] opensuse Stage32 target links --- remote/targets/stage32-opensuse/beamer | 1 + remote/targets/stage32-opensuse/cups | 1 + remote/targets/stage32-opensuse/printergui | 1 + 3 files changed, 3 insertions(+) create mode 120000 remote/targets/stage32-opensuse/beamer create mode 120000 remote/targets/stage32-opensuse/cups create mode 120000 remote/targets/stage32-opensuse/printergui (limited to 'remote') diff --git a/remote/targets/stage32-opensuse/beamer b/remote/targets/stage32-opensuse/beamer new file mode 120000 index 00000000..4711f10e --- /dev/null +++ b/remote/targets/stage32-opensuse/beamer @@ -0,0 +1 @@ +../../modules/beamer \ No newline at end of file diff --git a/remote/targets/stage32-opensuse/cups b/remote/targets/stage32-opensuse/cups new file mode 120000 index 00000000..0ff7101d --- /dev/null +++ b/remote/targets/stage32-opensuse/cups @@ -0,0 +1 @@ +../../modules/cups \ No newline at end of file diff --git a/remote/targets/stage32-opensuse/printergui b/remote/targets/stage32-opensuse/printergui new file mode 120000 index 00000000..6ccbb628 --- /dev/null +++ b/remote/targets/stage32-opensuse/printergui @@ -0,0 +1 @@ +../../modules/printergui \ No newline at end of file -- cgit v1.2.3-55-g7522 From 37379956d52f1136b6941e7217d01cb90135d43b Mon Sep 17 00:00:00 2001 From: Christian Rößler Date: Mon, 14 Oct 2013 15:40:16 +0200 Subject: [cups] cups module config file for openSuse --- remote/modules/cups/cups.conf.opensuse | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 remote/modules/cups/cups.conf.opensuse (limited to 'remote') diff --git a/remote/modules/cups/cups.conf.opensuse b/remote/modules/cups/cups.conf.opensuse new file mode 100644 index 00000000..1ce46e5f --- /dev/null +++ b/remote/modules/cups/cups.conf.opensuse @@ -0,0 +1,8 @@ +REQUIRED_INSTALLED_PACKAGES=" + cups + cups-libs +" +REQUIRED_CONTENT_PACKAGES=" + cups + cups-libs +" -- cgit v1.2.3-55-g7522 From eb4a83321ccae1b55fe65474b0f1f0f69c06b3a2 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 14 Oct 2013 18:59:19 +0200 Subject: [vmware] Switch from VMware player to workstation, bump version to 10.0 (would be player 6.0) also rename module from vmplayer to vmware to be more generic in case we switch again --- helper/system.inc | 2 + remote/modules/vmplayer/data/addon-init | 5 - .../system/graphical.target.wants/vmware.service | 1 - .../data/etc/systemd/system/vmware.service | 9 - remote/modules/vmplayer/data/etc/vmware/config | 4 - .../modules/vmplayer/data/opt/openslx/bin/vmplayer | 15 - .../modules/vmplayer/data/opt/openslx/bin/vmware | 11 - .../vmplayer/data/opt/openslx/etc/vmware/nvram | Bin 8664 -> 0 bytes .../data/opt/openslx/etc/vmware/run-virt.include | 644 -------- .../data/opt/openslx/etc/vmware/vmware.conf | 8 - .../data/opt/openslx/scripts/systemd-vmware_env | 281 ---- .../data/usr/share/icons/hicolor/index.theme | 1662 -------------------- remote/modules/vmplayer/vmplayer.build | 157 -- remote/modules/vmplayer/vmplayer.conf | 5 - remote/modules/vmware/data/addon-init | 5 + .../system/graphical.target.wants/vmware.service | 1 + .../vmware/data/etc/systemd/system/vmware.service | 9 + remote/modules/vmware/data/etc/vmware/config | 4 + .../modules/vmware/data/opt/openslx/bin/vmplayer | 15 + remote/modules/vmware/data/opt/openslx/bin/vmware | 11 + .../vmware/data/opt/openslx/etc/vmware/nvram | Bin 0 -> 8664 bytes .../data/opt/openslx/etc/vmware/run-virt.include | 644 ++++++++ .../vmware/data/opt/openslx/etc/vmware/vmware.conf | 8 + .../data/opt/openslx/scripts/systemd-vmware_env | 281 ++++ .../data/usr/share/icons/hicolor/index.theme | 1662 ++++++++++++++++++++ remote/modules/vmware/vmplayer.build | 162 ++ remote/modules/vmware/vmplayer.conf | 4 + remote/setup_target | 5 + remote/targets/vmware/vmplayer | 1 - remote/targets/vmware/vmware | 1 + 30 files changed, 2814 insertions(+), 2803 deletions(-) delete mode 100755 remote/modules/vmplayer/data/addon-init delete mode 120000 remote/modules/vmplayer/data/etc/systemd/system/graphical.target.wants/vmware.service delete mode 100644 remote/modules/vmplayer/data/etc/systemd/system/vmware.service delete mode 100644 remote/modules/vmplayer/data/etc/vmware/config delete mode 100755 remote/modules/vmplayer/data/opt/openslx/bin/vmplayer delete mode 100755 remote/modules/vmplayer/data/opt/openslx/bin/vmware delete mode 100644 remote/modules/vmplayer/data/opt/openslx/etc/vmware/nvram delete mode 100755 remote/modules/vmplayer/data/opt/openslx/etc/vmware/run-virt.include delete mode 100644 remote/modules/vmplayer/data/opt/openslx/etc/vmware/vmware.conf delete mode 100755 remote/modules/vmplayer/data/opt/openslx/scripts/systemd-vmware_env delete mode 100644 remote/modules/vmplayer/data/usr/share/icons/hicolor/index.theme delete mode 100644 remote/modules/vmplayer/vmplayer.build delete mode 100644 remote/modules/vmplayer/vmplayer.conf create mode 100755 remote/modules/vmware/data/addon-init create mode 120000 remote/modules/vmware/data/etc/systemd/system/graphical.target.wants/vmware.service create mode 100644 remote/modules/vmware/data/etc/systemd/system/vmware.service create mode 100644 remote/modules/vmware/data/etc/vmware/config create mode 100755 remote/modules/vmware/data/opt/openslx/bin/vmplayer create mode 100755 remote/modules/vmware/data/opt/openslx/bin/vmware create mode 100644 remote/modules/vmware/data/opt/openslx/etc/vmware/nvram create mode 100755 remote/modules/vmware/data/opt/openslx/etc/vmware/run-virt.include create mode 100644 remote/modules/vmware/data/opt/openslx/etc/vmware/vmware.conf create mode 100755 remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env create mode 100644 remote/modules/vmware/data/usr/share/icons/hicolor/index.theme create mode 100644 remote/modules/vmware/vmplayer.build create mode 100644 remote/modules/vmware/vmplayer.conf delete mode 120000 remote/targets/vmware/vmplayer create mode 120000 remote/targets/vmware/vmware (limited to 'remote') diff --git a/helper/system.inc b/helper/system.inc index defa5c98..806799ad 100644 --- a/helper/system.inc +++ b/helper/system.inc @@ -31,10 +31,12 @@ if [ "$(uname -m)x" = "x86_64x" ]; then AMD64_I386=amd64 X86_64_I586=x86_64 AMD64_X86=amd64 + ARCHREGEX="(amd64|x86[_-]64)" else LIB64="lib" AMD64_I386=i386 X86_64_I586=i586 AMD64_X86=x86 + ARCHREGEX="(i[3456]86|x86[_-]32)" fi diff --git a/remote/modules/vmplayer/data/addon-init b/remote/modules/vmplayer/data/addon-init deleted file mode 100755 index 01acb3b4..00000000 --- a/remote/modules/vmplayer/data/addon-init +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -systemctl daemon-reload -systemctl start vmware - diff --git a/remote/modules/vmplayer/data/etc/systemd/system/graphical.target.wants/vmware.service b/remote/modules/vmplayer/data/etc/systemd/system/graphical.target.wants/vmware.service deleted file mode 120000 index 7deb4820..00000000 --- a/remote/modules/vmplayer/data/etc/systemd/system/graphical.target.wants/vmware.service +++ /dev/null @@ -1 +0,0 @@ -../vmware.service \ No newline at end of file diff --git a/remote/modules/vmplayer/data/etc/systemd/system/vmware.service b/remote/modules/vmplayer/data/etc/systemd/system/vmware.service deleted file mode 100644 index 30bb42ff..00000000 --- a/remote/modules/vmplayer/data/etc/systemd/system/vmware.service +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=Sets up the vmware environment -Requires=vmchooser.service -After=vmchooser.service - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/opt/openslx/scripts/systemd-vmware_env start diff --git a/remote/modules/vmplayer/data/etc/vmware/config b/remote/modules/vmplayer/data/etc/vmware/config deleted file mode 100644 index eb5d01c0..00000000 --- a/remote/modules/vmplayer/data/etc/vmware/config +++ /dev/null @@ -1,4 +0,0 @@ -.encoding = "UTF-8" -prefvmx.minVmMemPct = "100" -prefvmx.useRecommendedLockedMemSize = "TRUE" -libdir = "/usr/lib/vmware" diff --git a/remote/modules/vmplayer/data/opt/openslx/bin/vmplayer b/remote/modules/vmplayer/data/opt/openslx/bin/vmplayer deleted file mode 100755 index 147f514f..00000000 --- a/remote/modules/vmplayer/data/opt/openslx/bin/vmplayer +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# radically simplified version of the original script vmplayer by VMware Inc. -PREFIX=/usr/lib/vmware # depends on the vmware location - -# HACK: Let the OpenGL driver report s3tc capability even if not present, so 3D will be enabled -export force_s3tc_enable=true - -exec "$PREFIX"'/lib/wrapper-gtk24.sh' \ - "$PREFIX"'/lib' \ - "$PREFIX"'/bin/vmplayer' \ - "$PREFIX"'/libconf' "$@" - - - - diff --git a/remote/modules/vmplayer/data/opt/openslx/bin/vmware b/remote/modules/vmplayer/data/opt/openslx/bin/vmware deleted file mode 100755 index 1fe9b11d..00000000 --- a/remote/modules/vmplayer/data/opt/openslx/bin/vmware +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh -# radically simplified version of the original script vmplayer by VMware Inc. -PREFIX=/usr/lib/vmware # depends on the vmware location -exec "$PREFIX"'/lib/wrapper-gtk24.sh' \ - "$PREFIX"'/lib' \ - "$PREFIX"'/bin/vmware' \ - "$PREFIX"'/libconf' "$@" - - - - diff --git a/remote/modules/vmplayer/data/opt/openslx/etc/vmware/nvram b/remote/modules/vmplayer/data/opt/openslx/etc/vmware/nvram deleted file mode 100644 index 85125f1e..00000000 Binary files a/remote/modules/vmplayer/data/opt/openslx/etc/vmware/nvram and /dev/null differ diff --git a/remote/modules/vmplayer/data/opt/openslx/etc/vmware/run-virt.include b/remote/modules/vmplayer/data/opt/openslx/etc/vmware/run-virt.include deleted file mode 100755 index e60d5a5b..00000000 --- a/remote/modules/vmplayer/data/opt/openslx/etc/vmware/run-virt.include +++ /dev/null @@ -1,644 +0,0 @@ -# run-virt.include -# ----------------------------------------------------------------------------- -# Copyright (c) 2009..2012 - RZ Uni Freiburg -# Copyright (c) 2009..2013 - 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.include -# - component for vmware/player of the vmchooser plugin run-virt.sh -################################################################################ - -# configuration writer functions -################################################################################ - -function clean_string () -{ - if [ "$#" -ge 1 ]; then - echo "$@" | tr '[A-Z]' '[a-z]' | tr -d '\t _./' - else - cat - | tr '[A-Z]' '[a-z]' | tr -d '\t _./' - fi -} - -vmostype=$(clean_string "$vmostype") - -runvmwareconfheader () -{ - echo "# This configuration file was generated by $0" > "$conffile" - - # does this makes sense? Depends on the VMworkstation in use - MAXMEM="9999999" - MAXCORES="4" - - # check for the ostype - # 1) memory limits - case "$vmostype" in - win31*|windows31*) - MAXMEM="32" - vmostype="win31" - ;; - winnt*|windowsnt*) - MAXMEM="1000" - vmostype="winnt" - ;; - win95*|windows95*) - MAXMEM="96" - vmostype="win95" - ;; - win98*|windows98*) - MAXMEM="384" - vmostype="win98" - ;; - winme*|windowsme*) - MAXMEM="384" - vmostype="winme" - ;; - win2000|windows2000|win2000pro*) - MAXMEM="4000" - vmostype="win2000pro" - ;; - win2000srv*|windows2000srv*|win2000serv*|windows2000serv*) - MAXMEM="4000" - vmostype="win2000serv" - ;; - win2000adv*|windows2000adv*|win2000dat*|windows2000dat*) - MAXMEM="8000" - vmostype="win2000advserv" - ;; - winnet*64|win*2003*64|windowsnet*64) - MAXMEM="8000" - vmostype="winnetstandard-64" - ;; - winnet*|win*2003*|windowsnet*) - MAXMEM="4000" - vmostype="winnetstandard" - ;; - winxphome*|windowsxphome*) - MAXMEM="4000" - vmostype="winxphome" - ;; - winxp*64|windowsxp*64) - MAXMEM="8000" - vmostype="winxppro-64" - ;; - winxp*|windowsxp*) - MAXMEM="4000" - vmostype="winxppro" - ;; - winvista*64|windowsvista*64) - MAXMEM="16000" - vmostype="winvista-64" - ;; - winvista*|windowsvista*) - MAXMEM="8000" - vmostype="winvista" - ;; - win7*64|windows7*64) - MAXMEM="32000" - vmostype="windows7-64" - ;; - win7*|windows7*) - MAXMEM="8000" - vmostype="windows7" - ;; - win*64) - MAXMEM="16000" - ;; - win*) - MAXMEM="8000" - ;; - dos|msdos*|ms-dos*) - MAXMEM="128" - vmostype="dos" - ;; - *64) - MAXMEM="123456" - ;; - *) - MAXMEM="8000" - ;; - esac - - # 2) other hardware + capabilities - shfolders="FALSE" - case "$vmostype" in - win31) - MAXCORES="1" - sound="sb16" - ;; - winnt) - MAXCORES="2" - sound="sb16" - ;; - win95|win98|winme) - MAXCORES="1" - ;; - win2000pro) # Don't know if Win 2000 supports shared folders, disabled to be safe - MAXCORES="2" - ;; - win2000serv) - MAXCORES="4" - ;; - win2000advserv) - MAXCORES="8" - ;; - winxphome) - MAXCORES="1" - shfolders="TRUE" - ;; - winxp*|winvista*|windows7*) - MAXCORES="4" - shfolders="TRUE" - ;; - winnet*) - shfolders="TRUE" - ;; - linux*|ubuntu*|suse*|debian*) - shfolders="TRUE" - ;; - macos*64) - MAXCORES="2" - vmostype="freebsd-64" - ;; - macos*) - MAXCORES="1" - vmostype="freebsd" - ;; - beos*) - vmostype="other" - ;; - # Unknown guestOS setting in .xml - use conservative defaults - *64) - vmostype="other-64" - ;; - *) - vmostype="other" - ;; - esac - - svga_autodetect="TRUE" - - real_core_count="$cpu_cores" - [ "$cpu_cores" -gt "$MAXCORES" ] && cpu_cores="$MAXCORES" - # It currently makes no sense to set the virtual number of cores - # to a different value than the virtual number of cores per virtual CPU. - cores_per_socket="$cpu_cores" - - if [ "x$shfolders" != "xFALSE" ]; then - ENABLE_SHARE='sharedFolder.option = "alwaysEnabled"' - else - ENABLE_SHARE='' - fi - - [ "$mem" -ge "$MAXMEM" ] && mem="$MAXMEM" - [ "$hwver" -lt "7" -a "$mem" -gt "3500" ] && mem="3500" - - cap3d="WHAT IS THIS VAR USED FOR?" # helper var for loging output - - cat >> "$conffile" </dev/null 2>&1 -} - -preferencesheader () -{ - cat > "$vmhome/preferences" <> "$vmhome/preferences" <> "$vmhome/preferences" </dev/null 2>&1 -mkdir -p "$confdir" >/dev/null 2>&1 -mkdir -p "$vmhome/dndlogs" >/dev/null 2>&1 -touch "$vmhome/dndlogs/dndlog.conf" >/dev/null 2>&1 - -# create preferences -preferencesheader - -# create VMware startup file -runvmwareconfheader - -# link to conffile if confdir != redodir -ln -s "$conffile" "$redodir/run-vmware.conf" >/dev/null 2>&1 - -# sync is needed to ensure that data is really written to virtual disk -sync - -# own nvram. We need it for floppy drive b, default nvram has just drive a -# TODO: optimize, currently kinda inefficient, too much copys, but we -# don't know which one is installed... -cp "/opt/openslx/etc/vmware/nvram" "$confdir/nvram" 2>/dev/null - - -# logging and stdout -################################################################################ - -# log script information -writelog "# File created by $0 (VMversion ${vmversion})\n# on $(date)\n" -## Edited for persistent mode. -writelog "Starting with ${diskmode} mode ...\n" -## - -# write all results to logfile -# log disksetup -writelog "Directories:" -writelog "\tConfdir:\t${confdir}" -writelog "\tConffile:\t${conffile}" -writelog "\tRedodir:\t${redodir}" -writelog "\tVMhome:\t\t${vmhome}" -writelog "\t/tmp info: \ -$(grep "/tmp " /proc/mounts) $(df -h | grep " /tmp$" | awk '{print $2}')" -# hw setup -writelog "Hardware:" -writelog "\tMAC:\t\t00:50:56:${VM_ID}:${machostpart}" -if [ -n "${network_card}" ]; then - writelog "\tNet Adaptor:\t${network_card}" -fi -writelog "\tMem:\t\t${mem} MB" -# echo nur wenn hostmem gesetzt -[ -n "${hostmem}" ] && writelog "\tHostmem:\t${hostmem} MB" -writelog "\tMax. res.:\t${xres}x${yres}" -writelog "\tCD-ROM1:\t${cdrom0}" -writelog "\tCD-ROM2:\t${cdrom1}" -writelog "\tFloppy_A:\t${floppy0}" -if [ "${serial}" = "TRUE" ]; then - writelog "\tSerial Port:\t${serialdev}" -fi -if [ "${parallel}" = "TRUE" ]; then - writelog "\tParallel Port:\t${paraldev}" -fi -# image -writelog "Diskimage:" -writelog "\tDiskfile:\t${diskfile}" -writelog "\tDisktype:\t${hddrv}" -writelog "\tHWVersion:\t${hwver}" -writelog "\tVMostype:\t${vmostype}" -# misc -writelog "Misc:" -writelog "\tDisplayname:\t${displayname}" -if [ "${cap3d}" = "TRUE" -a "${enable3d}" = "TRUE" ]; then - writelog "\t3D Graphics:\tenabled" -fi -# empty line at end -writelog "" - - -# finally set env for run-virt.sh -################################################################################ - -# configure and start samba service to provide user's home directory -#if [ -f /usr/sbin/smbd ] ; then -# sudo /opt/openslx/bin/sed -i /etc/vmware/smb.conf -e "s,USER,$USER," -# sudo /usr/sbin/nmbd -s /etc/vmware/smb.conf -# sudo /usr/sbin/smbd -s /etc/vmware/smb.conf -#fi - -# For debugging -cp "$conffile" "/tmp/vmware-last-config" - -# using the modified version of the wrapper script -VIRTCMD="/opt/openslx/bin/vmplayer" -VIRTCMDOPTS="${vmopt} ${conffile}" -RMDIRS="${redodir} ${conffile}" diff --git a/remote/modules/vmplayer/data/opt/openslx/etc/vmware/vmware.conf b/remote/modules/vmplayer/data/opt/openslx/etc/vmware/vmware.conf deleted file mode 100644 index 210b814f..00000000 --- a/remote/modules/vmplayer/data/opt/openslx/etc/vmware/vmware.conf +++ /dev/null @@ -1,8 +0,0 @@ -#configuration file for vmware background services written in stage3 setup -vmnet0=true -vmnet1=192.168.101.1/24 -vmnet1nat=true -vmnet8=192.168.102.1/24 -#stage1 variables produced during plugin install -version="5.0" -buildversion="1031769" diff --git a/remote/modules/vmplayer/data/opt/openslx/scripts/systemd-vmware_env b/remote/modules/vmplayer/data/opt/openslx/scripts/systemd-vmware_env deleted file mode 100755 index 4103eae6..00000000 --- a/remote/modules/vmplayer/data/opt/openslx/scripts/systemd-vmware_env +++ /dev/null @@ -1,281 +0,0 @@ -#!/bin/sh -# Copyright (c) 2009 - 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/ -# ----------------------------------------------------------------------------- - -export PATH=$PATH:/opt/openslx/bin:/opt/openslx/sbin:/opt/openslx/usr/bin:/opt/openslx/usr/sbin - -VMWARE_CONF_DIR=/opt/openslx/etc/vmware - -for wait in 1 1 2 2 3 end; do - grep '^SLX_DNS' /opt/openslx/config > /dev/null && break - [ "$wait" == "end" ] && echo "No DNS config found, using google dns" && break - echo "Waiting for DNS config.." - sleep "$wait" -done - -#source config file -. /opt/openslx/config -. ${VMWARE_CONF_DIR}/vmware.conf - -vm_dhcpd() { - - #from plugins/vmware/init-hooks/60-have-servconfig/vm-dhcpd.sh - - # read the DNS configuration and if available set WPAD configuration - [ -z "${SLX_DNS}" ] && SLX_DNS="8.8.8.8" - [ -n "${wpad}" ] && wpad_config="option wpad ${wpad}" - - # configuring dhcpd stub for virtual networks -cat > ${VMWARE_CONF_DIR}/udhcpd.conf << EOF -# general udhcpd configuration file for virtual machines written by $0 - -# start and end of the IP lease block -start CNETWORK.20 -end CNETWORK.100 - -# interface that udhcpd will use -interface NWIF - -# how long an offered address is reserved (leased) in seconds -offer_time 6000 - -# location of the leases file -lease_file LEASEFILE - -# location of the pid file -pidfile PIDFILE - -option dns ${SLX_DNS} -option subnet 255.255.255.0 -option router CNETWORK.1 -option wins CNETWORK.10 -option domain virtual.site ${domain_name} -${wpad_config} - -# additional options known to udhcpd -#subnet #timezone -#router #timesvr -#namesvr #dns -#logsvr #cookiesvr -#lprsvr #bootsize -#domain #swapsvr -#rootpath #ipttl -#mtu #broadcast -#wins #lease -#ntpsrv #tftp -#bootfile #wpad -EOF - -} - -setup_network() { - #from plugins/vmware/XX_vmware.sh - - mkdir -p /tmp/virt/vmware -m 1777 - mkdir -p /dev/shm/vmware -m 1777 - mkdir -p /var/run/vmware -m 1777 - mkdir -p /etc/vmware/udhcpd - - # variable might contain ",NAT" which is to be taken off - if [ -n "$vmnet1" ] ; then - local vmip=${vmnet1%/*} # x.x.x.x/yy => 'x.x.x.x'"> - local vmsub=$(echo $vmip |sed 's,\(.*\)\..*,\1,') # x.x.x.x => x.x.x - # setting up the udhcpd configuration - sed -e "s,NWIF,vmnet1,;s,/misc/,/vmware/," \ - -e "s,CNETWORK,$vmsub,;s,PIDFILE,/var/run/vmware/udhcpd-vmnet1.pid," \ - -e "s,LEASEFILE,/var/run/vmware/udhcpd-vmnet1.leases," \ - ${VMWARE_CONF_DIR}/udhcpd.conf >/etc/vmware/udhcpd/udhcpd-vmnet1.conf - # setting the base samba configuration if available - if [ -f /etc/openslx/vmchooser/smb.conf \ - -a -f /usr/sbin/smbd ] ; then - sed -e "s#NWIF#vmnet1,vmnet8#;s,PIDDIR,/var/run/vmware," \ - ${VMCHOOSER_CONF_DIR}/smb.conf \ - >/etc/vmware/smb.conf - fi - fi - - # vmware nat interface configuration - if [ -n "$vmnet8" ] ; then - local vmnet8ip=${vmnet8%/*} - local vmpx=${vmnet8#*/} - local vmsub=$(echo $vmnet8ip |sed 's,\(.*\)\..*,\1,') # x.x.x.x => x.x.x"> - # vmip is user for vmnet8 device - # vmnet is user for config files nat.conf/dhcp - local vmip="${vmsub}.1" - local vmnet="${vmsub}.2" - # setting up the udhcpd configuration - sed -e "s,NWIF,vmnet8,;s,/misc/,/vmware/," \ - -e "s,CNETWORK,$vmsub,;s,PIDFILE,/var/run/vmware/udhcpd-vmnet8.pid," \ - -e "s,LEASEFILE,/var/run/vmware/udhcpd-vmnet8.leases," \ - ${VMWARE_CONF_DIR}/udhcpd.conf >/etc/vmware/udhcpd/udhcpd-vmnet8.conf - # might be not needed any more ... - echo -e "# Linux NAT configuration file" \ - > /etc/vmware/nat.conf - echo -e "[host]" \ - >> /etc/vmware/nat.conf - echo -e "ip = $vmnet/$vmpx" \ - >> /etc/vmware/nat.conf - echo -e "device = /dev/vmnet8" \ - >> /etc/vmware/nat.conf - echo -e "activeFTP = 1" \ - >> /etc/vmware/nat.conf - echo -e "[udp]" \ - >> /etc/vmware/nat.conf - echo -e "timeout = 60" \ - >> /etc/vmware/nat.conf - echo -e "[incomingtcp]" \ - >> /etc/vmware/nat.conf - echo -e "[incomingudp]" \ - >> /etc/vmware/nat.conf - echo "00:50:56:F1:30:50" > /etc/vmware/vmnet-natd-8.mac - fi - - ############################################################################ - # vmware stuff second part: setting up the environment - # make udhcpd more silent - touch /var/run/vmware/udhcpd-vmnet1.leases \ - /var/run/vmware/udhcpd-vmnet8.leases - - # create the needed devices which effects all vmware options - # they are not created automatically via module load - for i in "/dev/vmnet0 c 119 0" "/dev/vmnet1 c 119 1" \ - "/dev/vmnet8 c 119 8" "/dev/vmmon c 10 165"; do - mknod $i - done - - chmod 0700 /dev/vmnet* -} - -adapt_tmpfs() { - # from plugins/vmware/init-hooks/80-after-plugins/adapt-tmpfs.sh - # Init hook to adapt the tmpfs size for VMware/Player - # (should be kept identical to the files of virtualbox plugin) - ############################################################################# - - # adapt tmpfs size (overbook) - case $(grep tmpfs /proc/mounts) in - */tmp*) - mount -o remount,size=175% /tmp - ;; - */uniontmp*) - mount -o remount,size=175% /uniontmp - ;; - esac -} - -#from /etc/init.d/vmware-env - -#functions: helper functions -tempdir () { - # Create a special tempfs directory - mkdir -m 1777 -p /tmp/vmware - # Don't mount special tempfs, when using local harddrive for /tmp - [ ! -n "$(cat /proc/mounts |grep ' /tmp '|grep '/dev/sd')" ] \ - && mount -t tmpfs -o size=180%,mode=1777 tmpfs /tmp/vmware -} - -load_modules () { - # VMplayer common stuff - insmod /lib/modules/vmware/vmmon.ko - insmod /lib/modules/vmware/vmnet.ko - # VMplayer 3.X specific stuff - insmod /lib/modules/vmware/vmci.ko - insmod /lib/modules/vmware/vmblock.ko - insmod /lib/modules/vmware/vsock.ko -} - -unload_modules () { - rmmod vmnet vmmonvsock vmci vmblock -} - -vmnetif () { -# let point the path directly to the directory where the binary lives -location="/usr/bin" -if [ -n "$vmnet0" ] ; then - # the path might be directly point to the plugin dir - $location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid -n 0 -fi -if [ -n "$vmnet1" ] ; then - $location/vmnet-netifup -d /var/run/vmnet-netifup-vmnet1.pid \ - /dev/vmnet1 vmnet1 - ip addr add $vmnet1 dev vmnet1 - ip link set vmnet1 up - if [ -n "$vmnet1nat" ] ; then - echo "1" >/proc/sys/net/ipv4/conf/vmnet1/forwarding - echo "1" >/proc/sys/net/ipv4/conf/br0/forwarding 2>/dev/null - fi - /opt/openslx/usr/sbin/udhcpd \ - -S /etc/vmware/udhcpd/udhcpd-vmnet1.conf -fi -if [ -n "$vmnet8" ] ; then - $location/vmnet-netifup -d /var/run/vmnet-netifup-vmnet8.pid \ - /dev/vmnet8 vmnet8 - ip addr add $vmnet8 dev vmnet8 - ip link set vmnet8 up - echo "1" >/proc/sys/net/ipv4/conf/vmnet8/forwarding - echo "1" >/proc/sys/net/ipv4/conf/br0/forwarding 2>/dev/null - iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE - # /etc/vmware/vmnet-natd-8.mac simply contains a mac like 00:50:56:F1:30:50 - $location/vmnet-natd -d /var/run/vmnet-natd-8.pid \ - -m /etc/vmware/vmnet-natd-8.mac -c /etc/vmware/nat.conf # or logfile - /opt/openslx/usr/sbin/udhcpd \ - -S /etc/vmware/udhcpd/udhcpd-vmnet8.conf -fi - -} - -vmblock () { -# let point the path directly to the directory where the binary lives - /usr/bin/vmware-usbarbitrator -} - - - -case "$1" in - start) - #start: defines start function for initscript - vm_dhcpd - setup_network -# adapt_tmpfs - # hack to access the first serial/parallel port - chmod a+rw /dev/ttyS0 - chmod a+rw /dev/parport0 - tempdir - load_modules - vmnetif - vmblock - ;; - stop) - #stop: defines stop function for initscript - killall vmnet-netifup vmnet-natd vmnet-bridge vmware vmplayer \ - vmware-tray vmnet-dhcpd - # might take a while until all services are shut down - sleep 1 - umount -l /tmp/vmware 2>/dev/null - unload_modules - - ;; - restart) - #restart: defines restart function for initscript - $0 stop && $0 start - ;; - status) - #status: defines status function for initscript - vmstatus - ;; - *) - #usage: defines usage function for initscript - ## print out usage - echo "Usage: $0 {start, stop, restart, status}" >&2 - exit 1 - ;; -esac - diff --git a/remote/modules/vmplayer/data/usr/share/icons/hicolor/index.theme b/remote/modules/vmplayer/data/usr/share/icons/hicolor/index.theme deleted file mode 100644 index 5c9c50ad..00000000 --- a/remote/modules/vmplayer/data/usr/share/icons/hicolor/index.theme +++ /dev/null @@ -1,1662 +0,0 @@ -[Icon Theme] -Name=Hicolor -Comment=Fallback icon theme -Hidden=true -Directories=16x16/actions,16x16/animations,16x16/apps,16x16/categories,16x16/devices,16x16/emblems,16x16/emotes,16x16/filesystems,16x16/intl,16x16/mimetypes,16x16/places,16x16/status,16x16/stock/chart,16x16/stock/code,16x16/stock/data,16x16/stock/form,16x16/stock/image,16x16/stock/io,16x16/stock/media,16x16/stock/navigation,16x16/stock/net,16x16/stock/object,16x16/stock/table,16x16/stock/text,22x22/actions,22x22/animations,22x22/apps,22x22/categories,22x22/devices,22x22/emblems,22x22/emotes,22x22/filesystems,22x22/intl,22x22/mimetypes,22x22/places,22x22/status,22x22/stock/chart,22x22/stock/code,22x22/stock/data,22x22/stock/form,22x22/stock/image,22x22/stock/io,22x22/stock/media,22x22/stock/navigation,22x22/stock/net,22x22/stock/object,22x22/stock/table,22x22/stock/text,24x24/actions,24x24/animations,24x24/apps,24x24/categories,24x24/devices,24x24/emblems,24x24/emotes,24x24/filesystems,24x24/intl,24x24/mimetypes,24x24/places,24x24/status,24x24/stock/chart,24x24/stock/code,24x24/stock/data,24x24/stock/form,24x24/stock/image,24x24/stock/io,24x24/stock/media,24x24/stock/navigation,24x24/stock/net,24x24/stock/object,24x24/stock/table,24x24/stock/text,32x32/actions,32x32/animations,32x32/apps,32x32/categories,32x32/devices,32x32/emblems,32x32/emotes,32x32/filesystems,32x32/intl,32x32/mimetypes,32x32/places,32x32/status,32x32/stock/chart,32x32/stock/code,32x32/stock/data,32x32/stock/form,32x32/stock/image,32x32/stock/io,32x32/stock/media,32x32/stock/navigation,32x32/stock/net,32x32/stock/object,32x32/stock/table,32x32/stock/text,36x36/actions,36x36/animations,36x36/apps,36x36/categories,36x36/devices,36x36/emblems,36x36/emotes,36x36/filesystems,36x36/intl,36x36/mimetypes,36x36/places,36x36/status,36x36/stock/chart,36x36/stock/code,36x36/stock/data,36x36/stock/form,36x36/stock/image,36x36/stock/io,36x36/stock/media,36x36/stock/navigation,36x36/stock/net,36x36/stock/object,36x36/stock/table,36x36/stock/text,48x48/actions,48x48/animations,48x48/apps,48x48/categories,48x48/devices,48x48/emblems,48x48/emotes,48x48/filesystems,48x48/intl,48x48/mimetypes,48x48/places,48x48/status,48x48/stock/chart,48x48/stock/code,48x48/stock/data,48x48/stock/form,48x48/stock/image,48x48/stock/io,48x48/stock/media,48x48/stock/navigation,48x48/stock/net,48x48/stock/object,48x48/stock/table,48x48/stock/text,64x64/actions,64x64/animations,64x64/apps,64x64/categories,64x64/devices,64x64/emblems,64x64/emotes,64x64/filesystems,64x64/intl,64x64/mimetypes,64x64/places,64x64/status,64x64/stock/chart,64x64/stock/code,64x64/stock/data,64x64/stock/form,64x64/stock/image,64x64/stock/io,64x64/stock/media,64x64/stock/navigation,64x64/stock/net,64x64/stock/object,64x64/stock/table,64x64/stock/text,72x72/actions,72x72/animations,72x72/apps,72x72/categories,72x72/devices,72x72/emblems,72x72/emotes,72x72/filesystems,72x72/intl,72x72/mimetypes,72x72/places,72x72/status,72x72/stock/chart,72x72/stock/code,72x72/stock/data,72x72/stock/form,72x72/stock/image,72x72/stock/io,72x72/stock/media,72x72/stock/navigation,72x72/stock/net,72x72/stock/object,72x72/stock/table,72x72/stock/text,96x96/actions,96x96/animations,96x96/apps,96x96/categories,96x96/devices,96x96/emblems,96x96/emotes,96x96/filesystems,96x96/intl,96x96/mimetypes,96x96/places,96x96/status,96x96/stock/chart,96x96/stock/code,96x96/stock/data,96x96/stock/form,96x96/stock/image,96x96/stock/io,96x96/stock/media,96x96/stock/navigation,96x96/stock/net,96x96/stock/object,96x96/stock/table,96x96/stock/text,128x128/actions,128x128/animations,128x128/apps,128x128/categories,128x128/devices,128x128/emblems,128x128/emotes,128x128/filesystems,128x128/intl,128x128/mimetypes,128x128/places,128x128/status,128x128/stock/chart,128x128/stock/code,128x128/stock/data,128x128/stock/form,128x128/stock/image,128x128/stock/io,128x128/stock/media,128x128/stock/navigation,128x128/stock/net,128x128/stock/object,128x128/stock/table,128x128/stock/text,192x192/actions,192x192/animations,192x192/apps,192x192/categories,192x192/devices,192x192/emblems,192x192/emotes,192x192/filesystems,192x192/intl,192x192/mimetypes,192x192/places,192x192/status,192x192/stock/chart,192x192/stock/code,192x192/stock/data,192x192/stock/form,192x192/stock/image,192x192/stock/io,192x192/stock/media,192x192/stock/navigation,192x192/stock/net,192x192/stock/object,192x192/stock/table,192x192/stock/text,256x256/actions,256x256/animations,256x256/apps,256x256/categories,256x256/devices,256x256/emblems,256x256/emotes,256x256/filesystems,256x256/intl,256x256/mimetypes,256x256/places,256x256/status,256x256/stock/chart,256x256/stock/code,256x256/stock/data,256x256/stock/form,256x256/stock/image,256x256/stock/io,256x256/stock/media,256x256/stock/navigation,256x256/stock/net,256x256/stock/object,256x256/stock/table,256x256/stock/text,scalable/actions,scalable/animations,scalable/apps,scalable/categories,scalable/devices,scalable/emblems,scalable/emotes,scalable/filesystems,scalable/intl,scalable/mimetypes,scalable/places,scalable/status,scalable/stock/chart,scalable/stock/code,scalable/stock/data,scalable/stock/form,scalable/stock/image,scalable/stock/io,scalable/stock/media,scalable/stock/navigation,scalable/stock/net,scalable/stock/object,scalable/stock/table,scalable/stock/text - - -[16x16/actions] -Size=16 -Context=Actions -Type=Threshold - -[16x16/animations] -Size=16 -Context=Animations -Type=Threshold - -[16x16/apps] -Size=16 -Context=Applications -Type=Threshold - -[16x16/categories] -Size=16 -Context=Categories -Type=Threshold - -[16x16/devices] -Size=16 -Context=Devices -Type=Threshold - -[16x16/emblems] -Size=16 -Context=Emblems -Type=Threshold - -[16x16/emotes] -Size=16 -Context=Emotes -Type=Threshold - -[16x16/filesystems] -Size=16 -Context=FileSystems -Type=Threshold - -[16x16/intl] -Size=16 -Context=International -Type=Threshold - -[16x16/mimetypes] -Size=16 -Context=MimeTypes -Type=Threshold - -[16x16/places] -Size=16 -Context=Places -Type=Threshold - -[16x16/status] -Size=16 -Context=Status -Type=Threshold - -[16x16/stock/chart] -Size=16 -Context=Stock -Type=Threshold - -[16x16/stock/code] -Size=16 -Context=Stock -Type=Threshold - -[16x16/stock/data] -Size=16 -Context=Stock -Type=Threshold - -[16x16/stock/form] -Size=16 -Context=Stock -Type=Threshold - -[16x16/stock/image] -Size=16 -Context=Stock -Type=Threshold - -[16x16/stock/io] -Size=16 -Context=Stock -Type=Threshold - -[16x16/stock/media] -Size=16 -Context=Stock -Type=Threshold - -[16x16/stock/navigation] -Size=16 -Context=Stock -Type=Threshold - -[16x16/stock/net] -Size=16 -Context=Stock -Type=Threshold - -[16x16/stock/object] -Size=16 -Context=Stock -Type=Threshold - -[16x16/stock/table] -Size=16 -Context=Stock -Type=Threshold - -[16x16/stock/text] -Size=16 -Context=Stock -Type=Threshold - -[22x22/actions] -Size=22 -Context=Actions -Type=Threshold - -[22x22/animations] -Size=22 -Context=Animations -Type=Threshold - -[22x22/apps] -Size=22 -Context=Applications -Type=Fixed - -[22x22/categories] -Size=22 -Context=Categories -Type=Threshold - -[22x22/devices] -Size=22 -Context=Devices -Type=Threshold - -[22x22/emblems] -Size=22 -Context=Emblems -Type=Threshold - -[22x22/emotes] -Size=22 -Context=Emotes -Type=Threshold - -[22x22/filesystems] -Size=22 -Context=FileSystems -Type=Threshold - -[22x22/intl] -Size=22 -Context=International -Type=Threshold - -[22x22/mimetypes] -Size=22 -Context=MimeTypes -Type=Threshold - -[22x22/places] -Size=22 -Context=Places -Type=Threshold - -[22x22/status] -Size=22 -Context=Status -Type=Threshold - -[22x22/stock/chart] -Size=22 -Context=Stock -Type=Threshold - -[22x22/stock/code] -Size=22 -Context=Stock -Type=Threshold - -[22x22/stock/data] -Size=22 -Context=Stock -Type=Threshold - -[22x22/stock/form] -Size=22 -Context=Stock -Type=Threshold - -[22x22/stock/image] -Size=22 -Context=Stock -Type=Threshold - -[22x22/stock/io] -Size=22 -Context=Stock -Type=Threshold - -[22x22/stock/media] -Size=22 -Context=Stock -Type=Threshold - -[22x22/stock/navigation] -Size=22 -Context=Stock -Type=Threshold - -[22x22/stock/net] -Size=22 -Context=Stock -Type=Threshold - -[22x22/stock/object] -Size=22 -Context=Stock -Type=Threshold - -[22x22/stock/table] -Size=22 -Context=Stock -Type=Threshold - -[22x22/stock/text] -Size=22 -Context=Stock -Type=Threshold - -[24x24/actions] -Size=24 -Context=Actions -Type=Threshold - -[24x24/animations] -Size=24 -Context=Animations -Type=Threshold - -[24x24/apps] -Size=24 -Context=Applications -Type=Threshold - -[24x24/categories] -Size=24 -Context=Categories -Type=Threshold - -[24x24/devices] -Size=24 -Context=Devices -Type=Threshold - -[24x24/emblems] -Size=24 -Context=Emblems -Type=Threshold - -[24x24/emotes] -Size=24 -Context=Emotes -Type=Threshold - -[24x24/filesystems] -Size=24 -Context=FileSystems -Type=Threshold - -[24x24/intl] -Size=24 -Context=International -Type=Threshold - -[24x24/mimetypes] -Size=24 -Context=MimeTypes -Type=Threshold - -[24x24/places] -Size=24 -Context=Places -Type=Threshold - -[24x24/status] -Size=24 -Context=Status -Type=Threshold - -[24x24/stock/chart] -Size=24 -Context=Stock -Type=Threshold - -[24x24/stock/code] -Size=24 -Context=Stock -Type=Threshold - -[24x24/stock/data] -Size=24 -Context=Stock -Type=Threshold - -[24x24/stock/form] -Size=24 -Context=Stock -Type=Threshold - -[24x24/stock/image] -Size=24 -Context=Stock -Type=Threshold - -[24x24/stock/io] -Size=24 -Context=Stock -Type=Threshold - -[24x24/stock/media] -Size=24 -Context=Stock -Type=Threshold - -[24x24/stock/navigation] -Size=24 -Context=Stock -Type=Threshold - -[24x24/stock/net] -Size=24 -Context=Stock -Type=Threshold - -[24x24/stock/object] -Size=24 -Context=Stock -Type=Threshold - -[24x24/stock/table] -Size=24 -Context=Stock -Type=Threshold - -[24x24/stock/text] -Size=24 -Context=Stock -Type=Threshold - -[32x32/actions] -Size=32 -Context=Actions -Type=Threshold - -[32x32/animations] -Size=32 -Context=Animations -Type=Threshold - -[32x32/apps] -Size=32 -Context=Applications -Type=Threshold - -[32x32/categories] -Size=32 -Context=Categories -Type=Threshold - -[32x32/devices] -Size=32 -Context=Devices -Type=Threshold - -[32x32/emblems] -Size=32 -Context=Emblems -Type=Threshold - -[32x32/emotes] -Size=32 -Context=Emotes -Type=Threshold - -[32x32/filesystems] -Size=32 -Context=FileSystems -Type=Threshold - -[32x32/intl] -Size=32 -Context=International -Type=Threshold - -[32x32/mimetypes] -Size=32 -Context=MimeTypes -Type=Threshold - -[32x32/places] -Size=32 -Context=Places -Type=Threshold - -[32x32/status] -Size=32 -Context=Status -Type=Threshold - -[32x32/stock/chart] -Size=32 -Context=Stock -Type=Threshold - -[32x32/stock/code] -Size=32 -Context=Stock -Type=Threshold - -[32x32/stock/data] -Size=32 -Context=Stock -Type=Threshold - -[32x32/stock/form] -Size=32 -Context=Stock -Type=Threshold - -[32x32/stock/image] -Size=32 -Context=Stock -Type=Threshold - -[32x32/stock/io] -Size=32 -Context=Stock -Type=Threshold - -[32x32/stock/media] -Size=32 -Context=Stock -Type=Threshold - -[32x32/stock/navigation] -Size=32 -Context=Stock -Type=Threshold - -[32x32/stock/net] -Size=32 -Context=Stock -Type=Threshold - -[32x32/stock/object] -Size=32 -Context=Stock -Type=Threshold - -[32x32/stock/table] -Size=32 -Context=Stock -Type=Threshold - -[32x32/stock/text] -Size=32 -Context=Stock -Type=Threshold - -[36x36/actions] -Size=36 -Context=Actions -Type=Threshold - -[36x36/animations] -Size=36 -Context=Animations -Type=Threshold - -[36x36/apps] -Size=36 -Context=Applications -Type=Threshold - -[36x36/categories] -Size=36 -Context=Categories -Type=Threshold - -[36x36/devices] -Size=36 -Context=Devices -Type=Threshold - -[36x36/emblems] -Size=36 -Context=Emblems -Type=Threshold - -[36x36/emotes] -Size=36 -Context=Emotes -Type=Threshold - -[36x36/filesystems] -Size=36 -Context=FileSystems -Type=Threshold - -[36x36/intl] -Size=36 -Context=International -Type=Threshold - -[36x36/mimetypes] -Size=36 -Context=MimeTypes -Type=Threshold - -[36x36/places] -Size=36 -Context=Places -Type=Threshold - -[36x36/status] -Size=36 -Context=Status -Type=Threshold - -[36x36/stock/chart] -Size=36 -Context=Stock -Type=Threshold - -[36x36/stock/code] -Size=36 -Context=Stock -Type=Threshold - -[36x36/stock/data] -Size=36 -Context=Stock -Type=Threshold - -[36x36/stock/form] -Size=36 -Context=Stock -Type=Threshold - -[36x36/stock/image] -Size=36 -Context=Stock -Type=Threshold - -[36x36/stock/io] -Size=36 -Context=Stock -Type=Threshold - -[36x36/stock/media] -Size=36 -Context=Stock -Type=Threshold - -[36x36/stock/navigation] -Size=36 -Context=Stock -Type=Threshold - -[36x36/stock/net] -Size=36 -Context=Stock -Type=Threshold - -[36x36/stock/object] -Size=36 -Context=Stock -Type=Threshold - -[36x36/stock/table] -Size=36 -Context=Stock -Type=Threshold - -[36x36/stock/text] -Size=36 -Context=Stock -Type=Threshold - -[48x48/actions] -Size=48 -Context=Actions -Type=Threshold - -[48x48/animations] -Size=48 -Context=Animations -Type=Threshold - -[48x48/apps] -Size=48 -Context=Applications -Type=Threshold - -[48x48/categories] -Size=48 -Context=Categories -Type=Threshold - -[48x48/devices] -Size=48 -Context=Devices -Type=Threshold - -[48x48/emblems] -Size=48 -Context=Emblems -Type=Threshold - -[48x48/emotes] -Size=48 -Context=Emotes -Type=Threshold - -[48x48/filesystems] -Size=48 -Context=FileSystems -Type=Threshold - -[48x48/intl] -Size=48 -Context=International -Type=Threshold - -[48x48/mimetypes] -Size=48 -Context=MimeTypes -Type=Threshold - -[48x48/places] -Size=48 -Context=Places -Type=Threshold - -[48x48/status] -Size=48 -Context=Status -Type=Threshold - -[48x48/stock/chart] -Size=48 -Context=Stock -Type=Threshold - -[48x48/stock/code] -Size=48 -Context=Stock -Type=Threshold - -[48x48/stock/data] -Size=48 -Context=Stock -Type=Threshold - -[48x48/stock/form] -Size=48 -Context=Stock -Type=Threshold - -[48x48/stock/image] -Size=48 -Context=Stock -Type=Threshold - -[48x48/stock/io] -Size=48 -Context=Stock -Type=Threshold - -[48x48/stock/media] -Size=48 -Context=Stock -Type=Threshold - -[48x48/stock/navigation] -Size=48 -Context=Stock -Type=Threshold - -[48x48/stock/net] -Size=48 -Context=Stock -Type=Threshold - -[48x48/stock/object] -Size=48 -Context=Stock -Type=Threshold - -[48x48/stock/table] -Size=48 -Context=Stock -Type=Threshold - -[48x48/stock/text] -Size=48 -Context=Stock -Type=Threshold - -[64x64/actions] -Size=64 -Context=Actions -Type=Threshold - -[64x64/animations] -Size=64 -Context=Animations -Type=Threshold - -[64x64/apps] -Size=64 -Context=Applications -Type=Threshold - -[64x64/categories] -Size=64 -Context=Categories -Type=Threshold - -[64x64/devices] -Size=64 -Context=Devices -Type=Threshold - -[64x64/emblems] -Size=64 -Context=Emblems -Type=Threshold - -[64x64/emotes] -Size=64 -Context=Emotes -Type=Threshold - -[64x64/filesystems] -Size=64 -Context=FileSystems -Type=Threshold - -[64x64/intl] -Size=64 -Context=International -Type=Threshold - -[64x64/mimetypes] -Size=64 -Context=MimeTypes -Type=Threshold - -[64x64/places] -Size=64 -Context=Places -Type=Threshold - -[64x64/status] -Size=64 -Context=Status -Type=Threshold - -[64x64/stock/chart] -Size=64 -Context=Stock -Type=Threshold - -[64x64/stock/code] -Size=64 -Context=Stock -Type=Threshold - -[64x64/stock/data] -Size=64 -Context=Stock -Type=Threshold - -[64x64/stock/form] -Size=64 -Context=Stock -Type=Threshold - -[64x64/stock/image] -Size=64 -Context=Stock -Type=Threshold - -[64x64/stock/io] -Size=64 -Context=Stock -Type=Threshold - -[64x64/stock/media] -Size=64 -Context=Stock -Type=Threshold - -[64x64/stock/navigation] -Size=64 -Context=Stock -Type=Threshold - -[64x64/stock/net] -Size=64 -Context=Stock -Type=Threshold - -[64x64/stock/object] -Size=64 -Context=Stock -Type=Threshold - -[64x64/stock/table] -Size=64 -Context=Stock -Type=Threshold - -[64x64/stock/text] -Size=64 -Context=Stock -Type=Threshold -[72x72/actions] -Size=72 -Context=Actions -Type=Threshold - -[72x72/animations] -Size=72 -Context=Animations -Type=Threshold - -[72x72/apps] -Size=72 -Context=Applications -Type=Threshold - -[72x72/categories] -Size=72 -Context=Categories -Type=Threshold - -[72x72/devices] -Size=72 -Context=Devices -Type=Threshold - -[72x72/emblems] -Size=72 -Context=Emblems -Type=Threshold - -[72x72/emotes] -Size=72 -Context=Emotes -Type=Threshold - -[72x72/filesystems] -Size=72 -Context=FileSystems -Type=Threshold - -[72x72/intl] -Size=72 -Context=International -Type=Threshold - -[72x72/mimetypes] -Size=72 -Context=MimeTypes -Type=Threshold - -[72x72/places] -Size=72 -Context=Places -Type=Threshold - -[72x72/status] -Size=72 -Context=Status -Type=Threshold - -[72x72/stock/chart] -Size=72 -Context=Stock -Type=Threshold - -[72x72/stock/code] -Size=72 -Context=Stock -Type=Threshold - -[72x72/stock/data] -Size=72 -Context=Stock -Type=Threshold - -[72x72/stock/form] -Size=72 -Context=Stock -Type=Threshold - -[72x72/stock/image] -Size=72 -Context=Stock -Type=Threshold - -[72x72/stock/io] -Size=72 -Context=Stock -Type=Threshold - -[72x72/stock/media] -Size=72 -Context=Stock -Type=Threshold - -[72x72/stock/navigation] -Size=72 -Context=Stock -Type=Threshold - -[72x72/stock/net] -Size=72 -Context=Stock -Type=Threshold - -[72x72/stock/object] -Size=72 -Context=Stock -Type=Threshold - -[72x72/stock/table] -Size=72 -Context=Stock -Type=Threshold - -[72x72/stock/text] -Size=72 -Context=Stock -Type=Threshold - -[96x96/actions] -Size=96 -Context=Actions -Type=Threshold - -[96x96/animations] -Size=96 -Context=Animations -Type=Threshold - -[96x96/apps] -Size=96 -Context=Applications -Type=Threshold - -[96x96/categories] -Size=96 -Context=Categories -Type=Threshold - -[96x96/devices] -Size=96 -Context=Devices -Type=Threshold - -[96x96/emblems] -Size=96 -Context=Emblems -Type=Threshold - -[96x96/emotes] -Size=96 -Context=Emotes -Type=Threshold - -[96x96/filesystems] -Size=96 -Context=FileSystems -Type=Threshold - -[96x96/intl] -Size=96 -Context=International -Type=Threshold - -[96x96/mimetypes] -Size=96 -Context=MimeTypes -Type=Threshold - -[96x96/places] -Size=96 -Context=Places -Type=Threshold - -[96x96/status] -Size=96 -Context=Status -Type=Threshold - -[96x96/stock/chart] -Size=96 -Context=Stock -Type=Threshold - -[96x96/stock/code] -Size=96 -Context=Stock -Type=Threshold - -[96x96/stock/data] -Size=96 -Context=Stock -Type=Threshold - -[96x96/stock/form] -Size=96 -Context=Stock -Type=Threshold - -[96x96/stock/image] -Size=96 -Context=Stock -Type=Threshold - -[96x96/stock/io] -Size=96 -Context=Stock -Type=Threshold - -[96x96/stock/media] -Size=96 -Context=Stock -Type=Threshold - -[96x96/stock/navigation] -Size=96 -Context=Stock -Type=Threshold - -[96x96/stock/net] -Size=96 -Context=Stock -Type=Threshold - -[96x96/stock/object] -Size=96 -Context=Stock -Type=Threshold - -[96x96/stock/table] -Size=96 -Context=Stock -Type=Threshold - -[96x96/stock/text] -Size=96 -Context=Stock -Type=Threshold - -[128x128/actions] -Size=128 -Context=Actions -Type=Threshold - -[128x128/animations] -Size=128 -Context=Animations -Type=Threshold - -[128x128/apps] -Size=128 -Context=Applications -Type=Threshold - -[128x128/categories] -Size=128 -Context=Categories -Type=Threshold - -[128x128/devices] -Size=128 -Context=Devices -Type=Threshold - -[128x128/emblems] -Size=128 -Context=Emblems -Type=Threshold - -[128x128/emotes] -Size=128 -Context=Emotes -Type=Threshold - -[128x128/filesystems] -Size=128 -Context=FileSystems -Type=Threshold - -[128x128/intl] -Size=128 -Context=International -Type=Threshold - -[128x128/mimetypes] -Size=128 -Context=MimeTypes -Type=Threshold - -[128x128/places] -Size=128 -Context=Places -Type=Threshold - -[128x128/status] -Size=128 -Context=Status -Type=Threshold - -[128x128/stock/chart] -Size=128 -Context=Stock -Type=Threshold - -[128x128/stock/code] -Size=128 -Context=Stock -Type=Threshold - -[128x128/stock/data] -Size=128 -Context=Stock -Type=Threshold - -[128x128/stock/form] -Size=128 -Context=Stock -Type=Threshold - -[128x128/stock/image] -Size=128 -Context=Stock -Type=Threshold - -[128x128/stock/io] -Size=128 -Context=Stock -Type=Threshold - -[128x128/stock/media] -Size=128 -Context=Stock -Type=Threshold - -[128x128/stock/navigation] -Size=128 -Context=Stock -Type=Threshold - -[128x128/stock/net] -Size=128 -Context=Stock -Type=Threshold - -[128x128/stock/object] -Size=128 -Context=Stock -Type=Threshold - -[128x128/stock/table] -Size=128 -Context=Stock -Type=Threshold - -[128x128/stock/text] -Size=128 -Context=Stock -Type=Threshold - -[192x192/actions] -Size=192 -Context=Actions -Type=Threshold - -[192x192/animations] -Size=192 -Context=Animations -Type=Threshold - -[192x192/apps] -Size=192 -Context=Applications -Type=Threshold - -[192x192/categories] -Size=192 -Context=Categories -Type=Threshold - -[192x192/devices] -Size=192 -Context=Devices -Type=Threshold - -[192x192/emblems] -Size=192 -Context=Emblems -Type=Threshold - -[192x192/emotes] -Size=192 -Context=Emotes -Type=Threshold - -[192x192/filesystems] -Size=192 -Context=FileSystems -Type=Threshold - -[192x192/intl] -Size=192 -Context=International -Type=Threshold - -[192x192/mimetypes] -Size=192 -Context=MimeTypes -Type=Threshold - -[192x192/places] -Size=192 -Context=Places -Type=Threshold - -[192x192/status] -Size=192 -Context=Status -Type=Threshold - -[192x192/stock/chart] -Size=192 -Context=Stock -Type=Threshold - -[192x192/stock/code] -Size=192 -Context=Stock -Type=Threshold - -[192x192/stock/data] -Size=192 -Context=Stock -Type=Threshold - -[192x192/stock/form] -Size=192 -Context=Stock -Type=Threshold - -[192x192/stock/image] -Size=192 -Context=Stock -Type=Threshold - -[192x192/stock/io] -Size=192 -Context=Stock -Type=Threshold - -[192x192/stock/media] -Size=192 -Context=Stock -Type=Threshold - -[192x192/stock/navigation] -Size=192 -Context=Stock -Type=Threshold - -[192x192/stock/net] -Size=192 -Context=Stock -Type=Threshold - -[192x192/stock/object] -Size=192 -Context=Stock -Type=Threshold - -[192x192/stock/table] -Size=192 -Context=Stock -Type=Threshold - -[192x192/stock/text] -Size=192 -Context=Stock -Type=Threshold - -[256x256/actions] -MinSize=64 -Size=256 -MaxSize=256 -Context=Actions -Type=Scalable - -[256x256/animations] -MinSize=64 -Size=256 -MaxSize=256 -Context=Animations -Type=Scalable - -[256x256/apps] -MinSize=64 -Size=256 -MaxSize=256 -Context=Applications -Type=Scalable - -[256x256/categories] -MinSize=64 -Size=256 -MaxSize=256 -Context=Categories -Type=Scalable - -[256x256/devices] -MinSize=64 -Size=256 -MaxSize=256 -Context=Devices -Type=Scalable - -[256x256/emblems] -MinSize=64 -Size=256 -MaxSize=256 -Context=Emblems -Type=Scalable - -[256x256/emotes] -MinSize=64 -Size=256 -MaxSize=256 -Context=Emotes -Type=Scalable - -[256x256/filesystems] -MinSize=64 -Size=256 -MaxSize=256 -Context=FileSystems -Type=Scalable - -[256x256/intl] -MinSize=64 -Size=256 -MaxSize=256 -Context=International -Type=Scalable - -[256x256/mimetypes] -MinSize=64 -Size=256 -MaxSize=256 -Context=MimeTypes -Type=Scalable - -[256x256/places] -MinSize=64 -Size=256 -MaxSize=256 -Context=Places -Type=Scalable - -[256x256/status] -MinSize=64 -Size=256 -MaxSize=256 -Context=Status -Type=Scalable - -[256x256/stock/chart] -MinSize=64 -Size=256 -MaxSize=256 -Context=Stock -Type=Scalable - -[256x256/stock/code] -MinSize=64 -Size=256 -MaxSize=256 -Context=Stock -Type=Scalable - -[256x256/stock/data] -MinSize=64 -Size=256 -MaxSize=256 -Context=Stock -Type=Scalable - -[256x256/stock/form] -MinSize=64 -Size=256 -MaxSize=256 -Context=Stock -Type=Scalable - -[256x256/stock/image] -MinSize=64 -Size=256 -MaxSize=256 -Context=Stock -Type=Scalable - -[256x256/stock/io] -MinSize=64 -Size=256 -MaxSize=256 -Context=Stock -Type=Scalable - -[256x256/stock/media] -MinSize=64 -Size=256 -MaxSize=256 -Context=Stock -Type=Scalable - -[256x256/stock/navigation] -MinSize=64 -Size=256 -MaxSize=256 -Context=Stock -Type=Scalable - -[256x256/stock/net] -MinSize=64 -Size=256 -MaxSize=256 -Context=Stock -Type=Scalable - -[256x256/stock/object] -MinSize=64 -Size=256 -MaxSize=256 -Context=Stock -Type=Scalable - -[256x256/stock/table] -MinSize=64 -Size=256 -MaxSize=256 -Context=Stock -Type=Scalable - -[256x256/stock/text] -MinSize=64 -Size=256 -MaxSize=256 -Context=Stock -Type=Scalable - -[scalable/actions] -MinSize=1 -Size=128 -MaxSize=256 -Context=Actions -Type=Scalable - -[scalable/animations] -MinSize=1 -Size=128 -MaxSize=256 -Context=Animations -Type=Scalable - -[scalable/apps] -MinSize=1 -Size=128 -MaxSize=256 -Context=Applications -Type=Scalable - -[scalable/categories] -MinSize=1 -Size=128 -MaxSize=256 -Context=Categories -Type=Scalable - -[scalable/devices] -MinSize=1 -Size=128 -MaxSize=256 -Context=Devices -Type=Scalable - -[scalable/emblems] -MinSize=1 -Size=128 -MaxSize=256 -Context=Emblems -Type=Scalable - -[scalable/emotes] -MinSize=1 -Size=128 -MaxSize=256 -Context=Emotes -Type=Scalable - -[scalable/filesystems] -MinSize=1 -Size=128 -MaxSize=256 -Context=FileSystems -Type=Scalable - -[scalable/intl] -MinSize=1 -Size=128 -MaxSize=256 -Context=International -Type=Scalable - -[scalable/mimetypes] -MinSize=1 -Size=128 -MaxSize=256 -Context=MimeTypes -Type=Scalable - -[scalable/places] -MinSize=1 -Size=128 -MaxSize=256 -Context=Places -Type=Scalable - -[scalable/status] -MinSize=1 -Size=128 -MaxSize=256 -Context=Status -Type=Scalable - -[scalable/stock/chart] -MinSize=1 -Size=128 -MaxSize=256 -Context=Stock -Type=Scalable - -[scalable/stock/code] -MinSize=1 -Size=128 -MaxSize=256 -Context=Stock -Type=Scalable - -[scalable/stock/data] -MinSize=1 -Size=128 -MaxSize=256 -Context=Stock -Type=Scalable - -[scalable/stock/form] -MinSize=1 -Size=128 -MaxSize=256 -Context=Stock -Type=Scalable - -[scalable/stock/image] -MinSize=1 -Size=128 -MaxSize=256 -Context=Stock -Type=Scalable - -[scalable/stock/io] -MinSize=1 -Size=128 -MaxSize=256 -Context=Stock -Type=Scalable - -[scalable/stock/media] -MinSize=1 -Size=128 -MaxSize=256 -Context=Stock -Type=Scalable - -[scalable/stock/navigation] -MinSize=1 -Size=128 -MaxSize=256 -Context=Stock -Type=Scalable - -[scalable/stock/net] -MinSize=1 -Size=128 -MaxSize=256 -Context=Stock -Type=Scalable - -[scalable/stock/object] -MinSize=1 -Size=128 -MaxSize=256 -Context=Stock -Type=Scalable - -[scalable/stock/table] -MinSize=1 -Size=128 -MaxSize=256 -Context=Stock -Type=Scalable - -[scalable/stock/text] -MinSize=1 -Size=128 -MaxSize=256 -Context=Stock -Type=Scalable - diff --git a/remote/modules/vmplayer/vmplayer.build b/remote/modules/vmplayer/vmplayer.build deleted file mode 100644 index 89e3f87b..00000000 --- a/remote/modules/vmplayer/vmplayer.build +++ /dev/null @@ -1,157 +0,0 @@ -fetch_source() { - #mount vmware bundle directory - [ ! -d /mnt/store ] && mkdir -p /mnt/store - if [ "x$(ls /mnt/store/vmware/*.bundle)" == "x" ]; then - mount -t nfs -o ro,async,nolock 132.230.8.113:/srv/vmext /mnt/store || perror "Could not mount vmware bundle directory. Exiting." - fi - ARCH="$(uname -m)" - [ "$ARCH" = "i686" ] && ARCH=i386 - local BUNDLE="$(find /mnt/store/vmware -type f -name "VMware-Player*.${ARCH}.bundle" | head -1)" - [ -z "$BUNDLE" ] && perror "Could not find vmplayer at /mnt/store for ARCH = $ARCH" - [ -e "./src" ] && { rm -r ./src || perror "Could not delete old src dir."; } - pinfo "Extracting bundle" - $BUNDLE -x ./src/ || perror "Extracting the vmplayer bundle failed." - pinfo "done" -} - -build() { - [ ! -d "./src/vmware-player" ] && perror "Extracted vmplayer bundle not found in ./src - please clean vmplayer module." - local TARGET="$MODULE_BUILD_DIR/usr/lib/vmware/" - mkdir -p "$TARGET"{lib,share,bin} - pinfo "Copying data to build dir" - cp -r ./src/vmware-installer/lib/lib* "$TARGET" || perror "Could not copy libs from vmware-installer" - cp -r ./src/vmware-network-editor/lib "$MODULE_BUILD_DIR/usr/" || perror "Could not copy libs from vmware-network-config" - cp -r ./src/vmware-player/lib/share "$TARGET" || perror "Could not copy lib/share from vmware-player" - cp -r ./src/vmware-player/share "$MODULE_BUILD_DIR/usr/" || perror "C0oudld not copy share from vmware-player" - cp -r ./src/vmware-player-app/etc "$MODULE_BUILD_DIR/" || perror "Could not copy bin and etc from vmware-player-app." - cp -r ./src/vmware-player-app/lib/* "$TARGET" || perror "Could not copy lib subtree from vmware-player-app." - cp -r ./src/vmware-player-app/{bin,share} "$MODULE_BUILD_DIR/usr/" || perror "could not copy share from vmware-player-app." - cp -r ./src/vmware-usbarbitrator/bin "$MODULE_BUILD_DIR/usr/" || perror "Could not copy bin from vmware-usbarbitrator." - cp -r ./src/vmware-vmx/{bin,etc,sbin} "$MODULE_BUILD_DIR/usr/" || perror "could not copy bin,etc,sbin to usr for vmare-vmx." - cp -r ./src/vmware-vmx/lib/{bin,icu,lib,libconf,scripts} "$TARGET" || perror "Could not copy many things from vmware-vmx." - [ ! -L "$TARGET/bin/vmplayer" ] && { ln -s /usr/lib/vmware/bin/appLoader "$TARGET/bin/vmplayer" || perror "Could not link vmplayer to appLoader."; } - chmod +x "$TARGET"/bin/* - chmod u+s "$TARGET"/bin/vmware-vmx* || perror "Error setting suid-bit on vmware-vmx*" - chmod +x "$MODULE_BUILD_DIR"/usr/{bin,sbin}/* - chmod u+s "$MODULE_BUILD_DIR"/usr/bin/vmware-mount || perror "Error setting suid-bit on vmware-mount" - chmod u+s "$MODULE_BUILD_DIR"/usr/sbin/vmware-authd || perror "Error setting suid-bit on vmware-authd" - chmod +x "$TARGET"/lib/*.sh - find "$MODULE_BUILD_DIR" -name '*.sh' -exec chmod +x {} \; - for file in $(grep -rl -E "^#!/" "$MODULE_BUILD_DIR"); do - chmod +x "$file" - done - pinfo "Patching LIBCONF_DIR" - local file="" - for file in $(grep -rl "@@LIBCONF_DIR@@" "$MODULE_BUILD_DIR"); do - sed -i 's#@@LIBCONF_DIR@@#/usr/lib/vmware/libconf#g' "$file" - done - - - # REMOVED: libgconf stuff was an old hackfix? seems not needed anymore - # Extract libgconf-2 stuff - #COPYLIST="list_dpkg_output" - #[ -e "${COPYLIST}" ] && rm "${COPYLIST}" - #list_packet_files >> "${COPYLIST}" - #tarcopy "$(cat "${COPYLIST}" | sort -u)" "${MODULE_BUILD_DIR}" - # Compile kernel modules - pinfo "Compiling required kernel modules." - # build modules - build_modules - -} - -post_copy() { - # FIXME: gconftool is copied without dependencies - tarcopy "$(find /usr/lib/ /usr/lib64 -name gconv -type d)" "$TARGET_BUILD_DIR" - #Update Icon cache for vmplayer - gtk-update-icon-cache-3.0 "${TARGET_BUILD_DIR}/usr/share/icons/hicolor/" || pwarning "update-icon-cache-3.0 failed." - #fix vmware-usbarbotrator bug - date +'%Y.%m.%d' >"${TARGET_BUILD_DIR}/etc/arch-release" - copy_modules -} - -build_modules() { - # need to be in src - cd "$MODULE_DIR/src" || perror "Could not cd to '$MODULE_DIR/src'" - local VMWARE_MODCONFIG="$MODULE_DIR/src/vmware-vmx/bin/vmware-modconfig" - [ -e "$VMWARE_MODCONFIG" ] && chmod +x "$VMWARE_MODCONFIG" || perror "Could not find $VMWARE_MODCONFIG" - # link vmware-modconfig-console in the build dir - local MANIFEST="$MODULE_DIR/src/vmware-vmx/manifest.xml" - local BUILD_NUMBER="$(grep -o -E '[0-9]*' "$MANIFEST"|grep -o -E '[0-9]*')" - local VERSION="$(grep -o -E '[0-9.]*' "$MANIFEST"|grep -o -E '[0-9.]*')" - local CORE_VERSION="$(grep -o -E '[0-9.]*' "$MANIFEST"|grep -o -E '[0-9.]*')" - # /etc/vmware/config gen - - sed -i.bak1 '/^ETCDIR/d;/^VMISETCDIR/d;/bootstrap/d' "$VMWARE_MODCONFIG" - sed -i.bak2 "s/libdir=.*/libdir=$(echo $MODULE_BUILD_DIR | escape_replace)\/usr\/lib\/vmware/g" "$VMWARE_MODCONFIG" - sed -i.bak3 "s#set -e#set -e\nPREFIX=\"/usr\"\nBINDIR=\"/usr/bin\"\nSBINDIR=\"/usr/sbin\"\nLIBDIR=\"/usr/lib\"\nDATADIR=\"/usr/share\"\nSYSCONFDIR=\"/etc\"\nDOCDIR=\"/usr/share/doc\"\nMANDIR=\"/usr/share/man\"\nINCLUDEDIR=\"/usr/include\"\nINITDIR=\"/etc\"\nINITSCRIPTDIR=\"/etc/init.d\"\nVMWARE_INSTALLER=\"/usr/lib/vmware-installer/$CORE_VERSION\"\nVERSION=\"$CORE_VERSION\"\nVMISVERSION=\"$CORE_VERSION\"\nVMISPYVERSION=\"25\"#g" "$VMWARE_MODCONFIG" - - - [ -e "/etc/vmware/config" ] && cp "/etc/vmware/config" "/etc/vmware/config.mltk.bak" - mkdir -p "/etc/vmware" || perror "Could not create /etc/vmware" - cat > "/etc/vmware/config" << EOF -.encoding = "UTF-8" -installerDefaults.componentDownloadEnabled = "yes" -installerDefaults.dataCollectionEnabled = "no" -installerDefaults.transferVersion = "1" -installerDefaults.autoSoftwareUpdateEnabled = "yes" -NETWORKING = "yes" -VMBLOCK_CONFED = "yes" -gksu.rootMethod = "sudo" -libdir = "$MODULE_BUILD_DIR/usr/lib/vmware" -VMCI_CONFED = "yes" -VSOCK_CONFED = "yes" -initscriptdir = "/etc/init.d" -authd.fullpath = "/usr/sbin/vmware-authd" -bindir = "/usr/bin" -vmware.fullpath = "/usr/bin/vmware" -vix.libdir = "/usr/lib/vmware-vix" -vix.config.version = "1" -player.product.version = "$VERSION" -product.buildNumber = "$BUILD_NUMBER" -authd.client.port = "902" -authd.proxy.nfc = "vmware-hostd:ha-nfc" -authd.soapserver = "TRUE" -product.version = "9.0.1" -workstation.product.version = "9.0.1" -product.name = "VMware Workstation" -EOF - mkdir -p "$MODULE_BUILD_DIR/usr/lib/vmware/modules" - ln -sf "$MODULE_DIR/src/vmware-vmx/extra/modules.xml" "$MODULE_BUILD_DIR/usr/lib/vmware/modules/" - ln -sf "$MODULE_DIR/src/vmware-vmx/lib/modules/source" "$MODULE_BUILD_DIR/usr/lib/vmware/modules/" - - ln -sf "appLoader" "$MODULE_BUILD_DIR/usr/lib/vmware/bin/vmware-modconfig" - ln -sf "appLoader" "$MODULE_BUILD_DIR/usr/lib/vmware/bin/vmware-modconfig-console" - - [ ! -e "$MODULES_DIR/kernel/ksrc/include/generated/utsrelease.h" ] && perror "Could not find uts release!!!" - local UTS_RELEASE="$(cat "$MODULES_DIR/kernel/ksrc/include/generated/utsrelease.h" | awk -F '"' '{print $2}')" - pinfo "Patching vmblock.tar" - cd "$MODULE_BUILD_DIR/usr/lib/vmware/modules/source" || perror "cd failed." - tar xf "vmblock.tar" || perror "untar of vmblock.tar failed." - for sourcefile in $(grep -l -r -E '\sputname' "vmblock-only/"); do - sed -r -i 's/\sputname/__putname/g' "$sourcefile" || perror "sed of $sourcefile failed." - done - tar cf "vmblock.tar" "vmblock-only/" || perror "repacking of vmblock.tar failed." - cd - - - pinfo "KOMPILIERE VMWARE KERNEL MODULE" - for MOD in vsock vmblock vmmon vmnet vmci; do - pinfo "Kompiliere $MOD" - [ -s "/lib/modules/$UTS_RELEASE/vmplayer/$MOD.ko" ] && unlink "/lib/modules/$UTS_RELEASE/vmplayer/$MOD.ko" - "$VMWARE_MODCONFIG" --console --build-mod -k "$UTS_RELEASE" "$MOD" "$(which gcc)" "$MODULES_DIR/kernel/ksrc/include" "vmplayer" "$MOD" - [ ! -s "/lib/modules/$UTS_RELEASE/vmplayer/$MOD.ko" ] && perror "Error compiling via $VMWARE_MODCONFIG" - done - - cd - - - [ -e /etc/vmware/config ] && rm -f /etc/vmware/config - cp /etc/vmware/config.mltk.bak /etc/vmware/config - -} - -function copy_modules() { - local UTS_RELEASE="$(cat "$MODULES_DIR/kernel/ksrc/include/generated/utsrelease.h" | awk -F '"' '{print $2}')" - mkdir -p "$TARGET_BUILD_DIR/lib/modules/vmware/" - cp "/lib/modules/$UTS_RELEASE/vmplayer/"* "$TARGET_BUILD_DIR/lib/modules/vmware/" || perror "Could not cp vmware modules to target!" -} - diff --git a/remote/modules/vmplayer/vmplayer.conf b/remote/modules/vmplayer/vmplayer.conf deleted file mode 100644 index 2797303e..00000000 --- a/remote/modules/vmplayer/vmplayer.conf +++ /dev/null @@ -1,5 +0,0 @@ -#REQUIRED_INSTALLED_PACKAGES="libgconf-2-4 fontconfig-config" -#REQUIRED_CONTENT_PACKAGES="libgconf-2-4 fontconfig-config" -REQUIRED_BINARIES="" -REQUIRED_SYSTEM_FILES="" -REQUIRED_DIRECTORIES="/etc /usr" diff --git a/remote/modules/vmware/data/addon-init b/remote/modules/vmware/data/addon-init new file mode 100755 index 00000000..01acb3b4 --- /dev/null +++ b/remote/modules/vmware/data/addon-init @@ -0,0 +1,5 @@ +#!/bin/sh + +systemctl daemon-reload +systemctl start vmware + diff --git a/remote/modules/vmware/data/etc/systemd/system/graphical.target.wants/vmware.service b/remote/modules/vmware/data/etc/systemd/system/graphical.target.wants/vmware.service new file mode 120000 index 00000000..7deb4820 --- /dev/null +++ b/remote/modules/vmware/data/etc/systemd/system/graphical.target.wants/vmware.service @@ -0,0 +1 @@ +../vmware.service \ No newline at end of file diff --git a/remote/modules/vmware/data/etc/systemd/system/vmware.service b/remote/modules/vmware/data/etc/systemd/system/vmware.service new file mode 100644 index 00000000..30bb42ff --- /dev/null +++ b/remote/modules/vmware/data/etc/systemd/system/vmware.service @@ -0,0 +1,9 @@ +[Unit] +Description=Sets up the vmware environment +Requires=vmchooser.service +After=vmchooser.service + +[Service] +Type=oneshot +RemainAfterExit=yes +ExecStart=/opt/openslx/scripts/systemd-vmware_env start diff --git a/remote/modules/vmware/data/etc/vmware/config b/remote/modules/vmware/data/etc/vmware/config new file mode 100644 index 00000000..eb5d01c0 --- /dev/null +++ b/remote/modules/vmware/data/etc/vmware/config @@ -0,0 +1,4 @@ +.encoding = "UTF-8" +prefvmx.minVmMemPct = "100" +prefvmx.useRecommendedLockedMemSize = "TRUE" +libdir = "/usr/lib/vmware" diff --git a/remote/modules/vmware/data/opt/openslx/bin/vmplayer b/remote/modules/vmware/data/opt/openslx/bin/vmplayer new file mode 100755 index 00000000..147f514f --- /dev/null +++ b/remote/modules/vmware/data/opt/openslx/bin/vmplayer @@ -0,0 +1,15 @@ +#!/bin/sh +# radically simplified version of the original script vmplayer by VMware Inc. +PREFIX=/usr/lib/vmware # depends on the vmware location + +# HACK: Let the OpenGL driver report s3tc capability even if not present, so 3D will be enabled +export force_s3tc_enable=true + +exec "$PREFIX"'/lib/wrapper-gtk24.sh' \ + "$PREFIX"'/lib' \ + "$PREFIX"'/bin/vmplayer' \ + "$PREFIX"'/libconf' "$@" + + + + diff --git a/remote/modules/vmware/data/opt/openslx/bin/vmware b/remote/modules/vmware/data/opt/openslx/bin/vmware new file mode 100755 index 00000000..1fe9b11d --- /dev/null +++ b/remote/modules/vmware/data/opt/openslx/bin/vmware @@ -0,0 +1,11 @@ +#!/bin/sh +# radically simplified version of the original script vmplayer by VMware Inc. +PREFIX=/usr/lib/vmware # depends on the vmware location +exec "$PREFIX"'/lib/wrapper-gtk24.sh' \ + "$PREFIX"'/lib' \ + "$PREFIX"'/bin/vmware' \ + "$PREFIX"'/libconf' "$@" + + + + diff --git a/remote/modules/vmware/data/opt/openslx/etc/vmware/nvram b/remote/modules/vmware/data/opt/openslx/etc/vmware/nvram new file mode 100644 index 00000000..85125f1e Binary files /dev/null and b/remote/modules/vmware/data/opt/openslx/etc/vmware/nvram differ diff --git a/remote/modules/vmware/data/opt/openslx/etc/vmware/run-virt.include b/remote/modules/vmware/data/opt/openslx/etc/vmware/run-virt.include new file mode 100755 index 00000000..e60d5a5b --- /dev/null +++ b/remote/modules/vmware/data/opt/openslx/etc/vmware/run-virt.include @@ -0,0 +1,644 @@ +# run-virt.include +# ----------------------------------------------------------------------------- +# Copyright (c) 2009..2012 - RZ Uni Freiburg +# Copyright (c) 2009..2013 - 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.include +# - component for vmware/player of the vmchooser plugin run-virt.sh +################################################################################ + +# configuration writer functions +################################################################################ + +function clean_string () +{ + if [ "$#" -ge 1 ]; then + echo "$@" | tr '[A-Z]' '[a-z]' | tr -d '\t _./' + else + cat - | tr '[A-Z]' '[a-z]' | tr -d '\t _./' + fi +} + +vmostype=$(clean_string "$vmostype") + +runvmwareconfheader () +{ + echo "# This configuration file was generated by $0" > "$conffile" + + # does this makes sense? Depends on the VMworkstation in use + MAXMEM="9999999" + MAXCORES="4" + + # check for the ostype + # 1) memory limits + case "$vmostype" in + win31*|windows31*) + MAXMEM="32" + vmostype="win31" + ;; + winnt*|windowsnt*) + MAXMEM="1000" + vmostype="winnt" + ;; + win95*|windows95*) + MAXMEM="96" + vmostype="win95" + ;; + win98*|windows98*) + MAXMEM="384" + vmostype="win98" + ;; + winme*|windowsme*) + MAXMEM="384" + vmostype="winme" + ;; + win2000|windows2000|win2000pro*) + MAXMEM="4000" + vmostype="win2000pro" + ;; + win2000srv*|windows2000srv*|win2000serv*|windows2000serv*) + MAXMEM="4000" + vmostype="win2000serv" + ;; + win2000adv*|windows2000adv*|win2000dat*|windows2000dat*) + MAXMEM="8000" + vmostype="win2000advserv" + ;; + winnet*64|win*2003*64|windowsnet*64) + MAXMEM="8000" + vmostype="winnetstandard-64" + ;; + winnet*|win*2003*|windowsnet*) + MAXMEM="4000" + vmostype="winnetstandard" + ;; + winxphome*|windowsxphome*) + MAXMEM="4000" + vmostype="winxphome" + ;; + winxp*64|windowsxp*64) + MAXMEM="8000" + vmostype="winxppro-64" + ;; + winxp*|windowsxp*) + MAXMEM="4000" + vmostype="winxppro" + ;; + winvista*64|windowsvista*64) + MAXMEM="16000" + vmostype="winvista-64" + ;; + winvista*|windowsvista*) + MAXMEM="8000" + vmostype="winvista" + ;; + win7*64|windows7*64) + MAXMEM="32000" + vmostype="windows7-64" + ;; + win7*|windows7*) + MAXMEM="8000" + vmostype="windows7" + ;; + win*64) + MAXMEM="16000" + ;; + win*) + MAXMEM="8000" + ;; + dos|msdos*|ms-dos*) + MAXMEM="128" + vmostype="dos" + ;; + *64) + MAXMEM="123456" + ;; + *) + MAXMEM="8000" + ;; + esac + + # 2) other hardware + capabilities + shfolders="FALSE" + case "$vmostype" in + win31) + MAXCORES="1" + sound="sb16" + ;; + winnt) + MAXCORES="2" + sound="sb16" + ;; + win95|win98|winme) + MAXCORES="1" + ;; + win2000pro) # Don't know if Win 2000 supports shared folders, disabled to be safe + MAXCORES="2" + ;; + win2000serv) + MAXCORES="4" + ;; + win2000advserv) + MAXCORES="8" + ;; + winxphome) + MAXCORES="1" + shfolders="TRUE" + ;; + winxp*|winvista*|windows7*) + MAXCORES="4" + shfolders="TRUE" + ;; + winnet*) + shfolders="TRUE" + ;; + linux*|ubuntu*|suse*|debian*) + shfolders="TRUE" + ;; + macos*64) + MAXCORES="2" + vmostype="freebsd-64" + ;; + macos*) + MAXCORES="1" + vmostype="freebsd" + ;; + beos*) + vmostype="other" + ;; + # Unknown guestOS setting in .xml - use conservative defaults + *64) + vmostype="other-64" + ;; + *) + vmostype="other" + ;; + esac + + svga_autodetect="TRUE" + + real_core_count="$cpu_cores" + [ "$cpu_cores" -gt "$MAXCORES" ] && cpu_cores="$MAXCORES" + # It currently makes no sense to set the virtual number of cores + # to a different value than the virtual number of cores per virtual CPU. + cores_per_socket="$cpu_cores" + + if [ "x$shfolders" != "xFALSE" ]; then + ENABLE_SHARE='sharedFolder.option = "alwaysEnabled"' + else + ENABLE_SHARE='' + fi + + [ "$mem" -ge "$MAXMEM" ] && mem="$MAXMEM" + [ "$hwver" -lt "7" -a "$mem" -gt "3500" ] && mem="3500" + + cap3d="WHAT IS THIS VAR USED FOR?" # helper var for loging output + + cat >> "$conffile" </dev/null 2>&1 +} + +preferencesheader () +{ + cat > "$vmhome/preferences" <> "$vmhome/preferences" <> "$vmhome/preferences" </dev/null 2>&1 +mkdir -p "$confdir" >/dev/null 2>&1 +mkdir -p "$vmhome/dndlogs" >/dev/null 2>&1 +touch "$vmhome/dndlogs/dndlog.conf" >/dev/null 2>&1 + +# create preferences +preferencesheader + +# create VMware startup file +runvmwareconfheader + +# link to conffile if confdir != redodir +ln -s "$conffile" "$redodir/run-vmware.conf" >/dev/null 2>&1 + +# sync is needed to ensure that data is really written to virtual disk +sync + +# own nvram. We need it for floppy drive b, default nvram has just drive a +# TODO: optimize, currently kinda inefficient, too much copys, but we +# don't know which one is installed... +cp "/opt/openslx/etc/vmware/nvram" "$confdir/nvram" 2>/dev/null + + +# logging and stdout +################################################################################ + +# log script information +writelog "# File created by $0 (VMversion ${vmversion})\n# on $(date)\n" +## Edited for persistent mode. +writelog "Starting with ${diskmode} mode ...\n" +## + +# write all results to logfile +# log disksetup +writelog "Directories:" +writelog "\tConfdir:\t${confdir}" +writelog "\tConffile:\t${conffile}" +writelog "\tRedodir:\t${redodir}" +writelog "\tVMhome:\t\t${vmhome}" +writelog "\t/tmp info: \ +$(grep "/tmp " /proc/mounts) $(df -h | grep " /tmp$" | awk '{print $2}')" +# hw setup +writelog "Hardware:" +writelog "\tMAC:\t\t00:50:56:${VM_ID}:${machostpart}" +if [ -n "${network_card}" ]; then + writelog "\tNet Adaptor:\t${network_card}" +fi +writelog "\tMem:\t\t${mem} MB" +# echo nur wenn hostmem gesetzt +[ -n "${hostmem}" ] && writelog "\tHostmem:\t${hostmem} MB" +writelog "\tMax. res.:\t${xres}x${yres}" +writelog "\tCD-ROM1:\t${cdrom0}" +writelog "\tCD-ROM2:\t${cdrom1}" +writelog "\tFloppy_A:\t${floppy0}" +if [ "${serial}" = "TRUE" ]; then + writelog "\tSerial Port:\t${serialdev}" +fi +if [ "${parallel}" = "TRUE" ]; then + writelog "\tParallel Port:\t${paraldev}" +fi +# image +writelog "Diskimage:" +writelog "\tDiskfile:\t${diskfile}" +writelog "\tDisktype:\t${hddrv}" +writelog "\tHWVersion:\t${hwver}" +writelog "\tVMostype:\t${vmostype}" +# misc +writelog "Misc:" +writelog "\tDisplayname:\t${displayname}" +if [ "${cap3d}" = "TRUE" -a "${enable3d}" = "TRUE" ]; then + writelog "\t3D Graphics:\tenabled" +fi +# empty line at end +writelog "" + + +# finally set env for run-virt.sh +################################################################################ + +# configure and start samba service to provide user's home directory +#if [ -f /usr/sbin/smbd ] ; then +# sudo /opt/openslx/bin/sed -i /etc/vmware/smb.conf -e "s,USER,$USER," +# sudo /usr/sbin/nmbd -s /etc/vmware/smb.conf +# sudo /usr/sbin/smbd -s /etc/vmware/smb.conf +#fi + +# For debugging +cp "$conffile" "/tmp/vmware-last-config" + +# using the modified version of the wrapper script +VIRTCMD="/opt/openslx/bin/vmplayer" +VIRTCMDOPTS="${vmopt} ${conffile}" +RMDIRS="${redodir} ${conffile}" diff --git a/remote/modules/vmware/data/opt/openslx/etc/vmware/vmware.conf b/remote/modules/vmware/data/opt/openslx/etc/vmware/vmware.conf new file mode 100644 index 00000000..210b814f --- /dev/null +++ b/remote/modules/vmware/data/opt/openslx/etc/vmware/vmware.conf @@ -0,0 +1,8 @@ +#configuration file for vmware background services written in stage3 setup +vmnet0=true +vmnet1=192.168.101.1/24 +vmnet1nat=true +vmnet8=192.168.102.1/24 +#stage1 variables produced during plugin install +version="5.0" +buildversion="1031769" diff --git a/remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env b/remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env new file mode 100755 index 00000000..4103eae6 --- /dev/null +++ b/remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env @@ -0,0 +1,281 @@ +#!/bin/sh +# Copyright (c) 2009 - 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/ +# ----------------------------------------------------------------------------- + +export PATH=$PATH:/opt/openslx/bin:/opt/openslx/sbin:/opt/openslx/usr/bin:/opt/openslx/usr/sbin + +VMWARE_CONF_DIR=/opt/openslx/etc/vmware + +for wait in 1 1 2 2 3 end; do + grep '^SLX_DNS' /opt/openslx/config > /dev/null && break + [ "$wait" == "end" ] && echo "No DNS config found, using google dns" && break + echo "Waiting for DNS config.." + sleep "$wait" +done + +#source config file +. /opt/openslx/config +. ${VMWARE_CONF_DIR}/vmware.conf + +vm_dhcpd() { + + #from plugins/vmware/init-hooks/60-have-servconfig/vm-dhcpd.sh + + # read the DNS configuration and if available set WPAD configuration + [ -z "${SLX_DNS}" ] && SLX_DNS="8.8.8.8" + [ -n "${wpad}" ] && wpad_config="option wpad ${wpad}" + + # configuring dhcpd stub for virtual networks +cat > ${VMWARE_CONF_DIR}/udhcpd.conf << EOF +# general udhcpd configuration file for virtual machines written by $0 + +# start and end of the IP lease block +start CNETWORK.20 +end CNETWORK.100 + +# interface that udhcpd will use +interface NWIF + +# how long an offered address is reserved (leased) in seconds +offer_time 6000 + +# location of the leases file +lease_file LEASEFILE + +# location of the pid file +pidfile PIDFILE + +option dns ${SLX_DNS} +option subnet 255.255.255.0 +option router CNETWORK.1 +option wins CNETWORK.10 +option domain virtual.site ${domain_name} +${wpad_config} + +# additional options known to udhcpd +#subnet #timezone +#router #timesvr +#namesvr #dns +#logsvr #cookiesvr +#lprsvr #bootsize +#domain #swapsvr +#rootpath #ipttl +#mtu #broadcast +#wins #lease +#ntpsrv #tftp +#bootfile #wpad +EOF + +} + +setup_network() { + #from plugins/vmware/XX_vmware.sh + + mkdir -p /tmp/virt/vmware -m 1777 + mkdir -p /dev/shm/vmware -m 1777 + mkdir -p /var/run/vmware -m 1777 + mkdir -p /etc/vmware/udhcpd + + # variable might contain ",NAT" which is to be taken off + if [ -n "$vmnet1" ] ; then + local vmip=${vmnet1%/*} # x.x.x.x/yy => 'x.x.x.x'"> + local vmsub=$(echo $vmip |sed 's,\(.*\)\..*,\1,') # x.x.x.x => x.x.x + # setting up the udhcpd configuration + sed -e "s,NWIF,vmnet1,;s,/misc/,/vmware/," \ + -e "s,CNETWORK,$vmsub,;s,PIDFILE,/var/run/vmware/udhcpd-vmnet1.pid," \ + -e "s,LEASEFILE,/var/run/vmware/udhcpd-vmnet1.leases," \ + ${VMWARE_CONF_DIR}/udhcpd.conf >/etc/vmware/udhcpd/udhcpd-vmnet1.conf + # setting the base samba configuration if available + if [ -f /etc/openslx/vmchooser/smb.conf \ + -a -f /usr/sbin/smbd ] ; then + sed -e "s#NWIF#vmnet1,vmnet8#;s,PIDDIR,/var/run/vmware," \ + ${VMCHOOSER_CONF_DIR}/smb.conf \ + >/etc/vmware/smb.conf + fi + fi + + # vmware nat interface configuration + if [ -n "$vmnet8" ] ; then + local vmnet8ip=${vmnet8%/*} + local vmpx=${vmnet8#*/} + local vmsub=$(echo $vmnet8ip |sed 's,\(.*\)\..*,\1,') # x.x.x.x => x.x.x"> + # vmip is user for vmnet8 device + # vmnet is user for config files nat.conf/dhcp + local vmip="${vmsub}.1" + local vmnet="${vmsub}.2" + # setting up the udhcpd configuration + sed -e "s,NWIF,vmnet8,;s,/misc/,/vmware/," \ + -e "s,CNETWORK,$vmsub,;s,PIDFILE,/var/run/vmware/udhcpd-vmnet8.pid," \ + -e "s,LEASEFILE,/var/run/vmware/udhcpd-vmnet8.leases," \ + ${VMWARE_CONF_DIR}/udhcpd.conf >/etc/vmware/udhcpd/udhcpd-vmnet8.conf + # might be not needed any more ... + echo -e "# Linux NAT configuration file" \ + > /etc/vmware/nat.conf + echo -e "[host]" \ + >> /etc/vmware/nat.conf + echo -e "ip = $vmnet/$vmpx" \ + >> /etc/vmware/nat.conf + echo -e "device = /dev/vmnet8" \ + >> /etc/vmware/nat.conf + echo -e "activeFTP = 1" \ + >> /etc/vmware/nat.conf + echo -e "[udp]" \ + >> /etc/vmware/nat.conf + echo -e "timeout = 60" \ + >> /etc/vmware/nat.conf + echo -e "[incomingtcp]" \ + >> /etc/vmware/nat.conf + echo -e "[incomingudp]" \ + >> /etc/vmware/nat.conf + echo "00:50:56:F1:30:50" > /etc/vmware/vmnet-natd-8.mac + fi + + ############################################################################ + # vmware stuff second part: setting up the environment + # make udhcpd more silent + touch /var/run/vmware/udhcpd-vmnet1.leases \ + /var/run/vmware/udhcpd-vmnet8.leases + + # create the needed devices which effects all vmware options + # they are not created automatically via module load + for i in "/dev/vmnet0 c 119 0" "/dev/vmnet1 c 119 1" \ + "/dev/vmnet8 c 119 8" "/dev/vmmon c 10 165"; do + mknod $i + done + + chmod 0700 /dev/vmnet* +} + +adapt_tmpfs() { + # from plugins/vmware/init-hooks/80-after-plugins/adapt-tmpfs.sh + # Init hook to adapt the tmpfs size for VMware/Player + # (should be kept identical to the files of virtualbox plugin) + ############################################################################# + + # adapt tmpfs size (overbook) + case $(grep tmpfs /proc/mounts) in + */tmp*) + mount -o remount,size=175% /tmp + ;; + */uniontmp*) + mount -o remount,size=175% /uniontmp + ;; + esac +} + +#from /etc/init.d/vmware-env + +#functions: helper functions +tempdir () { + # Create a special tempfs directory + mkdir -m 1777 -p /tmp/vmware + # Don't mount special tempfs, when using local harddrive for /tmp + [ ! -n "$(cat /proc/mounts |grep ' /tmp '|grep '/dev/sd')" ] \ + && mount -t tmpfs -o size=180%,mode=1777 tmpfs /tmp/vmware +} + +load_modules () { + # VMplayer common stuff + insmod /lib/modules/vmware/vmmon.ko + insmod /lib/modules/vmware/vmnet.ko + # VMplayer 3.X specific stuff + insmod /lib/modules/vmware/vmci.ko + insmod /lib/modules/vmware/vmblock.ko + insmod /lib/modules/vmware/vsock.ko +} + +unload_modules () { + rmmod vmnet vmmonvsock vmci vmblock +} + +vmnetif () { +# let point the path directly to the directory where the binary lives +location="/usr/bin" +if [ -n "$vmnet0" ] ; then + # the path might be directly point to the plugin dir + $location/vmnet-bridge -d /var/run/vmnet-bridge-0.pid -n 0 +fi +if [ -n "$vmnet1" ] ; then + $location/vmnet-netifup -d /var/run/vmnet-netifup-vmnet1.pid \ + /dev/vmnet1 vmnet1 + ip addr add $vmnet1 dev vmnet1 + ip link set vmnet1 up + if [ -n "$vmnet1nat" ] ; then + echo "1" >/proc/sys/net/ipv4/conf/vmnet1/forwarding + echo "1" >/proc/sys/net/ipv4/conf/br0/forwarding 2>/dev/null + fi + /opt/openslx/usr/sbin/udhcpd \ + -S /etc/vmware/udhcpd/udhcpd-vmnet1.conf +fi +if [ -n "$vmnet8" ] ; then + $location/vmnet-netifup -d /var/run/vmnet-netifup-vmnet8.pid \ + /dev/vmnet8 vmnet8 + ip addr add $vmnet8 dev vmnet8 + ip link set vmnet8 up + echo "1" >/proc/sys/net/ipv4/conf/vmnet8/forwarding + echo "1" >/proc/sys/net/ipv4/conf/br0/forwarding 2>/dev/null + iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE + # /etc/vmware/vmnet-natd-8.mac simply contains a mac like 00:50:56:F1:30:50 + $location/vmnet-natd -d /var/run/vmnet-natd-8.pid \ + -m /etc/vmware/vmnet-natd-8.mac -c /etc/vmware/nat.conf # or logfile + /opt/openslx/usr/sbin/udhcpd \ + -S /etc/vmware/udhcpd/udhcpd-vmnet8.conf +fi + +} + +vmblock () { +# let point the path directly to the directory where the binary lives + /usr/bin/vmware-usbarbitrator +} + + + +case "$1" in + start) + #start: defines start function for initscript + vm_dhcpd + setup_network +# adapt_tmpfs + # hack to access the first serial/parallel port + chmod a+rw /dev/ttyS0 + chmod a+rw /dev/parport0 + tempdir + load_modules + vmnetif + vmblock + ;; + stop) + #stop: defines stop function for initscript + killall vmnet-netifup vmnet-natd vmnet-bridge vmware vmplayer \ + vmware-tray vmnet-dhcpd + # might take a while until all services are shut down + sleep 1 + umount -l /tmp/vmware 2>/dev/null + unload_modules + + ;; + restart) + #restart: defines restart function for initscript + $0 stop && $0 start + ;; + status) + #status: defines status function for initscript + vmstatus + ;; + *) + #usage: defines usage function for initscript + ## print out usage + echo "Usage: $0 {start, stop, restart, status}" >&2 + exit 1 + ;; +esac + diff --git a/remote/modules/vmware/data/usr/share/icons/hicolor/index.theme b/remote/modules/vmware/data/usr/share/icons/hicolor/index.theme new file mode 100644 index 00000000..5c9c50ad --- /dev/null +++ b/remote/modules/vmware/data/usr/share/icons/hicolor/index.theme @@ -0,0 +1,1662 @@ +[Icon Theme] +Name=Hicolor +Comment=Fallback icon theme +Hidden=true +Directories=16x16/actions,16x16/animations,16x16/apps,16x16/categories,16x16/devices,16x16/emblems,16x16/emotes,16x16/filesystems,16x16/intl,16x16/mimetypes,16x16/places,16x16/status,16x16/stock/chart,16x16/stock/code,16x16/stock/data,16x16/stock/form,16x16/stock/image,16x16/stock/io,16x16/stock/media,16x16/stock/navigation,16x16/stock/net,16x16/stock/object,16x16/stock/table,16x16/stock/text,22x22/actions,22x22/animations,22x22/apps,22x22/categories,22x22/devices,22x22/emblems,22x22/emotes,22x22/filesystems,22x22/intl,22x22/mimetypes,22x22/places,22x22/status,22x22/stock/chart,22x22/stock/code,22x22/stock/data,22x22/stock/form,22x22/stock/image,22x22/stock/io,22x22/stock/media,22x22/stock/navigation,22x22/stock/net,22x22/stock/object,22x22/stock/table,22x22/stock/text,24x24/actions,24x24/animations,24x24/apps,24x24/categories,24x24/devices,24x24/emblems,24x24/emotes,24x24/filesystems,24x24/intl,24x24/mimetypes,24x24/places,24x24/status,24x24/stock/chart,24x24/stock/code,24x24/stock/data,24x24/stock/form,24x24/stock/image,24x24/stock/io,24x24/stock/media,24x24/stock/navigation,24x24/stock/net,24x24/stock/object,24x24/stock/table,24x24/stock/text,32x32/actions,32x32/animations,32x32/apps,32x32/categories,32x32/devices,32x32/emblems,32x32/emotes,32x32/filesystems,32x32/intl,32x32/mimetypes,32x32/places,32x32/status,32x32/stock/chart,32x32/stock/code,32x32/stock/data,32x32/stock/form,32x32/stock/image,32x32/stock/io,32x32/stock/media,32x32/stock/navigation,32x32/stock/net,32x32/stock/object,32x32/stock/table,32x32/stock/text,36x36/actions,36x36/animations,36x36/apps,36x36/categories,36x36/devices,36x36/emblems,36x36/emotes,36x36/filesystems,36x36/intl,36x36/mimetypes,36x36/places,36x36/status,36x36/stock/chart,36x36/stock/code,36x36/stock/data,36x36/stock/form,36x36/stock/image,36x36/stock/io,36x36/stock/media,36x36/stock/navigation,36x36/stock/net,36x36/stock/object,36x36/stock/table,36x36/stock/text,48x48/actions,48x48/animations,48x48/apps,48x48/categories,48x48/devices,48x48/emblems,48x48/emotes,48x48/filesystems,48x48/intl,48x48/mimetypes,48x48/places,48x48/status,48x48/stock/chart,48x48/stock/code,48x48/stock/data,48x48/stock/form,48x48/stock/image,48x48/stock/io,48x48/stock/media,48x48/stock/navigation,48x48/stock/net,48x48/stock/object,48x48/stock/table,48x48/stock/text,64x64/actions,64x64/animations,64x64/apps,64x64/categories,64x64/devices,64x64/emblems,64x64/emotes,64x64/filesystems,64x64/intl,64x64/mimetypes,64x64/places,64x64/status,64x64/stock/chart,64x64/stock/code,64x64/stock/data,64x64/stock/form,64x64/stock/image,64x64/stock/io,64x64/stock/media,64x64/stock/navigation,64x64/stock/net,64x64/stock/object,64x64/stock/table,64x64/stock/text,72x72/actions,72x72/animations,72x72/apps,72x72/categories,72x72/devices,72x72/emblems,72x72/emotes,72x72/filesystems,72x72/intl,72x72/mimetypes,72x72/places,72x72/status,72x72/stock/chart,72x72/stock/code,72x72/stock/data,72x72/stock/form,72x72/stock/image,72x72/stock/io,72x72/stock/media,72x72/stock/navigation,72x72/stock/net,72x72/stock/object,72x72/stock/table,72x72/stock/text,96x96/actions,96x96/animations,96x96/apps,96x96/categories,96x96/devices,96x96/emblems,96x96/emotes,96x96/filesystems,96x96/intl,96x96/mimetypes,96x96/places,96x96/status,96x96/stock/chart,96x96/stock/code,96x96/stock/data,96x96/stock/form,96x96/stock/image,96x96/stock/io,96x96/stock/media,96x96/stock/navigation,96x96/stock/net,96x96/stock/object,96x96/stock/table,96x96/stock/text,128x128/actions,128x128/animations,128x128/apps,128x128/categories,128x128/devices,128x128/emblems,128x128/emotes,128x128/filesystems,128x128/intl,128x128/mimetypes,128x128/places,128x128/status,128x128/stock/chart,128x128/stock/code,128x128/stock/data,128x128/stock/form,128x128/stock/image,128x128/stock/io,128x128/stock/media,128x128/stock/navigation,128x128/stock/net,128x128/stock/object,128x128/stock/table,128x128/stock/text,192x192/actions,192x192/animations,192x192/apps,192x192/categories,192x192/devices,192x192/emblems,192x192/emotes,192x192/filesystems,192x192/intl,192x192/mimetypes,192x192/places,192x192/status,192x192/stock/chart,192x192/stock/code,192x192/stock/data,192x192/stock/form,192x192/stock/image,192x192/stock/io,192x192/stock/media,192x192/stock/navigation,192x192/stock/net,192x192/stock/object,192x192/stock/table,192x192/stock/text,256x256/actions,256x256/animations,256x256/apps,256x256/categories,256x256/devices,256x256/emblems,256x256/emotes,256x256/filesystems,256x256/intl,256x256/mimetypes,256x256/places,256x256/status,256x256/stock/chart,256x256/stock/code,256x256/stock/data,256x256/stock/form,256x256/stock/image,256x256/stock/io,256x256/stock/media,256x256/stock/navigation,256x256/stock/net,256x256/stock/object,256x256/stock/table,256x256/stock/text,scalable/actions,scalable/animations,scalable/apps,scalable/categories,scalable/devices,scalable/emblems,scalable/emotes,scalable/filesystems,scalable/intl,scalable/mimetypes,scalable/places,scalable/status,scalable/stock/chart,scalable/stock/code,scalable/stock/data,scalable/stock/form,scalable/stock/image,scalable/stock/io,scalable/stock/media,scalable/stock/navigation,scalable/stock/net,scalable/stock/object,scalable/stock/table,scalable/stock/text + + +[16x16/actions] +Size=16 +Context=Actions +Type=Threshold + +[16x16/animations] +Size=16 +Context=Animations +Type=Threshold + +[16x16/apps] +Size=16 +Context=Applications +Type=Threshold + +[16x16/categories] +Size=16 +Context=Categories +Type=Threshold + +[16x16/devices] +Size=16 +Context=Devices +Type=Threshold + +[16x16/emblems] +Size=16 +Context=Emblems +Type=Threshold + +[16x16/emotes] +Size=16 +Context=Emotes +Type=Threshold + +[16x16/filesystems] +Size=16 +Context=FileSystems +Type=Threshold + +[16x16/intl] +Size=16 +Context=International +Type=Threshold + +[16x16/mimetypes] +Size=16 +Context=MimeTypes +Type=Threshold + +[16x16/places] +Size=16 +Context=Places +Type=Threshold + +[16x16/status] +Size=16 +Context=Status +Type=Threshold + +[16x16/stock/chart] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/code] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/data] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/form] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/image] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/io] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/media] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/navigation] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/net] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/object] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/table] +Size=16 +Context=Stock +Type=Threshold + +[16x16/stock/text] +Size=16 +Context=Stock +Type=Threshold + +[22x22/actions] +Size=22 +Context=Actions +Type=Threshold + +[22x22/animations] +Size=22 +Context=Animations +Type=Threshold + +[22x22/apps] +Size=22 +Context=Applications +Type=Fixed + +[22x22/categories] +Size=22 +Context=Categories +Type=Threshold + +[22x22/devices] +Size=22 +Context=Devices +Type=Threshold + +[22x22/emblems] +Size=22 +Context=Emblems +Type=Threshold + +[22x22/emotes] +Size=22 +Context=Emotes +Type=Threshold + +[22x22/filesystems] +Size=22 +Context=FileSystems +Type=Threshold + +[22x22/intl] +Size=22 +Context=International +Type=Threshold + +[22x22/mimetypes] +Size=22 +Context=MimeTypes +Type=Threshold + +[22x22/places] +Size=22 +Context=Places +Type=Threshold + +[22x22/status] +Size=22 +Context=Status +Type=Threshold + +[22x22/stock/chart] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/code] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/data] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/form] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/image] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/io] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/media] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/navigation] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/net] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/object] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/table] +Size=22 +Context=Stock +Type=Threshold + +[22x22/stock/text] +Size=22 +Context=Stock +Type=Threshold + +[24x24/actions] +Size=24 +Context=Actions +Type=Threshold + +[24x24/animations] +Size=24 +Context=Animations +Type=Threshold + +[24x24/apps] +Size=24 +Context=Applications +Type=Threshold + +[24x24/categories] +Size=24 +Context=Categories +Type=Threshold + +[24x24/devices] +Size=24 +Context=Devices +Type=Threshold + +[24x24/emblems] +Size=24 +Context=Emblems +Type=Threshold + +[24x24/emotes] +Size=24 +Context=Emotes +Type=Threshold + +[24x24/filesystems] +Size=24 +Context=FileSystems +Type=Threshold + +[24x24/intl] +Size=24 +Context=International +Type=Threshold + +[24x24/mimetypes] +Size=24 +Context=MimeTypes +Type=Threshold + +[24x24/places] +Size=24 +Context=Places +Type=Threshold + +[24x24/status] +Size=24 +Context=Status +Type=Threshold + +[24x24/stock/chart] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/code] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/data] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/form] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/image] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/io] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/media] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/navigation] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/net] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/object] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/table] +Size=24 +Context=Stock +Type=Threshold + +[24x24/stock/text] +Size=24 +Context=Stock +Type=Threshold + +[32x32/actions] +Size=32 +Context=Actions +Type=Threshold + +[32x32/animations] +Size=32 +Context=Animations +Type=Threshold + +[32x32/apps] +Size=32 +Context=Applications +Type=Threshold + +[32x32/categories] +Size=32 +Context=Categories +Type=Threshold + +[32x32/devices] +Size=32 +Context=Devices +Type=Threshold + +[32x32/emblems] +Size=32 +Context=Emblems +Type=Threshold + +[32x32/emotes] +Size=32 +Context=Emotes +Type=Threshold + +[32x32/filesystems] +Size=32 +Context=FileSystems +Type=Threshold + +[32x32/intl] +Size=32 +Context=International +Type=Threshold + +[32x32/mimetypes] +Size=32 +Context=MimeTypes +Type=Threshold + +[32x32/places] +Size=32 +Context=Places +Type=Threshold + +[32x32/status] +Size=32 +Context=Status +Type=Threshold + +[32x32/stock/chart] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/code] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/data] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/form] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/image] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/io] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/media] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/navigation] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/net] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/object] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/table] +Size=32 +Context=Stock +Type=Threshold + +[32x32/stock/text] +Size=32 +Context=Stock +Type=Threshold + +[36x36/actions] +Size=36 +Context=Actions +Type=Threshold + +[36x36/animations] +Size=36 +Context=Animations +Type=Threshold + +[36x36/apps] +Size=36 +Context=Applications +Type=Threshold + +[36x36/categories] +Size=36 +Context=Categories +Type=Threshold + +[36x36/devices] +Size=36 +Context=Devices +Type=Threshold + +[36x36/emblems] +Size=36 +Context=Emblems +Type=Threshold + +[36x36/emotes] +Size=36 +Context=Emotes +Type=Threshold + +[36x36/filesystems] +Size=36 +Context=FileSystems +Type=Threshold + +[36x36/intl] +Size=36 +Context=International +Type=Threshold + +[36x36/mimetypes] +Size=36 +Context=MimeTypes +Type=Threshold + +[36x36/places] +Size=36 +Context=Places +Type=Threshold + +[36x36/status] +Size=36 +Context=Status +Type=Threshold + +[36x36/stock/chart] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/code] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/data] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/form] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/image] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/io] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/media] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/navigation] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/net] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/object] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/table] +Size=36 +Context=Stock +Type=Threshold + +[36x36/stock/text] +Size=36 +Context=Stock +Type=Threshold + +[48x48/actions] +Size=48 +Context=Actions +Type=Threshold + +[48x48/animations] +Size=48 +Context=Animations +Type=Threshold + +[48x48/apps] +Size=48 +Context=Applications +Type=Threshold + +[48x48/categories] +Size=48 +Context=Categories +Type=Threshold + +[48x48/devices] +Size=48 +Context=Devices +Type=Threshold + +[48x48/emblems] +Size=48 +Context=Emblems +Type=Threshold + +[48x48/emotes] +Size=48 +Context=Emotes +Type=Threshold + +[48x48/filesystems] +Size=48 +Context=FileSystems +Type=Threshold + +[48x48/intl] +Size=48 +Context=International +Type=Threshold + +[48x48/mimetypes] +Size=48 +Context=MimeTypes +Type=Threshold + +[48x48/places] +Size=48 +Context=Places +Type=Threshold + +[48x48/status] +Size=48 +Context=Status +Type=Threshold + +[48x48/stock/chart] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/code] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/data] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/form] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/image] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/io] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/media] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/navigation] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/net] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/object] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/table] +Size=48 +Context=Stock +Type=Threshold + +[48x48/stock/text] +Size=48 +Context=Stock +Type=Threshold + +[64x64/actions] +Size=64 +Context=Actions +Type=Threshold + +[64x64/animations] +Size=64 +Context=Animations +Type=Threshold + +[64x64/apps] +Size=64 +Context=Applications +Type=Threshold + +[64x64/categories] +Size=64 +Context=Categories +Type=Threshold + +[64x64/devices] +Size=64 +Context=Devices +Type=Threshold + +[64x64/emblems] +Size=64 +Context=Emblems +Type=Threshold + +[64x64/emotes] +Size=64 +Context=Emotes +Type=Threshold + +[64x64/filesystems] +Size=64 +Context=FileSystems +Type=Threshold + +[64x64/intl] +Size=64 +Context=International +Type=Threshold + +[64x64/mimetypes] +Size=64 +Context=MimeTypes +Type=Threshold + +[64x64/places] +Size=64 +Context=Places +Type=Threshold + +[64x64/status] +Size=64 +Context=Status +Type=Threshold + +[64x64/stock/chart] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/code] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/data] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/form] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/image] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/io] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/media] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/navigation] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/net] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/object] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/table] +Size=64 +Context=Stock +Type=Threshold + +[64x64/stock/text] +Size=64 +Context=Stock +Type=Threshold +[72x72/actions] +Size=72 +Context=Actions +Type=Threshold + +[72x72/animations] +Size=72 +Context=Animations +Type=Threshold + +[72x72/apps] +Size=72 +Context=Applications +Type=Threshold + +[72x72/categories] +Size=72 +Context=Categories +Type=Threshold + +[72x72/devices] +Size=72 +Context=Devices +Type=Threshold + +[72x72/emblems] +Size=72 +Context=Emblems +Type=Threshold + +[72x72/emotes] +Size=72 +Context=Emotes +Type=Threshold + +[72x72/filesystems] +Size=72 +Context=FileSystems +Type=Threshold + +[72x72/intl] +Size=72 +Context=International +Type=Threshold + +[72x72/mimetypes] +Size=72 +Context=MimeTypes +Type=Threshold + +[72x72/places] +Size=72 +Context=Places +Type=Threshold + +[72x72/status] +Size=72 +Context=Status +Type=Threshold + +[72x72/stock/chart] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/code] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/data] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/form] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/image] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/io] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/media] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/navigation] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/net] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/object] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/table] +Size=72 +Context=Stock +Type=Threshold + +[72x72/stock/text] +Size=72 +Context=Stock +Type=Threshold + +[96x96/actions] +Size=96 +Context=Actions +Type=Threshold + +[96x96/animations] +Size=96 +Context=Animations +Type=Threshold + +[96x96/apps] +Size=96 +Context=Applications +Type=Threshold + +[96x96/categories] +Size=96 +Context=Categories +Type=Threshold + +[96x96/devices] +Size=96 +Context=Devices +Type=Threshold + +[96x96/emblems] +Size=96 +Context=Emblems +Type=Threshold + +[96x96/emotes] +Size=96 +Context=Emotes +Type=Threshold + +[96x96/filesystems] +Size=96 +Context=FileSystems +Type=Threshold + +[96x96/intl] +Size=96 +Context=International +Type=Threshold + +[96x96/mimetypes] +Size=96 +Context=MimeTypes +Type=Threshold + +[96x96/places] +Size=96 +Context=Places +Type=Threshold + +[96x96/status] +Size=96 +Context=Status +Type=Threshold + +[96x96/stock/chart] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/code] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/data] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/form] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/image] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/io] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/media] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/navigation] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/net] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/object] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/table] +Size=96 +Context=Stock +Type=Threshold + +[96x96/stock/text] +Size=96 +Context=Stock +Type=Threshold + +[128x128/actions] +Size=128 +Context=Actions +Type=Threshold + +[128x128/animations] +Size=128 +Context=Animations +Type=Threshold + +[128x128/apps] +Size=128 +Context=Applications +Type=Threshold + +[128x128/categories] +Size=128 +Context=Categories +Type=Threshold + +[128x128/devices] +Size=128 +Context=Devices +Type=Threshold + +[128x128/emblems] +Size=128 +Context=Emblems +Type=Threshold + +[128x128/emotes] +Size=128 +Context=Emotes +Type=Threshold + +[128x128/filesystems] +Size=128 +Context=FileSystems +Type=Threshold + +[128x128/intl] +Size=128 +Context=International +Type=Threshold + +[128x128/mimetypes] +Size=128 +Context=MimeTypes +Type=Threshold + +[128x128/places] +Size=128 +Context=Places +Type=Threshold + +[128x128/status] +Size=128 +Context=Status +Type=Threshold + +[128x128/stock/chart] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/code] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/data] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/form] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/image] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/io] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/media] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/navigation] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/net] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/object] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/table] +Size=128 +Context=Stock +Type=Threshold + +[128x128/stock/text] +Size=128 +Context=Stock +Type=Threshold + +[192x192/actions] +Size=192 +Context=Actions +Type=Threshold + +[192x192/animations] +Size=192 +Context=Animations +Type=Threshold + +[192x192/apps] +Size=192 +Context=Applications +Type=Threshold + +[192x192/categories] +Size=192 +Context=Categories +Type=Threshold + +[192x192/devices] +Size=192 +Context=Devices +Type=Threshold + +[192x192/emblems] +Size=192 +Context=Emblems +Type=Threshold + +[192x192/emotes] +Size=192 +Context=Emotes +Type=Threshold + +[192x192/filesystems] +Size=192 +Context=FileSystems +Type=Threshold + +[192x192/intl] +Size=192 +Context=International +Type=Threshold + +[192x192/mimetypes] +Size=192 +Context=MimeTypes +Type=Threshold + +[192x192/places] +Size=192 +Context=Places +Type=Threshold + +[192x192/status] +Size=192 +Context=Status +Type=Threshold + +[192x192/stock/chart] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/code] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/data] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/form] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/image] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/io] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/media] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/navigation] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/net] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/object] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/table] +Size=192 +Context=Stock +Type=Threshold + +[192x192/stock/text] +Size=192 +Context=Stock +Type=Threshold + +[256x256/actions] +MinSize=64 +Size=256 +MaxSize=256 +Context=Actions +Type=Scalable + +[256x256/animations] +MinSize=64 +Size=256 +MaxSize=256 +Context=Animations +Type=Scalable + +[256x256/apps] +MinSize=64 +Size=256 +MaxSize=256 +Context=Applications +Type=Scalable + +[256x256/categories] +MinSize=64 +Size=256 +MaxSize=256 +Context=Categories +Type=Scalable + +[256x256/devices] +MinSize=64 +Size=256 +MaxSize=256 +Context=Devices +Type=Scalable + +[256x256/emblems] +MinSize=64 +Size=256 +MaxSize=256 +Context=Emblems +Type=Scalable + +[256x256/emotes] +MinSize=64 +Size=256 +MaxSize=256 +Context=Emotes +Type=Scalable + +[256x256/filesystems] +MinSize=64 +Size=256 +MaxSize=256 +Context=FileSystems +Type=Scalable + +[256x256/intl] +MinSize=64 +Size=256 +MaxSize=256 +Context=International +Type=Scalable + +[256x256/mimetypes] +MinSize=64 +Size=256 +MaxSize=256 +Context=MimeTypes +Type=Scalable + +[256x256/places] +MinSize=64 +Size=256 +MaxSize=256 +Context=Places +Type=Scalable + +[256x256/status] +MinSize=64 +Size=256 +MaxSize=256 +Context=Status +Type=Scalable + +[256x256/stock/chart] +MinSize=64 +Size=256 +MaxSize=256 +Context=Stock +Type=Scalable + +[256x256/stock/code] +MinSize=64 +Size=256 +MaxSize=256 +Context=Stock +Type=Scalable + +[256x256/stock/data] +MinSize=64 +Size=256 +MaxSize=256 +Context=Stock +Type=Scalable + +[256x256/stock/form] +MinSize=64 +Size=256 +MaxSize=256 +Context=Stock +Type=Scalable + +[256x256/stock/image] +MinSize=64 +Size=256 +MaxSize=256 +Context=Stock +Type=Scalable + +[256x256/stock/io] +MinSize=64 +Size=256 +MaxSize=256 +Context=Stock +Type=Scalable + +[256x256/stock/media] +MinSize=64 +Size=256 +MaxSize=256 +Context=Stock +Type=Scalable + +[256x256/stock/navigation] +MinSize=64 +Size=256 +MaxSize=256 +Context=Stock +Type=Scalable + +[256x256/stock/net] +MinSize=64 +Size=256 +MaxSize=256 +Context=Stock +Type=Scalable + +[256x256/stock/object] +MinSize=64 +Size=256 +MaxSize=256 +Context=Stock +Type=Scalable + +[256x256/stock/table] +MinSize=64 +Size=256 +MaxSize=256 +Context=Stock +Type=Scalable + +[256x256/stock/text] +MinSize=64 +Size=256 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/actions] +MinSize=1 +Size=128 +MaxSize=256 +Context=Actions +Type=Scalable + +[scalable/animations] +MinSize=1 +Size=128 +MaxSize=256 +Context=Animations +Type=Scalable + +[scalable/apps] +MinSize=1 +Size=128 +MaxSize=256 +Context=Applications +Type=Scalable + +[scalable/categories] +MinSize=1 +Size=128 +MaxSize=256 +Context=Categories +Type=Scalable + +[scalable/devices] +MinSize=1 +Size=128 +MaxSize=256 +Context=Devices +Type=Scalable + +[scalable/emblems] +MinSize=1 +Size=128 +MaxSize=256 +Context=Emblems +Type=Scalable + +[scalable/emotes] +MinSize=1 +Size=128 +MaxSize=256 +Context=Emotes +Type=Scalable + +[scalable/filesystems] +MinSize=1 +Size=128 +MaxSize=256 +Context=FileSystems +Type=Scalable + +[scalable/intl] +MinSize=1 +Size=128 +MaxSize=256 +Context=International +Type=Scalable + +[scalable/mimetypes] +MinSize=1 +Size=128 +MaxSize=256 +Context=MimeTypes +Type=Scalable + +[scalable/places] +MinSize=1 +Size=128 +MaxSize=256 +Context=Places +Type=Scalable + +[scalable/status] +MinSize=1 +Size=128 +MaxSize=256 +Context=Status +Type=Scalable + +[scalable/stock/chart] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/code] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/data] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/form] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/image] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/io] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/media] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/navigation] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/net] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/object] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/table] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + +[scalable/stock/text] +MinSize=1 +Size=128 +MaxSize=256 +Context=Stock +Type=Scalable + diff --git a/remote/modules/vmware/vmplayer.build b/remote/modules/vmware/vmplayer.build new file mode 100644 index 00000000..85929c17 --- /dev/null +++ b/remote/modules/vmware/vmplayer.build @@ -0,0 +1,162 @@ +fetch_source() { + [ -e "./src" ] && { rm -r ./src || perror "Could not delete old src dir."; } + mkdir -p "./src" || perror "Could not mkdir src" + cd "./src" || perror "cd fail." + # Get directory listing + wget -O "index.html" "$REQUIRED_DOWNLOAD_BASE" || perror "Could not download vmware dir index" + # # Try to treat it as version listing + # local LATEST=$(grep -o -E '"[0-9]+\.[0-9]+\.[0-9]+/' "index.html" | cut -c 2- | sort --version-sort | tail -n 1) + # if [ -n "$LATEST" ]; then + # REQUIRED_DOWNLOAD_BASE+="$LATEST" + # # Determine latest build + # fi + local FILE=$(grep -E -o -i "href=\"VMware-$REQUIRED_TYPE-[^\"]+[\._\-]$ARCHREGEX[\._\-][^\"]+\"" "index.html" | head -n 1 | awk -F '"' '{printf $2}') + [ -z "$FILE" ] && perror "Could not determine vmware $REQUIRED_TYPE bundle file for current arch from $MODULE_DIR/src/index.html" + # Download file + wget -O "$FILE" "$REQUIRED_DOWNLOAD_BASE/$FILE" || perror "Could not download $FILE from $REQUIRED_DOWNLOAD_BASE" + if [[ "$FILE" == *.tar ]]; then + tar -x "${FILE%.tar}" -f "$FILE" || perror "Could not untar downloaded $FILE" + unlink "$FILE" + FILE="${FILE%.tar}" + fi + pinfo "Extracting bundle of VMware $(echo "$FILE" | grep -o -E '[0-9]+\.[0-9]+\.[0-9]+') build $(echo "$FILE" | grep -o -E '[0-9]{7,9}') for $(echo "$FILE" | grep -o -E "$ARCHREGEX")" + ./$FILE -x "./bundle/" || perror "Extracting the vmware bundle failed." + pinfo "done" +} + +build() { + local SRCDIR="./src/bundle" + [ ! -d "$SRCDIR" ] && perror "Extracted vmplayer bundle not found in $SRCDIR - please clean vmplayer module." + local TARGET="$MODULE_BUILD_DIR/usr/lib/vmware/" + mkdir -p "$TARGET"{lib,share,bin} + pinfo "Copying data to build dir" + cp -r ./$SRCDIR/vmware-installer/lib/lib* "$TARGET" || perror "Could not copy libs from vmware-installer" + cp -r ./$SRCDIR/vmware-network-editor/lib "$MODULE_BUILD_DIR/usr/" || perror "Could not copy libs from vmware-network-config" + cp -r ./$SRCDIR/vmware-$REQUIRED_TYPE/lib/share "$TARGET" || perror "Could not copy lib/share from vmware-player" + cp -r ./$SRCDIR/vmware-$REQUIRED_TYPE/share "$MODULE_BUILD_DIR/usr/" || perror "C0oudld not copy share from vmware-player" + cp -r ./$SRCDIR/vmware-player-app/etc "$MODULE_BUILD_DIR/" || perror "Could not copy bin and etc from vmware-player-app." + cp -r ./$SRCDIR/vmware-player-app/lib/* "$TARGET" || perror "Could not copy lib subtree from vmware-player-app." + cp -r ./$SRCDIR/vmware-player-app/{bin,share} "$MODULE_BUILD_DIR/usr/" || perror "could not copy share from vmware-player-app." + cp -r ./$SRCDIR/vmware-usbarbitrator/bin "$MODULE_BUILD_DIR/usr/" || perror "Could not copy bin from vmware-usbarbitrator." + cp -r ./$SRCDIR/vmware-vmx/{bin,etc,sbin} "$MODULE_BUILD_DIR/usr/" || perror "could not copy bin,etc,sbin to usr for vmare-vmx." + cp -r ./$SRCDIR/vmware-vmx/lib/{bin,icu,lib,libconf,scripts} "$TARGET" || perror "Could not copy many things from vmware-vmx." + [ -d "./$SRCDIR/vmware-workstation-server" ] && cp -r ./$SRCDIR/vmware-workstation-server/{bin,lib} "$TARGET" || perror "Could not copy many things from vmware-workstation-server." + [ ! -L "$TARGET/bin/vmplayer" ] && { ln -s /usr/lib/vmware/bin/appLoader "$TARGET/bin/vmplayer" || perror "Could not link vmplayer to appLoader."; } + chmod +x "$TARGET"/bin/* + chmod u+s "$TARGET"/bin/vmware-vmx* || perror "Error setting suid-bit on vmware-vmx*" + chmod +x "$MODULE_BUILD_DIR"/usr/{bin,sbin}/* + chmod u+s "$MODULE_BUILD_DIR"/usr/bin/vmware-mount || perror "Error setting suid-bit on vmware-mount" + chmod u+s "$MODULE_BUILD_DIR"/usr/sbin/vmware-authd || perror "Error setting suid-bit on vmware-authd" + chmod +x "$TARGET"/lib/*.sh + find "$MODULE_BUILD_DIR" -name '*.sh' -exec chmod +x {} \; + for file in $(grep -rl -E "^#!/" "$MODULE_BUILD_DIR"); do + chmod +x "$file" + done + pinfo "Patching LIBCONF_DIR" + local file="" + for file in $(grep -rl "@@LIBCONF_DIR@@" "$MODULE_BUILD_DIR"); do + sed -i 's#@@LIBCONF_DIR@@#/usr/lib/vmware/libconf#g' "$file" + done + + # Compile kernel modules + pinfo "Compiling required kernel modules." + # build modules + build_modules + +} + +post_copy() { + # FIXME: gconftool is copied without dependencies + tarcopy "$(find /usr/lib/ /usr/lib64 -name gconv -type d)" "$TARGET_BUILD_DIR" + #Update Icon cache for vmplayer + gtk-update-icon-cache-3.0 "${TARGET_BUILD_DIR}/usr/share/icons/hicolor/" || pwarning "update-icon-cache-3.0 failed." + #fix vmware-usbarbotrator bug + date +'%Y.%m.%d' >"${TARGET_BUILD_DIR}/etc/arch-release" + copy_modules +} + +build_modules() { + # need to be in src + cd "$MODULE_DIR/src" || perror "Could not cd to '$MODULE_DIR/src'" + local VMWARE_MODCONFIG="$MODULE_DIR/$SRCDIR/vmware-vmx/bin/vmware-modconfig" + [ -e "$VMWARE_MODCONFIG" ] && chmod +x "$VMWARE_MODCONFIG" || perror "Could not find $VMWARE_MODCONFIG" + # link vmware-modconfig-console in the build dir + local MANIFEST="$MODULE_DIR/$SRCDIR/vmware-vmx/manifest.xml" + local BUILD_NUMBER="$(grep -o -E '[0-9]*' "$MANIFEST"|grep -o -E '[0-9]*')" + local VERSION="$(grep -o -E '[0-9\.]*' "$MANIFEST"|grep -o -E '[0-9\.]*')" + local CORE_VERSION="$(grep -o -E '[0-9\.]*' "$MANIFEST"|grep -o -E '[0-9\.]*')" + # /etc/vmware/config gen + + sed -i.bak1 '/^ETCDIR/d;/^VMISETCDIR/d;/bootstrap/d' "$VMWARE_MODCONFIG" + sed -i.bak2 "s/libdir=.*/libdir=$(echo $MODULE_BUILD_DIR | escape_replace)\/usr\/lib\/vmware/g" "$VMWARE_MODCONFIG" + sed -i.bak3 "s#set -e#set -e\nPREFIX=\"/usr\"\nBINDIR=\"/usr/bin\"\nSBINDIR=\"/usr/sbin\"\nLIBDIR=\"/usr/lib\"\nDATADIR=\"/usr/share\"\nSYSCONFDIR=\"/etc\"\nDOCDIR=\"/usr/share/doc\"\nMANDIR=\"/usr/share/man\"\nINCLUDEDIR=\"/usr/include\"\nINITDIR=\"/etc\"\nINITSCRIPTDIR=\"/etc/init.d\"\nVMWARE_INSTALLER=\"/usr/lib/vmware-installer/$CORE_VERSION\"\nVERSION=\"$CORE_VERSION\"\nVMISVERSION=\"$CORE_VERSION\"\nVMISPYVERSION=\"25\"#g" "$VMWARE_MODCONFIG" + + + [ -e "/etc/vmware/config" ] && cp "/etc/vmware/config" "/etc/vmware/config.mltk.bak" + mkdir -p "/etc/vmware" || perror "Could not create /etc/vmware" + cat > "/etc/vmware/config" << EOF +.encoding = "UTF-8" +installerDefaults.componentDownloadEnabled = "yes" +installerDefaults.dataCollectionEnabled = "no" +installerDefaults.transferVersion = "1" +installerDefaults.autoSoftwareUpdateEnabled = "yes" +NETWORKING = "yes" +VMBLOCK_CONFED = "yes" +gksu.rootMethod = "sudo" +libdir = "$MODULE_BUILD_DIR/usr/lib/vmware" +VMCI_CONFED = "yes" +VSOCK_CONFED = "yes" +initscriptdir = "/etc/init.d" +authd.fullpath = "/usr/sbin/vmware-authd" +bindir = "/usr/bin" +vmware.fullpath = "/usr/bin/vmware" +vix.libdir = "/usr/lib/vmware-vix" +vix.config.version = "1" +player.product.version = "$VERSION" +product.buildNumber = "$BUILD_NUMBER" +authd.client.port = "902" +authd.proxy.nfc = "vmware-hostd:ha-nfc" +authd.soapserver = "TRUE" +product.version = "$VERSION" +workstation.product.version = "$VERSION" +product.name = "VMware Workstation" +EOF + mkdir -p "$MODULE_BUILD_DIR/usr/lib/vmware/modules" + ln -sf "$MODULE_DIR/$SRCDIR/vmware-vmx/extra/modules.xml" "$MODULE_BUILD_DIR/usr/lib/vmware/modules/" + ln -sf "$MODULE_DIR/$SRCDIR/vmware-vmx/lib/modules/source" "$MODULE_BUILD_DIR/usr/lib/vmware/modules/" + + ln -sf "appLoader" "$MODULE_BUILD_DIR/usr/lib/vmware/bin/vmware-modconfig" + ln -sf "appLoader" "$MODULE_BUILD_DIR/usr/lib/vmware/bin/vmware-modconfig-console" + + [ ! -e "$MODULES_DIR/kernel/ksrc/include/generated/utsrelease.h" ] && perror "Could not find uts release!!!" + local UTS_RELEASE="$(cat "$MODULES_DIR/kernel/ksrc/include/generated/utsrelease.h" | awk -F '"' '{print $2}')" + pinfo "Patching vmblock.tar" + cd "$MODULE_BUILD_DIR/usr/lib/vmware/modules/source" || perror "cd failed." + tar xf "vmblock.tar" || perror "untar of vmblock.tar failed." + for sourcefile in $(grep -l -r -E '\sputname' "vmblock-only/"); do + sed -r -i 's/\sputname/__putname/g' "$sourcefile" || perror "sed of $sourcefile failed." + done + tar cf "vmblock.tar" "vmblock-only/" || perror "repacking of vmblock.tar failed." + cd - + + pinfo "KOMPILIERE VMWARE KERNEL MODULE" + for MOD in vsock vmblock vmmon vmnet vmci; do + pinfo "Kompiliere $MOD" + [ -s "/lib/modules/$UTS_RELEASE/vmplayer/$MOD.ko" ] && unlink "/lib/modules/$UTS_RELEASE/vmplayer/$MOD.ko" + "$VMWARE_MODCONFIG" --console --build-mod -k "$UTS_RELEASE" "$MOD" "$(which gcc)" "$MODULES_DIR/kernel/ksrc/include" "vmplayer" "$MOD" + [ ! -s "/lib/modules/$UTS_RELEASE/vmplayer/$MOD.ko" ] && perror "Error compiling via $VMWARE_MODCONFIG" + done + + cd - + + [ -e /etc/vmware/config ] && rm -f /etc/vmware/config + cp /etc/vmware/config.mltk.bak /etc/vmware/config + +} + +function copy_modules() { + local UTS_RELEASE="$(cat "$MODULES_DIR/kernel/ksrc/include/generated/utsrelease.h" | awk -F '"' '{print $2}')" + mkdir -p "$TARGET_BUILD_DIR/lib/modules/vmware/" + cp "/lib/modules/$UTS_RELEASE/vmplayer/"* "$TARGET_BUILD_DIR/lib/modules/vmware/" || perror "Could not cp vmware modules to target!" +} + diff --git a/remote/modules/vmware/vmplayer.conf b/remote/modules/vmware/vmplayer.conf new file mode 100644 index 00000000..11b7ca71 --- /dev/null +++ b/remote/modules/vmware/vmplayer.conf @@ -0,0 +1,4 @@ +REQUIRED_DIRECTORIES="/etc /usr" +REQUIRED_DOWNLOAD_BASE="http://softwareupdate.vmware.com/cds/vmw-desktop/ws/10.0.0/1295980/linux/core/" +REQUIRED_TYPE="workstation" + diff --git a/remote/setup_target b/remote/setup_target index dc8bd151..86da6d4c 100755 --- a/remote/setup_target +++ b/remote/setup_target @@ -322,6 +322,7 @@ process_module() { pinfo "## Reading build" read_build pinfo "## Installing dependencies" + cd "${MODULE_DIR}" || perror "cd to '${MODULE_DIR}' failed." install_dependencies pinfo "## Fetching source" [ -e "${MODULE_DIR}/.fetched_source" ] || { fetch_source && touch "${MODULE_DIR}/.fetched_source"; } @@ -330,6 +331,7 @@ process_module() { else pinfo "## Building" mkdir -p "${MODULE_BUILD_DIR}" || perror "Could not create build dir" + cd "${MODULE_DIR}" || perror "cd to '${MODULE_DIR}' failed." build # calls perror if something fails, no need to do that here touch "${MODULE_DIR}/.built" || pwarning "Error setting built-flag" fi @@ -337,12 +339,15 @@ process_module() { [ -d "${MODULE_BUILD_DIR}" ] && find "${MODULE_BUILD_DIR}" -name '*.la' -exec rm -f {} \; [ -d "${TARGET_BUILD_DIR}" ] && TARGET_BUILD_SIZE=$(du -bc "${TARGET_BUILD_DIR}" | awk 'END {print $1}') || TARGET_BUILD_SIZE=0 pinfo "## Copying files with dependencies" + cd "${MODULE_DIR}" || perror "cd to '${MODULE_DIR}' failed." copy_files_with_deps pinfo "## Copying required system files" # REQUIRED_SYSTEM_FILES + cd "${MODULE_DIR}" || perror "cd to '${MODULE_DIR}' failed." copy_system_files pinfo "## Copying static module files" copy_static_data pinfo "## Post copy" + cd "${MODULE_DIR}" || perror "cd to '${MODULE_DIR}' failed." post_copy # Sanity checks [ -e "$TARGET_BUILD_DIR/var/run" -a ! -L "$TARGET_BUILD_DIR/var/run" ] && perror "Messup datected: $TARGET_BUILD_DIR/var/run exists and is not a symlink!" diff --git a/remote/targets/vmware/vmplayer b/remote/targets/vmware/vmplayer deleted file mode 120000 index 9303aa6a..00000000 --- a/remote/targets/vmware/vmplayer +++ /dev/null @@ -1 +0,0 @@ -../../modules/vmplayer \ No newline at end of file diff --git a/remote/targets/vmware/vmware b/remote/targets/vmware/vmware new file mode 120000 index 00000000..81fa2c91 --- /dev/null +++ b/remote/targets/vmware/vmware @@ -0,0 +1 @@ +../../modules/vmware \ No newline at end of file -- cgit v1.2.3-55-g7522 From 3d346444efa83e1f84f0cf267aebea7022a4172d Mon Sep 17 00:00:00 2001 From: Christian Rößler Date: Mon, 14 Oct 2013 19:08:44 +0200 Subject: [samba] Some openSuse support: conf file and build file extension --- remote/modules/samba/samba.build | 11 ++++++++++- remote/modules/samba/samba.conf.opensuse | 24 ++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 remote/modules/samba/samba.conf.opensuse (limited to 'remote') diff --git a/remote/modules/samba/samba.build b/remote/modules/samba/samba.build index bd189b66..a0a60831 100644 --- a/remote/modules/samba/samba.build +++ b/remote/modules/samba/samba.build @@ -6,9 +6,18 @@ build() { COPYLIST="list_dpkg_output" [ -e "$COPYLIST" ] && rm "$COPYLIST" + if [ "x$PACKET_MANAGER" == "xzypper" ]; then + if [ $(zypper lr | grep -ci filesystems) -eq 0 ]; then + zypper addrepo http://download.opensuse.org/repositories/filesystems/openSUSE_${SYS_VERSION} Filesystems + pinfo "Repository added: OpenSuse Build filesystems" + fi + # Ubuntu writes to /etc, Suse does not: + mkdir "$MODULE_BUILD_DIR"/etc/ + cp /usr/share/doc/packages/smbnetfs/smbnetfs.conf "$MODULE_BUILD_DIR"/etc/ + fi + list_packet_files >> "$COPYLIST" tarcopy "$(cat "$COPYLIST" | sort -u)" "${MODULE_BUILD_DIR}" - return 0 } diff --git a/remote/modules/samba/samba.conf.opensuse b/remote/modules/samba/samba.conf.opensuse new file mode 100644 index 00000000..fd06e50a --- /dev/null +++ b/remote/modules/samba/samba.conf.opensuse @@ -0,0 +1,24 @@ +REQUIRED_INSTALLED_PACKAGES=" + samba + samba-client + samba-winbind + krb5-client + cifs-utils + smbnetfs + fuse + keyutils +" +REQUIRED_CONTENT_PACKAGES=" + samba + samba-client + samba-winbind + krb5-client + cifs-utils + smbnetfs + fuse + keyutils +" + +# This is just a list for grep excludes used in samba.build opensuse branch +# Please use pipe symbol and backslash (\|) as separator as being used in grep +REQUIRED_PACKET_FILES_BLACKLIST="/etc/samba/smbpasswd\|/ding/dong" -- cgit v1.2.3-55-g7522 From 65338824690348c281cad2829ab60290503a9dd7 Mon Sep 17 00:00:00 2001 From: Manuel Schneider Date: Mon, 14 Oct 2013 20:28:49 +0200 Subject: [printergui] added misisng required libraries --- remote/modules/printergui/printergui.conf.ubuntu | 1 + 1 file changed, 1 insertion(+) (limited to 'remote') diff --git a/remote/modules/printergui/printergui.conf.ubuntu b/remote/modules/printergui/printergui.conf.ubuntu index 3dc662fd..2f679912 100644 --- a/remote/modules/printergui/printergui.conf.ubuntu +++ b/remote/modules/printergui/printergui.conf.ubuntu @@ -1,5 +1,6 @@ REQUIRED_INSTALLED_PACKAGES=" libcups2-dev +libqt4-dev " REQUIRED_CONTENT_PACKAGES=" libcups2-dev -- cgit v1.2.3-55-g7522 From 1920e6f4b59d95ef1de90359bac7782df6e44ea7 Mon Sep 17 00:00:00 2001 From: Manuel Schneider Date: Mon, 14 Oct 2013 22:23:20 +0200 Subject: [printergui] Nicer comment :D --- remote/modules/printergui/printergui.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'remote') diff --git a/remote/modules/printergui/printergui.build b/remote/modules/printergui/printergui.build index b414230c..624c1209 100644 --- a/remote/modules/printergui/printergui.build +++ b/remote/modules/printergui/printergui.build @@ -8,7 +8,7 @@ build() { local SRCDIR="${MODULE_DIR}/src/" mkdir -p "$MODULE_BUILD_DIR/opt/openslx/bin" - cd "${MODULE_BUILD_DIR}/opt/openslx/bin" || perror "Cpdspofj not cd!" + cd "${MODULE_BUILD_DIR}/opt/openslx/bin" || perror "Could not cd!" pinfo "Running qmake" qmake-qt4 "$SRCDIR/src/printergui.pro" -r -spec linux-g++ || perror "'qmake' failed." pinfo "Running make" -- cgit v1.2.3-55-g7522 From e461340e041f2be4e221388f59bae2ff1a73bc4f Mon Sep 17 00:00:00 2001 From: Manuel Schneider Date: Tue, 15 Oct 2013 00:14:45 +0200 Subject: [printergui] Opensuse conf. Not tested. --- remote/modules/printergui/printergui.conf.opensuse | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 remote/modules/printergui/printergui.conf.opensuse (limited to 'remote') diff --git a/remote/modules/printergui/printergui.conf.opensuse b/remote/modules/printergui/printergui.conf.opensuse new file mode 100644 index 00000000..2d4c7a95 --- /dev/null +++ b/remote/modules/printergui/printergui.conf.opensuse @@ -0,0 +1,7 @@ +REQUIRED_INSTALLED_PACKAGES=" +cups-devel +libqt4-devel +" +REQUIRED_CONTENT_PACKAGES=" +cups-devel +" -- cgit v1.2.3-55-g7522 From 232e1acc5d629861ebbbf295aa56f4c93f17e06c Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Tue, 15 Oct 2013 13:54:50 +0200 Subject: [consolekit] add missing package as REQUIRED_INSTALLED_PACKAGES --- remote/modules/consolekit/consolekit.conf.opensuse | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'remote') diff --git a/remote/modules/consolekit/consolekit.conf.opensuse b/remote/modules/consolekit/consolekit.conf.opensuse index ef8eff2b..d0f46410 100644 --- a/remote/modules/consolekit/consolekit.conf.opensuse +++ b/remote/modules/consolekit/consolekit.conf.opensuse @@ -1,3 +1,7 @@ +REQUIRED_INSTALLED_PACKAGES=" + ConsoleKit + ConsoleKit-x11 +" REQUIRED_CONTENT_PACKAGES=" ConsoleKit ConsoleKit-x11 -- cgit v1.2.3-55-g7522 From dcb5997d7a389f1c090b313abd813f3c2cd38bdb Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Tue, 15 Oct 2013 14:04:29 +0200 Subject: [vmware] add the domain information received from the dhcp server to the vmware-dhcp server configuration --- .../modules/vmware/data/etc/systemd/system/vmware.service | 4 ++-- .../vmware/data/opt/openslx/scripts/systemd-vmware_env | 2 +- .../rootfs-stage32/data/opt/openslx/scripts/udhcpc-openslx | 13 ++++++++++++- 3 files changed, 15 insertions(+), 4 deletions(-) (limited to 'remote') diff --git a/remote/modules/vmware/data/etc/systemd/system/vmware.service b/remote/modules/vmware/data/etc/systemd/system/vmware.service index 30bb42ff..1f47ac8c 100644 --- a/remote/modules/vmware/data/etc/systemd/system/vmware.service +++ b/remote/modules/vmware/data/etc/systemd/system/vmware.service @@ -1,7 +1,7 @@ [Unit] Description=Sets up the vmware environment -Requires=vmchooser.service -After=vmchooser.service +Requires=vmchooser.service network.target +After=vmchooser.service network.target [Service] Type=oneshot diff --git a/remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env b/remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env index 4103eae6..175f3bef 100755 --- a/remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env +++ b/remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env @@ -57,7 +57,7 @@ option dns ${SLX_DNS} option subnet 255.255.255.0 option router CNETWORK.1 option wins CNETWORK.10 -option domain virtual.site ${domain_name} +option domain ${SLX_NET_DOMAIN} virtual.site ${wpad_config} # additional options known to udhcpd diff --git a/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/udhcpc-openslx b/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/udhcpc-openslx index 178e3611..d3310bec 100755 --- a/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/udhcpc-openslx +++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/udhcpc-openslx @@ -48,7 +48,7 @@ case "$1" in CONF="" if [ -n "$domain" ]; then printf -v CONF "domain $domain\nsearch $domain\n" - elif [ -n "$SLX_NET_DOMAIN" ]; then + elif [ -n "$SLX_NET_DOMAIN" ]; then printf -v CONF "domain $SLX_NET_DOMAIN\nsearch $SLX_NET_DOMAIN\n" fi for i in $dns; do @@ -91,6 +91,17 @@ case "$1" in echo "# Config written by openslx-dhcp-script (1)" >> /opt/openslx/config echo "SLX_HOSTNAME='$dns_host'" >> /opt/openslx/config fi + + # if domain is given from dhcp, save it to openslx config for later use in VMs + if [ -n "$domain" ]; then + # check if SLX_NET_DOMAIN is in the config at all + if grep '^SLX_NET_DOMAIN=' /opt/openslx/config 2>/dev/null; then + sed -i "s/^\(SLX_NET_DOMAIN=\).*$/\1'$domain'/" /opt/openslx/config + else + # not set, add it + echo "SLX_NET_DOMAIN='$domain'" >> /opt/openslx/config + fi + fi # Update /etc/issue for proper spacing /opt/openslx/scripts/openslx-create_issue fi -- cgit v1.2.3-55-g7522 From 9c356abbcf6c800760d693bf486aabf73a0998d5 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Tue, 15 Oct 2013 14:46:28 +0200 Subject: [vmware] fix missing renaming of build/conf --- remote/modules/vmware/vmware.build | 162 +++++++++++++++++++++++++++++++++++++ remote/modules/vmware/vmware.conf | 4 + 2 files changed, 166 insertions(+) create mode 100644 remote/modules/vmware/vmware.build create mode 100644 remote/modules/vmware/vmware.conf (limited to 'remote') diff --git a/remote/modules/vmware/vmware.build b/remote/modules/vmware/vmware.build new file mode 100644 index 00000000..85929c17 --- /dev/null +++ b/remote/modules/vmware/vmware.build @@ -0,0 +1,162 @@ +fetch_source() { + [ -e "./src" ] && { rm -r ./src || perror "Could not delete old src dir."; } + mkdir -p "./src" || perror "Could not mkdir src" + cd "./src" || perror "cd fail." + # Get directory listing + wget -O "index.html" "$REQUIRED_DOWNLOAD_BASE" || perror "Could not download vmware dir index" + # # Try to treat it as version listing + # local LATEST=$(grep -o -E '"[0-9]+\.[0-9]+\.[0-9]+/' "index.html" | cut -c 2- | sort --version-sort | tail -n 1) + # if [ -n "$LATEST" ]; then + # REQUIRED_DOWNLOAD_BASE+="$LATEST" + # # Determine latest build + # fi + local FILE=$(grep -E -o -i "href=\"VMware-$REQUIRED_TYPE-[^\"]+[\._\-]$ARCHREGEX[\._\-][^\"]+\"" "index.html" | head -n 1 | awk -F '"' '{printf $2}') + [ -z "$FILE" ] && perror "Could not determine vmware $REQUIRED_TYPE bundle file for current arch from $MODULE_DIR/src/index.html" + # Download file + wget -O "$FILE" "$REQUIRED_DOWNLOAD_BASE/$FILE" || perror "Could not download $FILE from $REQUIRED_DOWNLOAD_BASE" + if [[ "$FILE" == *.tar ]]; then + tar -x "${FILE%.tar}" -f "$FILE" || perror "Could not untar downloaded $FILE" + unlink "$FILE" + FILE="${FILE%.tar}" + fi + pinfo "Extracting bundle of VMware $(echo "$FILE" | grep -o -E '[0-9]+\.[0-9]+\.[0-9]+') build $(echo "$FILE" | grep -o -E '[0-9]{7,9}') for $(echo "$FILE" | grep -o -E "$ARCHREGEX")" + ./$FILE -x "./bundle/" || perror "Extracting the vmware bundle failed." + pinfo "done" +} + +build() { + local SRCDIR="./src/bundle" + [ ! -d "$SRCDIR" ] && perror "Extracted vmplayer bundle not found in $SRCDIR - please clean vmplayer module." + local TARGET="$MODULE_BUILD_DIR/usr/lib/vmware/" + mkdir -p "$TARGET"{lib,share,bin} + pinfo "Copying data to build dir" + cp -r ./$SRCDIR/vmware-installer/lib/lib* "$TARGET" || perror "Could not copy libs from vmware-installer" + cp -r ./$SRCDIR/vmware-network-editor/lib "$MODULE_BUILD_DIR/usr/" || perror "Could not copy libs from vmware-network-config" + cp -r ./$SRCDIR/vmware-$REQUIRED_TYPE/lib/share "$TARGET" || perror "Could not copy lib/share from vmware-player" + cp -r ./$SRCDIR/vmware-$REQUIRED_TYPE/share "$MODULE_BUILD_DIR/usr/" || perror "C0oudld not copy share from vmware-player" + cp -r ./$SRCDIR/vmware-player-app/etc "$MODULE_BUILD_DIR/" || perror "Could not copy bin and etc from vmware-player-app." + cp -r ./$SRCDIR/vmware-player-app/lib/* "$TARGET" || perror "Could not copy lib subtree from vmware-player-app." + cp -r ./$SRCDIR/vmware-player-app/{bin,share} "$MODULE_BUILD_DIR/usr/" || perror "could not copy share from vmware-player-app." + cp -r ./$SRCDIR/vmware-usbarbitrator/bin "$MODULE_BUILD_DIR/usr/" || perror "Could not copy bin from vmware-usbarbitrator." + cp -r ./$SRCDIR/vmware-vmx/{bin,etc,sbin} "$MODULE_BUILD_DIR/usr/" || perror "could not copy bin,etc,sbin to usr for vmare-vmx." + cp -r ./$SRCDIR/vmware-vmx/lib/{bin,icu,lib,libconf,scripts} "$TARGET" || perror "Could not copy many things from vmware-vmx." + [ -d "./$SRCDIR/vmware-workstation-server" ] && cp -r ./$SRCDIR/vmware-workstation-server/{bin,lib} "$TARGET" || perror "Could not copy many things from vmware-workstation-server." + [ ! -L "$TARGET/bin/vmplayer" ] && { ln -s /usr/lib/vmware/bin/appLoader "$TARGET/bin/vmplayer" || perror "Could not link vmplayer to appLoader."; } + chmod +x "$TARGET"/bin/* + chmod u+s "$TARGET"/bin/vmware-vmx* || perror "Error setting suid-bit on vmware-vmx*" + chmod +x "$MODULE_BUILD_DIR"/usr/{bin,sbin}/* + chmod u+s "$MODULE_BUILD_DIR"/usr/bin/vmware-mount || perror "Error setting suid-bit on vmware-mount" + chmod u+s "$MODULE_BUILD_DIR"/usr/sbin/vmware-authd || perror "Error setting suid-bit on vmware-authd" + chmod +x "$TARGET"/lib/*.sh + find "$MODULE_BUILD_DIR" -name '*.sh' -exec chmod +x {} \; + for file in $(grep -rl -E "^#!/" "$MODULE_BUILD_DIR"); do + chmod +x "$file" + done + pinfo "Patching LIBCONF_DIR" + local file="" + for file in $(grep -rl "@@LIBCONF_DIR@@" "$MODULE_BUILD_DIR"); do + sed -i 's#@@LIBCONF_DIR@@#/usr/lib/vmware/libconf#g' "$file" + done + + # Compile kernel modules + pinfo "Compiling required kernel modules." + # build modules + build_modules + +} + +post_copy() { + # FIXME: gconftool is copied without dependencies + tarcopy "$(find /usr/lib/ /usr/lib64 -name gconv -type d)" "$TARGET_BUILD_DIR" + #Update Icon cache for vmplayer + gtk-update-icon-cache-3.0 "${TARGET_BUILD_DIR}/usr/share/icons/hicolor/" || pwarning "update-icon-cache-3.0 failed." + #fix vmware-usbarbotrator bug + date +'%Y.%m.%d' >"${TARGET_BUILD_DIR}/etc/arch-release" + copy_modules +} + +build_modules() { + # need to be in src + cd "$MODULE_DIR/src" || perror "Could not cd to '$MODULE_DIR/src'" + local VMWARE_MODCONFIG="$MODULE_DIR/$SRCDIR/vmware-vmx/bin/vmware-modconfig" + [ -e "$VMWARE_MODCONFIG" ] && chmod +x "$VMWARE_MODCONFIG" || perror "Could not find $VMWARE_MODCONFIG" + # link vmware-modconfig-console in the build dir + local MANIFEST="$MODULE_DIR/$SRCDIR/vmware-vmx/manifest.xml" + local BUILD_NUMBER="$(grep -o -E '[0-9]*' "$MANIFEST"|grep -o -E '[0-9]*')" + local VERSION="$(grep -o -E '[0-9\.]*' "$MANIFEST"|grep -o -E '[0-9\.]*')" + local CORE_VERSION="$(grep -o -E '[0-9\.]*' "$MANIFEST"|grep -o -E '[0-9\.]*')" + # /etc/vmware/config gen + + sed -i.bak1 '/^ETCDIR/d;/^VMISETCDIR/d;/bootstrap/d' "$VMWARE_MODCONFIG" + sed -i.bak2 "s/libdir=.*/libdir=$(echo $MODULE_BUILD_DIR | escape_replace)\/usr\/lib\/vmware/g" "$VMWARE_MODCONFIG" + sed -i.bak3 "s#set -e#set -e\nPREFIX=\"/usr\"\nBINDIR=\"/usr/bin\"\nSBINDIR=\"/usr/sbin\"\nLIBDIR=\"/usr/lib\"\nDATADIR=\"/usr/share\"\nSYSCONFDIR=\"/etc\"\nDOCDIR=\"/usr/share/doc\"\nMANDIR=\"/usr/share/man\"\nINCLUDEDIR=\"/usr/include\"\nINITDIR=\"/etc\"\nINITSCRIPTDIR=\"/etc/init.d\"\nVMWARE_INSTALLER=\"/usr/lib/vmware-installer/$CORE_VERSION\"\nVERSION=\"$CORE_VERSION\"\nVMISVERSION=\"$CORE_VERSION\"\nVMISPYVERSION=\"25\"#g" "$VMWARE_MODCONFIG" + + + [ -e "/etc/vmware/config" ] && cp "/etc/vmware/config" "/etc/vmware/config.mltk.bak" + mkdir -p "/etc/vmware" || perror "Could not create /etc/vmware" + cat > "/etc/vmware/config" << EOF +.encoding = "UTF-8" +installerDefaults.componentDownloadEnabled = "yes" +installerDefaults.dataCollectionEnabled = "no" +installerDefaults.transferVersion = "1" +installerDefaults.autoSoftwareUpdateEnabled = "yes" +NETWORKING = "yes" +VMBLOCK_CONFED = "yes" +gksu.rootMethod = "sudo" +libdir = "$MODULE_BUILD_DIR/usr/lib/vmware" +VMCI_CONFED = "yes" +VSOCK_CONFED = "yes" +initscriptdir = "/etc/init.d" +authd.fullpath = "/usr/sbin/vmware-authd" +bindir = "/usr/bin" +vmware.fullpath = "/usr/bin/vmware" +vix.libdir = "/usr/lib/vmware-vix" +vix.config.version = "1" +player.product.version = "$VERSION" +product.buildNumber = "$BUILD_NUMBER" +authd.client.port = "902" +authd.proxy.nfc = "vmware-hostd:ha-nfc" +authd.soapserver = "TRUE" +product.version = "$VERSION" +workstation.product.version = "$VERSION" +product.name = "VMware Workstation" +EOF + mkdir -p "$MODULE_BUILD_DIR/usr/lib/vmware/modules" + ln -sf "$MODULE_DIR/$SRCDIR/vmware-vmx/extra/modules.xml" "$MODULE_BUILD_DIR/usr/lib/vmware/modules/" + ln -sf "$MODULE_DIR/$SRCDIR/vmware-vmx/lib/modules/source" "$MODULE_BUILD_DIR/usr/lib/vmware/modules/" + + ln -sf "appLoader" "$MODULE_BUILD_DIR/usr/lib/vmware/bin/vmware-modconfig" + ln -sf "appLoader" "$MODULE_BUILD_DIR/usr/lib/vmware/bin/vmware-modconfig-console" + + [ ! -e "$MODULES_DIR/kernel/ksrc/include/generated/utsrelease.h" ] && perror "Could not find uts release!!!" + local UTS_RELEASE="$(cat "$MODULES_DIR/kernel/ksrc/include/generated/utsrelease.h" | awk -F '"' '{print $2}')" + pinfo "Patching vmblock.tar" + cd "$MODULE_BUILD_DIR/usr/lib/vmware/modules/source" || perror "cd failed." + tar xf "vmblock.tar" || perror "untar of vmblock.tar failed." + for sourcefile in $(grep -l -r -E '\sputname' "vmblock-only/"); do + sed -r -i 's/\sputname/__putname/g' "$sourcefile" || perror "sed of $sourcefile failed." + done + tar cf "vmblock.tar" "vmblock-only/" || perror "repacking of vmblock.tar failed." + cd - + + pinfo "KOMPILIERE VMWARE KERNEL MODULE" + for MOD in vsock vmblock vmmon vmnet vmci; do + pinfo "Kompiliere $MOD" + [ -s "/lib/modules/$UTS_RELEASE/vmplayer/$MOD.ko" ] && unlink "/lib/modules/$UTS_RELEASE/vmplayer/$MOD.ko" + "$VMWARE_MODCONFIG" --console --build-mod -k "$UTS_RELEASE" "$MOD" "$(which gcc)" "$MODULES_DIR/kernel/ksrc/include" "vmplayer" "$MOD" + [ ! -s "/lib/modules/$UTS_RELEASE/vmplayer/$MOD.ko" ] && perror "Error compiling via $VMWARE_MODCONFIG" + done + + cd - + + [ -e /etc/vmware/config ] && rm -f /etc/vmware/config + cp /etc/vmware/config.mltk.bak /etc/vmware/config + +} + +function copy_modules() { + local UTS_RELEASE="$(cat "$MODULES_DIR/kernel/ksrc/include/generated/utsrelease.h" | awk -F '"' '{print $2}')" + mkdir -p "$TARGET_BUILD_DIR/lib/modules/vmware/" + cp "/lib/modules/$UTS_RELEASE/vmplayer/"* "$TARGET_BUILD_DIR/lib/modules/vmware/" || perror "Could not cp vmware modules to target!" +} + diff --git a/remote/modules/vmware/vmware.conf b/remote/modules/vmware/vmware.conf new file mode 100644 index 00000000..11b7ca71 --- /dev/null +++ b/remote/modules/vmware/vmware.conf @@ -0,0 +1,4 @@ +REQUIRED_DIRECTORIES="/etc /usr" +REQUIRED_DOWNLOAD_BASE="http://softwareupdate.vmware.com/cds/vmw-desktop/ws/10.0.0/1295980/linux/core/" +REQUIRED_TYPE="workstation" + -- cgit v1.2.3-55-g7522 From e715ec592f2014c0742467efa48b900e1c842adb Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Tue, 15 Oct 2013 15:39:44 +0200 Subject: [rootfs-stage32] catch download failed error for slx addons --- .../rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addons | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'remote') diff --git a/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addons b/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addons index b5e2040b..06460506 100755 --- a/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addons +++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addons @@ -60,7 +60,10 @@ if [ $# -eq 1 ]; then # download the addon from the given URL ADDON_TARGET_PATH="${SYS_TMP}/$(basename "$ADDON").sqfs" - download "${SLX_BASE_PATH}/${ADDON}.sqfs" "${ADDON_TARGET_PATH}" + if ! download "${SLX_BASE_PATH}/${ADDON}.sqfs" "${ADDON_TARGET_PATH}"; then + echo "Download of ${ADDON} failed." + exit 1 + fi # now mount it to $SLX_MNT/ ADDON_MOUNT_POINT="${SLX_BASE_MNT}/$(basename "$ADDON")" -- cgit v1.2.3-55-g7522 From effe3dfa20669f9d5c9bafa67d2b085d2f760a13 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Tue, 15 Oct 2013 15:53:28 +0200 Subject: [vmchooser/xmlfilter] filter out virtualbox images since vbox is not supported yet. --- .../vmchooser/data/opt/openslx/scripts/vmchooser-xml_filter | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'remote') diff --git a/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-xml_filter b/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-xml_filter index 3e0ee42d..fad8c064 100755 --- a/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-xml_filter +++ b/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-xml_filter @@ -56,11 +56,12 @@ function handlePersistentVM() { for FILE in $(find -L "$1" -iname "*.xml"); do # filter all xmls which aren't set active - if [ $(grep "