add new libs
git-svn-id: https://svn.disconnected-by-peer.at/svn/linamh/trunk/vmware@2787 6952d904-891a-0410-993b-d76249ca496b
This commit is contained in:
8
app-emulation/vmware-player/files/helpers/module_patcher.sh
Executable file
8
app-emulation/vmware-player/files/helpers/module_patcher.sh
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
MY_BASE=$(basename $1)
|
||||
if [ -f ${FILESDIR}/${PV}/${MY_BASE}.patch ];
|
||||
then
|
||||
echo -n "Module Patcher: "
|
||||
patch -f -p1 ${1} < ${FILESDIR}/${PV}/${MY_BASE}.patch
|
||||
fi
|
||||
91
app-emulation/vmware-player/files/helpers/unbundler.sh
Executable file
91
app-emulation/vmware-player/files/helpers/unbundler.sh
Executable file
@@ -0,0 +1,91 @@
|
||||
#!/bin/bash
|
||||
|
||||
ORIGFILE="$1"
|
||||
|
||||
is_relative() {
|
||||
local path="$1"
|
||||
shift
|
||||
|
||||
[ "${path:0:1}" != "/" ]
|
||||
return
|
||||
}
|
||||
|
||||
set_offsets() {
|
||||
# This won't work with non-GNU stat.
|
||||
FILE_SIZE=`stat -L --format "%s" "$1"`
|
||||
local offset=$(($FILE_SIZE - 4))
|
||||
|
||||
MAGIC_OFFSET=$offset
|
||||
offset=$(($offset - 4))
|
||||
|
||||
CHECKSUM_OFFSET=$offset
|
||||
offset=$(($offset - 4))
|
||||
|
||||
VERSION_OFFSET=$offset
|
||||
offset=$(($offset - 4))
|
||||
|
||||
PREPAYLOAD_OFFSET=$offset
|
||||
offset=$(($offset - 4))
|
||||
|
||||
PREPAYLOAD_SIZE_OFFSET=$offset
|
||||
offset=$(($offset - 4))
|
||||
|
||||
LAUNCHER_SIZE_OFFSET=$offset
|
||||
offset=$(($offset - 4))
|
||||
|
||||
PAYLOAD_OFFSET=$offset
|
||||
offset=$(($offset - 4))
|
||||
|
||||
PAYLOAD_SIZE_OFFSET=$offset
|
||||
offset=$(($offset - 4))
|
||||
}
|
||||
|
||||
set_lengths() {
|
||||
local file="$1"
|
||||
if [ ! -s "$file" ]; then
|
||||
echo "$file does not exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# XXX: put extraction in its own function
|
||||
MAGIC_NUMBER=`od -An -t u4 -N 4 -j $MAGIC_OFFSET "$file" | tr -d ' '`
|
||||
|
||||
if [ "$MAGIC_NUMBER" != "907380241" ]; then
|
||||
echo "magic number does not match"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
LAUNCHER_SIZE=`od -An -t u4 -N 4 -j $LAUNCHER_SIZE_OFFSET "$file" | tr -d ' '`
|
||||
PAYLOAD_SIZE=`od -An -t u4 -N 4 -j $PAYLOAD_SIZE_OFFSET "$file" | tr -d ' '`
|
||||
PREPAYLOAD_SIZE=`od -An -t u4 -N 4 -j $PREPAYLOAD_SIZE_OFFSET "$file" | tr -d ' '`
|
||||
|
||||
SKIP_BYTES=$(($PREPAYLOAD_SIZE + $LAUNCHER_SIZE))
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
if is_relative "${ORIGFILE}"; then
|
||||
ORIGFILE="`pwd`/${ORIGFILE}"
|
||||
fi
|
||||
|
||||
|
||||
set_offsets ${ORIGFILE}
|
||||
set_lengths ${ORIGFILE}
|
||||
|
||||
echo "Unbundling" ${ORIGFILE}
|
||||
|
||||
PREPAYLOAD="prepayload"
|
||||
PAYLOAD="payload"
|
||||
|
||||
# Unpack the pre-payload file
|
||||
mkdir ${PREPAYLOAD}
|
||||
cd ${PREPAYLOAD}
|
||||
dd if="${ORIGFILE}" ibs=$LAUNCHER_SIZE obs=1024 skip=1 | tar -xzf - 2> /dev/null
|
||||
cd ..
|
||||
|
||||
# Unpack the main file
|
||||
mkdir ${PAYLOAD}
|
||||
cd ${PAYLOAD}
|
||||
dd if="${ORIGFILE}" ibs=$SKIP_BYTES obs=1024 skip=1 | tar -xzf - 2> /dev/null
|
||||
cd ..
|
||||
|
||||
29
app-emulation/vmware-player/files/helpers/vmware-config.sh
Executable file
29
app-emulation/vmware-player/files/helpers/vmware-config.sh
Executable file
@@ -0,0 +1,29 @@
|
||||
#!/bin/bash
|
||||
|
||||
CONFIG_FILE="${D}/etc/vmware/config"
|
||||
|
||||
remove_key() {
|
||||
local key=${1}
|
||||
grep -v "^${key} =" ${CONFIG_FILE}
|
||||
grep -v "^${key} =" ${CONFIG_FILE} > ${CONFIG_FILE}.tmp
|
||||
mv ${CONFIG_FILE}.tmp ${CONFIG_FILE}
|
||||
}
|
||||
|
||||
add_key() {
|
||||
local key=${1}
|
||||
local value=${2}
|
||||
echo "${1} = \"${2}\"" >> ${CONFIG_FILE}
|
||||
}
|
||||
|
||||
mkdir -p $(dirname ${CONFIG_FILE})
|
||||
touch ${CONFIG_FILE}
|
||||
|
||||
if [ "${1}" == "-s" ]; then
|
||||
remove_key ${2}
|
||||
add_key ${2} ${3/${D}/}
|
||||
fi
|
||||
|
||||
if [ "${1}" == "-d" ]; then
|
||||
remove_key ${2}
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user