summaryrefslogtreecommitdiffstats
path: root/remote/modules/vmplayer/vmplayer.build
blob: eb6fc8e5a4ed1fabfa2bdd4010ce8d2e78456ed5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
fetch_source() {
	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."
	ln -s /usr/lib/vmware/bin/appLoader "$TARGET/bin/vmplayer" || perror "Could not link vmplayer to appLoader."
	chmod +x "$TARGET"/bin/*
	chmod +x "$MODULE_BUILD_DIR"/bin/*
	chmod +x "$MODULE_BUILD_DIR"/sbin/*
	# Compile kernel modules
	return 0 # TODO: Fix kompalieren
	pinfo "Compiling required kernel modules."
	cd "./src/vmware-vmx/lib/modules/source" || perror "vmplayer modules source not found."
	local tarball
	for tarball in *.tar; do
		pinfo "Building $tarball...."
		tar xf "$tarball" || perror "Could not untar $tarball"
		cd "${tarball/.tar}-only" || perror "Could not cd to extracted $tarball (tried ${tarball/.tar}-only)"
		make LINUXINCLUDE="${TARGET_DIR}/kernel/build/headers/include" || perror "Could not build kernel module $tarball"
		cp "${tarball/.tar}.ko" "$MODULE_BUILD_DIR/lib/modules/vmware/" || perror "Could not copy ${tarball/.tar}.ko to $MODULE_BUILD_DIR/lib/modules/vmware/"
		cd -
	done
	cd -
	tarcopy "/usr/lib/gconv $(which gconftool-2)" "$MODULE_BUILD_DIR"
}

post_copy() {
	:
}