diff options
Diffstat (limited to 'remote/modules/vmware')
| -rw-r--r-- | remote/modules/vmware/module.build | 65 | ||||
| -rw-r--r-- | remote/modules/vmware/module.conf | 68 | ||||
| -rw-r--r-- | remote/modules/vmware/module.conf.ubuntu | 136 | ||||
| -rw-r--r-- | remote/modules/vmware/vmware.build | 203 | ||||
| -rw-r--r-- | remote/modules/vmware/vmware.conf | 4 |
5 files changed, 269 insertions, 207 deletions
diff --git a/remote/modules/vmware/module.build b/remote/modules/vmware/module.build new file mode 100644 index 00000000..98ee2b8d --- /dev/null +++ b/remote/modules/vmware/module.build @@ -0,0 +1,65 @@ +fetch_source() { + [ -e "${MODULE_DIR}/src" -a -d "${MODULE_DIR}/src" ] && \ + { rm -r "${MODULE_DIR}/src" || perror "Could not delete old src dir."; } + mkdir -p "${MODULE_DIR}/src" || perror "Could not mkdir src" + cd "${MODULE_DIR}/src" || perror "cd fail." + + # Get directory listing + wget -O "index.html" "$REQUIRED_DOWNLOAD_BASE" || perror "Could not download vmware dir index" + + VMWARE_BUNDLE_FILE=$(grep -E -o -i "href=\"VMware-$REQUIRED_TYPE-[^\"]+[\._\-]$ARCHREGEX[\._\-][^\"]+\"" "index.html" | head -n 1 | awk -F '"' '{printf $2}') + [ -z "$VMWARE_BUNDLE_FILE" ] && perror "Could not determine vmware $REQUIRED_TYPE bundle file for current arch from $MODULE_DIR/src/index.html" + # Download file + wget -O "$VMWARE_BUNDLE_FILE" "$REQUIRED_DOWNLOAD_BASE/$VMWARE_BUNDLE_FILE" || perror "Could not download $VMWARE_BUNDLE_FILE from $REQUIRED_DOWNLOAD_BASE" + if [[ "$VMWARE_BUNDLE_FILE" == *.tar ]]; then + tar -x "${VMWARE_BUNDLE_FILE%.tar}" -f "$VMWARE_BUNDLE_FILE" || perror "Could not untar downloaded $VMWARE_BUNDLE_FILE" + unlink "$VMWARE_BUNDLE_FILE" + VMWARE_BUNDLE_FILE="${VMWARE_BUNDLE_FILE%.tar}" + fi + + cd - >/dev/null +} + +build() { + local DELETE_FILES + DELETE_FILES=$(for LINE in $REQUIRED_VMWARE_DELETIONS;do echo rm -rf $LINE; done) + + # prepare the build directory with the files needed during the chroot + cp "${MODULE_DIR}/src/$VMWARE_BUNDLE_FILE" "${MODULE_BUILD_DIR}/$VMWARE_BUNDLE_FILE" + cp -r "${MODULE_DIR}/patches" "${MODULE_BUILD_DIR}" + + # sanity check to see if KERNEL_HEADERS_PATH is set and exists + [ -z "${KERNEL_HEADERS_PATH}" -o ! -e "${KERNEL_HEADERS_PATH}" ] && perror "KERNEL_HEADERS_PATH ('"${KERNEL_HEADERS_PATH}"') not found. Was the kernel module built?" + + pinfo "Installing vmware per chroot..." + chroot_run "${MODULE_BUILD_DIR}" <<-EOF + # PS1='\[\e[1;33m\](chroot) \u@\h:\w\$ \[\e[1;32m\]' /bin/bash -norc # un-comment for debugging within chroot + $DELETE_FILES + yes | sh /"${VMWARE_BUNDLE_FILE}" --eulas-agreed --console --required + vmware-modconfig --console --build-mod -k "${SYS_UTS_RELEASE}" vmnet $(which gcc) "${KERNEL_HEADERS_PATH}/include" vmplayer vmnet + vmware-modconfig --console --build-mod -k "${SYS_UTS_RELEASE}" vmmon $(which gcc) "${KERNEL_HEADERS_PATH}/include" vmplayer vmmon + # PS1='\[\e[1;33m\](chroot) \u@\h:\w\$ \[\e[1;32m\]' /bin/bash -norc # un-comment for debugging within chroot + EOF + + # cleanup unneeded files + rm -rf -- "${MODULE_BUILD_DIR}/etc/vmware-installer" + rm -rf -- "${MODULE_BUILD_DIR}/usr/lib/vmware-installer" + rm -rf -- "${MODULE_BUILD_DIR}/usr/lib/vmware-ovftool" + unlink "${MODULE_BUILD_DIR}/$VMWARE_BUNDLE_FILE" + +} + +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-usbarbitrator bug + date +'%Y.%m.%d' >"${TARGET_BUILD_DIR}/etc/arch-release" + + mkdir -p "$TARGET_BUILD_DIR/lib/modules/vmware/" + cp "${MODULE_BUILD_DIR}/lib/modules/$SYS_UTS_RELEASE/vmplayer/"* "$TARGET_BUILD_DIR/lib/modules/vmware/" || perror "Could not cp vmware modules to target!" +} + diff --git a/remote/modules/vmware/module.conf b/remote/modules/vmware/module.conf new file mode 100644 index 00000000..749a0838 --- /dev/null +++ b/remote/modules/vmware/module.conf @@ -0,0 +1,68 @@ +REQUIRED_DOWNLOAD_BASE="http://softwareupdate.vmware.com/cds/vmw-desktop/ws/10.0.1/1379776/linux/core/" +REQUIRED_TYPE="workstation" +REQUIRED_MODULES="kernel" +REQUIRED_DIRECTORIES=" + /etc/vmware + /usr/sbin + /usr/lib/vmware/bin + /usr/lib/vmware/hostd + /usr/lib/vmware/icu + /usr/lib/vmware/lib + /usr/lib/vmware/libconf + /usr/lib/vmware/licenses + /usr/lib/vmware/resources + /usr/lib/vmware/scripts + /usr/lib/vmware/share + /usr/lib/vmware/xkeymap +" +REQUIRED_FILES=" + /usr/lib/vmware/config + /usr/bin/vmware-usbarbitrator +" +REQUIRED_BINARIES=" + vmnet-netifup +" + +REQUIRED_VMWARE_DELETIONS=" + /var/lib/vmware + /etc/vmw* + /etc/rc?.d/???vmware* + /etc/rc0.d/K06vmware-workstation-server + /etc/pam.d/vmware-authd + /etc/rc3.d/S25vmamqpd + /etc/xdg/menus/applications-merged + /etc/init.d/vmamqpd + /etc/init.d/vmware* + /etc/thnuclnt + /etc/cups/thnuclnt.convs + /etc/cups/thnuclnt.types + /etc/modprobe.d/vmware-fuse.conf + /lib/modules/3.11.0-13-generic/misc/vmnet.ko + /lib/modules/3.11.0-13-generic/misc/vmmon.ko + /usr/share/mime/packages/vmware-player.xml + /usr/share/applications/vmware* + /usr/share/desktop-directories/vmware-ace-vms.directory + /usr/share/man/man1/vmware.1.gz + /usr/share/doc/vmware* + /usr/share/icons/hicolor/*/mimetypes/application-certificate.png + /usr/share/icons/hicolor/*/apps/vmware* + /usr/share/icons/hicolor/*/mimetypes/*vmware* + /usr/bin/vmnet-dhcpd + /usr/bin/ovftool + /usr/bin/vmrun + /usr/bin/vmware-wssc-adminTool + /usr/bin/vmnet-bridge + /usr/bin/vmplayer + /usr/bin/vmnet-sniffer + /usr/bin/vmss2core + /usr/bin/vm-support + /usr/bin/vmnet-natd + /usr/bin/vmnet-netifup + /usr/bin/vmware* + /usr/include/vmware-vix + /usr/lib/libvixAllProducts.so + /usr/lib/cups/filter/thnucups + /usr/lib/diskLibWrapper.so + /usr/lib/vmware* + /usr/sbin/vmware* +" diff --git a/remote/modules/vmware/module.conf.ubuntu b/remote/modules/vmware/module.conf.ubuntu new file mode 100644 index 00000000..c75ee906 --- /dev/null +++ b/remote/modules/vmware/module.conf.ubuntu @@ -0,0 +1,136 @@ +REQUIRED_VMWARE_DELETIONS=" + /var/lib/vmware + /etc/vmware-vix + /etc/rc0.d/K08vmware + /etc/rc0.d/K06vmware-workstation-server + /etc/rc0.d/K06vmamqpd + /etc/pam.d/vmware-authd + /etc/rc3.d/S19vmware + /etc/rc3.d/S55vmware-workstation-server + /etc/rc3.d/S25vmamqpd + /etc/rc3.d/K08vmware-USBArbitrator + /etc/rc3.d/S50vmware-USBArbitrator + /etc/rc5.d/K08vmware-USBArbitrator + /etc/rc5.d/S50vmware-USBArbitrator + /etc/rc2.d/S19vmware + /etc/rc2.d/S55vmware-workstation-server + /etc/rc2.d/S25vmamqpd + /etc/rc2.d/K08vmware-USBArbitrator + /etc/rc2.d/S50vmware-USBArbitrator + /etc/xdg/menus/applications-merged + /etc/rc6.d/K08vmware + /etc/rc6.d/K06vmware-workstation-server + /etc/rc6.d/K06vmamqpd + /etc/rc4.d/S19vmware + /etc/rc4.d/S55vmware-workstation-server + /etc/rc4.d/S25vmamqpd + /etc/init.d/vmamqpd + /etc/init.d/vmware-USBArbitrator + /etc/init.d/vmware-workstation-server + /etc/init.d/vmware + /etc/thnuclnt + /etc/vmware-installer + /etc/cups/thnuclnt.convs + /etc/cups/thnuclnt.types + /etc/vmware/netmap.conf + /etc/vmware/icu + /etc/vmware/hostd + /etc/vmware/installer.sh + /etc/vmware/bootstrap + /etc/vmware/ssl + /etc/vmware/config + /etc/vmware/locations + /etc/modprobe.d/vmware-fuse.conf + /lib/modules/3.11.0-13-generic/misc/vmnet.ko + /lib/modules/3.11.0-13-generic/misc/vmmon.ko + /usr/share/mime/packages/vmware-player.xml + /usr/share/applications/vmware-workstation.desktop + /usr/share/applications/vmware-player.desktop + /usr/share/applications/vmware-netcfg.desktop + /usr/share/desktop-directories/vmware-ace-vms.directory + /usr/share/man/man1/vmware.1.gz + /usr/share/doc/vmware-vix + /usr/share/doc/vmware-workstation + /usr/share/doc/vmware-player + /usr/share/icons/hicolor/32x32/mimetypes/application-certificate.png + /usr/share/icons/hicolor/32x32/mimetypes/application-x-vmware-easter-egg.png + /usr/share/icons/hicolor/32x32/mimetypes/application-x-vmware-team.png + /usr/share/icons/hicolor/32x32/mimetypes/application-x-vmware-vm-legacy.png + /usr/share/icons/hicolor/32x32/mimetypes/application-x-vmware-vm-clone.png + /usr/share/icons/hicolor/32x32/mimetypes/application-x-vmware-vm.png + /usr/share/icons/hicolor/32x32/apps/vmware-player.png + /usr/share/icons/hicolor/32x32/apps/vmware-workstation.png + /usr/share/icons/hicolor/48x48/mimetypes/application-x-vmware-vmfoundry.png + /usr/share/icons/hicolor/48x48/mimetypes/application-x-vmware-vmdisk.png + /usr/share/icons/hicolor/48x48/mimetypes/application-x-vmware-easter-egg.png + /usr/share/icons/hicolor/48x48/mimetypes/application-x-vmware-team.png + /usr/share/icons/hicolor/48x48/mimetypes/application-x-vmware-vm-legacy.png + /usr/share/icons/hicolor/48x48/mimetypes/application-x-vmware-vm-clone.png + /usr/share/icons/hicolor/48x48/mimetypes/application-x-vmware-snapshot.png + /usr/share/icons/hicolor/48x48/mimetypes/application-x-vmware-vm.png + /usr/share/icons/hicolor/48x48/apps/vmware-player.png + /usr/share/icons/hicolor/48x48/apps/vmware-workstation.png + /usr/share/icons/hicolor/scalable/mimetypes/application-x-vmware-easter-egg.svg + /usr/share/icons/hicolor/scalable/mimetypes/application-x-vmware-team.svg + /usr/share/icons/hicolor/scalable/mimetypes/application-x-vmware-vm-clone.svg + /usr/share/icons/hicolor/scalable/mimetypes/application-x-vmware-snapshot.svg + /usr/share/icons/hicolor/scalable/mimetypes/application-x-vmware-vm-legacy.svg + /usr/share/icons/hicolor/scalable/mimetypes/application-x-vmware-vmfoundry.svg + /usr/share/icons/hicolor/scalable/mimetypes/application-certificate.svg + /usr/share/icons/hicolor/scalable/mimetypes/application-x-vmware-vm.svg + /usr/share/icons/hicolor/scalable/apps/vmware-workstation.svg + /usr/share/icons/hicolor/16x16/mimetypes/application-certificate.png + /usr/share/icons/hicolor/16x16/mimetypes/application-x-vmware-easter-egg.png + /usr/share/icons/hicolor/16x16/mimetypes/application-x-vmware-team.png + /usr/share/icons/hicolor/16x16/mimetypes/application-x-vmware-vm-legacy.png + /usr/share/icons/hicolor/16x16/mimetypes/application-x-vmware-vm-clone.png + /usr/share/icons/hicolor/16x16/mimetypes/application-x-vmware-vm.png + /usr/share/icons/hicolor/16x16/apps/vmware-player.png + /usr/share/icons/hicolor/16x16/apps/vmware-netcfg.png + /usr/share/icons/hicolor/16x16/apps/vmware-workstation.png + /usr/share/icons/hicolor/24x24/mimetypes + /usr/share/icons/hicolor/24x24/apps/vmware-player.png + /usr/share/icons/hicolor/24x24/apps/vmware-netcfg.png + /usr/share/icons/hicolor/24x24/apps/vmware-workstation.png + /usr/bin/vmnet-dhcpd + /usr/bin/vmware-unity-helper + /usr/bin/ovftool + /usr/bin/vmrun + /usr/bin/vmware-vim-cmd + /usr/bin/vmware-wssc-adminTool + /usr/bin/vmnet-bridge + /usr/bin/vmplayer + /usr/bin/vmnet-sniffer + /usr/bin/vmss2core + /usr/bin/vmware-usbarbitrator + /usr/bin/vmware-netcfg + /usr/bin/vmware-modconfig + /usr/bin/vmware-tray + /usr/bin/vmware-mount + /usr/bin/vm-support + /usr/bin/vmware-vdiskmanager + /usr/bin/vmware-license-enter.sh + /usr/bin/vmware-license-check.sh + /usr/bin/vmnet-natd + /usr/bin/vmware-uninstall + /usr/bin/vmware-vprobe + /usr/bin/vmware-fuseUI + /usr/bin/vmware-installer + /usr/bin/vmware-ping + /usr/bin/vmware-gksu + /usr/bin/vmnet-netifup + /usr/bin/vmware-networks + /usr/bin/vmware + /usr/bin/vmware-hostd + /usr/include/vmware-vix + /usr/lib/vmware-vix + /usr/lib/vmware-ovftool + /usr/lib/vmware-installer + /usr/lib/libvixAllProducts.so + /usr/lib/cups/filter/thnucups + /usr/lib/diskLibWrapper.so + /usr/lib/vmware + /usr/local/share/applications + /usr/sbin/vmware-authdlauncher + /usr/sbin/vmware-authd +" diff --git a/remote/modules/vmware/vmware.build b/remote/modules/vmware/vmware.build deleted file mode 100644 index 16ee4c77..00000000 --- a/remote/modules/vmware/vmware.build +++ /dev/null @@ -1,203 +0,0 @@ -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 PLAYER_MANIFEST="$MODULE_DIR/$SRCDIR/vmware-player-app/manifest.xml" - local WORKSTATION_MANIFEST="$MODULE_DIR/$SRCDIR/vmware-workstation/manifest.xml" - local BUILD_NUMBER=$(grep -o -E '<buildNumber>[0-9]*</buildNumber>' "$PLAYER_MANIFEST" | grep -o -E '[0-9]*') - local PLAYER_VERSION=$(grep -o -E '<version>[0-9\.]*</version>' "$PLAYER_MANIFEST" | grep -o -E '[0-9\.]*') - local WORKSTATION_VERSION=$(grep -o -E '<version>[0-9\.]*</version>' "$WORKSTATION_MANIFEST" 2>/dev/null | grep -o -E '[0-9\.]*') - local CORE_VERSION=$(grep -o -E '<coreVersion>[0-9\.]*</coreVersion>' "$PLAYER_MANIFEST" | grep -o -E '[0-9\.]*') - 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." - if [ -d "./$SRCDIR/vmware-workstation-server" ]; then - cp -r ./$SRCDIR/vmware-workstation-server/{bin,lib} "$TARGET" || perror "Could not copy many things from vmware-workstation-server." - fi - [ ! -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 - - # Copy vmware config template - mkdir -p "$MODULE_BUILD_DIR/etc/vmware" - sed "s#%PLAYER_VERSION%#$PLAYER_VERSION#g;s#%BUILD_NUMBER%#$BUILD_NUMBER#g" "$MODULE_DIR/templates/vmware/config" > "$MODULE_BUILD_DIR/etc/vmware/config" - - # 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-usbarbitrator 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 - # /etc/vmware/config gen - - sed -i '/^ETCDIR/d;/^VMISETCDIR/d;/bootstrap/d' "$VMWARE_MODCONFIG" - sed -i "s/libdir=.*/libdir=$(echo $MODULE_BUILD_DIR | escape_replace)\/usr\/lib\/vmware/g" "$VMWARE_MODCONFIG" - sed -i "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 = "$PLAYER_VERSION" -product.buildNumber = "$BUILD_NUMBER" -authd.client.port = "902" -authd.proxy.nfc = "vmware-hostd:ha-nfc" -authd.soapserver = "TRUE" -product.version = "$PLAYER_VERSION" -workstation.product.version = "$WORKSTATION_VERSION" -product.name = "VMware Player" -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" - - # See what we need to patch - cd "$MODULE_BUILD_DIR/usr/lib/vmware/modules/source" || perror "cd failed." - local KMOD SHORT PATCH MIN_KERN MAX_KERN - for KMOD in *.tar; do - SHORT="${KMOD%%.tar}" - [ -e ".${SHORT}.patched" ] && continue - for PATCH in $(find "${MODULE_DIR}/patches/" -name "${SHORT}__*__*.patch"); do - parse_patch_name "$PATCH" - [ -z "${MIN_KERN}" -o -z "${MAX_KERN}" ] && perror "Could not parse patch filename" - if version_lt "$SYS_KERNEL" "$MIN_KERN" || version_gt "$SYS_KERNEL" "$MAX_KERN"; then - pinfo "*NOT* applying $PATCH (min=$MIN_KERN max=$MAX_KERN cmp=$SYS_KERNEL)" - continue # Not suitable for our kernel - fi - pinfo "Applying $PATCH (min=$MIN_KERN max=$MAX_KERN cmp=$SYS_KERNEL)" - [ ! -d "${SHORT}-only" ] && tar xf "$KMOD" - [ ! -d "${SHORT}-only" ] && perror "untar of $KMOD failed." - cd "${SHORT}-only" || perror "Where is ${SHORT}-only?" - if ! patch -p1 < "$PATCH"; then - cd .. - rm -rf -- "${SHORT}-only" - perror "Applying $PATCH failed." - fi - cd .. - done - if [ -d "${SHORT}-only" ]; then - tar cf "$KMOD" "${SHORT}-only/" || perror "repacking of $KMOD failed." - rm -rf -- "${SHORT}-only" - touch ".${SHORT}.patched" - fi - done - cd "$MODULE_DIR" || perror "wat." - # - # Then, compile - pinfo "KOMPILIERE VMWARE KERNEL MODULE" - for MOD in vsock vmblock vmmon vmnet vmci; do - pinfo "Kompiliere $MOD" - [ -s "/lib/modules/$SYS_UTS_RELEASE/vmplayer/$MOD.ko" ] && unlink "/lib/modules/$SYS_UTS_RELEASE/vmplayer/$MOD.ko" - "$VMWARE_MODCONFIG" --console --build-mod -k "$SYS_UTS_RELEASE" "$MOD" "$(which gcc)" "$MODULES_DIR/kernel/ksrc/include" "vmplayer" "$MOD" - [ ! -s "/lib/modules/$SYS_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() { - mkdir -p "$TARGET_BUILD_DIR/lib/modules/vmware/" - cp "/lib/modules/$SYS_UTS_RELEASE/vmplayer/"* "$TARGET_BUILD_DIR/lib/modules/vmware/" || perror "Could not cp vmware modules to target!" -} - -function parse_patch_name() { - [ $# -ne 1 ] && perror "parse_patch_name: Wrong parameter count." - local PATCH="$1" - MIN_KERN=$(echo "$PATCH" | sed -r 's/^[^_]+__([0-9\.]+)-[0-9\.]+__[^_]+\.patch$/\1/g') - [[ "$MIN_KERN" == /* ]] && MIN_KERN=$(echo "$PATCH" | sed -r 's/^[^_]+__([0-9\.]+)__[^_]+\.patch$/\1/g') - MAX_KERN=$(echo "$PATCH" | sed -r 's/^[^_]+__[0-9\.]+-([0-9\.]+)__[^_]+\.patch$/\1/g') - [[ "$MAX_KERN" == /* ]] && MAX_KERN=$(echo "$PATCH" | sed -r 's/^[^_]+__([0-9\.]+)__[^_]+\.patch$/\1/g') - [[ "$MIN_KERN" == /* ]] && MIN_KERN= - [[ "$MAX_KERN" == /* ]] && MAX_KERN= - # TODO: Parse min and max vmplayer/workstation version -} - diff --git a/remote/modules/vmware/vmware.conf b/remote/modules/vmware/vmware.conf deleted file mode 100644 index b040152e..00000000 --- a/remote/modules/vmware/vmware.conf +++ /dev/null @@ -1,4 +0,0 @@ -REQUIRED_DIRECTORIES="/etc /usr" -REQUIRED_DOWNLOAD_BASE="http://softwareupdate.vmware.com/cds/vmw-desktop/ws/10.0.1/1379776/linux/core/" -REQUIRED_TYPE="workstation" - |
