diff options
-rw-r--r-- | helper/system.inc | 2 | ||||
-rw-r--r-- | remote/modules/vmplayer/vmplayer.conf | 5 | ||||
-rwxr-xr-x | remote/modules/vmware/data/addon-init (renamed from remote/modules/vmplayer/data/addon-init) | 0 | ||||
l--------- | remote/modules/vmware/data/etc/systemd/system/graphical.target.wants/vmware.service (renamed from remote/modules/vmplayer/data/etc/systemd/system/graphical.target.wants/vmware.service) | 0 | ||||
-rw-r--r-- | remote/modules/vmware/data/etc/systemd/system/vmware.service (renamed from remote/modules/vmplayer/data/etc/systemd/system/vmware.service) | 0 | ||||
-rw-r--r-- | remote/modules/vmware/data/etc/vmware/config (renamed from remote/modules/vmplayer/data/etc/vmware/config) | 0 | ||||
-rwxr-xr-x | remote/modules/vmware/data/opt/openslx/bin/vmplayer (renamed from remote/modules/vmplayer/data/opt/openslx/bin/vmplayer) | 0 | ||||
-rwxr-xr-x | remote/modules/vmware/data/opt/openslx/bin/vmware (renamed from remote/modules/vmplayer/data/opt/openslx/bin/vmware) | 0 | ||||
-rw-r--r-- | remote/modules/vmware/data/opt/openslx/etc/vmware/nvram (renamed from remote/modules/vmplayer/data/opt/openslx/etc/vmware/nvram) | bin | 8664 -> 8664 bytes | |||
-rwxr-xr-x | remote/modules/vmware/data/opt/openslx/etc/vmware/run-virt.include (renamed from remote/modules/vmplayer/data/opt/openslx/etc/vmware/run-virt.include) | 0 | ||||
-rw-r--r-- | remote/modules/vmware/data/opt/openslx/etc/vmware/vmware.conf (renamed from remote/modules/vmplayer/data/opt/openslx/etc/vmware/vmware.conf) | 0 | ||||
-rwxr-xr-x | remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env (renamed from remote/modules/vmplayer/data/opt/openslx/scripts/systemd-vmware_env) | 0 | ||||
-rw-r--r-- | remote/modules/vmware/data/usr/share/icons/hicolor/index.theme (renamed from remote/modules/vmplayer/data/usr/share/icons/hicolor/index.theme) | 0 | ||||
-rw-r--r-- | remote/modules/vmware/vmplayer.build (renamed from remote/modules/vmplayer/vmplayer.build) | 79 | ||||
-rw-r--r-- | remote/modules/vmware/vmplayer.conf | 4 | ||||
-rwxr-xr-x | remote/setup_target | 5 | ||||
l--------- | remote/targets/vmware/vmplayer | 1 | ||||
l--------- | remote/targets/vmware/vmware | 1 |
18 files changed, 54 insertions, 43 deletions
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/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/vmplayer/data/addon-init b/remote/modules/vmware/data/addon-init index 01acb3b4..01acb3b4 100755 --- a/remote/modules/vmplayer/data/addon-init +++ b/remote/modules/vmware/data/addon-init diff --git a/remote/modules/vmplayer/data/etc/systemd/system/graphical.target.wants/vmware.service b/remote/modules/vmware/data/etc/systemd/system/graphical.target.wants/vmware.service index 7deb4820..7deb4820 120000 --- a/remote/modules/vmplayer/data/etc/systemd/system/graphical.target.wants/vmware.service +++ b/remote/modules/vmware/data/etc/systemd/system/graphical.target.wants/vmware.service diff --git a/remote/modules/vmplayer/data/etc/systemd/system/vmware.service b/remote/modules/vmware/data/etc/systemd/system/vmware.service index 30bb42ff..30bb42ff 100644 --- a/remote/modules/vmplayer/data/etc/systemd/system/vmware.service +++ b/remote/modules/vmware/data/etc/systemd/system/vmware.service diff --git a/remote/modules/vmplayer/data/etc/vmware/config b/remote/modules/vmware/data/etc/vmware/config index eb5d01c0..eb5d01c0 100644 --- a/remote/modules/vmplayer/data/etc/vmware/config +++ b/remote/modules/vmware/data/etc/vmware/config diff --git a/remote/modules/vmplayer/data/opt/openslx/bin/vmplayer b/remote/modules/vmware/data/opt/openslx/bin/vmplayer index 147f514f..147f514f 100755 --- a/remote/modules/vmplayer/data/opt/openslx/bin/vmplayer +++ b/remote/modules/vmware/data/opt/openslx/bin/vmplayer diff --git a/remote/modules/vmplayer/data/opt/openslx/bin/vmware b/remote/modules/vmware/data/opt/openslx/bin/vmware index 1fe9b11d..1fe9b11d 100755 --- a/remote/modules/vmplayer/data/opt/openslx/bin/vmware +++ b/remote/modules/vmware/data/opt/openslx/bin/vmware diff --git a/remote/modules/vmplayer/data/opt/openslx/etc/vmware/nvram b/remote/modules/vmware/data/opt/openslx/etc/vmware/nvram Binary files differindex 85125f1e..85125f1e 100644 --- a/remote/modules/vmplayer/data/opt/openslx/etc/vmware/nvram +++ b/remote/modules/vmware/data/opt/openslx/etc/vmware/nvram diff --git a/remote/modules/vmplayer/data/opt/openslx/etc/vmware/run-virt.include b/remote/modules/vmware/data/opt/openslx/etc/vmware/run-virt.include index e60d5a5b..e60d5a5b 100755 --- a/remote/modules/vmplayer/data/opt/openslx/etc/vmware/run-virt.include +++ b/remote/modules/vmware/data/opt/openslx/etc/vmware/run-virt.include diff --git a/remote/modules/vmplayer/data/opt/openslx/etc/vmware/vmware.conf b/remote/modules/vmware/data/opt/openslx/etc/vmware/vmware.conf index 210b814f..210b814f 100644 --- a/remote/modules/vmplayer/data/opt/openslx/etc/vmware/vmware.conf +++ b/remote/modules/vmware/data/opt/openslx/etc/vmware/vmware.conf diff --git a/remote/modules/vmplayer/data/opt/openslx/scripts/systemd-vmware_env b/remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env index 4103eae6..4103eae6 100755 --- a/remote/modules/vmplayer/data/opt/openslx/scripts/systemd-vmware_env +++ b/remote/modules/vmware/data/opt/openslx/scripts/systemd-vmware_env diff --git a/remote/modules/vmplayer/data/usr/share/icons/hicolor/index.theme b/remote/modules/vmware/data/usr/share/icons/hicolor/index.theme index 5c9c50ad..5c9c50ad 100644 --- a/remote/modules/vmplayer/data/usr/share/icons/hicolor/index.theme +++ b/remote/modules/vmware/data/usr/share/icons/hicolor/index.theme diff --git a/remote/modules/vmplayer/vmplayer.build b/remote/modules/vmware/vmplayer.build index 89e3f87b..85929c17 100644 --- a/remote/modules/vmplayer/vmplayer.build +++ b/remote/modules/vmware/vmplayer.build @@ -1,34 +1,46 @@ 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." + 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() { - [ ! -d "./src/vmware-player" ] && perror "Extracted vmplayer bundle not found in ./src - please clean vmplayer module." + 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 ./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." + 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*" @@ -45,14 +57,7 @@ build() { 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 @@ -73,13 +78,13 @@ post_copy() { 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" + 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/src/vmware-vmx/manifest.xml" + local MANIFEST="$MODULE_DIR/$SRCDIR/vmware-vmx/manifest.xml" local BUILD_NUMBER="$(grep -o -E '<buildNumber>[0-9]*</buildNumber>' "$MANIFEST"|grep -o -E '[0-9]*')" - local VERSION="$(grep -o -E '<version>[0-9.]*</version>' "$MANIFEST"|grep -o -E '[0-9.]*')" - local CORE_VERSION="$(grep -o -E '<coreVersion>[0-9.]*</coreVersion>' "$MANIFEST"|grep -o -E '[0-9.]*')" + local VERSION="$(grep -o -E '<version>[0-9\.]*</version>' "$MANIFEST"|grep -o -E '[0-9\.]*')" + local CORE_VERSION="$(grep -o -E '<coreVersion>[0-9\.]*</coreVersion>' "$MANIFEST"|grep -o -E '[0-9\.]*')" # /etc/vmware/config gen sed -i.bak1 '/^ETCDIR/d;/^VMISETCDIR/d;/bootstrap/d' "$VMWARE_MODCONFIG" @@ -112,13 +117,13 @@ 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.version = "$VERSION" +workstation.product.version = "$VERSION" 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 "$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" 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 |