Sync with portage [Sat Sep 5 16:45:37 MSK 2015].
This commit is contained in:
parent
13d7e2c932
commit
6096c6119a
3281 changed files with 14733 additions and 8589 deletions
|
@ -1,3 +1,3 @@
|
|||
DIST file-roller-3.14.2.tar.xz 1387784 SHA256 1815e736715afe8c0f3fbda41c76c07289220d4855345f779c632adf5e074e50 SHA512 92ff42e4fe06e3ea54e71806157fbb95f9e5f247142e9e857f61f61748fd0e1b99a73cfb35fd3ea890c3e19da0d2176af9a017a8eb918eff9ddc0371b09ed11d WHIRLPOOL db4e5519fe298759dbb0f048a597d4cd8ef6610b04eab9f77ee21905726f19e15312cdfc47aa80c2f55490ad4f400e7cac0664e24376b40a340d780e5f0809bf
|
||||
DIST file-roller-3.16.2.tar.xz 1409944 SHA256 60897ff24d4822395a227b62811c3b8768b701844961e93303d6d6d9463d7e3f SHA512 ac8c36c3b186bd4eb2ae41fe2e777a15074f09863402a56614a8ad0a89d6e480046fb2566db1be907ea1155ebe4aff6733e32e0f59547435db451757fb3cb15f WHIRLPOOL 3e20ba55d57d69a838f1602322478752eb2f172e8f713c23099edd3446c4b811306d101e23393a8d088382145d4bbf72c66c7ec62796e6eba47e4a4f46fd3ff7
|
||||
DIST file-roller-3.16.3.tar.xz 1411360 SHA256 2b3a1111caba26e67b96559a3118a700dbfb6a4c6ad7ebd3e509df227995411c SHA512 999d08d6ea5ae975a026c351c5f216fd503b78eb65e8f417f8afdce152c816f631bd5c6b1a430a5baefa19541e3d718c59beef4773242a6ba087479061ed42ea WHIRLPOOL 2534ae5ad2bb3886d4963bb30a5ef67a82c698f74d64fc0ddc1cac0a37ab258b4fa7e569d031ec1a715a0d3f99b70aae54d16f88d18b95ce7f77654cede4f176
|
||||
DIST file-roller-3.16.4.tar.xz 1412224 SHA256 5455980b2c9c7eb063d2d65560ae7ab2e7f01b208ea3947e151680231c7a4185 SHA512 76378e16cd7f37a336b3eb3c6106cf36c2ea6e9209c23175810e2b80dc13a7b62b04cfcdea0b2bf69251baf7b164e85c34d99813cdbfd07433f73aba9c7361ae WHIRLPOOL 0d8736e13b97a4a005ae53bd9885b10c8a7797e10e0d8f4548e4112490ebc3ce91b0e5349b251bdca5d0f392318be7ea4fb324e3399300e362f47b024217849d
|
||||
|
|
|
@ -9,7 +9,7 @@ GNOME2_LA_PUNT="yes"
|
|||
inherit eutils gnome2 readme.gentoo
|
||||
|
||||
DESCRIPTION="Archive manager for GNOME"
|
||||
HOMEPAGE="http://fileroller.sourceforge.net/ https://wiki.gnome.org/Apps/FileRoller"
|
||||
HOMEPAGE="https://wiki.gnome.org/Apps/FileRoller"
|
||||
|
||||
LICENSE="GPL-2+ CC-BY-SA-3.0"
|
||||
SLOT="0"
|
||||
|
@ -35,6 +35,7 @@ RDEPEND="
|
|||
DEPEND="${RDEPEND}
|
||||
dev-util/desktop-file-utils
|
||||
>=dev-util/intltool-0.40.0
|
||||
dev-util/itstool
|
||||
sys-devel/gettext
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
@ -61,13 +62,8 @@ unstuff - app-arch/stuffit
|
|||
zoo - app-arch/zoo"
|
||||
|
||||
src_prepare() {
|
||||
# Use absolute path to GNU tar since star doesn't have the same
|
||||
# options. On Gentoo, star is /usr/bin/tar, GNU tar is /bin/tar
|
||||
epatch "${FILESDIR}"/${PN}-2.10.3-use_bin_tar.patch
|
||||
|
||||
# File providing Gentoo package names for various archivers
|
||||
cp -f "${FILESDIR}"/3.6.0-packages.match data/packages.match || die
|
||||
|
||||
gnome2_src_prepare
|
||||
}
|
||||
|
||||
|
@ -81,8 +77,7 @@ src_configure() {
|
|||
--enable-magic \
|
||||
--enable-libarchive \
|
||||
$(use_enable nautilus nautilus-actions) \
|
||||
$(use_enable packagekit) \
|
||||
ITSTOOL=$(type -P true)
|
||||
$(use_enable packagekit)
|
||||
}
|
||||
|
||||
src_install() {
|
|
@ -1,2 +1,3 @@
|
|||
DIST gedit-3.14.3.tar.xz 2875192 SHA256 cd6c9f556ec12001e4b250091a1d7405cd807cce7fe767bc89ed2c25aa96a319 SHA512 2237ad697161cff5755336775cf128136d7cefdece0d335246735b3ae1b9d2cadb29ae36be2000cd7fb02d6a4187aac1d2ff7935bec5c64b5b880fe84f330b01 WHIRLPOOL 39ffa7ece00f712f052c78107b3f95cd0e3a744932d22f5e946141b3bc8954643ae091f75508d9761761fb041a18b43e50b23ed1c0ff3d7ac0bdce9464cc71cd
|
||||
DIST gedit-3.16.2.tar.xz 2905916 SHA256 db60a9408711b00f3780f5f5b657e9f44722c88c683ba6e9f2b4885631f429aa SHA512 511d70099eeb857a3e25d789c44302756d108ff84634c4c7386e1e1de8dd08834cf57991311c69aa81da23510027523bc7cde313b689feb1a8e08eb01b017648 WHIRLPOOL ce51f82265664839d686ea91388f8dc906c5dcf666032f4073792832aabfa9a04dbd99e4aeef5cfd733a753eaf63daaa5b55dce3c67bb0cdb01d96595d36b4f9
|
||||
DIST gedit-3.16.3.tar.xz 2924392 SHA256 c28df44a29ee5707441f89e94b513079d709111afec4bd4b079a1dff0242cdb2 SHA512 479370c25be4b8c6f2fc77628e835b763194fdc9ce1858bb8fe4641964e6911db573b28300d8cc5519a5e4ddef980d28c224a315c3879770265be9328b70e925 WHIRLPOOL 604690b148f2af10358c1d567521e49a406594c390d8b67a22a4879ce1d70398d0de43865cc3874d29b51d9c86103fa765b5cde181008172e5617333b1ab3b9e
|
||||
|
|
107
app-editors/gedit/gedit-3.16.3.ebuild
Normal file
107
app-editors/gedit/gedit-3.16.3.ebuild
Normal file
|
@ -0,0 +1,107 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
GCONF_DEBUG="no"
|
||||
GNOME2_LA_PUNT="yes" # plugins are dlopened
|
||||
PYTHON_COMPAT=( python3_{3,4} )
|
||||
VALA_MIN_API_VERSION="0.26"
|
||||
VALA_USE_DEPEND="vapigen"
|
||||
|
||||
inherit eutils gnome2 multilib python-r1 vala virtualx
|
||||
|
||||
DESCRIPTION="A text editor for the GNOME desktop"
|
||||
HOMEPAGE="https://wiki.gnome.org/Apps/Gedit"
|
||||
|
||||
LICENSE="GPL-2+ CC-BY-SA-3.0"
|
||||
SLOT="0"
|
||||
|
||||
IUSE="+introspection +python spell vala"
|
||||
# python-single-r1 would request disabling PYTHON_TARGETS on libpeas
|
||||
# we need to fix that
|
||||
REQUIRED_USE="
|
||||
python? ( introspection )
|
||||
python? ( ^^ ( $(python_gen_useflags '*') ) )
|
||||
"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux"
|
||||
|
||||
# X libs are not needed for OSX (aqua)
|
||||
COMMON_DEPEND="
|
||||
>=dev-libs/libxml2-2.5.0:2
|
||||
>=dev-libs/glib-2.40:2[dbus]
|
||||
>=x11-libs/gtk+-3.16:3[introspection?]
|
||||
>=x11-libs/gtksourceview-3.16:3.0[introspection?]
|
||||
>=dev-libs/libpeas-1.7.0[gtk]
|
||||
|
||||
gnome-base/gsettings-desktop-schemas
|
||||
gnome-base/gvfs
|
||||
|
||||
x11-libs/libX11
|
||||
|
||||
net-libs/libsoup:2.4
|
||||
|
||||
introspection? ( >=dev-libs/gobject-introspection-0.9.3:= )
|
||||
python? (
|
||||
${PYTHON_DEPS}
|
||||
dev-python/pycairo[${PYTHON_USEDEP}]
|
||||
>=dev-python/pygobject-3:3[cairo,${PYTHON_USEDEP}]
|
||||
dev-libs/libpeas[${PYTHON_USEDEP}] )
|
||||
spell? (
|
||||
>=app-text/enchant-1.2:=
|
||||
>=app-text/iso-codes-0.35 )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
x11-themes/gnome-icon-theme-symbolic
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
${vala_depend}
|
||||
app-text/docbook-xml-dtd:4.1.2
|
||||
>=app-text/scrollkeeper-0.3.11
|
||||
dev-libs/libxml2:2
|
||||
>=dev-util/gtk-doc-am-1
|
||||
>=dev-util/intltool-0.50.1
|
||||
dev-util/itstool
|
||||
>=sys-devel/gettext-0.18
|
||||
virtual/pkgconfig
|
||||
"
|
||||
# yelp-tools, gnome-common needed to eautoreconf
|
||||
|
||||
pkg_setup() {
|
||||
use python && [[ ${MERGE_TYPE} != binary ]] && python_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
vala_src_prepare
|
||||
gnome2_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
DOCS="AUTHORS BUGS ChangeLog MAINTAINERS NEWS README"
|
||||
|
||||
gnome2_src_configure \
|
||||
--disable-deprecations \
|
||||
--enable-updater \
|
||||
--enable-gvfs-metadata \
|
||||
$(use_enable introspection) \
|
||||
$(use_enable spell) \
|
||||
$(use_enable python) \
|
||||
$(use_enable vala)
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# FIXME: this should be handled at eclass level
|
||||
"${EROOT}${GLIB_COMPILE_SCHEMAS}" --allow-any-name "${S}/data" || die
|
||||
|
||||
unset DBUS_SESSION_BUS_ADDRESS
|
||||
GSETTINGS_SCHEMA_DIR="${S}/data" Xemake check
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local args=()
|
||||
# manually set pyoverridesdir due to bug #524018 and AM_PATH_PYTHON limitations
|
||||
use python && args+=( pyoverridesdir="$(python_get_sitedir)/gi/overrides" )
|
||||
|
||||
gnome2_src_install "${args[@]}"
|
||||
}
|
|
@ -1,2 +1,3 @@
|
|||
DIST latexila-3.14.4.tar.xz 1139644 SHA256 8e087040260a6eb777382c55fd3d1260f1686453052ccdf1a5b9e0e4178c4d62 SHA512 88b3f2c8d931e49370614021f69e0711b3e78b1e49ad99601ea70f570c551b4f89558fdc3f5abaf68adba4e819a542ba3159c830b134c7e9679fbeffe8f3934d WHIRLPOOL 2d2925470e2fd27fa79b553ec8e1e9442c7817df36a907c47ace3b6b33d58977ae571aec6cc3f787e6de98c679f355592add59e3bf2e04d7090d75d8aae17068
|
||||
DIST latexila-3.16.1.tar.xz 1059308 SHA256 ab2d769546e10c86670e86271024c023c0a87f1b72856955c1883416a9f333f0 SHA512 b6854a301006c04c6f87cc3e9d5fc167ac7b3e0c7ac11fdce3dd6a0dca74d69b3ec51130feb8a8af505b50f6f85cb0684f7102bf5cc976fe1f845dd604863314 WHIRLPOOL 30ce694b1ddb5d71932679d31fb890aca0afc71634d6cdf744faddd792f47589c7593c43b6476b932002d70f74f4c738cef38f38fc6caa0452b1e13b205c57cc
|
||||
DIST latexila-3.16.2.tar.xz 1058776 SHA256 5ad20a2acdb8c93dea5aa175a219e62efe5f4a7ffb67bc52ff6faf0c6f42bad3 SHA512 d9d5c90374d5aa9b2599f90565dde9da1c4dc7713b7be8ffbfac71b5797124142ef46811660f14edfd278ec9d3f3b6b0c56ef325201fb85caf3b7322577e40fc WHIRLPOOL 3fde6abc4979dd9a40cc019e30c8b0e0c55c97fa3a4670d073d1ca6f662342b54923ea263246a169e8944fa3aaba358d6881629e20c6e949b1287e9328c1cdc6
|
||||
|
|
55
app-editors/latexila/latexila-3.16.2.ebuild
Normal file
55
app-editors/latexila/latexila-3.16.2.ebuild
Normal file
|
@ -0,0 +1,55 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
GCONF_DEBUG="no"
|
||||
VALA_MIN_API_VERSION="0.26"
|
||||
VALA_USE_DEPEND="vapigen"
|
||||
|
||||
inherit gnome2 vala
|
||||
|
||||
DESCRIPTION="Integrated LaTeX environment for GNOME"
|
||||
HOMEPAGE="https://wiki.gnome.org/Apps/LaTeXila"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="+introspection +latexmk rubber"
|
||||
|
||||
COMMON_DEPEND="$(vala_depend)
|
||||
app-text/enchant
|
||||
>=app-text/gtkspell-3.0.4:3
|
||||
>=dev-libs/glib-2.40:2[dbus]
|
||||
>=dev-libs/libgee-0.10:0.8=
|
||||
gnome-base/gsettings-desktop-schemas
|
||||
>=x11-libs/gtk+-3.14:3
|
||||
>=x11-libs/gtksourceview-3.16:3.0
|
||||
x11-libs/gdk-pixbuf:2
|
||||
x11-libs/libX11
|
||||
x11-libs/pango
|
||||
introspection? ( >=dev-libs/gobject-introspection-1.30.0:= )
|
||||
"
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
virtual/latex-base
|
||||
x11-themes/hicolor-icon-theme
|
||||
latexmk? ( dev-tex/latexmk )
|
||||
rubber? ( dev-tex/rubber )
|
||||
"
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
>=dev-util/gtk-doc-am-1.14
|
||||
>=dev-util/intltool-0.50.1
|
||||
dev-util/itstool
|
||||
virtual/pkgconfig
|
||||
"
|
||||
|
||||
src_prepare() {
|
||||
DOCS="AUTHORS HACKING NEWS README"
|
||||
gnome2_src_prepare
|
||||
vala_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
gnome2_src_configure \
|
||||
$(use_enable introspection)
|
||||
}
|
|
@ -3,3 +3,4 @@ DIST lxc-1.0.7.tar.gz 564985 SHA256 a0b1b09592e076e270dcb3ba004616d9ac3147f9de0b
|
|||
DIST lxc-1.1.0.tar.gz 592543 SHA256 216e806f7e18e5bfbc782493a9e44fc255f24a587d6faee94cda848a0b949155 SHA512 160da88d6dc96cd9f0679f948bfed057c024adcd459fa4b79e872d12284fa3774ac33a13923c6e150072886a371ccfcdf7ab2c4587efa7f6175fc91a67525c4a WHIRLPOOL 2caf81418850ea8b1ecf25b25e799895563ecf1819f32310fcbb4efe88f711eafe2bcb16a0d3b8ee59072c770a5520b4df90a5962215b932e68a4705c4a56d61
|
||||
DIST lxc-1.1.1.tar.gz 594112 SHA256 64951fdd39df2bea083bb5a8ac35a7390daf2dc7753d8fce33138129892ef672 SHA512 8af3fb43127b57de4e252baf5cb387270955062ff3838e4807a93d04520ca23f0457913bc8274da51b20961fb08650f9b976a84d395785aca2b2d300b285d549 WHIRLPOOL 4f28b976dd6710705d6361b9a45fef9a1265dffef0cedd0fb304f2820585ece3e2bb64d4c5289d444b3ab55bac265850943c63cdf258c40c45c99176a788ca2a
|
||||
DIST lxc-1.1.2.tar.gz 597158 SHA256 f22fcf2659ca98dfe864e632374de98c42cdf465d0c694834b6f6098a3cb8519 SHA512 7c4c9b5418321eedcd37a3f5c2c99ff227de48f672cabd1722a74722077d33badb038675ec95fc3e338eaf2b06972c4ffb2e11f36347587ef71a95fad5b66daa WHIRLPOOL 2b657a9195b6357a367f6aa7609952d9162aae7d7be3f2c5e4cda4b2e81f2c7411835e75af5740cca053d445a3cf7dc7457f9e76ca866de7265e99ed42c744e9
|
||||
DIST lxc-1.1.3.tar.gz 599889 SHA256 b75fb8e376d3313e152f31fb7372b68f33a953a12191a39de4cded04fff94300 SHA512 cafa4fbe4fe23b8c0b98007a79f20899c4a3b98c51d797b9c16e38dfec1eee5a513b58621308fe6551707d38028d9e5bd78ade8822691ffe4a7a369b10a48dda WHIRLPOOL 04ad57d8b189ab089b27adad8e511dcc2e5c563505f8134323ac9d738283bd5d0d929ebadeb69cd49ea68ea3e182f22c72590505cbf6f9d8438112e46909e1b5
|
||||
|
|
35
app-emulation/lxc/files/lxc-1.1.3-bash-completion.patch
Normal file
35
app-emulation/lxc/files/lxc-1.1.3-bash-completion.patch
Normal file
|
@ -0,0 +1,35 @@
|
|||
Index: lxc-lxc-1.1.3/config/bash/Makefile.am
|
||||
===================================================================
|
||||
--- lxc-lxc-1.1.3.orig/config/bash/Makefile.am
|
||||
+++ lxc-lxc-1.1.3/config/bash/Makefile.am
|
||||
@@ -2,12 +2,12 @@ EXTRA_DIST = lxc
|
||||
|
||||
if ENABLE_BASH
|
||||
install-bash:
|
||||
- $(MKDIR_P) $(DESTDIR)$(sysconfdir)/bash_completion.d/
|
||||
- $(INSTALL_DATA) lxc $(DESTDIR)$(sysconfdir)/bash_completion.d/
|
||||
+ $(MKDIR_P) $(DESTDIR)$(datarootdir)/bash-completion/completions//
|
||||
+ $(INSTALL_DATA) lxc $(DESTDIR)$(datarootdir)/bash-completion/completions/
|
||||
|
||||
uninstall-bash:
|
||||
- rm -f $(DESTDIR)$(sysconfdir)/bash_completion.d/lxc
|
||||
- rmdir $(DESTDIR)$(sysconfdir)/bash_completion.d/ || :
|
||||
+ rm -f $(DESTDIR)$(datarootdir)/bash-completion/completions/lxc
|
||||
+ rmdir $(DESTDIR)$(datarootdir)/bash-completion/ || :
|
||||
|
||||
install-data-local: install-bash
|
||||
uninstall-local: uninstall-bash
|
||||
Index: lxc-lxc-1.1.3/config/bash/lxc.in
|
||||
===================================================================
|
||||
--- lxc-lxc-1.1.3.orig/config/bash/lxc.in
|
||||
+++ lxc-lxc-1.1.3/config/bash/lxc.in
|
||||
@@ -1,4 +1,3 @@
|
||||
-have lxc-start && {
|
||||
_lxc_names() {
|
||||
COMPREPLY=( $( compgen -W "$( lxc-ls )" "$cur" ) )
|
||||
}
|
||||
@@ -100,4 +99,3 @@ have lxc-start && {
|
||||
|
||||
complete -o default -F _lxc_generic_o lxc-clone
|
||||
complete -o default -F _lxc_generic_o lxc-start-ephemeral
|
||||
-}
|
|
@ -111,29 +111,8 @@ stop() {
|
|||
return 0
|
||||
fi
|
||||
|
||||
init_pid=$(lxc-info -n ${CONTAINER} --pid | awk '{ print $2 }')
|
||||
|
||||
if [ -z "${init_pid}" ]; then
|
||||
ewarn "${CONTAINER} doesn't seem to be running."
|
||||
return 0
|
||||
fi
|
||||
|
||||
ebegin "Shutting down system in ${CONTAINER}"
|
||||
kill -PWR ${init_pid}
|
||||
eend $?
|
||||
|
||||
TIMEOUT=${TIMEOUT:-30}
|
||||
i=0
|
||||
while [ -n "$(pgrep -P ${init_pid})" -a $i -lt ${TIMEOUT} ]; do
|
||||
sleep 1
|
||||
i=$(expr $i + 1)
|
||||
done
|
||||
|
||||
if [ -n "${missingprocs}" ]; then
|
||||
ewarn "Something failed to properly shut down in ${CONTAINER}"
|
||||
fi
|
||||
|
||||
# 10s should be enough to shut everything down
|
||||
ebegin "Stopping ${CONTAINER}"
|
||||
lxc-stop -n ${CONTAINER}
|
||||
lxc-stop -t 10 -n ${CONTAINER}
|
||||
eend $?
|
||||
}
|
||||
|
|
194
app-emulation/lxc/lxc-1.1.3.ebuild
Normal file
194
app-emulation/lxc/lxc-1.1.3.ebuild
Normal file
|
@ -0,0 +1,194 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="5"
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
PYTHON_COMPAT=( python{3_3,3_4} )
|
||||
DISTUTILS_OPTIONAL=1
|
||||
|
||||
inherit autotools bash-completion-r1 distutils-r1 eutils linux-info versionator flag-o-matic systemd
|
||||
|
||||
DESCRIPTION="LinuX Containers userspace utilities"
|
||||
HOMEPAGE="https://linuxcontainers.org/"
|
||||
SRC_URI="https://github.com/lxc/lxc/archive/${MY_P}.tar.gz"
|
||||
|
||||
KEYWORDS="~amd64 ~arm ~arm64"
|
||||
|
||||
LICENSE="LGPL-3"
|
||||
SLOT="0"
|
||||
IUSE="cgmanager doc examples lua python seccomp"
|
||||
|
||||
RDEPEND="net-libs/gnutls
|
||||
sys-libs/libcap
|
||||
cgmanager? ( app-admin/cgmanager )
|
||||
lua? ( >=dev-lang/lua-5.1:= )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
seccomp? ( sys-libs/libseccomp )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
doc? ( app-text/docbook-sgml-utils )
|
||||
>=sys-kernel/linux-headers-3.2"
|
||||
|
||||
RDEPEND="${RDEPEND}
|
||||
sys-process/criu
|
||||
sys-apps/util-linux
|
||||
app-misc/pax-utils
|
||||
virtual/awk"
|
||||
|
||||
CONFIG_CHECK="~CGROUPS ~CGROUP_DEVICE
|
||||
~CPUSETS ~CGROUP_CPUACCT
|
||||
~CGROUP_SCHED
|
||||
|
||||
~NAMESPACES
|
||||
~IPC_NS ~USER_NS ~PID_NS
|
||||
|
||||
~NETLINK_DIAG ~PACKET_DIAG
|
||||
~INET_UDP_DIAG ~INET_TCP_DIAG
|
||||
~UNIX_DIAG ~CHECKPOINT_RESTORE
|
||||
|
||||
~DEVPTS_MULTIPLE_INSTANCES
|
||||
~CGROUP_FREEZER
|
||||
~UTS_NS ~NET_NS
|
||||
~VETH ~MACVLAN
|
||||
|
||||
~POSIX_MQUEUE
|
||||
~!NETPRIO_CGROUP
|
||||
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS
|
||||
"
|
||||
|
||||
ERROR_DEVPTS_MULTIPLE_INSTANCES="CONFIG_DEVPTS_MULTIPLE_INSTANCES: needed for pts inside container"
|
||||
|
||||
ERROR_CGROUP_FREEZER="CONFIG_CGROUP_FREEZER: needed to freeze containers"
|
||||
|
||||
ERROR_UTS_NS="CONFIG_UTS_NS: needed to unshare hostnames and uname info"
|
||||
ERROR_NET_NS="CONFIG_NET_NS: needed for unshared network"
|
||||
|
||||
ERROR_VETH="CONFIG_VETH: needed for internal (host-to-container) networking"
|
||||
ERROR_MACVLAN="CONFIG_MACVLAN: needed for internal (inter-container) networking"
|
||||
|
||||
ERROR_NETLINK_DIAG="CONFIG_NETLINK_DIAG: needed for lxc-checkpoint"
|
||||
ERROR_PACKET_DIAG="CONFIG_PACKET_DIAG: needed for lxc-checkpoint"
|
||||
ERROR_INET_UDP_DIAG="CONFIG_INET_UDP_DIAG: needed for lxc-checkpoint"
|
||||
ERROR_INET_TCP_DIAG="CONFIG_INET_TCP_DIAG: needed for lxc-checkpoint"
|
||||
ERROR_UNIX_DIAG="CONFIG_UNIX_DIAG: needed for lxc-checkpoint"
|
||||
ERROR_CHECKPOINT_RESTORE="CONFIG_CHECKPOINT_RESTORE: needed for lxc-checkpoint"
|
||||
|
||||
ERROR_POSIX_MQUEUE="CONFIG_POSIX_MQUEUE: needed for lxc-execute command"
|
||||
|
||||
ERROR_NETPRIO_CGROUP="CONFIG_NETPRIO_CGROUP: as of kernel 3.3 and lxc 0.8.0_rc1 this causes LXCs to fail booting."
|
||||
|
||||
ERROR_GRKERNSEC_CHROOT_MOUNT="CONFIG_GRKERNSEC_CHROOT_MOUNT: some GRSEC features make LXC unusable see postinst notes"
|
||||
ERROR_GRKERNSEC_CHROOT_DOUBLE="CONFIG_GRKERNSEC_CHROOT_DOUBLE: some GRSEC features make LXC unusable see postinst notes"
|
||||
ERROR_GRKERNSEC_CHROOT_PIVOT="CONFIG_GRKERNSEC_CHROOT_PIVOT: some GRSEC features make LXC unusable see postinst notes"
|
||||
ERROR_GRKERNSEC_CHROOT_CHMOD="CONFIG_GRKERNSEC_CHROOT_CHMOD: some GRSEC features make LXC unusable see postinst notes"
|
||||
ERROR_GRKERNSEC_CHROOT_CAPS="CONFIG_GRKERNSEC_CHROOT_CAPS: some GRSEC features make LXC unusable see postinst notes"
|
||||
|
||||
DOCS=(AUTHORS CONTRIBUTING MAINTAINERS NEWS README doc/FAQ.txt)
|
||||
|
||||
S="${WORKDIR}/${PN}-${MY_P}"
|
||||
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
|
||||
src_prepare() {
|
||||
|
||||
epatch "${FILESDIR}"/${PN}-1.1.3-bash-completion.patch
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
append-flags -fno-strict-aliasing
|
||||
|
||||
if use python; then
|
||||
#541932
|
||||
python_setup "python3*"
|
||||
export PKG_CONFIG_PATH="${T}/${EPYTHON}/pkgconfig:${PKG_CONFIG_PATH}"
|
||||
fi
|
||||
|
||||
# I am not sure about the --with-rootfs-path
|
||||
# /var/lib/lxc is probably more appropriate than
|
||||
# /usr/lib/lxc.
|
||||
econf \
|
||||
--localstatedir=/var \
|
||||
--bindir=/usr/bin \
|
||||
--sbindir=/usr/bin \
|
||||
--docdir=/usr/share/doc/${PF} \
|
||||
--with-config-path=/var/lib/lxc \
|
||||
--with-rootfs-path=/var/lib/lxc/rootfs \
|
||||
--with-distro=gentoo \
|
||||
--with-runtime-path=/run \
|
||||
--disable-apparmor \
|
||||
$(use_enable cgmanager) \
|
||||
$(use_enable doc) \
|
||||
$(use_enable examples) \
|
||||
$(use_enable lua) \
|
||||
$(use_enable python) \
|
||||
$(use_enable seccomp)
|
||||
}
|
||||
|
||||
python_compile() {
|
||||
distutils-r1_python_compile build_ext -I ../ -L ../${PN}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
if use python; then
|
||||
pushd "${S}/src/python-${PN}" > /dev/null
|
||||
distutils-r1_src_compile
|
||||
popd > /dev/null
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
mv "${ED}"/usr/share/bash-completion/completions/${PN} "${ED}"/$(get_bashcompdir)/${PN}-start || die
|
||||
bashcomp_alias ${PN}-start \
|
||||
${PN}-{attach,cgroup,clone,console,create,destroy,device,execute,freeze,info,monitor,snapshot,start-ephemeral,stop,unfreeze,wait}
|
||||
|
||||
if use python; then
|
||||
pushd "${S}/src/python-lxc" > /dev/null
|
||||
# Unset DOCS. This has been handled by the default target
|
||||
unset DOCS
|
||||
distutils-r1_src_install
|
||||
popd > /dev/null
|
||||
fi
|
||||
|
||||
keepdir /etc/lxc /var/lib/lxc/rootfs /var/log/lxc
|
||||
|
||||
find "${D}" -name '*.la' -delete
|
||||
|
||||
# Gentoo-specific additions!
|
||||
# Use initd.3 per #517144
|
||||
newinitd "${FILESDIR}/${PN}.initd.3" ${PN}
|
||||
|
||||
# lxc-devsetup script
|
||||
exeinto /usr/libexec/${PN}
|
||||
doexe config/init/systemd/${PN}-devsetup
|
||||
# Remember to compare our systemd unit file with the upstream one
|
||||
# config/init/systemd/lxc.service.in
|
||||
systemd_newunit "${FILESDIR}"/${PN}_at.service.2 "lxc@.service"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog ""
|
||||
elog "Starting from version ${PN}-1.1.0-r3, the default lxc path has been"
|
||||
elog "moved from /etc/lxc to /var/lib/lxc. If you still want to use /etc/lxc"
|
||||
elog "please add the following to your /etc/lxc/default.conf"
|
||||
elog "lxc.lxcpath = /etc/lxc"
|
||||
elog ""
|
||||
elog "There is an init script provided with the package now; no documentation"
|
||||
elog "is currently available though, so please check out /etc/init.d/lxc ."
|
||||
elog "You _should_ only need to symlink it to /etc/init.d/lxc.configname"
|
||||
elog "to start the container defined into /etc/lxc/configname.conf ."
|
||||
elog "For further information about LXC development see"
|
||||
elog "http://blog.flameeyes.eu/tag/lxc" # remove once proper doc is available
|
||||
elog ""
|
||||
}
|
41
app-emulation/vmware-modules/files/271-3.10-00-userns.patch
Normal file
41
app-emulation/vmware-modules/files/271-3.10-00-userns.patch
Normal file
|
@ -0,0 +1,41 @@
|
|||
correctly initializes UID/GID values
|
||||
gets UID correctly in light of user namespace API
|
||||
origionally from https://462666.bugs.gentoo.org/attachment.cgi?id=342888
|
||||
|
||||
--- a/vmblock-only/linux/inode.c 2013-03-20 17:37:48.000000000 +0100
|
||||
+++ b/vmblock-only/linux/inode.c 2013-03-20 17:41:22.000000000 +0100
|
||||
@@ -135,7 +135,8 @@
|
||||
inode->i_size = INODE_TO_IINFO(inode)->nameLen;
|
||||
inode->i_version = 1;
|
||||
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
|
||||
- inode->i_uid = inode->i_gid = 0;
|
||||
+ inode->i_uid = GLOBAL_ROOT_UID;
|
||||
+ inode->i_gid = GLOBAL_ROOT_GID;
|
||||
inode->i_op = &LinkInodeOps;
|
||||
|
||||
d_add(dentry, inode);
|
||||
|
||||
--- a/vmci-only/linux/driver.c 2013-03-20 17:57:35.000000000 +0100
|
||||
+++ b/vmci-only/linux/driver.c 2013-03-20 17:57:43.000000000 +0100
|
||||
@@ -740,7 +740,7 @@
|
||||
goto init_release;
|
||||
}
|
||||
|
||||
- user = current_uid();
|
||||
+ user = from_kuid(current_user_ns(), current_uid());
|
||||
retval = VMCIContext_InitContext(initBlock.cid, initBlock.flags,
|
||||
0 /* Unused */, vmciLinux->userVersion,
|
||||
&user, &vmciLinux->context);
|
||||
|
||||
--- a/vsock-only/linux/af_vsock.c 2013-03-20 18:01:48.000000000 +0100
|
||||
+++ b/vsock-only/linux/af_vsock.c 2013-03-20 18:01:58.000000000 +0100
|
||||
@@ -2866,7 +2866,7 @@
|
||||
vsk->connectTimeout = psk->connectTimeout;
|
||||
} else {
|
||||
vsk->trusted = capable(CAP_NET_ADMIN);
|
||||
- vsk->owner = current_uid();
|
||||
+ vsk->owner = from_kuid(current_user_ns(), current_uid());
|
||||
vsk->queuePairSize = VSOCK_DEFAULT_QP_SIZE;
|
||||
vsk->queuePairMinSize = VSOCK_DEFAULT_QP_SIZE_MIN;
|
||||
vsk->queuePairMaxSize = VSOCK_DEFAULT_QP_SIZE_MAX;
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
uses the new proc_create function to create /proc entries
|
||||
instead of create_proc_entry which was deprecated:
|
||||
https://lkml.org/lkml/2013/4/11/215
|
||||
|
||||
--- a/vmblock-only/linux/control.c 2013-05-21 19:21:19.165750556 +0200
|
||||
+++ b/vmblock-only/linux/control.c 2013-05-21 19:22:18.363747723 +0200
|
||||
@@ -208,9 +208,10 @@
|
||||
VMBlockSetProcEntryOwner(controlProcMountpoint);
|
||||
|
||||
/* Create /proc/fs/vmblock/dev */
|
||||
- controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
|
||||
- VMBLOCK_CONTROL_MODE,
|
||||
- controlProcDirEntry);
|
||||
+ controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME,
|
||||
+ VMBLOCK_CONTROL_MODE,
|
||||
+ controlProcDirEntry,
|
||||
+ &ControlFileOps);
|
||||
if (!controlProcEntry) {
|
||||
Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n");
|
||||
remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry);
|
||||
@@ -218,7 +219,6 @@
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- controlProcEntry->proc_fops = &ControlFileOps;
|
||||
return 0;
|
||||
}
|
||||
|
24
app-emulation/vmware-modules/files/271-3.10-02-getname.patch
Normal file
24
app-emulation/vmware-modules/files/271-3.10-02-getname.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
uses __getname/__putname instead of getname. getname was deprecated
|
||||
the new code calls __getname (which really is a specific type of
|
||||
memory allocator, then copies the string safely from user space
|
||||
into the allocated buffer
|
||||
|
||||
--- vmblock-only/linux/control.c 2014-03-15 15:28:40.871076076 +0100
|
||||
+++ vmblock-only/linux/control.c.new 2014-03-15 15:29:15.079074439 +0100
|
||||
@@ -279,11 +279,17 @@
|
||||
int i;
|
||||
int retval;
|
||||
|
||||
- name = getname(buf);
|
||||
+ name = __getname();
|
||||
if (IS_ERR(name)) {
|
||||
return PTR_ERR(name);
|
||||
}
|
||||
|
||||
+ i = strncpy_from_user(name, buf, PATH_MAX);
|
||||
+ if (i < 0 || i == PATH_MAX) {
|
||||
+ __putname(name);
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) {
|
|
@ -0,0 +1,89 @@
|
|||
undefines DEPRECATED which is unfortunately also defined (as a string)
|
||||
in <linux/printk.h>. Realistically, this macro isn't even used, so this
|
||||
doesn't matter much. But it hushes some very loud warnings.
|
||||
|
||||
diff -rupN vmblock-only/shared/vm_assert.h vmblock-only.new/shared/vm_assert.h
|
||||
--- vmblock-only/shared/vm_assert.h 2014-10-09 21:50:54.221159088 -0400
|
||||
+++ vmblock-only.new/shared/vm_assert.h 2014-10-09 21:53:04.612166156 -0400
|
||||
@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED; %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
||||
diff -rupN vmci-only/shared/vm_assert.h vmci-only.new/shared/vm_assert.h
|
||||
--- vmci-only/shared/vm_assert.h 2014-10-09 21:50:54.222159088 -0400
|
||||
+++ vmci-only.new/shared/vm_assert.h 2014-10-09 21:52:52.348165492 -0400
|
||||
@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED; %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
||||
diff -rupN vmmon-only/include/vm_assert.h vmmon-only.new/include/vm_assert.h
|
||||
--- vmmon-only/include/vm_assert.h 2014-10-09 21:50:54.222159088 -0400
|
||||
+++ vmmon-only.new/include/vm_assert.h 2014-10-09 21:52:36.877164653 -0400
|
||||
@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED; %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
||||
diff -rupN vmnet-only/vm_assert.h vmnet-only.new/vm_assert.h
|
||||
--- vmnet-only/vm_assert.h 2014-10-09 21:50:54.222159088 -0400
|
||||
+++ vmnet-only.new/vm_assert.h 2014-10-09 21:52:57.736165784 -0400
|
||||
@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED; %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
||||
diff -rupN vsock-only/shared/vm_assert.h vsock-only.new/shared/vm_assert.h
|
||||
--- vsock-only/shared/vm_assert.h 2014-10-09 21:50:54.222159088 -0400
|
||||
+++ vsock-only.new/shared/vm_assert.h 2014-10-09 21:52:45.352165112 -0400
|
||||
@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED; %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
|
@ -0,0 +1,115 @@
|
|||
hushes warnings about unused typedefs which are part of the "static assert"
|
||||
technique that the code uses. We simply add an "__attribute__((unused)) to each of them
|
||||
|
||||
--- vmblock-only/shared/vm_assert.h 2014-10-07 22:43:39.519402467 -0400
|
||||
+++ vmblock-only/shared/vm_assert.h 2014-10-07 22:48:01.346409957 -0400
|
||||
@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define ASSERT_ON_COMPILE(e) \
|
||||
do { \
|
||||
enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} while (0)
|
||||
|
||||
|
||||
--- vmci-only/shared/vm_assert.h 2014-10-07 22:43:39.519402467 -0400
|
||||
+++ vmci-only/shared/vm_assert.h 2014-10-07 22:47:51.829409685 -0400
|
||||
@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define ASSERT_ON_COMPILE(e) \
|
||||
do { \
|
||||
enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} while (0)
|
||||
|
||||
|
||||
--- vmmon-only/include/vm_assert.h 2014-10-07 22:43:39.520402467 -0400
|
||||
+++ vmmon-only/include/vm_assert.h 2014-10-07 22:47:39.246409325 -0400
|
||||
@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define ASSERT_ON_COMPILE(e) \
|
||||
do { \
|
||||
enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} while (0)
|
||||
|
||||
|
||||
--- vmnet-only/vm_assert.h 2014-10-07 22:43:39.520402467 -0400
|
||||
+++ vmnet-only/vm_assert.h 2014-10-07 22:47:55.804409799 -0400
|
||||
@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define ASSERT_ON_COMPILE(e) \
|
||||
do { \
|
||||
enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} while (0)
|
||||
|
||||
|
||||
--- vsock-only/shared/vm_assert.h 2014-10-07 22:47:11.595408534 -0400
|
||||
+++ vsock-only/shared/vm_assert.h 2014-10-07 22:45:55.715406363 -0400
|
||||
@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
|
||||
#define ASSERT_ON_COMPILE(e) \
|
||||
do { \
|
||||
enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} while (0)
|
||||
|
||||
|
||||
--- vsock-only/shared/vm_atomic.h 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vsock-only/shared/vm_atomic.h 2014-10-07 22:53:06.024418673 -0400
|
||||
@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
|
||||
&& 8 * sizeof (out) == size \
|
||||
&& 8 * sizeof (cast) == size \
|
||||
? 1 : -1 }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} \
|
||||
\
|
||||
\
|
||||
--- vmci-only/shared/vm_atomic.h 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vmci-only/shared/vm_atomic.h 2014-10-07 22:53:24.873419213 -0400
|
||||
@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
|
||||
&& 8 * sizeof (out) == size \
|
||||
&& 8 * sizeof (cast) == size \
|
||||
? 1 : -1 }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} \
|
||||
\
|
||||
\
|
||||
|
||||
--- vmblock-only/shared/vm_atomic.h 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vmblock-only/shared/vm_atomic.h 2014-10-07 22:53:31.073419390 -0400
|
||||
@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
|
||||
&& 8 * sizeof (out) == size \
|
||||
&& 8 * sizeof (cast) == size \
|
||||
? 1 : -1 }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} \
|
||||
\
|
||||
|
||||
--- vmnet-only/vm_atomic.h 2013-11-06 00:40:52.000000000 -0500
|
||||
+++ vmnet-only/vm_atomic.h 2014-10-07 23:04:50.637438831 -0400
|
||||
@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
|
||||
&& 8 * sizeof (out) == size \
|
||||
&& 8 * sizeof (cast) == size \
|
||||
? 1 : -1 }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} \
|
||||
\
|
||||
\
|
||||
|
||||
--- vmmon-only/include/vm_atomic.h 2013-11-06 00:40:52.000000000 -0500
|
||||
+++ vmmon-only/include/vm_atomic.h 2014-10-07 23:04:50.637438831 -0400
|
||||
@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
|
||||
&& 8 * sizeof (out) == size \
|
||||
&& 8 * sizeof (cast) == size \
|
||||
? 1 : -1 }; \
|
||||
- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
|
||||
} \
|
||||
\
|
||||
\
|
34
app-emulation/vmware-modules/files/271-3.10-05-dentry.patch
Normal file
34
app-emulation/vmware-modules/files/271-3.10-05-dentry.patch
Normal file
|
@ -0,0 +1,34 @@
|
|||
starting with kernel 3.6, d_revalidate takes an unsigned int "flags"
|
||||
as the second argument, not a nameidata pointer! see fs/namei.c
|
||||
for implementation
|
||||
|
||||
diff -Naur vmblock-only/linux/dentry.c vmblock-only/linux/dentry.c
|
||||
--- vmblock-only/linux/dentry.c 2013-11-05 23:33:26.000000000 -0500
|
||||
+++ vmblock-only/linux/dentry.c 2014-04-26 10:58:03.062635343 -0400
|
||||
@@ -32,7 +32,7 @@
|
||||
#include "block.h"
|
||||
|
||||
|
||||
-static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd);
|
||||
+static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags);
|
||||
|
||||
struct dentry_operations LinkDentryOps = {
|
||||
.d_revalidate = DentryOpRevalidate,
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
static int
|
||||
DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating
|
||||
- struct nameidata *nd) // IN: lookup flags & intent
|
||||
+ unsigned int flags) // IN: lookup flags & intent
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
struct nameidata actualNd;
|
||||
@@ -101,7 +101,7 @@
|
||||
if (actualDentry &&
|
||||
actualDentry->d_op &&
|
||||
actualDentry->d_op->d_revalidate) {
|
||||
- return actualDentry->d_op->d_revalidate(actualDentry, nd);
|
||||
+ return actualDentry->d_op->d_revalidate(actualDentry, flags);
|
||||
}
|
||||
|
||||
if (compat_path_lookup(iinfo->name, 0, &actualNd)) {
|
36
app-emulation/vmware-modules/files/271-3.10-06-inode.patch
Normal file
36
app-emulation/vmware-modules/files/271-3.10-06-inode.patch
Normal file
|
@ -0,0 +1,36 @@
|
|||
starting with kernel 3.6, d_revalidate takes an unsigned int "flags"
|
||||
as the second argument, not a nameidata pointer! see fs/namei.c
|
||||
for implementation. Also changing vfs_follow_link to nd_set_link.
|
||||
See: https://lkml.org/lkml/2013/9/9/236
|
||||
|
||||
diff -Naur vmblock-only/linux/inode.c vmblock-only/linux/inode.c
|
||||
--- vmblock-only/linux/inode.c 2013-11-05 23:33:26.000000000 -0500
|
||||
+++ vmblock-only/linux/inode.c 2014-04-26 10:58:03.063635343 -0400
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
/* Inode operations */
|
||||
static struct dentry *InodeOpLookup(struct inode *dir,
|
||||
- struct dentry *dentry, struct nameidata *nd);
|
||||
+ struct dentry *dentry, unsigned int flags);
|
||||
static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
||||
static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
|
||||
@@ -75,7 +75,7 @@
|
||||
static struct dentry *
|
||||
InodeOpLookup(struct inode *dir, // IN: parent directory's inode
|
||||
struct dentry *dentry, // IN: dentry to lookup
|
||||
- struct nameidata *nd) // IN: lookup intent and information
|
||||
+ unsigned int flags) // IN: lookup intent and information
|
||||
{
|
||||
char *filename;
|
||||
struct inode *inode;
|
||||
@@ -221,7 +221,8 @@
|
||||
goto out;
|
||||
}
|
||||
|
||||
- ret = vfs_follow_link(nd, iinfo->name);
|
||||
+ nd_set_link(nd, iinfo->name);
|
||||
+ ret = 0;
|
||||
|
||||
out:
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
26
app-emulation/vmware-modules/files/271-3.10-07-hub.patch
Normal file
26
app-emulation/vmware-modules/files/271-3.10-07-hub.patch
Normal file
|
@ -0,0 +1,26 @@
|
|||
fixes a bug where sizeof was being used on a pointer when they clearly
|
||||
meant to use the size of the array referred to. Fortunately, the amount is
|
||||
always smaller than the actual size of the buffer, so likely not a security issue
|
||||
(and was fixed in vmware-workstaiton 10
|
||||
|
||||
diff -rupN vmnet-only/hub.c vmnet-only.new/hub.c
|
||||
--- vmnet-only/hub.c 2013-11-06 00:40:52.000000000 -0500
|
||||
+++ vmnet-only.new/hub.c 2014-10-07 18:45:34.403918680 -0400
|
||||
@@ -129,7 +129,7 @@ VNetHubFindHubByID(uint8 idNum[VNET_PVN_
|
||||
{
|
||||
VNetHub *currHub = vnetHub;
|
||||
while (currHub && (currHub->hubType != HUB_TYPE_PVN ||
|
||||
- memcmp(idNum, currHub->id.pvnID, sizeof idNum))) {
|
||||
+ memcmp(idNum, currHub->id.pvnID, VNET_PVN_ID_LEN))) {
|
||||
currHub = currHub->next;
|
||||
}
|
||||
return currHub;
|
||||
@@ -312,7 +312,7 @@ VNetHubAlloc(Bool allocPvn, // IN: TRUE
|
||||
|
||||
if (allocPvn) {
|
||||
hub->hubType = HUB_TYPE_PVN;
|
||||
- memcpy(hub->id.pvnID, id, sizeof id);
|
||||
+ memcpy(hub->id.pvnID, id, VNET_PVN_ID_LEN);
|
||||
++pvnInstance;
|
||||
} else {
|
||||
hub->hubType = HUB_TYPE_VNET;
|
41
app-emulation/vmware-modules/files/271-3.11-00-readdir.patch
Normal file
41
app-emulation/vmware-modules/files/271-3.11-00-readdir.patch
Normal file
|
@ -0,0 +1,41 @@
|
|||
replaces usage of vfs_readdir with iterate_dir. origionally found here:
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=508204
|
||||
|
||||
diff -Naur vmblock-only/linux/file.c vmblock-only/linux/file.c
|
||||
--- vmblock-only/linux/file.c 2013-11-05 23:33:26.000000000 -0500
|
||||
+++ vmblock-only/linux/file.c 2014-04-26 10:58:03.062635343 -0400
|
||||
@@ -166,11 +166,9 @@
|
||||
|
||||
static int
|
||||
FileOpReaddir(struct file *file, // IN
|
||||
- void *dirent, // IN
|
||||
- filldir_t filldir) // IN
|
||||
+ struct dir_context *ctx)
|
||||
{
|
||||
int ret;
|
||||
- FilldirInfo info;
|
||||
struct file *actualFile;
|
||||
|
||||
if (!file) {
|
||||
@@ -184,11 +182,8 @@
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- info.filldir = filldir;
|
||||
- info.dirent = dirent;
|
||||
-
|
||||
actualFile->f_pos = file->f_pos;
|
||||
- ret = vfs_readdir(actualFile, Filldir, &info);
|
||||
+ ret = iterate_dir(actualFile, ctx);
|
||||
file->f_pos = actualFile->f_pos;
|
||||
|
||||
return ret;
|
||||
@@ -237,7 +232,7 @@
|
||||
|
||||
|
||||
struct file_operations RootFileOps = {
|
||||
- .readdir = FileOpReaddir,
|
||||
+ .iterate = FileOpReaddir,
|
||||
.open = FileOpOpen,
|
||||
.release = FileOpRelease,
|
||||
};
|
53
app-emulation/vmware-modules/files/271-3.11-01-filldir.patch
Normal file
53
app-emulation/vmware-modules/files/271-3.11-01-filldir.patch
Normal file
|
@ -0,0 +1,53 @@
|
|||
simply remove the code for Filldir since it is no longer used with the new
|
||||
iterate_dir API
|
||||
|
||||
diff -rupN vmblock-only/linux/file.c vmblock-only.new/linux/file.c
|
||||
--- vmblock-only/linux/file.c 2014-10-07 23:22:46.832469618 -0400
|
||||
+++ vmblock-only.new/linux/file.c 2014-10-07 23:24:35.276472720 -0400
|
||||
@@ -38,46 +38,6 @@ typedef u64 inode_num_t;
|
||||
typedef ino_t inode_num_t;
|
||||
#endif
|
||||
|
||||
-/* Specifically for our filldir_t callback */
|
||||
-typedef struct FilldirInfo {
|
||||
- filldir_t filldir;
|
||||
- void *dirent;
|
||||
-} FilldirInfo;
|
||||
-
|
||||
-
|
||||
-/*
|
||||
- *----------------------------------------------------------------------------
|
||||
- *
|
||||
- * Filldir --
|
||||
- *
|
||||
- * Callback function for readdir that we use in place of the one provided.
|
||||
- * This allows us to specify that each dentry is a symlink, but pass through
|
||||
- * everything else to the original filldir function.
|
||||
- *
|
||||
- * Results:
|
||||
- * Original filldir's return value.
|
||||
- *
|
||||
- * Side effects:
|
||||
- * Directory information gets copied to user's buffer.
|
||||
- *
|
||||
- *----------------------------------------------------------------------------
|
||||
- */
|
||||
-
|
||||
-static int
|
||||
-Filldir(void *buf, // IN: Dirent buffer passed from FileOpReaddir
|
||||
- const char *name, // IN: Dirent name
|
||||
- int namelen, // IN: len of dirent's name
|
||||
- loff_t offset, // IN: Offset
|
||||
- inode_num_t ino, // IN: Inode number of dirent
|
||||
- unsigned int d_type) // IN: Type of file
|
||||
-{
|
||||
- FilldirInfo *info = buf;
|
||||
-
|
||||
- /* Specify DT_LNK regardless */
|
||||
- return info->filldir(info->dirent, name, namelen, offset, ino, DT_LNK);
|
||||
-}
|
||||
-
|
||||
-
|
||||
/* File operations */
|
||||
|
||||
/*
|
39
app-emulation/vmware-modules/files/271-3.13-00-vmnet.patch
Normal file
39
app-emulation/vmware-modules/files/271-3.13-00-vmnet.patch
Normal file
|
@ -0,0 +1,39 @@
|
|||
the new API to get the hooknum
|
||||
origionally from http://forums.gentoo.org/viewtopic-t-979802-start-25.html
|
||||
|
||||
--- work/vmnet-only/filter.c 2013-08-27 20:29:04.000000000 +0100
|
||||
+++ patched/vmnet-only/filter.c 2014-01-26 01:09:05.184893854 +0000
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "compat_module.h"
|
||||
#include <linux/mutex.h>
|
||||
#include <linux/netdevice.h>
|
||||
+#include <linux/version.h>
|
||||
#if COMPAT_LINUX_VERSION_CHECK_LT(3, 2, 0)
|
||||
# include <linux/module.h>
|
||||
#else
|
||||
@@ -203,7 +204,11 @@
|
||||
#endif
|
||||
|
||||
static unsigned int
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
|
||||
VNetFilterHookFn(unsigned int hooknum, // IN:
|
||||
+#else
|
||||
+VNetFilterHookFn(const struct nf_hook_ops *ops, // IN:
|
||||
+#endif
|
||||
#ifdef VMW_NFHOOK_USES_SKB
|
||||
struct sk_buff *skb, // IN:
|
||||
#else
|
||||
@@ -252,7 +257,12 @@
|
||||
|
||||
/* When the host transmits, hooknum is VMW_NF_INET_POST_ROUTING. */
|
||||
/* When the host receives, hooknum is VMW_NF_INET_LOCAL_IN. */
|
||||
- transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
|
||||
+
|
||||
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
|
||||
+ transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
|
||||
+ #else
|
||||
+ transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);
|
||||
+ #endif
|
||||
|
||||
packetHeader = compat_skb_network_header(skb);
|
||||
ip = (struct iphdr*)packetHeader;
|
|
@ -0,0 +1,15 @@
|
|||
replacing usage of vfs_readlink with new readlink_copy API
|
||||
see: http://permalink.gmane.org/gmane.linux.kernel.commits.head/445090
|
||||
|
||||
diff -rupN vmblock-only/linux/inode.c vmblock-only/linux/inode.c
|
||||
--- vmblock-only/linux/inode.c 2014-10-05 23:20:14.545218357 -0400
|
||||
+++ vmblock-only/linux/inode.c 2014-10-05 23:33:01.549259933 -0400
|
||||
@@ -178,7 +178,7 @@ InodeOpReadlink(struct dentry *dentry,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- return vfs_readlink(dentry, buffer, buflen, iinfo->name);
|
||||
+ return readlink_copy(buffer, buflen, iinfo->name);
|
||||
}
|
||||
|
||||
|
46
app-emulation/vmware-modules/files/271-3.15-01-vsock.patch
Normal file
46
app-emulation/vmware-modules/files/271-3.15-01-vsock.patch
Normal file
|
@ -0,0 +1,46 @@
|
|||
removing the no longer existing second parameter to sk_data_ready
|
||||
doesn't seem it ever served a purpose.
|
||||
|
||||
diff -rupN vsock-only/linux/notify.c vsock-only.new/linux/notify.c
|
||||
--- vsock-only/linux/notify.c 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vsock-only.new/linux/notify.c 2014-10-05 23:46:47.943304728 -0400
|
||||
@@ -515,8 +515,11 @@ VSockVmciHandleWrote(struct sock *sk,
|
||||
vsk = vsock_sk(sk);
|
||||
PKT_FIELD(vsk, sentWaitingRead) = FALSE;
|
||||
#endif
|
||||
-
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
diff -rupN vsock-only/linux/notifyQState.c vsock-only.new/linux/notifyQState.c
|
||||
--- vsock-only/linux/notifyQState.c 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vsock-only.new/linux/notifyQState.c 2014-10-05 23:46:33.231303931 -0400
|
||||
@@ -164,7 +164,11 @@ VSockVmciHandleWrote(struct sock *sk,
|
||||
struct sockaddr_vm *dst, // IN: unused
|
||||
struct sockaddr_vm *src) // IN: unused
|
||||
{
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -566,7 +570,11 @@ VSockVmciNotifyPktRecvPostDequeue(struct
|
||||
}
|
||||
|
||||
/* See the comment in VSockVmciNotifyPktSendPostEnqueue */
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
return err;
|
16
app-emulation/vmware-modules/files/271-3.17-00-netdev.patch
Normal file
16
app-emulation/vmware-modules/files/271-3.17-00-netdev.patch
Normal file
|
@ -0,0 +1,16 @@
|
|||
new alloc_netdev requires a new parameter. All examples in the kernel i've seen just
|
||||
use the constant NET_NAME_UNKNOWN.
|
||||
origionally from: https://communities.vmware.com/message/2425189
|
||||
|
||||
diff -rupN vmnet-only/netif.c vmnet-only.new/netif.c
|
||||
--- vmnet-only/netif.c 2013-11-06 00:40:52.000000000 -0500
|
||||
+++ vmnet-only.new/netif.c 2014-10-09 17:29:12.361307961 -0400
|
||||
@@ -149,7 +149,7 @@ VNetNetIf_Create(char *devName, // IN:
|
||||
memcpy(deviceName, devName, sizeof deviceName);
|
||||
NULL_TERMINATE_STRING(deviceName);
|
||||
|
||||
- dev = alloc_netdev(sizeof *netIf, deviceName, VNetNetIfSetup);
|
||||
+ dev = alloc_netdev(sizeof *netIf, deviceName, NET_NAME_USER, VNetNetIfSetup);
|
||||
if (!dev) {
|
||||
retval = -ENOMEM;
|
||||
goto out;
|
|
@ -0,0 +1,13 @@
|
|||
diff -rupN vmnet-only/vm_device_version.h vmnet-only.new/vm_device_version.h
|
||||
--- vmnet-only/vm_device_version.h 2013-11-06 00:40:52.000000000 -0500
|
||||
+++ vmnet-only.new/vm_device_version.h 2015-05-05 12:03:06.879202223 -0400
|
||||
@@ -53,7 +53,9 @@
|
||||
* VMware HD Audio codec
|
||||
* VMware HD Audio controller
|
||||
*/
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
|
||||
#define PCI_VENDOR_ID_VMWARE 0x15AD
|
||||
+#endif
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA 0x0710
|
||||
#define PCI_DEVICE_ID_VMWARE_NET 0x0720
|
|
@ -0,0 +1,67 @@
|
|||
Sources:
|
||||
https://531682.bugs.gentoo.org/attachment.cgi?id=396484
|
||||
https://531682.bugs.gentoo.org/attachment.cgi?id=396482
|
||||
diff -rupN vmblock-only.orig/linux/dentry.c vmblock-only/linux/dentry.c
|
||||
--- vmblock-only.orig/linux/dentry.c 2015-02-14 18:05:46.000000000 -0500
|
||||
+++ vmblock-only/linux/dentry.c 2015-02-14 18:09:59.000000000 -0500
|
||||
@@ -63,7 +63,7 @@ DentryOpRevalidate(struct dentry *dentry
|
||||
unsigned int flags) // IN: lookup flags & intent
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
- struct nameidata actualNd;
|
||||
+ struct path actualNd;
|
||||
struct dentry *actualDentry;
|
||||
int ret;
|
||||
|
||||
diff -rupN vmblock-only.orig/linux/filesystem.c vmblock-only/linux/filesystem.c
|
||||
--- vmblock-only.orig/linux/filesystem.c 2014-11-20 19:29:15.000000000 -0500
|
||||
+++ vmblock-only/linux/filesystem.c 2015-02-14 18:10:49.000000000 -0500
|
||||
@@ -322,7 +322,7 @@ Iget(struct super_block *sb, // IN: f
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
struct inode *inode;
|
||||
- struct nameidata actualNd;
|
||||
+ struct path actualNd;
|
||||
|
||||
ASSERT(sb);
|
||||
|
||||
diff -rupN vmblock-only.orig/shared/compat_namei.h vmblock-only/shared/compat_namei.h
|
||||
--- vmblock-only.orig/shared/compat_namei.h 2014-11-20 19:29:15.000000000 -0500
|
||||
+++ vmblock-only/shared/compat_namei.h 2015-02-14 18:08:38.000000000 -0500
|
||||
@@ -26,21 +26,21 @@
|
||||
* struct. They were both replaced with a struct path.
|
||||
*/
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
|
||||
-#define compat_vmw_nd_to_dentry(nd) (nd).path.dentry
|
||||
+#define compat_vmw_nd_to_dentry(nd) (nd).dentry
|
||||
#else
|
||||
#define compat_vmw_nd_to_dentry(nd) (nd).dentry
|
||||
#endif
|
||||
|
||||
/* In 2.6.25-rc2, path_release(&nd) was replaced with path_put(&nd.path). */
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
|
||||
-#define compat_path_release(nd) path_put(&(nd)->path)
|
||||
+#define compat_path_release(nd) path_put(nd)
|
||||
#else
|
||||
#define compat_path_release(nd) path_release(nd)
|
||||
#endif
|
||||
|
||||
/* path_lookup was removed in 2.6.39 merge window VFS merge */
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
|
||||
-#define compat_path_lookup(name, flags, nd) kern_path(name, flags, &((nd)->path))
|
||||
+#define compat_path_lookup(name, flags, nd) kern_path(name, flags, nd)
|
||||
#else
|
||||
#define compat_path_lookup(name, flags, nd) path_lookup(name, flags, nd)
|
||||
#endif
|
||||
diff -u vmblock-only.orig/linux/file.c vmblock-only/linux/file.c
|
||||
--- vmblock-only.orig/linux/file.c 2015-02-11 12:18:29.000000000 -0500
|
||||
+++ vmblock-only/linux/file.c 2015-02-11 12:41:41.000000000 -0500
|
||||
@@ -92,7 +92,7 @@
|
||||
* and that would try to acquire the inode's semaphore; if the two inodes
|
||||
* are the same we'll deadlock.
|
||||
*/
|
||||
- if (actualFile->f_dentry && inode == actualFile->f_dentry->d_inode) {
|
||||
+ if (actualFile->f_path.dentry && inode == actualFile->f_path.dentry->d_inode) {
|
||||
Warning("FileOpOpen: identical inode encountered, open cannot succeed.\n");
|
||||
if (filp_close(actualFile, current->files) < 0) {
|
||||
Warning("FileOpOpen: unable to close opened file.\n");
|
29
app-emulation/vmware-modules/files/271-3.19-02-vmci.patch
Normal file
29
app-emulation/vmware-modules/files/271-3.19-02-vmci.patch
Normal file
|
@ -0,0 +1,29 @@
|
|||
diff -rupN vmci-only/linux/vmciKernelIf.c vmci-only.new/linux/vmciKernelIf.c
|
||||
--- vmci-only/linux/vmciKernelIf.c 2015-05-05 11:22:55.276071501 -0400
|
||||
+++ vmci-only.new/linux/vmciKernelIf.c 2015-05-05 11:23:58.912074950 -0400
|
||||
@@ -40,6 +40,7 @@
|
||||
#include <linux/socket.h> /* For memcpy_{to,from}iovec(). */
|
||||
#include <linux/vmalloc.h>
|
||||
#include <linux/wait.h>
|
||||
+#include <linux/skbuff.h>
|
||||
|
||||
#include "compat_highmem.h"
|
||||
#include "compat_interrupt.h"
|
||||
diff -rupN vmci-only/linux/vmciKernelIf.c vmci-only.new/linux/vmciKernelIf.c
|
||||
--- vmci-only/linux/vmciKernelIf.c 2013-11-05 23:33:26.000000000 -0500
|
||||
+++ vmci-only.new/linux/vmciKernelIf.c 2015-05-05 11:21:59.929068500 -0400
|
||||
@@ -1246,11 +1246,11 @@ __VMCIMemcpyFromQueue(void *dest,
|
||||
}
|
||||
|
||||
if (isIovec) {
|
||||
- struct iovec *iov = (struct iovec *)dest;
|
||||
+ struct msghdr *msg = dest;
|
||||
int err;
|
||||
|
||||
/* The iovec will track bytesCopied internally. */
|
||||
- err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy);
|
||||
+ err = memcpy_to_msg(msg, (uint8 *)va + pageOffset, toCopy);
|
||||
if (err != 0) {
|
||||
kunmap(kernelIf->page[pageIndex]);
|
||||
return VMCI_ERROR_INVALID_ARGS;
|
||||
|
29
app-emulation/vmware-modules/files/271-3.19-03-vmnet.patch
Normal file
29
app-emulation/vmware-modules/files/271-3.19-03-vmnet.patch
Normal file
|
@ -0,0 +1,29 @@
|
|||
diff -ur vmnet-only.orig/driver.c vmnet-only/driver.c
|
||||
--- vmnet-only.orig/driver.c 2014-06-13 02:38:25.000000000 +0200
|
||||
+++ vmnet-only/driver.c 2015-02-21 17:31:22.630656305 +0100
|
||||
@@ -1236,8 +1236,8 @@
|
||||
struct inode *inode = NULL;
|
||||
long err;
|
||||
|
||||
- if (filp && filp->f_dentry) {
|
||||
- inode = filp->f_dentry->d_inode;
|
||||
+ if (filp && filp->f_path.dentry) {
|
||||
+ inode = filp->f_path.dentry->d_inode;
|
||||
}
|
||||
err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
|
||||
return err;
|
||||
diff -ur vmnet-only.orig/userif.c vmnet-only/userif.c
|
||||
--- vmnet-only.orig/userif.c 2014-06-13 02:38:25.000000000 +0200
|
||||
+++ vmnet-only/userif.c 2015-02-21 17:37:46.154589854 +0100
|
||||
@@ -523,7 +523,10 @@
|
||||
.iov_base = buf,
|
||||
.iov_len = len,
|
||||
};
|
||||
- return skb_copy_datagram_iovec(skb, 0, &iov, len);
|
||||
+ struct iov_iter to;
|
||||
+
|
||||
+ iov_iter_init(&to, READ, &iov, 1, len);
|
||||
+ return skb_copy_datagram_iter(skb, 0, &to, len);
|
||||
}
|
||||
|
||||
|
12
app-emulation/vmware-modules/files/271-3.19-04-vsock.patch
Normal file
12
app-emulation/vmware-modules/files/271-3.19-04-vsock.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
|
||||
--- vsock-only/linux/af_vsock.c 2015-05-05 11:26:05.145081792 -0400
|
||||
+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:30:54.304097466 -0400
|
||||
@@ -4266,7 +4266,7 @@ VSockVmciDgramSendmsg(struct kiocb *kioc
|
||||
goto out;
|
||||
}
|
||||
|
||||
- memcpy_fromiovec(VMCI_DG_PAYLOAD(dg), msg->msg_iov, len);
|
||||
+ memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len);
|
||||
|
||||
dg->dst = VMCI_MAKE_HANDLE(remoteAddr->svm_cid, remoteAddr->svm_port);
|
||||
dg->src = VMCI_MAKE_HANDLE(vsk->localAddr.svm_cid, vsk->localAddr.svm_port);
|
15
app-emulation/vmware-modules/files/271-3.19-05-vsock.patch
Normal file
15
app-emulation/vmware-modules/files/271-3.19-05-vsock.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
|
||||
--- vsock-only/linux/af_vsock.c 2015-05-05 11:31:35.710099711 -0400
|
||||
+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:36:33.260115840 -0400
|
||||
@@ -4727,7 +4727,11 @@ VSockVmciDgramRecvmsg(struct kiocb *kioc
|
||||
}
|
||||
|
||||
/* Place the datagram payload in the user's iovec. */
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
|
||||
err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen);
|
||||
+#else
|
||||
+ err = skb_copy_datagram_iter(skb, sizeof *dg, &msg->msg_iter, payloadLen);
|
||||
+#endif
|
||||
if (err) {
|
||||
goto out;
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
diff -rupN vsock-only.old/linux/af_vsock.c vsock-only/linux/af_vsock.c
|
||||
--- vsock-only.old/linux/af_vsock.c 2015-05-06 20:41:47.684046762 -0400
|
||||
+++ vsock-only/linux/af_vsock.c 2015-05-06 20:52:15.245080779 -0400
|
||||
@@ -4629,7 +4629,7 @@ VSockVmciStreamSendmsg(struct kiocb *kio
|
||||
* able to send.
|
||||
*/
|
||||
|
||||
- written = vmci_qpair_enquev(vsk->qpair, msg->msg_iov,
|
||||
+ written = vmci_qpair_enquev(vsk->qpair, &msg->msg_iter.iov,
|
||||
len - totalWritten, 0);
|
||||
if (written < 0) {
|
||||
err = -ENOMEM;
|
||||
@@ -4874,9 +4874,9 @@ VSockVmciStreamRecvmsg(struct kiocb *kio
|
||||
}
|
||||
|
||||
if (flags & MSG_PEEK) {
|
||||
- read = vmci_qpair_peekv(vsk->qpair, msg->msg_iov, len - copied, 0);
|
||||
+ read = vmci_qpair_peekv(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
|
||||
} else {
|
||||
- read = vmci_qpair_dequev(vsk->qpair, msg->msg_iov, len - copied, 0);
|
||||
+ read = vmci_qpair_dequev(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
|
||||
}
|
||||
|
||||
if (read < 0) {
|
170
app-emulation/vmware-modules/files/271-hardened.patch
Normal file
170
app-emulation/vmware-modules/files/271-hardened.patch
Normal file
|
@ -0,0 +1,170 @@
|
|||
diff --git a/vmci-only/linux/driver.c b/vmci-only/linux/driver.c
|
||||
index 921f25c..41a39e3 100644
|
||||
--- a/vmci-only/linux/driver.c
|
||||
+++ b/vmci-only/linux/driver.c
|
||||
@@ -241,7 +241,24 @@ static unsigned int LinuxDriverPoll(struct file *file, poll_table *wait);
|
||||
#define LinuxDriverUnlockIoctlPerFD(mutex) do {} while (0)
|
||||
#endif
|
||||
|
||||
-static struct file_operations vmuser_fops;
|
||||
+/*
|
||||
+ * Moved file operations initialize here because of incompatibilites
|
||||
+ * with Gentoo hardened profile/hardend Linux 3.
|
||||
+ */
|
||||
+static struct file_operations vmuser_fops = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .poll = LinuxDriverPoll,
|
||||
+#ifdef HAVE_UNLOCKED_IOCTL
|
||||
+ .unlocked_ioctl = LinuxDriver_UnlockedIoctl,
|
||||
+#else
|
||||
+ .ioctl = LinuxDriver_Ioctl,
|
||||
+#endif
|
||||
+#ifdef HAVE_COMPAT_IOCTL
|
||||
+ .compat_ioctl = LinuxDriver_UnlockedIoctl,
|
||||
+#endif
|
||||
+ .open = LinuxDriver_Open,
|
||||
+ .release = LinuxDriver_Close
|
||||
+};
|
||||
|
||||
|
||||
/*
|
||||
@@ -378,26 +395,6 @@ vmci_host_init(void)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
- /*
|
||||
- * Initialize the file_operations structure. Because this code is always
|
||||
- * compiled as a module, this is fine to do it here and not in a static
|
||||
- * initializer.
|
||||
- */
|
||||
-
|
||||
- memset(&vmuser_fops, 0, sizeof vmuser_fops);
|
||||
- vmuser_fops.owner = THIS_MODULE;
|
||||
- vmuser_fops.poll = LinuxDriverPoll;
|
||||
-#ifdef HAVE_UNLOCKED_IOCTL
|
||||
- vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl;
|
||||
-#else
|
||||
- vmuser_fops.ioctl = LinuxDriver_Ioctl;
|
||||
-#endif
|
||||
-#ifdef HAVE_COMPAT_IOCTL
|
||||
- vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl;
|
||||
-#endif
|
||||
- vmuser_fops.open = LinuxDriver_Open;
|
||||
- vmuser_fops.release = LinuxDriver_Close;
|
||||
-
|
||||
sprintf(linuxState.deviceName, "vmci");
|
||||
linuxState.major = 10;
|
||||
linuxState.misc.minor = MISC_DYNAMIC_MINOR;
|
||||
diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c
|
||||
index b21dd44..960c2aa 100644
|
||||
--- a/vmmon-only/linux/driver.c
|
||||
+++ b/vmmon-only/linux/driver.c
|
||||
@@ -178,7 +178,22 @@ static struct vm_operations_struct vmuser_mops = {
|
||||
#endif
|
||||
};
|
||||
|
||||
-static struct file_operations vmuser_fops;
|
||||
+static struct file_operations vmuser_fops = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .poll = LinuxDriverPoll,
|
||||
+#ifdef HAVE_UNLOCKED_IOCTL
|
||||
+ .unlocked_ioctl = LinuxDriver_UnlockedIoctl,
|
||||
+#else
|
||||
+ .ioctl = LinuxDriver_Ioctl,
|
||||
+#endif
|
||||
+#ifdef HAVE_COMPAT_IOCTL
|
||||
+ .compat_ioctl = LinuxDriver_UnlockedIoctl,
|
||||
+#endif
|
||||
+ .open = LinuxDriver_Open,
|
||||
+ .release = LinuxDriver_Close,
|
||||
+ .mmap = LinuxDriverMmap
|
||||
+};
|
||||
+
|
||||
static struct timer_list tscTimer;
|
||||
|
||||
/*
|
||||
@@ -357,27 +372,6 @@ init_module(void)
|
||||
spin_lock_init(&linuxState.pollListLock);
|
||||
#endif
|
||||
|
||||
- /*
|
||||
- * Initialize the file_operations structure. Because this code is always
|
||||
- * compiled as a module, this is fine to do it here and not in a static
|
||||
- * initializer.
|
||||
- */
|
||||
-
|
||||
- memset(&vmuser_fops, 0, sizeof vmuser_fops);
|
||||
- vmuser_fops.owner = THIS_MODULE;
|
||||
- vmuser_fops.poll = LinuxDriverPoll;
|
||||
-#ifdef HAVE_UNLOCKED_IOCTL
|
||||
- vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl;
|
||||
-#else
|
||||
- vmuser_fops.ioctl = LinuxDriver_Ioctl;
|
||||
-#endif
|
||||
-#ifdef HAVE_COMPAT_IOCTL
|
||||
- vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl;
|
||||
-#endif
|
||||
- vmuser_fops.open = LinuxDriver_Open;
|
||||
- vmuser_fops.release = LinuxDriver_Close;
|
||||
- vmuser_fops.mmap = LinuxDriverMmap;
|
||||
-
|
||||
#ifdef VMX86_DEVEL
|
||||
devel_init_module();
|
||||
linuxState.minor = 0;
|
||||
diff --git a/vmnet-only/driver.c b/vmnet-only/driver.c
|
||||
index b12b982..40bd4cf 100644
|
||||
--- a/vmnet-only/driver.c
|
||||
+++ b/vmnet-only/driver.c
|
||||
@@ -165,7 +165,22 @@ static long VNetFileOpUnlockedIoctl(struct file * filp,
|
||||
unsigned int iocmd, unsigned long ioarg);
|
||||
#endif
|
||||
|
||||
-static struct file_operations vnetFileOps;
|
||||
+static struct file_operations vnetFileOps = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .read = VNetFileOpRead,
|
||||
+ .write = VNetFileOpWrite,
|
||||
+ .poll = VNetFileOpPoll,
|
||||
+#ifdef HAVE_UNLOCKED_IOCTL
|
||||
+ .unlocked_ioctl = VNetFileOpUnlockedIoctl,
|
||||
+#else
|
||||
+ .ioctl = VNetFileOpIoctl,
|
||||
+#endif
|
||||
+#ifdef HAVE_COMPAT_IOCTL
|
||||
+ .compat_ioctl = VNetFileOpUnlockedIoctl,
|
||||
+#endif
|
||||
+ .open = VNetFileOpOpen,
|
||||
+ .release = VNetFileOpClose
|
||||
+};
|
||||
|
||||
/*
|
||||
* Utility functions
|
||||
@@ -476,28 +491,6 @@ init_module(void)
|
||||
goto err_proto;
|
||||
}
|
||||
|
||||
- /*
|
||||
- * Initialize the file_operations structure. Because this code is always
|
||||
- * compiled as a module, this is fine to do it here and not in a static
|
||||
- * initializer.
|
||||
- */
|
||||
-
|
||||
- memset(&vnetFileOps, 0, sizeof vnetFileOps);
|
||||
- vnetFileOps.owner = THIS_MODULE;
|
||||
- vnetFileOps.read = VNetFileOpRead;
|
||||
- vnetFileOps.write = VNetFileOpWrite;
|
||||
- vnetFileOps.poll = VNetFileOpPoll;
|
||||
-#ifdef HAVE_UNLOCKED_IOCTL
|
||||
- vnetFileOps.unlocked_ioctl = VNetFileOpUnlockedIoctl;
|
||||
-#else
|
||||
- vnetFileOps.ioctl = VNetFileOpIoctl;
|
||||
-#endif
|
||||
-#ifdef HAVE_COMPAT_IOCTL
|
||||
- vnetFileOps.compat_ioctl = VNetFileOpUnlockedIoctl;
|
||||
-#endif
|
||||
- vnetFileOps.open = VNetFileOpOpen;
|
||||
- vnetFileOps.release = VNetFileOpClose;
|
||||
-
|
||||
retval = register_chrdev(VNET_MAJOR_NUMBER, "vmnet", &vnetFileOps);
|
||||
if (retval) {
|
||||
LOG(0, (KERN_NOTICE "/dev/vmnet: could not register major device %d\n",
|
41
app-emulation/vmware-modules/files/279-3.10-00-userns.patch
Normal file
41
app-emulation/vmware-modules/files/279-3.10-00-userns.patch
Normal file
|
@ -0,0 +1,41 @@
|
|||
correctly initializes UID/GID values
|
||||
gets UID correctly in light of user namespace API
|
||||
origionally from https://462666.bugs.gentoo.org/attachment.cgi?id=342888
|
||||
|
||||
--- a/vmblock-only/linux/inode.c 2013-03-20 17:37:48.000000000 +0100
|
||||
+++ b/vmblock-only/linux/inode.c 2013-03-20 17:41:22.000000000 +0100
|
||||
@@ -135,7 +135,8 @@
|
||||
inode->i_size = INODE_TO_IINFO(inode)->nameLen;
|
||||
inode->i_version = 1;
|
||||
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
|
||||
- inode->i_uid = inode->i_gid = 0;
|
||||
+ inode->i_uid = GLOBAL_ROOT_UID;
|
||||
+ inode->i_gid = GLOBAL_ROOT_GID;
|
||||
inode->i_op = &LinkInodeOps;
|
||||
|
||||
d_add(dentry, inode);
|
||||
|
||||
--- a/vmci-only/linux/driver.c 2013-03-20 17:57:35.000000000 +0100
|
||||
+++ b/vmci-only/linux/driver.c 2013-03-20 17:57:43.000000000 +0100
|
||||
@@ -740,7 +740,7 @@
|
||||
goto init_release;
|
||||
}
|
||||
|
||||
- user = current_uid();
|
||||
+ user = from_kuid(current_user_ns(), current_uid());
|
||||
retval = VMCIContext_InitContext(initBlock.cid, initBlock.flags,
|
||||
0 /* Unused */, vmciLinux->userVersion,
|
||||
&user, &vmciLinux->context);
|
||||
|
||||
--- a/vsock-only/linux/af_vsock.c 2013-03-20 18:01:48.000000000 +0100
|
||||
+++ b/vsock-only/linux/af_vsock.c 2013-03-20 18:01:58.000000000 +0100
|
||||
@@ -2866,7 +2866,7 @@
|
||||
vsk->connectTimeout = psk->connectTimeout;
|
||||
} else {
|
||||
vsk->trusted = capable(CAP_NET_ADMIN);
|
||||
- vsk->owner = current_uid();
|
||||
+ vsk->owner = from_kuid(current_user_ns(), current_uid());
|
||||
vsk->queuePairSize = VSOCK_DEFAULT_QP_SIZE;
|
||||
vsk->queuePairMinSize = VSOCK_DEFAULT_QP_SIZE_MIN;
|
||||
vsk->queuePairMaxSize = VSOCK_DEFAULT_QP_SIZE_MAX;
|
||||
|
24
app-emulation/vmware-modules/files/279-3.10-01-getname.patch
Normal file
24
app-emulation/vmware-modules/files/279-3.10-01-getname.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
uses __getname/__putname instead of getname. getname was deprecated
|
||||
the new code calls __getname (which really is a specific type of
|
||||
memory allocator, then copies the string safely from user space
|
||||
into the allocated buffer
|
||||
|
||||
--- vmblock-only/linux/control.c 2014-03-15 15:28:40.871076076 +0100
|
||||
+++ vmblock-only/linux/control.c.new 2014-03-15 15:29:15.079074439 +0100
|
||||
@@ -279,11 +279,17 @@
|
||||
int i;
|
||||
int retval;
|
||||
|
||||
- name = getname(buf);
|
||||
+ name = __getname();
|
||||
if (IS_ERR(name)) {
|
||||
return PTR_ERR(name);
|
||||
}
|
||||
|
||||
+ i = strncpy_from_user(name, buf, PATH_MAX);
|
||||
+ if (i < 0 || i == PATH_MAX) {
|
||||
+ __putname(name);
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) {
|
|
@ -0,0 +1,89 @@
|
|||
undefines DEPRECATED which is unfortunately also defined (as a string)
|
||||
in <linux/printk.h>. Realistically, this macro isn't even used, so this
|
||||
doesn't matter much. But it hushes some very loud warnings.
|
||||
|
||||
diff -rupN vmblock-only/shared/vm_assert.h vmblock-only.new/shared/vm_assert.h
|
||||
--- vmblock-only/shared/vm_assert.h 2014-04-14 17:41:41.000000000 -0400
|
||||
+++ vmblock-only.new/shared/vm_assert.h 2014-10-11 17:37:23.010352172 -0400
|
||||
@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED. %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
||||
diff -rupN vmci-only/shared/vm_assert.h vmci-only.new/shared/vm_assert.h
|
||||
--- vmci-only/shared/vm_assert.h 2014-04-14 17:41:41.000000000 -0400
|
||||
+++ vmci-only.new/shared/vm_assert.h 2014-10-11 17:37:08.936352130 -0400
|
||||
@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED. %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
||||
diff -rupN vmmon-only/include/vm_assert.h vmmon-only.new/include/vm_assert.h
|
||||
--- vmmon-only/include/vm_assert.h 2014-04-14 20:06:20.000000000 -0400
|
||||
+++ vmmon-only.new/include/vm_assert.h 2014-10-11 17:36:45.289352058 -0400
|
||||
@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED. %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
||||
diff -rupN vmnet-only/vm_assert.h vmnet-only.new/vm_assert.h
|
||||
--- vmnet-only/vm_assert.h 2014-04-14 20:06:21.000000000 -0400
|
||||
+++ vmnet-only.new/vm_assert.h 2014-10-11 17:37:14.364352146 -0400
|
||||
@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED. %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
||||
diff -rupN vsock-only/shared/vm_assert.h vsock-only.new/shared/vm_assert.h
|
||||
--- vsock-only/shared/vm_assert.h 2014-04-14 17:41:41.000000000 -0400
|
||||
+++ vsock-only.new/shared/vm_assert.h 2014-10-11 17:37:02.778352111 -0400
|
||||
@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
|
||||
#define LOG_ONCE(_s) DO_ONCE(Log _s)
|
||||
|
||||
#ifdef VMX86_DEVEL
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) DO_ONCE( \
|
||||
Warning("%s:%d: %s is DEPRECATED. %s\n", \
|
||||
__FILE__, __LINE__, __FUNCTION__, \
|
||||
_fix))
|
||||
#else
|
||||
+ #undef DEPRECATED
|
||||
#define DEPRECATED(_fix) do {} while (0)
|
||||
#endif
|
||||
|
34
app-emulation/vmware-modules/files/279-3.10-04-dentry.patch
Normal file
34
app-emulation/vmware-modules/files/279-3.10-04-dentry.patch
Normal file
|
@ -0,0 +1,34 @@
|
|||
starting with kernel 3.6, d_revalidate takes an unsigned int "flags"
|
||||
as the second argument, not a nameidata pointer! see fs/namei.c
|
||||
for implementation
|
||||
|
||||
diff -Naur vmblock-only/linux/dentry.c vmblock-only/linux/dentry.c
|
||||
--- vmblock-only/linux/dentry.c 2013-11-05 23:33:26.000000000 -0500
|
||||
+++ vmblock-only/linux/dentry.c 2014-04-26 10:58:03.062635343 -0400
|
||||
@@ -32,7 +32,7 @@
|
||||
#include "block.h"
|
||||
|
||||
|
||||
-static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd);
|
||||
+static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags);
|
||||
|
||||
struct dentry_operations LinkDentryOps = {
|
||||
.d_revalidate = DentryOpRevalidate,
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
static int
|
||||
DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating
|
||||
- struct nameidata *nd) // IN: lookup flags & intent
|
||||
+ unsigned int flags) // IN: lookup flags & intent
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
struct nameidata actualNd;
|
||||
@@ -101,7 +101,7 @@
|
||||
if (actualDentry &&
|
||||
actualDentry->d_op &&
|
||||
actualDentry->d_op->d_revalidate) {
|
||||
- return actualDentry->d_op->d_revalidate(actualDentry, nd);
|
||||
+ return actualDentry->d_op->d_revalidate(actualDentry, flags);
|
||||
}
|
||||
|
||||
if (compat_path_lookup(iinfo->name, 0, &actualNd)) {
|
36
app-emulation/vmware-modules/files/279-3.10-05-inode.patch
Normal file
36
app-emulation/vmware-modules/files/279-3.10-05-inode.patch
Normal file
|
@ -0,0 +1,36 @@
|
|||
starting with kernel 3.6, d_revalidate takes an unsigned int "flags"
|
||||
as the second argument, not a nameidata pointer! see fs/namei.c
|
||||
for implementation. Also changing vfs_follow_link to nd_set_link.
|
||||
See: https://lkml.org/lkml/2013/9/9/236
|
||||
|
||||
diff -Naur vmblock-only/linux/inode.c vmblock-only/linux/inode.c
|
||||
--- vmblock-only/linux/inode.c 2013-11-05 23:33:26.000000000 -0500
|
||||
+++ vmblock-only/linux/inode.c 2014-04-26 10:58:03.063635343 -0400
|
||||
@@ -36,7 +36,7 @@
|
||||
|
||||
/* Inode operations */
|
||||
static struct dentry *InodeOpLookup(struct inode *dir,
|
||||
- struct dentry *dentry, struct nameidata *nd);
|
||||
+ struct dentry *dentry, unsigned int flags);
|
||||
static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
||||
static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
|
||||
@@ -75,7 +75,7 @@
|
||||
static struct dentry *
|
||||
InodeOpLookup(struct inode *dir, // IN: parent directory's inode
|
||||
struct dentry *dentry, // IN: dentry to lookup
|
||||
- struct nameidata *nd) // IN: lookup intent and information
|
||||
+ unsigned int flags) // IN: lookup intent and information
|
||||
{
|
||||
char *filename;
|
||||
struct inode *inode;
|
||||
@@ -221,7 +221,8 @@
|
||||
goto out;
|
||||
}
|
||||
|
||||
- ret = vfs_follow_link(nd, iinfo->name);
|
||||
+ nd_set_link(nd, iinfo->name);
|
||||
+ ret = 0;
|
||||
|
||||
out:
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
|
@ -0,0 +1,15 @@
|
|||
replacing usage of vfs_readlink with new readlink_copy API
|
||||
see: http://permalink.gmane.org/gmane.linux.kernel.commits.head/445090
|
||||
|
||||
diff -rupN vmblock-only/linux/inode.c vmblock-only/linux/inode.c
|
||||
--- vmblock-only/linux/inode.c 2014-10-05 23:20:14.545218357 -0400
|
||||
+++ vmblock-only/linux/inode.c 2014-10-05 23:33:01.549259933 -0400
|
||||
@@ -178,7 +178,7 @@ InodeOpReadlink(struct dentry *dentry,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- return vfs_readlink(dentry, buffer, buflen, iinfo->name);
|
||||
+ return readlink_copy(buffer, buflen, iinfo->name);
|
||||
}
|
||||
|
||||
|
46
app-emulation/vmware-modules/files/279-3.15-01-vsock.patch
Normal file
46
app-emulation/vmware-modules/files/279-3.15-01-vsock.patch
Normal file
|
@ -0,0 +1,46 @@
|
|||
removing the no longer existing second parameter to sk_data_ready
|
||||
doesn't seem it ever served a purpose.
|
||||
|
||||
diff -rupN vsock-only/linux/notify.c vsock-only.new/linux/notify.c
|
||||
--- vsock-only/linux/notify.c 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vsock-only.new/linux/notify.c 2014-10-05 23:46:47.943304728 -0400
|
||||
@@ -515,8 +515,11 @@ VSockVmciHandleWrote(struct sock *sk,
|
||||
vsk = vsock_sk(sk);
|
||||
PKT_FIELD(vsk, sentWaitingRead) = FALSE;
|
||||
#endif
|
||||
-
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
diff -rupN vsock-only/linux/notifyQState.c vsock-only.new/linux/notifyQState.c
|
||||
--- vsock-only/linux/notifyQState.c 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vsock-only.new/linux/notifyQState.c 2014-10-05 23:46:33.231303931 -0400
|
||||
@@ -164,7 +164,11 @@ VSockVmciHandleWrote(struct sock *sk,
|
||||
struct sockaddr_vm *dst, // IN: unused
|
||||
struct sockaddr_vm *src) // IN: unused
|
||||
{
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -566,7 +570,11 @@ VSockVmciNotifyPktRecvPostDequeue(struct
|
||||
}
|
||||
|
||||
/* See the comment in VSockVmciNotifyPktSendPostEnqueue */
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
return err;
|
16
app-emulation/vmware-modules/files/279-3.17-00-netdev.patch
Normal file
16
app-emulation/vmware-modules/files/279-3.17-00-netdev.patch
Normal file
|
@ -0,0 +1,16 @@
|
|||
new alloc_netdev requires a new parameter. All examples in the kernel i've seen just
|
||||
use the constant NET_NAME_UNKNOWN.
|
||||
origionally from: https://communities.vmware.com/message/2425189
|
||||
|
||||
diff -rupN vmnet-only/netif.c vmnet-only.new/netif.c
|
||||
--- vmnet-only/netif.c 2013-11-06 00:40:52.000000000 -0500
|
||||
+++ vmnet-only.new/netif.c 2014-10-09 17:29:12.361307961 -0400
|
||||
@@ -149,7 +149,7 @@ VNetNetIf_Create(char *devName, // IN:
|
||||
memcpy(deviceName, devName, sizeof deviceName);
|
||||
NULL_TERMINATE_STRING(deviceName);
|
||||
|
||||
- dev = alloc_netdev(sizeof *netIf, deviceName, VNetNetIfSetup);
|
||||
+ dev = alloc_netdev(sizeof *netIf, deviceName, NET_NAME_USER, VNetNetIfSetup);
|
||||
if (!dev) {
|
||||
retval = -ENOMEM;
|
||||
goto out;
|
|
@ -0,0 +1,24 @@
|
|||
--- a/vmci-only/shared/vm_device_version.h 2015-02-07 03:11:55.000000000 +0300
|
||||
+++ c/vmci-only/shared/vm_device_version.h 2015-02-24 03:58:06.041605450 +0300
|
||||
@@ -53,7 +53,9 @@
|
||||
* VMware HD Audio codec
|
||||
* VMware HD Audio controller
|
||||
*/
|
||||
+#ifndef PCI_VENDOR_ID_VMWARE
|
||||
#define PCI_VENDOR_ID_VMWARE 0x15AD
|
||||
+#endif
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA 0x0710
|
||||
#define PCI_DEVICE_ID_VMWARE_VGA 0x0711
|
||||
--- a/vmnet-only/vm_device_version.h 2015-02-07 03:54:16.000000000 +0300
|
||||
+++ c/vmnet-only/vm_device_version.h 2015-02-24 03:58:06.044604981 +0300
|
||||
@@ -53,7 +53,9 @@
|
||||
* VMware HD Audio codec
|
||||
* VMware HD Audio controller
|
||||
*/
|
||||
+#ifndef PCI_VENDOR_ID_VMWARE
|
||||
#define PCI_VENDOR_ID_VMWARE 0x15AD
|
||||
+#endif
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA 0x0710
|
||||
#define PCI_DEVICE_ID_VMWARE_VGA 0x0711
|
|
@ -0,0 +1,23 @@
|
|||
--- a/vmblock-only/shared/compat_namei.h 2015-02-07 03:11:55.000000000 +0300
|
||||
+++ c/vmblock-only/shared/compat_namei.h 2015-02-24 03:51:25.235286047 +0300
|
||||
@@ -21,6 +21,20 @@
|
||||
|
||||
#include <linux/namei.h>
|
||||
|
||||
+/* Copy-n-paste from kernel's source/fs/namei.c */
|
||||
+struct nameidata {
|
||||
+ struct path path;
|
||||
+ struct qstr last;
|
||||
+ struct path root;
|
||||
+ struct inode *inode; /* path.dentry.d_inode */
|
||||
+ unsigned int flags;
|
||||
+ unsigned seq, m_seq;
|
||||
+ int last_type;
|
||||
+ unsigned depth;
|
||||
+ struct file *base;
|
||||
+ char *saved_names[MAX_NESTED_LINKS + 1];
|
||||
+};
|
||||
+
|
||||
/*
|
||||
* In 2.6.25-rc2, dentry and mount objects were removed from the nameidata
|
||||
* struct. They were both replaced with a struct path.
|
13
app-emulation/vmware-modules/files/279-3.19-01-dentry.patch
Normal file
13
app-emulation/vmware-modules/files/279-3.19-01-dentry.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
--- a/vmnet-only/driver.c 2015-02-07 03:54:17.000000000 +0300
|
||||
+++ c/vmnet-only/driver.c 2015-02-24 03:58:06.043605137 +0300
|
||||
@@ -1191,8 +1191,8 @@
|
||||
struct inode *inode = NULL;
|
||||
long err;
|
||||
|
||||
- if (filp && filp->f_dentry) {
|
||||
- inode = filp->f_dentry->d_inode;
|
||||
+ if (filp && filp->f_path.dentry) {
|
||||
+ inode = filp->f_path.dentry->d_inode;
|
||||
}
|
||||
err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
|
||||
return err;
|
|
@ -0,0 +1,67 @@
|
|||
Sources:
|
||||
https://531682.bugs.gentoo.org/attachment.cgi?id=396484
|
||||
https://531682.bugs.gentoo.org/attachment.cgi?id=396482
|
||||
diff -rupN vmblock-only.orig/linux/dentry.c vmblock-only/linux/dentry.c
|
||||
--- vmblock-only.orig/linux/dentry.c 2015-02-14 18:05:46.000000000 -0500
|
||||
+++ vmblock-only/linux/dentry.c 2015-02-14 18:09:59.000000000 -0500
|
||||
@@ -63,7 +63,7 @@ DentryOpRevalidate(struct dentry *dentry
|
||||
unsigned int flags) // IN: lookup flags & intent
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
- struct nameidata actualNd;
|
||||
+ struct path actualNd;
|
||||
struct dentry *actualDentry;
|
||||
int ret;
|
||||
|
||||
diff -rupN vmblock-only.orig/linux/filesystem.c vmblock-only/linux/filesystem.c
|
||||
--- vmblock-only.orig/linux/filesystem.c 2014-11-20 19:29:15.000000000 -0500
|
||||
+++ vmblock-only/linux/filesystem.c 2015-02-14 18:10:49.000000000 -0500
|
||||
@@ -322,7 +322,7 @@ Iget(struct super_block *sb, // IN: f
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
struct inode *inode;
|
||||
- struct nameidata actualNd;
|
||||
+ struct path actualNd;
|
||||
|
||||
ASSERT(sb);
|
||||
|
||||
diff -rupN vmblock-only.orig/shared/compat_namei.h vmblock-only/shared/compat_namei.h
|
||||
--- vmblock-only.orig/shared/compat_namei.h 2014-11-20 19:29:15.000000000 -0500
|
||||
+++ vmblock-only/shared/compat_namei.h 2015-02-14 18:08:38.000000000 -0500
|
||||
@@ -26,21 +26,21 @@
|
||||
* struct. They were both replaced with a struct path.
|
||||
*/
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
|
||||
-#define compat_vmw_nd_to_dentry(nd) (nd).path.dentry
|
||||
+#define compat_vmw_nd_to_dentry(nd) (nd).dentry
|
||||
#else
|
||||
#define compat_vmw_nd_to_dentry(nd) (nd).dentry
|
||||
#endif
|
||||
|
||||
/* In 2.6.25-rc2, path_release(&nd) was replaced with path_put(&nd.path). */
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
|
||||
-#define compat_path_release(nd) path_put(&(nd)->path)
|
||||
+#define compat_path_release(nd) path_put(nd)
|
||||
#else
|
||||
#define compat_path_release(nd) path_release(nd)
|
||||
#endif
|
||||
|
||||
/* path_lookup was removed in 2.6.39 merge window VFS merge */
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
|
||||
-#define compat_path_lookup(name, flags, nd) kern_path(name, flags, &((nd)->path))
|
||||
+#define compat_path_lookup(name, flags, nd) kern_path(name, flags, nd)
|
||||
#else
|
||||
#define compat_path_lookup(name, flags, nd) path_lookup(name, flags, nd)
|
||||
#endif
|
||||
diff -u vmblock-only.orig/linux/file.c vmblock-only/linux/file.c
|
||||
--- vmblock-only.orig/linux/file.c 2015-02-11 12:18:29.000000000 -0500
|
||||
+++ vmblock-only/linux/file.c 2015-02-11 12:41:41.000000000 -0500
|
||||
@@ -92,7 +92,7 @@
|
||||
* and that would try to acquire the inode's semaphore; if the two inodes
|
||||
* are the same we'll deadlock.
|
||||
*/
|
||||
- if (actualFile->f_dentry && inode == actualFile->f_dentry->d_inode) {
|
||||
+ if (actualFile->f_path.dentry && inode == actualFile->f_path.dentry->d_inode) {
|
||||
Warning("FileOpOpen: identical inode encountered, open cannot succeed.\n");
|
||||
if (filp_close(actualFile, current->files) < 0) {
|
||||
Warning("FileOpOpen: unable to close opened file.\n");
|
19
app-emulation/vmware-modules/files/279-3.19-03-iovec.patch
Normal file
19
app-emulation/vmware-modules/files/279-3.19-03-iovec.patch
Normal file
|
@ -0,0 +1,19 @@
|
|||
--- a/vmnet-only/userif.c 2015-02-07 03:54:17.000000000 +0300
|
||||
+++ c/vmnet-only/userif.c 2015-02-24 03:58:06.043605137 +0300
|
||||
@@ -523,7 +523,15 @@
|
||||
.iov_base = buf,
|
||||
.iov_len = len,
|
||||
};
|
||||
- return skb_copy_datagram_iovec(skb, 0, &iov, len);
|
||||
+
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
|
||||
+ return skb_copy_datagram_iovec(skb, 0, &iov, len);
|
||||
+#else
|
||||
+ struct iov_iter to;
|
||||
+ iov_iter_init(&to, READ, &iov, 1, len);
|
||||
+ return skb_copy_datagram_iter(skb, 0, &to, len);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
39
app-emulation/vmware-modules/files/279-3.19-04-iovec.patch
Normal file
39
app-emulation/vmware-modules/files/279-3.19-04-iovec.patch
Normal file
|
@ -0,0 +1,39 @@
|
|||
diff -rupN vmci-only.old/linux/vmciKernelIf.c vmci-only/linux/vmciKernelIf.c
|
||||
--- vmci-only.old/linux/vmciKernelIf.c 2015-04-28 18:05:56.000000000 +0000
|
||||
+++ vmci-only/linux/vmciKernelIf.c 2015-07-06 08:02:08.314262258 +0000
|
||||
@@ -40,6 +40,7 @@
|
||||
#include <linux/socket.h> /* For memcpy_{to,from}iovec(). */
|
||||
#include <linux/vmalloc.h>
|
||||
#include <linux/wait.h>
|
||||
+#include <linux/skbuff.h>
|
||||
|
||||
#include "compat_highmem.h"
|
||||
#include "compat_interrupt.h"
|
||||
@@ -1227,11 +1228,11 @@ __VMCIMemcpyToQueue(VMCIQueue *queue,
|
||||
}
|
||||
|
||||
if (isIovec) {
|
||||
- struct iovec *iov = (struct iovec *)src;
|
||||
+ struct msghdr *msg = (struct msghdr *)src;
|
||||
int err;
|
||||
|
||||
/* The iovec will track bytesCopied internally. */
|
||||
- err = memcpy_fromiovec((uint8 *)va + pageOffset, iov, toCopy);
|
||||
+ err = memcpy_from_msg((u8 *)va + pageOffset, msg, toCopy);
|
||||
if (err != 0) {
|
||||
if (!kernelIf->isDataMapped) {
|
||||
kunmap(kernelIf->page[pageIndex]);
|
||||
@@ -1302,11 +1303,11 @@ __VMCIMemcpyFromQueue(void *dest,
|
||||
}
|
||||
|
||||
if (isIovec) {
|
||||
- struct iovec *iov = (struct iovec *)dest;
|
||||
+ struct msghdr *msg = (struct msghdr *)dest;
|
||||
int err;
|
||||
|
||||
/* The iovec will track bytesCopied internally. */
|
||||
- err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy);
|
||||
+ err = memcpy_to_msg(msg, (uint8 *)va + pageOffset, toCopy);
|
||||
if (err != 0) {
|
||||
if (!kernelIf->isDataMapped) {
|
||||
kunmap(kernelIf->page[pageIndex]);
|
|
@ -0,0 +1,24 @@
|
|||
diff -rupN vsock-only.old/linux/af_vsock.c vsock-only/linux/af_vsock.c
|
||||
--- vsock-only.old/linux/af_vsock.c 2015-05-06 20:41:47.684046762 -0400
|
||||
+++ vsock-only/linux/af_vsock.c 2015-05-06 20:52:15.245080779 -0400
|
||||
@@ -4629,7 +4629,7 @@ VSockVmciStreamSendmsg(struct kiocb *kio
|
||||
* able to send.
|
||||
*/
|
||||
|
||||
- written = vmci_qpair_enquev(vsk->qpair, msg->msg_iov,
|
||||
+ written = vmci_qpair_enquev(vsk->qpair, &msg->msg_iter.iov,
|
||||
len - totalWritten, 0);
|
||||
if (written < 0) {
|
||||
err = -ENOMEM;
|
||||
@@ -4874,9 +4874,9 @@ VSockVmciStreamRecvmsg(struct kiocb *kio
|
||||
}
|
||||
|
||||
if (flags & MSG_PEEK) {
|
||||
- read = vmci_qpair_peekv(vsk->qpair, msg->msg_iov, len - copied, 0);
|
||||
+ read = vmci_qpair_peekv(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
|
||||
} else {
|
||||
- read = vmci_qpair_dequev(vsk->qpair, msg->msg_iov, len - copied, 0);
|
||||
+ read = vmci_qpair_dequev(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
|
||||
}
|
||||
|
||||
if (read < 0) {
|
15
app-emulation/vmware-modules/files/279-3.19-06-vsock.patch
Normal file
15
app-emulation/vmware-modules/files/279-3.19-06-vsock.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
|
||||
--- vsock-only/linux/af_vsock.c 2015-05-05 11:31:35.710099711 -0400
|
||||
+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:36:33.260115840 -0400
|
||||
@@ -4727,7 +4727,11 @@ VSockVmciDgramRecvmsg(struct kiocb *kioc
|
||||
}
|
||||
|
||||
/* Place the datagram payload in the user's iovec. */
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
|
||||
err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen);
|
||||
+#else
|
||||
+ err = skb_copy_datagram_iter(skb, sizeof *dg, &msg->msg_iter, payloadLen);
|
||||
+#endif
|
||||
if (err) {
|
||||
goto out;
|
||||
}
|
12
app-emulation/vmware-modules/files/279-3.19-07-vsock.patch
Normal file
12
app-emulation/vmware-modules/files/279-3.19-07-vsock.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
|
||||
--- vsock-only/linux/af_vsock.c 2015-05-05 11:26:05.145081792 -0400
|
||||
+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:30:54.304097466 -0400
|
||||
@@ -4266,7 +4266,7 @@ VSockVmciDgramSendmsg(struct kiocb *kioc
|
||||
goto out;
|
||||
}
|
||||
|
||||
- memcpy_fromiovec(VMCI_DG_PAYLOAD(dg), msg->msg_iov, len);
|
||||
+ memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len);
|
||||
|
||||
dg->dst = VMCI_MAKE_HANDLE(remoteAddr->svm_cid, remoteAddr->svm_port);
|
||||
dg->src = VMCI_MAKE_HANDLE(vsk->localAddr.svm_cid, vsk->localAddr.svm_port);
|
16
app-emulation/vmware-modules/files/279-5.10-00-userns.patch
Normal file
16
app-emulation/vmware-modules/files/279-5.10-00-userns.patch
Normal file
|
@ -0,0 +1,16 @@
|
|||
correctly initializes UID/GID values
|
||||
gets UID correctly in light of user namespace API
|
||||
origionally from https://462666.bugs.gentoo.org/attachment.cgi?id=342888
|
||||
|
||||
--- a/vmblock-only/linux/inode.c 2013-03-20 17:37:48.000000000 +0100
|
||||
+++ b/vmblock-only/linux/inode.c 2013-03-20 17:41:22.000000000 +0100
|
||||
@@ -135,7 +135,8 @@
|
||||
inode->i_size = INODE_TO_IINFO(inode)->nameLen;
|
||||
inode->i_version = 1;
|
||||
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
|
||||
- inode->i_uid = inode->i_gid = 0;
|
||||
+ inode->i_uid = GLOBAL_ROOT_UID;
|
||||
+ inode->i_gid = GLOBAL_ROOT_GID;
|
||||
inode->i_op = &LinkInodeOps;
|
||||
|
||||
d_add(dentry, inode);
|
43
app-emulation/vmware-modules/files/304-3.10-00-dentry.patch
Normal file
43
app-emulation/vmware-modules/files/304-3.10-00-dentry.patch
Normal file
|
@ -0,0 +1,43 @@
|
|||
Minor change the API, now it just gets passed flags instead of a pointer to the nameidata
|
||||
--- a/vmblock-only/linux/dentry.c 2015-02-07 03:11:55.000000000 +0300
|
||||
+++ c/vmblock-only/linux/dentry.c 2015-02-24 03:58:06.038605919 +0300
|
||||
@@ -32,7 +32,11 @@
|
||||
#include "block.h"
|
||||
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
|
||||
static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd);
|
||||
+#else
|
||||
+static int DentryOpRevalidate(struct dentry *dentry, unsigned int);
|
||||
+#endif
|
||||
|
||||
struct dentry_operations LinkDentryOps = {
|
||||
.d_revalidate = DentryOpRevalidate,
|
||||
@@ -58,9 +62,12 @@
|
||||
*----------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
-static int
|
||||
-DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating
|
||||
- struct nameidata *nd) // IN: lookup flags & intent
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
|
||||
+static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd)
|
||||
+#else
|
||||
+static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags)
|
||||
+#endif
|
||||
+
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
struct nameidata actualNd;
|
||||
@@ -101,7 +108,11 @@
|
||||
if (actualDentry &&
|
||||
actualDentry->d_op &&
|
||||
actualDentry->d_op->d_revalidate) {
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
|
||||
+ return actualDentry->d_op->d_revalidate(actualDentry, flags);
|
||||
+#else
|
||||
return actualDentry->d_op->d_revalidate(actualDentry, nd);
|
||||
+#endif
|
||||
}
|
||||
|
||||
if (compat_path_lookup(iinfo->name, 0, &actualNd)) {
|
94
app-emulation/vmware-modules/files/304-3.10-01-inode.patch
Normal file
94
app-emulation/vmware-modules/files/304-3.10-01-inode.patch
Normal file
|
@ -0,0 +1,94 @@
|
|||
Minor change the API, now it just gets passed flags instead of a pointer to the nameidata
|
||||
Properly initializes UID/GID with repsect to namespaces
|
||||
Some changes the readlink/setlink APIs
|
||||
--- a/vmblock-only/linux/inode.c 2015-02-07 03:11:55.000000000 +0300
|
||||
+++ c/vmblock-only/linux/inode.c 2015-02-24 03:58:06.039605762 +0300
|
||||
@@ -35,9 +35,15 @@
|
||||
|
||||
|
||||
/* Inode operations */
|
||||
-static struct dentry *InodeOpLookup(struct inode *dir,
|
||||
- struct dentry *dentry, struct nameidata *nd);
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
|
||||
+static struct dentry *InodeOpLookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd);
|
||||
static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
|
||||
+#else
|
||||
+static struct dentry *InodeOpLookup(struct inode *, struct dentry *, unsigned int);
|
||||
+static int InodeOpReadlink(struct dentry *, char __user *, int);
|
||||
+#endif
|
||||
+
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
||||
static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
|
||||
#else
|
||||
@@ -49,12 +55,15 @@
|
||||
.lookup = InodeOpLookup,
|
||||
};
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
|
||||
static struct inode_operations LinkInodeOps = {
|
||||
+#else
|
||||
+struct inode_operations LinkInodeOps = {
|
||||
+#endif
|
||||
.readlink = InodeOpReadlink,
|
||||
.follow_link = InodeOpFollowlink,
|
||||
};
|
||||
|
||||
-
|
||||
/*
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
@@ -75,7 +84,11 @@
|
||||
static struct dentry *
|
||||
InodeOpLookup(struct inode *dir, // IN: parent directory's inode
|
||||
struct dentry *dentry, // IN: dentry to lookup
|
||||
- struct nameidata *nd) // IN: lookup intent and information
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
|
||||
+ struct nameidata *nd) // IN: lookup intent and information
|
||||
+#else
|
||||
+ unsigned int flags)
|
||||
+#endif
|
||||
{
|
||||
char *filename;
|
||||
struct inode *inode;
|
||||
@@ -135,7 +148,12 @@
|
||||
inode->i_size = INODE_TO_IINFO(inode)->nameLen;
|
||||
inode->i_version = 1;
|
||||
inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
|
||||
inode->i_uid = inode->i_gid = 0;
|
||||
+#else
|
||||
+ inode->i_gid = make_kgid(current_user_ns(), 0);
|
||||
+ inode->i_uid = make_kuid(current_user_ns(), 0);
|
||||
+#endif
|
||||
inode->i_op = &LinkInodeOps;
|
||||
|
||||
d_add(dentry, inode);
|
||||
@@ -177,7 +195,12 @@
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- return vfs_readlink(dentry, buffer, buflen, iinfo->name);
|
||||
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 14, 99)
|
||||
+ return vfs_readlink(dentry, buffer, buflen, iinfo->name);
|
||||
+#else
|
||||
+ return readlink_copy(buffer, buflen, iinfo->name);
|
||||
+#endif
|
||||
+
|
||||
}
|
||||
|
||||
|
||||
@@ -221,7 +244,7 @@
|
||||
goto out;
|
||||
}
|
||||
|
||||
- ret = vfs_follow_link(nd, iinfo->name);
|
||||
+ nd_set_link(nd, iinfo->name);
|
||||
|
||||
out:
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
|
||||
@@ -230,3 +253,4 @@
|
||||
return ret;
|
||||
#endif
|
||||
}
|
||||
+
|
57
app-emulation/vmware-modules/files/304-3.10-02-control.patch
Normal file
57
app-emulation/vmware-modules/files/304-3.10-02-control.patch
Normal file
|
@ -0,0 +1,57 @@
|
|||
The API to create proc entries now takes the file ops structure directly, instead of being set after the fact
|
||||
Using new __getname/__putname API
|
||||
--- a/vmblock-only/linux/control.c 2015-02-07 03:11:55.000000000 +0300
|
||||
+++ c/vmblock-only/linux/control.c 2015-02-24 03:58:06.038605919 +0300
|
||||
@@ -208,9 +208,11 @@
|
||||
VMBlockSetProcEntryOwner(controlProcMountpoint);
|
||||
|
||||
/* Create /proc/fs/vmblock/dev */
|
||||
- controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
|
||||
- VMBLOCK_CONTROL_MODE,
|
||||
- controlProcDirEntry);
|
||||
+ controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME,
|
||||
+ VMBLOCK_CONTROL_MODE,
|
||||
+ controlProcDirEntry,
|
||||
+ &ControlFileOps);
|
||||
+
|
||||
if (!controlProcEntry) {
|
||||
Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n");
|
||||
remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry);
|
||||
@@ -218,7 +220,10 @@
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
|
||||
controlProcEntry->proc_fops = &ControlFileOps;
|
||||
+#endif
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -287,18 +287,24 @@ ExecuteBlockOp(const char __user *buf,
|
||||
int i;
|
||||
int retval;
|
||||
|
||||
- name = getname(buf);
|
||||
+ name = __getname();
|
||||
if (IS_ERR(name)) {
|
||||
return PTR_ERR(name);
|
||||
}
|
||||
|
||||
+ i = strncpy_from_user(name, buf, PATH_MAX);
|
||||
+ if (i < 0 || i == PATH_MAX) {
|
||||
+ __putname(name);
|
||||
+ return -EINVAL;
|
||||
+ }
|
||||
+
|
||||
for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) {
|
||||
name[i] = '\0';
|
||||
}
|
||||
|
||||
retval = i < 0 ? -EINVAL : blockOp(name, blocker);
|
||||
|
||||
- putname(name);
|
||||
+ __putname(name);
|
||||
|
||||
return retval;
|
||||
}
|
14
app-emulation/vmware-modules/files/304-3.10-03-inline.patch
Normal file
14
app-emulation/vmware-modules/files/304-3.10-03-inline.patch
Normal file
|
@ -0,0 +1,14 @@
|
|||
Hushes a warning
|
||||
--- a/vmmon-only/linux/driver.c 2015-02-07 03:54:16.000000000 +0300
|
||||
+++ c/vmmon-only/linux/driver.c 2015-02-24 03:58:06.042605293 +0300
|
||||
@@ -1328,7 +1328,9 @@
|
||||
*-----------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
-__attribute__((always_inline)) static Bool
|
||||
+#include <linux/compiler-gcc.h>
|
||||
+
|
||||
+__always_inline static Bool
|
||||
LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min
|
||||
{
|
||||
TSCDelta tscDelta;
|
41
app-emulation/vmware-modules/files/304-3.11-00-readdir.patch
Normal file
41
app-emulation/vmware-modules/files/304-3.11-00-readdir.patch
Normal file
|
@ -0,0 +1,41 @@
|
|||
replaces usage of vfs_readdir with iterate_dir. origionally found here:
|
||||
https://bugs.gentoo.org/show_bug.cgi?id=508204
|
||||
|
||||
diff -Naur vmblock-only/linux/file.c vmblock-only/linux/file.c
|
||||
--- vmblock-only/linux/file.c 2013-11-05 23:33:26.000000000 -0500
|
||||
+++ vmblock-only/linux/file.c 2014-04-26 10:58:03.062635343 -0400
|
||||
@@ -166,11 +166,9 @@
|
||||
|
||||
static int
|
||||
FileOpReaddir(struct file *file, // IN
|
||||
- void *dirent, // IN
|
||||
- filldir_t filldir) // IN
|
||||
+ struct dir_context *ctx)
|
||||
{
|
||||
int ret;
|
||||
- FilldirInfo info;
|
||||
struct file *actualFile;
|
||||
|
||||
if (!file) {
|
||||
@@ -184,11 +182,8 @@
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
- info.filldir = filldir;
|
||||
- info.dirent = dirent;
|
||||
-
|
||||
actualFile->f_pos = file->f_pos;
|
||||
- ret = vfs_readdir(actualFile, Filldir, &info);
|
||||
+ ret = iterate_dir(actualFile, ctx);
|
||||
file->f_pos = actualFile->f_pos;
|
||||
|
||||
return ret;
|
||||
@@ -237,7 +232,7 @@
|
||||
|
||||
|
||||
struct file_operations RootFileOps = {
|
||||
- .readdir = FileOpReaddir,
|
||||
+ .iterate = FileOpReaddir,
|
||||
.open = FileOpOpen,
|
||||
.release = FileOpRelease,
|
||||
};
|
53
app-emulation/vmware-modules/files/304-3.11-01-filldir.patch
Normal file
53
app-emulation/vmware-modules/files/304-3.11-01-filldir.patch
Normal file
|
@ -0,0 +1,53 @@
|
|||
simply remove the code for Filldir since it is no longer used with the new
|
||||
iterate_dir API
|
||||
|
||||
diff -rupN vmblock-only/linux/file.c vmblock-only.new/linux/file.c
|
||||
--- vmblock-only/linux/file.c 2014-10-07 23:22:46.832469618 -0400
|
||||
+++ vmblock-only.new/linux/file.c 2014-10-07 23:24:35.276472720 -0400
|
||||
@@ -38,46 +38,6 @@ typedef u64 inode_num_t;
|
||||
typedef ino_t inode_num_t;
|
||||
#endif
|
||||
|
||||
-/* Specifically for our filldir_t callback */
|
||||
-typedef struct FilldirInfo {
|
||||
- filldir_t filldir;
|
||||
- void *dirent;
|
||||
-} FilldirInfo;
|
||||
-
|
||||
-
|
||||
-/*
|
||||
- *----------------------------------------------------------------------------
|
||||
- *
|
||||
- * Filldir --
|
||||
- *
|
||||
- * Callback function for readdir that we use in place of the one provided.
|
||||
- * This allows us to specify that each dentry is a symlink, but pass through
|
||||
- * everything else to the original filldir function.
|
||||
- *
|
||||
- * Results:
|
||||
- * Original filldir's return value.
|
||||
- *
|
||||
- * Side effects:
|
||||
- * Directory information gets copied to user's buffer.
|
||||
- *
|
||||
- *----------------------------------------------------------------------------
|
||||
- */
|
||||
-
|
||||
-static int
|
||||
-Filldir(void *buf, // IN: Dirent buffer passed from FileOpReaddir
|
||||
- const char *name, // IN: Dirent name
|
||||
- int namelen, // IN: len of dirent's name
|
||||
- loff_t offset, // IN: Offset
|
||||
- inode_num_t ino, // IN: Inode number of dirent
|
||||
- unsigned int d_type) // IN: Type of file
|
||||
-{
|
||||
- FilldirInfo *info = buf;
|
||||
-
|
||||
- /* Specify DT_LNK regardless */
|
||||
- return info->filldir(info->dirent, name, namelen, offset, ino, DT_LNK);
|
||||
-}
|
||||
-
|
||||
-
|
||||
/* File operations */
|
||||
|
||||
/*
|
46
app-emulation/vmware-modules/files/304-3.15-00-vsock.patch
Normal file
46
app-emulation/vmware-modules/files/304-3.15-00-vsock.patch
Normal file
|
@ -0,0 +1,46 @@
|
|||
removing the no longer existing second parameter to sk_data_ready
|
||||
doesn't seem it ever served a purpose.
|
||||
|
||||
diff -rupN vsock-only/linux/notify.c vsock-only.new/linux/notify.c
|
||||
--- vsock-only/linux/notify.c 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vsock-only.new/linux/notify.c 2014-10-05 23:46:47.943304728 -0400
|
||||
@@ -515,8 +515,11 @@ VSockVmciHandleWrote(struct sock *sk,
|
||||
vsk = vsock_sk(sk);
|
||||
PKT_FIELD(vsk, sentWaitingRead) = FALSE;
|
||||
#endif
|
||||
-
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
diff -rupN vsock-only/linux/notifyQState.c vsock-only.new/linux/notifyQState.c
|
||||
--- vsock-only/linux/notifyQState.c 2013-11-05 23:33:27.000000000 -0500
|
||||
+++ vsock-only.new/linux/notifyQState.c 2014-10-05 23:46:33.231303931 -0400
|
||||
@@ -164,7 +164,11 @@ VSockVmciHandleWrote(struct sock *sk,
|
||||
struct sockaddr_vm *dst, // IN: unused
|
||||
struct sockaddr_vm *src) // IN: unused
|
||||
{
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -566,7 +570,11 @@ VSockVmciNotifyPktRecvPostDequeue(struct
|
||||
}
|
||||
|
||||
/* See the comment in VSockVmciNotifyPktSendPostEnqueue */
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
|
||||
+ sk->sk_data_ready(sk);
|
||||
+#else
|
||||
sk->sk_data_ready(sk, 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
return err;
|
|
@ -0,0 +1,25 @@
|
|||
Hushes some (but not all warnings) relating to redefinitions of this define
|
||||
--- a/vmci-only/shared/vm_device_version.h 2015-02-07 03:11:55.000000000 +0300
|
||||
+++ c/vmci-only/shared/vm_device_version.h 2015-02-24 03:58:06.041605450 +0300
|
||||
@@ -53,7 +53,9 @@
|
||||
* VMware HD Audio codec
|
||||
* VMware HD Audio controller
|
||||
*/
|
||||
+#ifndef PCI_VENDOR_ID_VMWARE
|
||||
#define PCI_VENDOR_ID_VMWARE 0x15AD
|
||||
+#endif
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA 0x0710
|
||||
#define PCI_DEVICE_ID_VMWARE_VGA 0x0711
|
||||
--- a/vmnet-only/vm_device_version.h 2015-02-07 03:54:16.000000000 +0300
|
||||
+++ c/vmnet-only/vm_device_version.h 2015-02-24 03:58:06.044604981 +0300
|
||||
@@ -53,7 +53,9 @@
|
||||
* VMware HD Audio codec
|
||||
* VMware HD Audio controller
|
||||
*/
|
||||
+#ifndef PCI_VENDOR_ID_VMWARE
|
||||
#define PCI_VENDOR_ID_VMWARE 0x15AD
|
||||
+#endif
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405
|
||||
#define PCI_DEVICE_ID_VMWARE_SVGA 0x0710
|
||||
#define PCI_DEVICE_ID_VMWARE_VGA 0x0711
|
|
@ -0,0 +1,24 @@
|
|||
A copy of this since it is no longer exported by the kernel headers
|
||||
--- a/vmblock-only/shared/compat_namei.h 2015-02-07 03:11:55.000000000 +0300
|
||||
+++ c/vmblock-only/shared/compat_namei.h 2015-02-24 03:51:25.235286047 +0300
|
||||
@@ -21,6 +21,20 @@
|
||||
|
||||
#include <linux/namei.h>
|
||||
|
||||
+/* Copy-n-paste from kernel's source/fs/namei.c */
|
||||
+struct nameidata {
|
||||
+ struct path path;
|
||||
+ struct qstr last;
|
||||
+ struct path root;
|
||||
+ struct inode *inode; /* path.dentry.d_inode */
|
||||
+ unsigned int flags;
|
||||
+ unsigned seq, m_seq;
|
||||
+ int last_type;
|
||||
+ unsigned depth;
|
||||
+ struct file *base;
|
||||
+ char *saved_names[MAX_NESTED_LINKS + 1];
|
||||
+};
|
||||
+
|
||||
/*
|
||||
* In 2.6.25-rc2, dentry and mount objects were removed from the nameidata
|
||||
* struct. They were both replaced with a struct path.
|
14
app-emulation/vmware-modules/files/304-3.19-01-dentry.patch
Normal file
14
app-emulation/vmware-modules/files/304-3.19-01-dentry.patch
Normal file
|
@ -0,0 +1,14 @@
|
|||
There is an level of abstrxtion in the newre API as of 3.19 here
|
||||
--- a/vmnet-only/driver.c 2015-02-07 03:54:17.000000000 +0300
|
||||
+++ c/vmnet-only/driver.c 2015-02-24 03:58:06.043605137 +0300
|
||||
@@ -1191,8 +1191,8 @@
|
||||
struct inode *inode = NULL;
|
||||
long err;
|
||||
|
||||
- if (filp && filp->f_dentry) {
|
||||
- inode = filp->f_dentry->d_inode;
|
||||
+ if (filp && filp->f_path.dentry) {
|
||||
+ inode = filp->f_path.dentry->d_inode;
|
||||
}
|
||||
err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
|
||||
return err;
|
|
@ -0,0 +1,67 @@
|
|||
Sources:
|
||||
https://531682.bugs.gentoo.org/attachment.cgi?id=396484
|
||||
https://531682.bugs.gentoo.org/attachment.cgi?id=396482
|
||||
diff -rupN vmblock-only.orig/linux/dentry.c vmblock-only/linux/dentry.c
|
||||
--- vmblock-only.orig/linux/dentry.c 2015-02-14 18:05:46.000000000 -0500
|
||||
+++ vmblock-only/linux/dentry.c 2015-02-14 18:09:59.000000000 -0500
|
||||
@@ -63,7 +63,7 @@ DentryOpRevalidate(struct dentry *dentry
|
||||
unsigned int flags) // IN: lookup flags & intent
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
- struct nameidata actualNd;
|
||||
+ struct path actualNd;
|
||||
struct dentry *actualDentry;
|
||||
int ret;
|
||||
|
||||
diff -rupN vmblock-only.orig/linux/filesystem.c vmblock-only/linux/filesystem.c
|
||||
--- vmblock-only.orig/linux/filesystem.c 2014-11-20 19:29:15.000000000 -0500
|
||||
+++ vmblock-only/linux/filesystem.c 2015-02-14 18:10:49.000000000 -0500
|
||||
@@ -322,7 +322,7 @@ Iget(struct super_block *sb, // IN: f
|
||||
{
|
||||
VMBlockInodeInfo *iinfo;
|
||||
struct inode *inode;
|
||||
- struct nameidata actualNd;
|
||||
+ struct path actualNd;
|
||||
|
||||
ASSERT(sb);
|
||||
|
||||
diff -rupN vmblock-only.orig/shared/compat_namei.h vmblock-only/shared/compat_namei.h
|
||||
--- vmblock-only.orig/shared/compat_namei.h 2014-11-20 19:29:15.000000000 -0500
|
||||
+++ vmblock-only/shared/compat_namei.h 2015-02-14 18:08:38.000000000 -0500
|
||||
@@ -26,21 +26,21 @@
|
||||
* struct. They were both replaced with a struct path.
|
||||
*/
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
|
||||
-#define compat_vmw_nd_to_dentry(nd) (nd).path.dentry
|
||||
+#define compat_vmw_nd_to_dentry(nd) (nd).dentry
|
||||
#else
|
||||
#define compat_vmw_nd_to_dentry(nd) (nd).dentry
|
||||
#endif
|
||||
|
||||
/* In 2.6.25-rc2, path_release(&nd) was replaced with path_put(&nd.path). */
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
|
||||
-#define compat_path_release(nd) path_put(&(nd)->path)
|
||||
+#define compat_path_release(nd) path_put(nd)
|
||||
#else
|
||||
#define compat_path_release(nd) path_release(nd)
|
||||
#endif
|
||||
|
||||
/* path_lookup was removed in 2.6.39 merge window VFS merge */
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
|
||||
-#define compat_path_lookup(name, flags, nd) kern_path(name, flags, &((nd)->path))
|
||||
+#define compat_path_lookup(name, flags, nd) kern_path(name, flags, nd)
|
||||
#else
|
||||
#define compat_path_lookup(name, flags, nd) path_lookup(name, flags, nd)
|
||||
#endif
|
||||
diff -u vmblock-only.orig/linux/file.c vmblock-only/linux/file.c
|
||||
--- vmblock-only.orig/linux/file.c 2015-02-11 12:18:29.000000000 -0500
|
||||
+++ vmblock-only/linux/file.c 2015-02-11 12:41:41.000000000 -0500
|
||||
@@ -92,7 +92,7 @@
|
||||
* and that would try to acquire the inode's semaphore; if the two inodes
|
||||
* are the same we'll deadlock.
|
||||
*/
|
||||
- if (actualFile->f_dentry && inode == actualFile->f_dentry->d_inode) {
|
||||
+ if (actualFile->f_path.dentry && inode == actualFile->f_path.dentry->d_inode) {
|
||||
Warning("FileOpOpen: identical inode encountered, open cannot succeed.\n");
|
||||
if (filp_close(actualFile, current->files) < 0) {
|
||||
Warning("FileOpOpen: unable to close opened file.\n");
|
20
app-emulation/vmware-modules/files/304-3.19-03-iovec.patch
Normal file
20
app-emulation/vmware-modules/files/304-3.19-03-iovec.patch
Normal file
|
@ -0,0 +1,20 @@
|
|||
using new iterator based API, this matches exactly the changes made upstream as of vmware-modules-304.2
|
||||
--- a/vmnet-only/userif.c 2015-02-07 03:54:17.000000000 +0300
|
||||
+++ c/vmnet-only/userif.c 2015-02-24 03:58:06.043605137 +0300
|
||||
@@ -523,7 +523,15 @@
|
||||
.iov_base = buf,
|
||||
.iov_len = len,
|
||||
};
|
||||
- return skb_copy_datagram_iovec(skb, 0, &iov, len);
|
||||
+
|
||||
+
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
|
||||
+ return skb_copy_datagram_iovec(skb, 0, &iov, len);
|
||||
+#else
|
||||
+ struct iov_iter to;
|
||||
+ iov_iter_init(&to, READ, &iov, 1, len);
|
||||
+ return skb_copy_datagram_iter(skb, 0, &to, len);
|
||||
+#endif
|
||||
}
|
||||
|
||||
|
59
app-emulation/vmware-modules/files/304-3.19-04-iovec.patch
Normal file
59
app-emulation/vmware-modules/files/304-3.19-04-iovec.patch
Normal file
|
@ -0,0 +1,59 @@
|
|||
Some parts of the iovec API were replaced by the similar message API. Refactoring the code to use that.
|
||||
--- a/vmci-only/linux/vmciKernelIf.c 2015-02-07 03:11:55.000000000 +0300
|
||||
+++ c/vmci-only/linux/vmciKernelIf.c 2015-02-24 03:58:06.041605450 +0300
|
||||
@@ -40,6 +40,7 @@
|
||||
#include <linux/socket.h> /* For memcpy_{to,from}iovec(). */
|
||||
#include <linux/vmalloc.h>
|
||||
#include <linux/wait.h>
|
||||
+#include <linux/skbuff.h>
|
||||
|
||||
#include "compat_highmem.h"
|
||||
#include "compat_interrupt.h"
|
||||
@@ -1196,21 +1197,21 @@
|
||||
} else {
|
||||
toCopy = size - bytesCopied;
|
||||
}
|
||||
-
|
||||
+ /* Code cloned from kernels drivers/misc/vmw_vmci/vmci_queue_pair.c */
|
||||
if (isIovec) {
|
||||
- struct iovec *iov = (struct iovec *)src;
|
||||
- int err;
|
||||
+ struct msghdr *msg = (struct msghdr *)src;
|
||||
+ int err;
|
||||
|
||||
- /* The iovec will track bytesCopied internally. */
|
||||
- err = memcpy_fromiovec((uint8 *)va + pageOffset, iov, toCopy);
|
||||
- if (err != 0) {
|
||||
- if (kernelIf->host) {
|
||||
- kunmap(kernelIf->u.h.page[pageIndex]);
|
||||
+ /* The iovec will track bytes_copied internally. */
|
||||
+ err = memcpy_from_msg((u8 *)va + pageOffset, msg, toCopy);
|
||||
+ if (err != 0) {
|
||||
+ if (kernelIf->host)
|
||||
+ kunmap(kernelIf->u.h.page[pageIndex]);
|
||||
+ return VMCI_ERROR_INVALID_ARGS;
|
||||
}
|
||||
- return VMCI_ERROR_INVALID_ARGS;
|
||||
- }
|
||||
- } else {
|
||||
- memcpy((uint8 *)va + pageOffset, (uint8 *)src + bytesCopied, toCopy);
|
||||
+ } else {
|
||||
+ memcpy((u8 *)va + pageOffset,
|
||||
+ (u8 *)src + bytesCopied, toCopy);
|
||||
}
|
||||
|
||||
bytesCopied += toCopy;
|
||||
@@ -1273,11 +1274,11 @@
|
||||
}
|
||||
|
||||
if (isIovec) {
|
||||
- struct iovec *iov = (struct iovec *)dest;
|
||||
+ struct msghdr *msg = (struct msghdr *)dest;
|
||||
int err;
|
||||
|
||||
/* The iovec will track bytesCopied internally. */
|
||||
- err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy);
|
||||
+ err = memcpy_to_msg(msg, (uint8 *)va + pageOffset, toCopy);
|
||||
if (err != 0) {
|
||||
if (kernelIf->host) {
|
||||
kunmap(kernelIf->u.h.page[pageIndex]);
|
|
@ -0,0 +1,25 @@
|
|||
Some parts of the iovec API were replaced by the similar message API. Refactoring the code to use that.
|
||||
diff -rupN vsock-only.old/linux/af_vsock.c vsock-only/linux/af_vsock.c
|
||||
--- vsock-only.old/linux/af_vsock.c 2015-05-06 20:41:47.684046762 -0400
|
||||
+++ vsock-only/linux/af_vsock.c 2015-05-06 20:52:15.245080779 -0400
|
||||
@@ -4629,7 +4629,7 @@ VSockVmciStreamSendmsg(struct kiocb *kio
|
||||
* able to send.
|
||||
*/
|
||||
|
||||
- written = vmci_qpair_enquev(vsk->qpair, msg->msg_iov,
|
||||
+ written = vmci_qpair_enquev(vsk->qpair, &msg->msg_iter.iov,
|
||||
len - totalWritten, 0);
|
||||
if (written < 0) {
|
||||
err = -ENOMEM;
|
||||
@@ -4874,9 +4874,9 @@ VSockVmciStreamRecvmsg(struct kiocb *kio
|
||||
}
|
||||
|
||||
if (flags & MSG_PEEK) {
|
||||
- read = vmci_qpair_peekv(vsk->qpair, msg->msg_iov, len - copied, 0);
|
||||
+ read = vmci_qpair_peekv(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
|
||||
} else {
|
||||
- read = vmci_qpair_dequev(vsk->qpair, msg->msg_iov, len - copied, 0);
|
||||
+ read = vmci_qpair_dequev(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
|
||||
}
|
||||
|
||||
if (read < 0) {
|
16
app-emulation/vmware-modules/files/304-3.19-06-vsock.patch
Normal file
16
app-emulation/vmware-modules/files/304-3.19-06-vsock.patch
Normal file
|
@ -0,0 +1,16 @@
|
|||
Some parts of the iovec API were replaced by the similar message API. Refactoring the code to use that.
|
||||
diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
|
||||
--- vsock-only/linux/af_vsock.c 2015-05-05 11:31:35.710099711 -0400
|
||||
+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:36:33.260115840 -0400
|
||||
@@ -4727,7 +4727,11 @@ VSockVmciDgramRecvmsg(struct kiocb *kioc
|
||||
}
|
||||
|
||||
/* Place the datagram payload in the user's iovec. */
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
|
||||
err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen);
|
||||
+#else
|
||||
+ err = skb_copy_datagram_iter(skb, sizeof *dg, &msg->msg_iter, payloadLen);
|
||||
+#endif
|
||||
if (err) {
|
||||
goto out;
|
||||
}
|
13
app-emulation/vmware-modules/files/304-3.19-07-vsock.patch
Normal file
13
app-emulation/vmware-modules/files/304-3.19-07-vsock.patch
Normal file
|
@ -0,0 +1,13 @@
|
|||
Some parts of the iovec API were replaced by the similar message API. Refactoring the code to use that.
|
||||
diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
|
||||
--- vsock-only/linux/af_vsock.c 2015-05-05 11:26:05.145081792 -0400
|
||||
+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:30:54.304097466 -0400
|
||||
@@ -4266,7 +4266,7 @@ VSockVmciDgramSendmsg(struct kiocb *kioc
|
||||
goto out;
|
||||
}
|
||||
|
||||
- memcpy_fromiovec(VMCI_DG_PAYLOAD(dg), msg->msg_iov, len);
|
||||
+ memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len);
|
||||
|
||||
dg->dst = VMCI_MAKE_HANDLE(remoteAddr->svm_cid, remoteAddr->svm_port);
|
||||
dg->src = VMCI_MAKE_HANDLE(vsk->localAddr.svm_cid, vsk->localAddr.svm_port);
|
12
app-emulation/vmware-modules/files/304-apic.patch
Normal file
12
app-emulation/vmware-modules/files/304-apic.patch
Normal file
|
@ -0,0 +1,12 @@
|
|||
diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c
|
||||
index f1f4b10..c43242f 100644
|
||||
--- a/vmmon-only/linux/hostif.c
|
||||
+++ b/vmmon-only/linux/hostif.c
|
||||
@@ -55,6 +55,7 @@
|
||||
#include <linux/kthread.h>
|
||||
#include <linux/wait.h>
|
||||
|
||||
+#include <asm/apic.h>
|
||||
|
||||
#include "vmware.h"
|
||||
#include "x86apic.h"
|
113
app-emulation/vmware-modules/files/304-hardened.patch
Normal file
113
app-emulation/vmware-modules/files/304-hardened.patch
Normal file
|
@ -0,0 +1,113 @@
|
|||
diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c
|
||||
index b21dd44..960c2aa 100644
|
||||
--- a/vmmon-only/linux/driver.c
|
||||
+++ b/vmmon-only/linux/driver.c
|
||||
@@ -178,7 +178,22 @@ static struct vm_operations_struct vmuser_mops = {
|
||||
#endif
|
||||
};
|
||||
|
||||
-static struct file_operations vmuser_fops;
|
||||
+static struct file_operations vmuser_fops = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .poll = LinuxDriverPoll,
|
||||
+#ifdef HAVE_UNLOCKED_IOCTL
|
||||
+ .unlocked_ioctl = LinuxDriver_UnlockedIoctl,
|
||||
+#else
|
||||
+ .ioctl = LinuxDriver_Ioctl,
|
||||
+#endif
|
||||
+#ifdef HAVE_COMPAT_IOCTL
|
||||
+ .compat_ioctl = LinuxDriver_UnlockedIoctl,
|
||||
+#endif
|
||||
+ .open = LinuxDriver_Open,
|
||||
+ .release = LinuxDriver_Close,
|
||||
+ .mmap = LinuxDriverMmap
|
||||
+};
|
||||
+
|
||||
static struct timer_list tscTimer;
|
||||
|
||||
/*
|
||||
@@ -357,27 +372,6 @@ init_module(void)
|
||||
spin_lock_init(&linuxState.pollListLock);
|
||||
#endif
|
||||
|
||||
- /*
|
||||
- * Initialize the file_operations structure. Because this code is always
|
||||
- * compiled as a module, this is fine to do it here and not in a static
|
||||
- * initializer.
|
||||
- */
|
||||
-
|
||||
- memset(&vmuser_fops, 0, sizeof vmuser_fops);
|
||||
- vmuser_fops.owner = THIS_MODULE;
|
||||
- vmuser_fops.poll = LinuxDriverPoll;
|
||||
-#ifdef HAVE_UNLOCKED_IOCTL
|
||||
- vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl;
|
||||
-#else
|
||||
- vmuser_fops.ioctl = LinuxDriver_Ioctl;
|
||||
-#endif
|
||||
-#ifdef HAVE_COMPAT_IOCTL
|
||||
- vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl;
|
||||
-#endif
|
||||
- vmuser_fops.open = LinuxDriver_Open;
|
||||
- vmuser_fops.release = LinuxDriver_Close;
|
||||
- vmuser_fops.mmap = LinuxDriverMmap;
|
||||
-
|
||||
#ifdef VMX86_DEVEL
|
||||
devel_init_module();
|
||||
linuxState.minor = 0;
|
||||
diff --git a/vmnet-only/driver.c b/vmnet-only/driver.c
|
||||
index b12b982..40bd4cf 100644
|
||||
--- a/vmnet-only/driver.c
|
||||
+++ b/vmnet-only/driver.c
|
||||
@@ -165,7 +165,22 @@ static long VNetFileOpUnlockedIoctl(struct file * filp,
|
||||
unsigned int iocmd, unsigned long ioarg);
|
||||
#endif
|
||||
|
||||
-static struct file_operations vnetFileOps;
|
||||
+static struct file_operations vnetFileOps = {
|
||||
+ .owner = THIS_MODULE,
|
||||
+ .read = VNetFileOpRead,
|
||||
+ .write = VNetFileOpWrite,
|
||||
+ .poll = VNetFileOpPoll,
|
||||
+#ifdef HAVE_UNLOCKED_IOCTL
|
||||
+ .unlocked_ioctl = VNetFileOpUnlockedIoctl,
|
||||
+#else
|
||||
+ .ioctl = VNetFileOpIoctl,
|
||||
+#endif
|
||||
+#ifdef HAVE_COMPAT_IOCTL
|
||||
+ .compat_ioctl = VNetFileOpUnlockedIoctl,
|
||||
+#endif
|
||||
+ .open = VNetFileOpOpen,
|
||||
+ .release = VNetFileOpClose
|
||||
+};
|
||||
|
||||
/*
|
||||
* Utility functions
|
||||
@@ -476,28 +491,6 @@ init_module(void)
|
||||
goto err_proto;
|
||||
}
|
||||
|
||||
- /*
|
||||
- * Initialize the file_operations structure. Because this code is always
|
||||
- * compiled as a module, this is fine to do it here and not in a static
|
||||
- * initializer.
|
||||
- */
|
||||
-
|
||||
- memset(&vnetFileOps, 0, sizeof vnetFileOps);
|
||||
- vnetFileOps.owner = THIS_MODULE;
|
||||
- vnetFileOps.read = VNetFileOpRead;
|
||||
- vnetFileOps.write = VNetFileOpWrite;
|
||||
- vnetFileOps.poll = VNetFileOpPoll;
|
||||
-#ifdef HAVE_UNLOCKED_IOCTL
|
||||
- vnetFileOps.unlocked_ioctl = VNetFileOpUnlockedIoctl;
|
||||
-#else
|
||||
- vnetFileOps.ioctl = VNetFileOpIoctl;
|
||||
-#endif
|
||||
-#ifdef HAVE_COMPAT_IOCTL
|
||||
- vnetFileOps.compat_ioctl = VNetFileOpUnlockedIoctl;
|
||||
-#endif
|
||||
- vnetFileOps.open = VNetFileOpOpen;
|
||||
- vnetFileOps.release = VNetFileOpClose;
|
||||
-
|
||||
retval = register_chrdev(VNET_MAJOR_NUMBER, "vmnet", &vnetFileOps);
|
||||
if (retval) {
|
||||
LOG(0, (KERN_NOTICE "/dev/vmnet: could not register major device %d\n",
|
|
@ -0,0 +1,65 @@
|
|||
diff --git a/vmblock-only/Makefile.kernel b/vmblock-only/Makefile.kernel
|
||||
index ab7a727..e3ec9d2 100644
|
||||
--- a/vmblock-only/Makefile.kernel
|
||||
+++ b/vmblock-only/Makefile.kernel
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
INCLUDE += -I$(SRCROOT)/include
|
||||
|
||||
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
|
||||
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
|
||||
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachecreate.c, -DVMW_KMEMCR_HAS_DTOR, )
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachector.c, -DVMW_KMEMCR_CTOR_HAS_3_ARGS, )
|
||||
diff --git a/vmci-only/Makefile.kernel b/vmci-only/Makefile.kernel
|
||||
index ba343ee..861ea83 100644
|
||||
--- a/vmci-only/Makefile.kernel
|
||||
+++ b/vmci-only/Makefile.kernel
|
||||
@@ -21,7 +21,7 @@ CC_OPTS += -DVMCI
|
||||
|
||||
INCLUDE += -I$(SRCROOT)/shared -I$(SRCROOT)/common -I$(SRCROOT)/linux
|
||||
|
||||
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
|
||||
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
|
||||
|
||||
obj-m += $(DRIVER).o
|
||||
|
||||
diff --git a/vmmon-only/Makefile.kernel b/vmmon-only/Makefile.kernel
|
||||
index 8770d1d..c4746c3 100644
|
||||
--- a/vmmon-only/Makefile.kernel
|
||||
+++ b/vmmon-only/Makefile.kernel
|
||||
@@ -22,7 +22,7 @@ CC_OPTS += -DVMMON -DVMCORE
|
||||
INCLUDE := -I$(SRCROOT)/include -I$(SRCROOT)/common -I$(SRCROOT)/linux \
|
||||
-I$(SRCROOT)/vmcore
|
||||
|
||||
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
|
||||
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
|
||||
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/autoconf/smpcall.c, -DVMW_HAVE_SMP_CALL_3ARG, )
|
||||
|
||||
diff --git a/vmnet-only/Makefile.kernel b/vmnet-only/Makefile.kernel
|
||||
index d1e3133..665d428 100644
|
||||
--- a/vmnet-only/Makefile.kernel
|
||||
+++ b/vmnet-only/Makefile.kernel
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
INCLUDE := -I$(SRCROOT)
|
||||
|
||||
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
|
||||
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_net.c,-DVMW_NETDEV_HAS_NET, )
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_dev_net.c,-DVMW_NETDEV_HAS_DEV_NET, )
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/nfhook_uses_skb.c,-DVMW_NFHOOK_USES_SKB, )
|
||||
diff --git a/vsock-only/Makefile.kernel b/vsock-only/Makefile.kernel
|
||||
index b4629ee..264b8cb 100644
|
||||
--- a/vsock-only/Makefile.kernel
|
||||
+++ b/vsock-only/Makefile.kernel
|
||||
@@ -25,7 +25,7 @@ INCLUDE += -I$(SRCROOT)/include
|
||||
INCLUDE += -I$(SRCROOT)/linux
|
||||
INCLUDE += -I$(SRCROOT)/common
|
||||
|
||||
-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
|
||||
+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
|
||||
EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/netcreate_num_params.c, -DVMW_NETCREATE_KERNARG, )
|
||||
|
||||
|
|
@ -0,0 +1,85 @@
|
|||
diff --git a/vmblock-only/Makefile b/vmblock-only/Makefile
|
||||
index 2b81323..746c8b8 100644
|
||||
--- a/vmblock-only/Makefile
|
||||
+++ b/vmblock-only/Makefile
|
||||
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
|
||||
ifdef LINUXINCLUDE
|
||||
HEADER_DIR = $(LINUXINCLUDE)
|
||||
else
|
||||
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
|
||||
+HEADER_DIR = $(KERNEL_DIR)
|
||||
endif
|
||||
|
||||
-BUILD_DIR = $(HEADER_DIR)/..
|
||||
+BUILD_DIR = $(KBUILD_OUTPUT)
|
||||
|
||||
DRIVER := vmblock
|
||||
PRODUCT := ws
|
||||
diff --git a/vmci-only/Makefile b/vmci-only/Makefile
|
||||
index 8e9c5be..6ec828b 100644
|
||||
--- a/vmci-only/Makefile
|
||||
+++ b/vmci-only/Makefile
|
||||
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
|
||||
ifdef LINUXINCLUDE
|
||||
HEADER_DIR = $(LINUXINCLUDE)
|
||||
else
|
||||
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
|
||||
+HEADER_DIR = $(KERNEL_DIR)
|
||||
endif
|
||||
|
||||
-BUILD_DIR = $(HEADER_DIR)/..
|
||||
+BUILD_DIR = $(KBUILD_OUTPUT)
|
||||
|
||||
DRIVER := vmci
|
||||
PRODUCT := ws
|
||||
diff --git a/vmmon-only/Makefile b/vmmon-only/Makefile
|
||||
index 5bd867b..91a83d4 100644
|
||||
--- a/vmmon-only/Makefile
|
||||
+++ b/vmmon-only/Makefile
|
||||
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
|
||||
ifdef LINUXINCLUDE
|
||||
HEADER_DIR = $(LINUXINCLUDE)
|
||||
else
|
||||
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
|
||||
+HEADER_DIR = $(KERNEL_DIR)
|
||||
endif
|
||||
|
||||
-BUILD_DIR = $(HEADER_DIR)/..
|
||||
+BUILD_DIR = $(KBUILD_OUTPUT)
|
||||
|
||||
DRIVER := vmmon
|
||||
PRODUCT := @@PRODUCT@@
|
||||
diff --git a/vmnet-only/Makefile b/vmnet-only/Makefile
|
||||
index d4eb73c..c7c6d38 100644
|
||||
--- a/vmnet-only/Makefile
|
||||
+++ b/vmnet-only/Makefile
|
||||
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
|
||||
ifdef LINUXINCLUDE
|
||||
HEADER_DIR = $(LINUXINCLUDE)
|
||||
else
|
||||
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
|
||||
+HEADER_DIR = $(KERNEL_DIR)
|
||||
endif
|
||||
|
||||
-BUILD_DIR = $(HEADER_DIR)/..
|
||||
+BUILD_DIR = $(KBUILD_OUTPUT)
|
||||
|
||||
DRIVER := vmnet
|
||||
PRODUCT := @@PRODUCT@@
|
||||
diff --git a/vsock-only/Makefile b/vsock-only/Makefile
|
||||
index 93dd61d..9765696 100644
|
||||
--- a/vsock-only/Makefile
|
||||
+++ b/vsock-only/Makefile
|
||||
@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
|
||||
ifdef LINUXINCLUDE
|
||||
HEADER_DIR = $(LINUXINCLUDE)
|
||||
else
|
||||
-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
|
||||
+HEADER_DIR = $(KERNEL_DIR)
|
||||
endif
|
||||
|
||||
-BUILD_DIR = $(HEADER_DIR)/..
|
||||
+BUILD_DIR = $(KBUILD_OUTPUT)
|
||||
|
||||
DRIVER := vsock
|
||||
PRODUCT := ws
|
24
app-emulation/vmware-modules/files/304-netdevice.patch
Normal file
24
app-emulation/vmware-modules/files/304-netdevice.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
diff --git a/vmnet-only/compat_netdevice.h b/vmnet-only/compat_netdevice.h
|
||||
index 7a56304..9ff4548 100644
|
||||
--- a/vmnet-only/compat_netdevice.h
|
||||
+++ b/vmnet-only/compat_netdevice.h
|
||||
@@ -47,6 +47,19 @@
|
||||
# define net_device device
|
||||
#endif
|
||||
|
||||
+/* it looks like these have been removed from the kernel 3.1
|
||||
+ * probably because the "transition" is considered complete.
|
||||
+ * so to keep this source compatible we just redefine them like they were
|
||||
+ * previously
|
||||
+ */
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0)
|
||||
+#define HAVE_ALLOC_NETDEV /* feature macro: alloc_xxxdev
|
||||
+ functions are available. */
|
||||
+#define HAVE_FREE_NETDEV /* free_netdev() */
|
||||
+#define HAVE_NETDEV_PRIV /* netdev_priv() */
|
||||
+#define HAVE_NETIF_QUEUE
|
||||
+#define HAVE_NET_DEVICE_OPS
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* SET_MODULE_OWNER appeared sometime during 2.3.x. It was setting
|
|
@ -2,6 +2,9 @@
|
|||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>vmware</herd>
|
||||
<longdescription>
|
||||
VMware kernel modules.
|
||||
</longdescription>
|
||||
<use>
|
||||
<flag name="pax_kernel">Apply patch needed for pax enabled kernels</flag>
|
||||
<flag name="vmci">Build the Virtual Machine Communication Interface module; disable this if you want to use the module from the mainline kernel</flag>
|
||||
|
|
108
app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild
Normal file
108
app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild
Normal file
|
@ -0,0 +1,108 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI="4"
|
||||
|
||||
inherit eutils flag-o-matic linux-info linux-mod user versionator udev
|
||||
|
||||
PV_MAJOR=$(get_major_version)
|
||||
PV_MINOR=$(get_version_component_range 2)
|
||||
|
||||
DESCRIPTION="VMware kernel modules"
|
||||
HOMEPAGE="http://www.vmware.com/"
|
||||
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="pax_kernel"
|
||||
|
||||
RDEPEND=""
|
||||
DEPEND="${RDEPEND}
|
||||
|| ( =app-emulation/vmware-player-5.0.${PV_MINOR}*
|
||||
=app-emulation/vmware-workstation-9.0.${PV_MINOR}* )"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
pkg_setup() {
|
||||
CONFIG_CHECK="~HIGH_RES_TIMERS"
|
||||
if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then
|
||||
CONFIG_CHECK="${CONFIG_CHECK} BKL"
|
||||
fi
|
||||
|
||||
linux-info_pkg_setup
|
||||
|
||||
linux-mod_pkg_setup
|
||||
|
||||
VMWARE_GROUP=${VMWARE_GROUP:-vmware}
|
||||
|
||||
VMWARE_MODULE_LIST="vmblock vmci vmmon vmnet vsock"
|
||||
VMWARE_MOD_DIR="${PN}-${PVR}"
|
||||
|
||||
BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}"
|
||||
|
||||
enewgroup "${VMWARE_GROUP}"
|
||||
filter-flags -mfpmath=sse
|
||||
|
||||
for mod in ${VMWARE_MODULE_LIST}; do
|
||||
MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)"
|
||||
done
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
cd "${S}"
|
||||
for mod in ${VMWARE_MODULE_LIST}; do
|
||||
tar -xf /opt/vmware/lib/vmware/modules/source/${mod}.tar
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/${PV_MAJOR}-makefile-kernel-dir.patch"
|
||||
epatch "${FILESDIR}/${PV_MAJOR}-makefile-include.patch"
|
||||
epatch "${FILESDIR}/${PV_MAJOR}-netdevice.patch"
|
||||
use pax_kernel && epatch "${FILESDIR}/${PV_MAJOR}-hardened.patch"
|
||||
epatch "${FILESDIR}/${PV_MAJOR}-apic.patch"
|
||||
kernel_is ge 3 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-putname.patch"
|
||||
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-00-userns.patch"
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-01-create_proc_entry.patch"
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-02-getname.patch"
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-03-deprecated.patch"
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-04-unused-typedef.patch"
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-05-dentry.patch"
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-06-inode.patch"
|
||||
|
||||
# fixes a memcpy/memcmp bug in the hub code
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-07-hub.patch"
|
||||
|
||||
kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-00-readdir.patch"
|
||||
kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-01-filldir.patch"
|
||||
kernel_is ge 3 13 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.13-00-vmnet.patch"
|
||||
kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-00-readlink.patch"
|
||||
kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-01-vsock.patch"
|
||||
kernel_is ge 3 17 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.17-00-netdev.patch"
|
||||
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-00-vmnet-warning.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-01-vmblock-path.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-02-vmci.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-03-vmnet.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-04-vsock.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-05-vsock.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-06-vmci_qpair.patch"
|
||||
|
||||
# Allow user patches so they can support RC kernels and whatever else
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_install() {
|
||||
linux-mod_src_install
|
||||
local udevrules="${T}/60-vmware.rules"
|
||||
cat > "${udevrules}" <<-EOF
|
||||
KERNEL=="vmci", GROUP="vmware", MODE="660"
|
||||
KERNEL=="vmmon", GROUP="vmware", MODE="660"
|
||||
KERNEL=="vsock", GROUP="vmware", MODE="660"
|
||||
EOF
|
||||
udev_dorules "${udevrules}"
|
||||
}
|
116
app-emulation/vmware-modules/vmware-modules-279.6.ebuild
Normal file
116
app-emulation/vmware-modules/vmware-modules-279.6.ebuild
Normal file
|
@ -0,0 +1,116 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils flag-o-matic linux-info linux-mod user versionator udev
|
||||
|
||||
PV_MAJOR=$(get_major_version)
|
||||
PV_MINOR=$(get_version_component_range 2)
|
||||
|
||||
DESCRIPTION="VMware kernel modules"
|
||||
HOMEPAGE="http://www.vmware.com/"
|
||||
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="pax_kernel +vmci +vsock"
|
||||
|
||||
RDEPEND=""
|
||||
DEPEND="${RDEPEND}
|
||||
|| ( =app-emulation/vmware-player-6.0.${PV_MINOR}*
|
||||
=app-emulation/vmware-workstation-10.0.${PV_MINOR}* )"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
pkg_setup() {
|
||||
CONFIG_CHECK="~HIGH_RES_TIMERS"
|
||||
if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then
|
||||
CONFIG_CHECK="${CONFIG_CHECK} BKL"
|
||||
fi
|
||||
if use vmci ; then
|
||||
CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI"
|
||||
else
|
||||
CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI"
|
||||
fi
|
||||
if use vsock ; then
|
||||
CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI_VSOCKETS"
|
||||
else
|
||||
CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI_VSOCKETS"
|
||||
fi
|
||||
|
||||
linux-info_pkg_setup
|
||||
|
||||
linux-mod_pkg_setup
|
||||
|
||||
VMWARE_GROUP=${VMWARE_GROUP:-vmware}
|
||||
|
||||
VMWARE_MODULE_LIST_ALL="vmblock vmmon vmnet vmci vsock"
|
||||
VMWARE_MODULE_LIST="vmblock vmmon vmnet"
|
||||
use vmci && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vmci"
|
||||
use vsock && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vsock"
|
||||
|
||||
VMWARE_MOD_DIR="${PN}-${PVR}"
|
||||
|
||||
BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}"
|
||||
|
||||
enewgroup "${VMWARE_GROUP}"
|
||||
filter-flags -mfpmath=sse
|
||||
|
||||
for mod in ${VMWARE_MODULE_LIST}; do
|
||||
MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)"
|
||||
done
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
cd "${S}"
|
||||
for mod in ${VMWARE_MODULE_LIST_ALL}; do
|
||||
tar -xf /opt/vmware/lib/vmware/modules/source/${mod}.tar
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/${PV_MAJOR}-makefile-kernel-dir.patch"
|
||||
epatch "${FILESDIR}/${PV_MAJOR}-makefile-include.patch"
|
||||
epatch "${FILESDIR}/${PV_MAJOR}-netdevice.patch"
|
||||
use pax_kernel && epatch "${FILESDIR}/279-hardened.patch"
|
||||
epatch "${FILESDIR}/${PV_MAJOR}-apic.patch"
|
||||
kernel_is ge 3 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-putname.patch"
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock.patch"
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-5.10-00-userns.patch"
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-01-getname.patch"
|
||||
#kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-03-deprecated.patch"
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-04-dentry.patch"
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-05-inode.patch"
|
||||
kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-filldir.patch"
|
||||
kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-00-readlink.patch"
|
||||
kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-01-vsock.patch"
|
||||
kernel_is ge 3 17 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.17-00-netdev.patch"
|
||||
kernel_is ge 3 18 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.18-00-version-redefined.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-00-compat-namei.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-01-dentry.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-02-vmblock-path.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-03-iovec.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-04-iovec.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-05-vmci_qpair.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-06-vsock.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-07-vsock.patch"
|
||||
|
||||
# Allow user patches so they can support RC kernels and whatever else
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_install() {
|
||||
linux-mod_src_install
|
||||
local udevrules="${T}/60-vmware.rules"
|
||||
cat > "${udevrules}" <<-EOF
|
||||
KERNEL=="vmci", GROUP="vmware", MODE="660"
|
||||
KERNEL=="vmw_vmci", GROUP="vmware", MODE="660"
|
||||
KERNEL=="vmmon", GROUP="vmware", MODE="660"
|
||||
KERNEL=="vsock", GROUP="vmware", MODE="660"
|
||||
EOF
|
||||
udev_dorules "${udevrules}"
|
||||
}
|
113
app-emulation/vmware-modules/vmware-modules-304.0.ebuild
Normal file
113
app-emulation/vmware-modules/vmware-modules-304.0.ebuild
Normal file
|
@ -0,0 +1,113 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils flag-o-matic linux-info linux-mod user versionator udev
|
||||
|
||||
PV_MAJOR=$(get_major_version)
|
||||
PV_MINOR=$(get_version_component_range 2)
|
||||
|
||||
DESCRIPTION="VMware kernel modules"
|
||||
HOMEPAGE="http://www.vmware.com/"
|
||||
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="pax_kernel +vmci +vsock"
|
||||
|
||||
RDEPEND=""
|
||||
DEPEND="${RDEPEND}
|
||||
|| ( =app-emulation/vmware-player-7.1.${PV_MINOR}*
|
||||
=app-emulation/vmware-workstation-11.1.${PV_MINOR}* )"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
pkg_setup() {
|
||||
CONFIG_CHECK="~HIGH_RES_TIMERS"
|
||||
if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then
|
||||
CONFIG_CHECK="${CONFIG_CHECK} BKL"
|
||||
fi
|
||||
if use vmci ; then
|
||||
CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI"
|
||||
else
|
||||
CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI"
|
||||
fi
|
||||
if use vsock ; then
|
||||
CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI_VSOCKETS"
|
||||
else
|
||||
CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI_VSOCKETS"
|
||||
fi
|
||||
|
||||
linux-info_pkg_setup
|
||||
|
||||
linux-mod_pkg_setup
|
||||
|
||||
VMWARE_GROUP=${VMWARE_GROUP:-vmware}
|
||||
|
||||
VMWARE_MODULE_LIST_ALL="vmblock vmmon vmnet vmci vsock"
|
||||
VMWARE_MODULE_LIST="vmblock vmmon vmnet"
|
||||
use vmci && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vmci"
|
||||
use vsock && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vsock"
|
||||
|
||||
VMWARE_MOD_DIR="${PN}-${PVR}"
|
||||
|
||||
BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}"
|
||||
|
||||
enewgroup "${VMWARE_GROUP}"
|
||||
filter-flags -mfpmath=sse
|
||||
|
||||
for mod in ${VMWARE_MODULE_LIST}; do
|
||||
MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)"
|
||||
done
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
cd "${S}"
|
||||
for mod in ${VMWARE_MODULE_LIST_ALL}; do
|
||||
tar -xf /opt/vmware/lib/vmware/modules/source/${mod}.tar
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/${PV_MAJOR}-makefile-kernel-dir.patch"
|
||||
epatch "${FILESDIR}/${PV_MAJOR}-makefile-include.patch"
|
||||
epatch "${FILESDIR}/${PV_MAJOR}-netdevice.patch"
|
||||
use pax_kernel && epatch "${FILESDIR}/${PV_MAJOR}-hardened.patch"
|
||||
epatch "${FILESDIR}/${PV_MAJOR}-apic.patch"
|
||||
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-00-dentry.patch"
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-01-inode.patch"
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-02-control.patch"
|
||||
kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-03-inline.patch"
|
||||
kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-00-readdir.patch"
|
||||
kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-01-filldir.patch"
|
||||
kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-00-vsock.patch"
|
||||
kernel_is ge 3 18 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.18-00-version-redefined.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-00-compat-namei.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-01-dentry.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-02-vmblock-path.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-03-iovec.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-04-iovec.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-05-vmci_qpair.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-06-vsock.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-07-vsock.patch"
|
||||
|
||||
# Allow user patches so they can support RC kernels and whatever else
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_install() {
|
||||
linux-mod_src_install
|
||||
local udevrules="${T}/60-vmware.rules"
|
||||
cat > "${udevrules}" <<-EOF
|
||||
KERNEL=="vmci", GROUP="vmware", MODE="660"
|
||||
KERNEL=="vmw_vmci", GROUP="vmware", MODE="660"
|
||||
KERNEL=="vmmon", GROUP="vmware", MODE="660"
|
||||
KERNEL=="vsock", GROUP="vmware", MODE="660"
|
||||
EOF
|
||||
udev_dorules "${udevrules}"
|
||||
}
|
113
app-emulation/vmware-modules/vmware-modules-304.2.ebuild
Normal file
113
app-emulation/vmware-modules/vmware-modules-304.2.ebuild
Normal file
|
@ -0,0 +1,113 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils flag-o-matic linux-info linux-mod user versionator udev
|
||||
|
||||
PV_MAJOR=$(get_major_version)
|
||||
PV_MINOR=$(get_version_component_range 2)
|
||||
|
||||
DESCRIPTION="VMware kernel modules"
|
||||
HOMEPAGE="http://www.vmware.com/"
|
||||
|
||||
SRC_URI=""
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="pax_kernel +vmci +vsock"
|
||||
|
||||
RDEPEND=""
|
||||
DEPEND="${RDEPEND}
|
||||
|| ( =app-emulation/vmware-player-7.1.${PV_MINOR}*
|
||||
=app-emulation/vmware-workstation-11.1.${PV_MINOR}* )"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
pkg_setup() {
|
||||
CONFIG_CHECK="~HIGH_RES_TIMERS"
|
||||
if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then
|
||||
CONFIG_CHECK="${CONFIG_CHECK} BKL"
|
||||
fi
|
||||
if use vmci ; then
|
||||
CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI"
|
||||
else
|
||||
CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI"
|
||||
fi
|
||||
if use vsock ; then
|
||||
CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI_VSOCKETS"
|
||||
else
|
||||
CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI_VSOCKETS"
|
||||
fi
|
||||
|
||||
linux-info_pkg_setup
|
||||
|
||||
linux-mod_pkg_setup
|
||||
|
||||
VMWARE_GROUP=${VMWARE_GROUP:-vmware}
|
||||
|
||||
VMWARE_MODULE_LIST_ALL="vmblock vmmon vmnet vmci vsock"
|
||||
VMWARE_MODULE_LIST="vmblock vmmon vmnet"
|
||||
use vmci && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vmci"
|
||||
use vsock && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vsock"
|
||||
|
||||
VMWARE_MOD_DIR="${PN}-${PVR}"
|
||||
|
||||
BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}"
|
||||
|
||||
enewgroup "${VMWARE_GROUP}"
|
||||
filter-flags -mfpmath=sse
|
||||
|
||||
for mod in ${VMWARE_MODULE_LIST}; do
|
||||
MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)"
|
||||
done
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
cd "${S}"
|
||||
for mod in ${VMWARE_MODULE_LIST_ALL}; do
|
||||
tar -xf /opt/vmware/lib/vmware/modules/source/${mod}.tar
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}/${PV_MAJOR}-makefile-kernel-dir.patch"
|
||||
epatch "${FILESDIR}/${PV_MAJOR}-makefile-include.patch"
|
||||
epatch "${FILESDIR}/${PV_MAJOR}-netdevice.patch"
|
||||
use pax_kernel && epatch "${FILESDIR}/${PV_MAJOR}-hardened.patch"
|
||||
epatch "${FILESDIR}/${PV_MAJOR}-apic.patch"
|
||||
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-00-dentry.patch"
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-01-inode.patch"
|
||||
kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-02-control.patch"
|
||||
kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-03-inline.patch"
|
||||
kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-00-readdir.patch"
|
||||
kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-01-filldir.patch"
|
||||
kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-00-vsock.patch"
|
||||
kernel_is ge 3 18 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.18-00-version-redefined.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-00-compat-namei.patch"
|
||||
#kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-01-dentry.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-02-vmblock-path.patch"
|
||||
#kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-03-iovec.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-04-iovec.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-05-vmci_qpair.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-06-vsock.patch"
|
||||
kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-07-vsock.patch"
|
||||
|
||||
# Allow user patches so they can support RC kernels and whatever else
|
||||
epatch_user
|
||||
}
|
||||
|
||||
src_install() {
|
||||
linux-mod_src_install
|
||||
local udevrules="${T}/60-vmware.rules"
|
||||
cat > "${udevrules}" <<-EOF
|
||||
KERNEL=="vmci", GROUP="vmware", MODE="660"
|
||||
KERNEL=="vmw_vmci", GROUP="vmware", MODE="660"
|
||||
KERNEL=="vmmon", GROUP="vmware", MODE="660"
|
||||
KERNEL=="vsock", GROUP="vmware", MODE="660"
|
||||
EOF
|
||||
udev_dorules "${udevrules}"
|
||||
}
|
|
@ -6,3 +6,7 @@ DIST VMware-Player-6.0.2-1744117.i386.bundle.tar 233226240 SHA256 b3314b1b4658ff
|
|||
DIST VMware-Player-6.0.2-1744117.x86_64.bundle.tar 200560640 SHA256 6e8ef0982303128fe2d41f59cc6d4031edcc85f4dcc8ba20e17df9837a4c972f SHA512 8e71b59e5152ec6a21e2bc87e11462fbc9f25a27ea48e73ace6daa198bc75fb0cf49d895755abe10b3fb52df0ec0586fd00e8bd51c461b7a638e745c6bbd996e WHIRLPOOL a9af879ce290a9f0ac2fb5f6af425e509455d6fb553156250013a941e782c416435be7326498ed544ee81623fbac4a5924940cc05dd56325c0d8e4c71c44b0b8
|
||||
DIST VMware-Player-6.0.3-1895310.i386.bundle.tar 233216000 SHA256 7e7afedc7cef2c10e018924e26143dfea4e7bbe1de8fc3f30ff6d6ffe681a57b SHA512 3d00bfc0f1978ece042d5dca72bebcbb37761a83678ae645c77c8e87ca4b1b7bce63b857c9f455b0dce8fda1ba1b6c2b787794bebf5ed1faa8dced78316cc060 WHIRLPOOL c6284b025f0a772674987cef231b43bb32d3e0605c575a4b8156a2c2720f5c6c35eef496495d80ed83c9a8b49d16a3d26d8c333e1eabcf1d2cf55b4775a56b17
|
||||
DIST VMware-Player-6.0.3-1895310.x86_64.bundle.tar 200550400 SHA256 6ab3d3c718d2973f486b69dfe9ad70c4a091640454f8ac8a78d505b2f57d59af SHA512 492f48e73eaf820645e6db99672106b5cc6148b53266729b85011844300b97d9cf2c36305d28ec77cc61ec70fe2883322bd23254ba3495b95bb6d92021b38036 WHIRLPOOL 9e9d8bebd05b8a4c4d2f940d6daf1305d16de31cc096f7b2ec966e9610b37cda991a2fea9f3249bbe679b6dc25c52c119a9992a94cca54fdc786737387f37b04
|
||||
DIST VMware-Player-6.0.6-2700073.i386.bundle.tar 230184960 SHA256 f62c97771b9f9b3d62204cb72472bd3b4cf856f5bdc3fd7ea68f786127b4f98e SHA512 91ce0861eab7a122d9bca8f8899f18ed7f59effffb20ae2b6a4d1a021aa57cc179e0f8b7aebeeea857c10a8b31deffcb1649cb79e64a927bb80905746dbaaefd WHIRLPOOL 90c51b72ecdf1b1fa9575e74d196e5d3e25cc4433fc74df283ad57e5953d7671c848d2e816cd19ca7216c2af9065c092c29a66c3d42247cb952a1890d99458bf
|
||||
DIST VMware-Player-6.0.6-2700073.x86_64.bundle.tar 198164480 SHA256 090f93c404d01475b4fc55db529f14e88457bde40b20140b5133a43e391dd866 SHA512 abdb5a6e6162ec297bdea4616f40ff734967fb04838ed75103ad7051a6120e4d4510f9fc192bd874382885e48444af4b00fc2dcd5f6d05929c615e5c379ae212 WHIRLPOOL 386b3a2b928ddf4ce149c1738412c46e0292648e54537b1164197d89b5dd5d86448fbe659141c2ca8d6f55ccd709e629d60b20311c69333bd2b33162a59f3a88
|
||||
DIST VMware-Player-7.1.0-2496824.x86_64.bundle.tar 211077120 SHA256 80259e2b9337d4193da27109634fcb112e40241038f6956fa0e4e3b2f19900af SHA512 28f51f5b167fee8ad3c77fc3c36b0bb084e9f7e891f29952293f5857dcc1e03427d8db33a013abd64145293e19866f3c7d61e6e0d008eb94a1a349e9e8176459 WHIRLPOOL bca1a430a33914c004ddaaf13788ec26fa859a959f017c85b398f72c8b9af2da58c2f96c3d4034ab2d18aded07a304b4d30291eb422e692baefc833e47aec430
|
||||
DIST VMware-Player-7.1.2-2780323.x86_64.bundle.tar 211128320 SHA256 baa60996b3bed5ba89db1a0fd9a2cc263ea07ac1cf2d6f3aab68c728cc960efc SHA512 c4465a4cbf97b9fe3aa2d6a1c690047251a37929867e0b3cbddf6643b59ef8e618809973543150e6cd9a3bdba0c9c04fb55171616c2179a0ff80ee7302e07fc2 WHIRLPOOL f0bc539647a5f3838a486d62506881f752e426e2e7299b20f2828c285cb041c777f93f3d29627ff4187edfd92e43e37e70647828ce537adb67db0fe3e99fccb0
|
||||
|
|
37
app-emulation/vmware-player/files/vmware-10.0.rc
Normal file
37
app-emulation/vmware-player/files/vmware-10.0.rc
Normal file
|
@ -0,0 +1,37 @@
|
|||
#!/sbin/runscript
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/files/vmware-10.0.rc,v 1.2 2014/04/26 20:36:17 dilfridge Exp $
|
||||
|
||||
depend() {
|
||||
need localmount
|
||||
use net
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin Starting VMware USB Arbitrator
|
||||
#start-stop-daemon --start --exec @@BINDIR@@/vmware-usbarbitrator
|
||||
@@BINDIR@@/vmware-usbarbitrator
|
||||
eend $?
|
||||
ebegin Starting VMware services
|
||||
modprobe -v vmci || modprobe -v vmw_vmci
|
||||
eend $?
|
||||
modprobe -av vmmon vmci vsock vmblock vmnet
|
||||
eend $?
|
||||
@@BINDIR@@/vmware-networks --start
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin Stopping VMware USB Arbitrator
|
||||
#start-stop-daemon --stop --exec @@BINDIR@@/vmware-usbarbitrator
|
||||
killall --wait @@BINDIR@@/vmware-usbarbitrator
|
||||
eend $?
|
||||
@@BINDIR@@/vmware-networks --stop
|
||||
eend $?
|
||||
ebegin Stopping VMware services
|
||||
modprobe -rv vsock vmmon vmblock vmnet
|
||||
eend $?
|
||||
modprobe -rv vmci || modprobe -rv vmw_vmci
|
||||
eend $?
|
||||
}
|
44
app-emulation/vmware-player/files/vmware-11.0.rc
Normal file
44
app-emulation/vmware-player/files/vmware-11.0.rc
Normal file
|
@ -0,0 +1,44 @@
|
|||
#!/sbin/runscript
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
depend() {
|
||||
need localmount
|
||||
use net
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin Starting VMware USB Arbitrator
|
||||
#start-stop-daemon --start --exec @@BINDIR@@/vmware-usbarbitrator
|
||||
@@BINDIR@@/vmware-usbarbitrator
|
||||
eend $?
|
||||
ebegin Starting VMware services
|
||||
|
||||
# quiet for vmci because it may not be there
|
||||
modprobe -vq vmci || modprobe -v vmw_vmci
|
||||
eend $?
|
||||
|
||||
# vmci or vmw_vmci was loaded by the previous modprobe
|
||||
# no need to do it here
|
||||
modprobe -av vmmon vsock vmblock vmnet
|
||||
eend $?
|
||||
@@BINDIR@@/vmware-networks --start
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin Stopping VMware USB Arbitrator
|
||||
#start-stop-daemon --stop --exec @@BINDIR@@/vmware-usbarbitrator
|
||||
killall --wait @@BINDIR@@/vmware-usbarbitrator
|
||||
eend $?
|
||||
@@BINDIR@@/vmware-networks --stop
|
||||
eend $?
|
||||
ebegin Stopping VMware services
|
||||
modprobe -rv vsock vmmon vmblock vmnet
|
||||
eend $?
|
||||
|
||||
# quiet for vmci because it may not be there
|
||||
modprobe -rvq vmci || modprobe -rv vmw_vmci
|
||||
eend $?
|
||||
}
|
44
app-emulation/vmware-player/files/vmware-11.1.rc
Normal file
44
app-emulation/vmware-player/files/vmware-11.1.rc
Normal file
|
@ -0,0 +1,44 @@
|
|||
#!/sbin/runscript
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
depend() {
|
||||
need localmount
|
||||
use net
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin Starting VMware USB Arbitrator
|
||||
#start-stop-daemon --start --exec @@BINDIR@@/vmware-usbarbitrator
|
||||
@@BINDIR@@/vmware-usbarbitrator
|
||||
eend $?
|
||||
ebegin Starting VMware services
|
||||
|
||||
# quiet for vmci because it may not be there
|
||||
modprobe -vq vmci || modprobe -v vmw_vmci
|
||||
eend $?
|
||||
|
||||
# vmci or vmw_vmci was loaded by the previous modprobe
|
||||
# no need to do it here
|
||||
modprobe -av vmmon vsock vmblock vmnet
|
||||
eend $?
|
||||
@@BINDIR@@/vmware-networks --start
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin Stopping VMware USB Arbitrator
|
||||
#start-stop-daemon --stop --exec @@BINDIR@@/vmware-usbarbitrator
|
||||
killall --wait @@BINDIR@@/vmware-usbarbitrator
|
||||
eend $?
|
||||
@@BINDIR@@/vmware-networks --stop
|
||||
eend $?
|
||||
ebegin Stopping VMware services
|
||||
modprobe -rv vsock vmmon vmblock vmnet
|
||||
eend $?
|
||||
|
||||
# quiet for vmci because it may not be there
|
||||
modprobe -rvq vmci || modprobe -rv vmw_vmci
|
||||
eend $?
|
||||
}
|
44
app-emulation/vmware-player/files/vmware-11.2.rc
Normal file
44
app-emulation/vmware-player/files/vmware-11.2.rc
Normal file
|
@ -0,0 +1,44 @@
|
|||
#!/sbin/runscript
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
depend() {
|
||||
need localmount
|
||||
use net
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin Starting VMware USB Arbitrator
|
||||
#start-stop-daemon --start --exec @@BINDIR@@/vmware-usbarbitrator
|
||||
@@BINDIR@@/vmware-usbarbitrator
|
||||
eend $?
|
||||
ebegin Starting VMware services
|
||||
|
||||
# quiet for vmci because it may not be there
|
||||
modprobe -vq vmci || modprobe -v vmw_vmci
|
||||
eend $?
|
||||
|
||||
# vmci or vmw_vmci was loaded by the previous modprobe
|
||||
# no need to do it here
|
||||
modprobe -av vmmon vsock vmblock vmnet
|
||||
eend $?
|
||||
@@BINDIR@@/vmware-networks --start
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin Stopping VMware USB Arbitrator
|
||||
#start-stop-daemon --stop --exec @@BINDIR@@/vmware-usbarbitrator
|
||||
killall --wait @@BINDIR@@/vmware-usbarbitrator
|
||||
eend $?
|
||||
@@BINDIR@@/vmware-networks --stop
|
||||
eend $?
|
||||
ebegin Stopping VMware services
|
||||
modprobe -rv vsock vmmon vmblock vmnet
|
||||
eend $?
|
||||
|
||||
# quiet for vmci because it may not be there
|
||||
modprobe -rvq vmci || modprobe -rv vmw_vmci
|
||||
eend $?
|
||||
}
|
|
@ -2,13 +2,7 @@
|
|||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<herd>vmware</herd>
|
||||
<longdescription lang="en">
|
||||
VMware Player - free desktop virtualization software application - makes it
|
||||
easy to operate any virtual machine created by VMware Workstation, VMware Fusion,
|
||||
VMware Server or VMware ESX, as well as Microsoft Virtual Server virtual
|
||||
machines or Microsoft Virtual PC virtual machines.
|
||||
</longdescription>
|
||||
<use>
|
||||
<use>
|
||||
<flag name="vmware-tools">Install VMware Tools images</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
|
|
245
app-emulation/vmware-player/vmware-player-6.0.6.2700073.ebuild
Normal file
245
app-emulation/vmware-player/vmware-player-6.0.6.2700073.ebuild
Normal file
|
@ -0,0 +1,245 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils versionator fdo-mime gnome2-utils pax-utils vmware-bundle
|
||||
|
||||
MY_PN="VMware-Player"
|
||||
MY_PV=$(get_version_component_range 1-3)
|
||||
PV_MINOR=$(get_version_component_range 3)
|
||||
PV_BUILD=$(get_version_component_range 4)
|
||||
MY_P="${MY_PN}-${MY_PV}-${PV_BUILD}"
|
||||
|
||||
DESCRIPTION="Emulate a complete PC on your PC without the usual performance overhead of most emulators"
|
||||
HOMEPAGE="http://www.vmware.com/products/player/"
|
||||
BASE_URI="https://softwareupdate.vmware.com/cds/vmw-desktop/player/${MY_PV}/${PV_BUILD}/linux/core/"
|
||||
SRC_URI="
|
||||
x86? ( ${BASE_URI}${MY_P}.i386.bundle.tar )
|
||||
amd64? ( ${BASE_URI}${MY_P}.x86_64.bundle.tar )
|
||||
"
|
||||
|
||||
LICENSE="vmware GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64 ~x86"
|
||||
IUSE="cups doc +vmware-tools"
|
||||
RESTRICT="strip"
|
||||
|
||||
# vmware-workstation should not use virtual/libc as this is a
|
||||
# precompiled binary package thats linked to glibc.
|
||||
RDEPEND="dev-cpp/cairomm
|
||||
dev-cpp/glibmm:2
|
||||
dev-cpp/gtkmm:2.4
|
||||
dev-cpp/libgnomecanvasmm:2.6
|
||||
dev-cpp/pangomm:1.4
|
||||
dev-libs/atk
|
||||
dev-libs/glib:2
|
||||
dev-libs/libaio
|
||||
dev-libs/libsigc++
|
||||
dev-libs/libxml2
|
||||
=dev-libs/openssl-0.9.8*
|
||||
dev-libs/xmlrpc-c
|
||||
gnome-base/libgnomecanvas
|
||||
gnome-base/libgtop:2
|
||||
gnome-base/librsvg:2
|
||||
gnome-base/orbit
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype
|
||||
media-libs/libart_lgpl
|
||||
=media-libs/libpng-1.2*
|
||||
net-misc/curl
|
||||
cups? ( net-print/cups )
|
||||
sys-devel/gcc
|
||||
sys-fs/fuse
|
||||
sys-libs/glibc
|
||||
sys-libs/zlib
|
||||
x11-libs/cairo
|
||||
x11-libs/gtk+:2
|
||||
x11-libs/libgksu
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libX11
|
||||
x11-libs/libXau
|
||||
x11-libs/libxcb
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXdmcp
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXft
|
||||
x11-libs/libXi
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXtst
|
||||
x11-libs/pango
|
||||
x11-libs/startup-notification
|
||||
!app-emulation/vmware-workstation"
|
||||
PDEPEND="~app-emulation/vmware-modules-279.${PV_MINOR}
|
||||
vmware-tools? ( app-emulation/vmware-tools )"
|
||||
|
||||
S=${WORKDIR}
|
||||
VM_INSTALL_DIR="/opt/vmware"
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
local bundle=${A%.tar}
|
||||
|
||||
local component ; for component in \
|
||||
vmware-player \
|
||||
vmware-player-app \
|
||||
vmware-vmx \
|
||||
vmware-usbarbitrator \
|
||||
vmware-network-editor \
|
||||
vmware-player-setup
|
||||
#vmware-ovftool
|
||||
do
|
||||
vmware-bundle_extract-bundle-component "${bundle}" "${component}" "${S}"
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
rm -f bin/vmware-modconfig
|
||||
rm -rf lib/modules/binary
|
||||
# Bug 459566
|
||||
mv lib/libvmware-netcfg.so lib/lib/
|
||||
}
|
||||
|
||||
clean_bundled_libs() {
|
||||
ebegin 'Removing superfluous libraries'
|
||||
# exclude OpenSSL from unbundling until the AES-NI patch gets into the tree
|
||||
# see http://forums.gentoo.org/viewtopic-t-835867.html
|
||||
# must use shipped libgcr.so.0 or else "undefined symbol: gcr_certificate_widget_new"
|
||||
ldconfig -p | sed 's:^\s\+\([^(]*[^( ]\).*=> \(/.*\)$:\1 \2:g;t;d' | fgrep -v 'libcrypto.so.0.9.8
|
||||
libssl.so.0.9.8
|
||||
libgcr.so.0' | while read -r libname libpath ; do
|
||||
dosym "${libpath}" "${VM_INSTALL_DIR}/lib/vmware/lib/${libname}/${libname}"
|
||||
done
|
||||
eend
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# install the binaries
|
||||
into "${VM_INSTALL_DIR}"
|
||||
dobin bin/* || die "failed to install bin"
|
||||
|
||||
# install the libraries
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware
|
||||
doins -r lib/*
|
||||
|
||||
# Bug 432918
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/lib/libcrypto.so.0.9.8/libcrypto.so.0.9.8 \
|
||||
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libcrypto.so.0.9.8
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/lib/libssl.so.0.9.8/libssl.so.0.9.8 \
|
||||
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libssl.so.0.9.8
|
||||
|
||||
# install the ancillaries
|
||||
insinto /usr
|
||||
doins -r share
|
||||
|
||||
if use cups; then
|
||||
exeinto $(cups-config --serverbin)/filter
|
||||
doexe extras/thnucups
|
||||
|
||||
insinto /etc/cups
|
||||
doins -r etc/cups/*
|
||||
fi
|
||||
|
||||
# install documentation
|
||||
if use doc; then
|
||||
dodoc doc/*
|
||||
fi
|
||||
|
||||
exeinto "${VM_INSTALL_DIR}"/lib/vmware/setup
|
||||
doexe vmware-config
|
||||
|
||||
# create symlinks for the various tools
|
||||
local tool ; for tool in thnuclnt vmplayer{,-daemon} \
|
||||
vmware-{acetool,unity-helper,modconfig{,-console},gksu,fuseUI} ; do
|
||||
dosym appLoader "${VM_INSTALL_DIR}"/lib/vmware/bin/"${tool}"
|
||||
done
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmplayer "${VM_INSTALL_DIR}"/bin/vmplayer
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/icu /etc/vmware/icu
|
||||
|
||||
# fix permissions
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/bin/{appLoader,fusermount,launcher.sh,mkisofs,vmware-remotemks}
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/lib/{wrapper-gtk24.sh,libgksu2.so.0/gksu-run-helper}
|
||||
fperms 4711 "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-vmx{,-debug,-stats}
|
||||
|
||||
pax-mark -m "${D}${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-vmx
|
||||
|
||||
# create the environment
|
||||
local envd="${T}/90vmware"
|
||||
cat > "${envd}" <<-EOF
|
||||
PATH='${VM_INSTALL_DIR}/bin'
|
||||
ROOTPATH='${VM_INSTALL_DIR}/bin'
|
||||
EOF
|
||||
doenvd "${envd}" || die
|
||||
|
||||
# create the configuration
|
||||
dodir /etc/vmware || die
|
||||
|
||||
cat > "${D}"/etc/vmware/bootstrap <<-EOF
|
||||
BINDIR='${VM_INSTALL_DIR}/bin'
|
||||
LIBDIR='${VM_INSTALL_DIR}/lib'
|
||||
EOF
|
||||
|
||||
cat > "${D}"/etc/vmware/config <<-EOF
|
||||
bindir = "${VM_INSTALL_DIR}/bin"
|
||||
libdir = "${VM_INSTALL_DIR}/lib/vmware"
|
||||
initscriptdir = "/etc/init.d"
|
||||
authd.fullpath = "${VM_INSTALL_DIR}/sbin/vmware-authd"
|
||||
gksu.rootMethod = "su"
|
||||
VMCI_CONFED = "yes"
|
||||
VMBLOCK_CONFED = "yes"
|
||||
VSOCK_CONFED = "yes"
|
||||
NETWORKING = "yes"
|
||||
player.product.version = "${MY_PV}"
|
||||
product.buildNumber = "${PV_BUILD}"
|
||||
EOF
|
||||
|
||||
# install the init.d script
|
||||
local initscript="${T}/vmware.rc"
|
||||
|
||||
sed -e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \
|
||||
"${FILESDIR}/vmware-10.0.rc" > "${initscript}" || die
|
||||
newinitd "${initscript}" vmware || die
|
||||
|
||||
# fill in variable placeholders
|
||||
sed -e "s:@@LIBCONF_DIR@@:${VM_INSTALL_DIR}/lib/vmware/libconf:g" \
|
||||
-i "${D}${VM_INSTALL_DIR}"/lib/vmware/libconf/etc/{gtk-2.0/{gdk-pixbuf.loaders,gtk.immodules},pango/pango{.modules,rc}} || die
|
||||
sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmplayer:g" \
|
||||
-e "/^Encoding/d" \
|
||||
-i "${D}/usr/share/applications/${PN}.desktop" || die
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
"${VM_INSTALL_DIR}"/bin/vmware-networks --postinstall ${PN},old,new
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
fdo-mime_desktop_database_update
|
||||
gnome2_icon_cache_update
|
||||
|
||||
ewarn "/etc/env.d was updated. Please run:"
|
||||
ewarn "env-update && source /etc/profile"
|
||||
ewarn ""
|
||||
ewarn "Before you can use vmware-player, you must configure a default network setup."
|
||||
ewarn "You can do this by running 'emerge --config ${PN}'."
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
einfo "Stopping ${PN} for safe unmerge"
|
||||
/etc/init.d/vmware stop
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
gnome2_icon_cache_update
|
||||
}
|
244
app-emulation/vmware-player/vmware-player-7.1.0.2496824.ebuild
Normal file
244
app-emulation/vmware-player/vmware-player-7.1.0.2496824.ebuild
Normal file
|
@ -0,0 +1,244 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils versionator fdo-mime gnome2-utils pax-utils vmware-bundle
|
||||
|
||||
MY_PN="VMware-Player"
|
||||
MY_PV=$(get_version_component_range 1-3)
|
||||
PV_MINOR=$(get_version_component_range 3)
|
||||
PV_BUILD=$(get_version_component_range 4)
|
||||
MY_P="${MY_PN}-${MY_PV}-${PV_BUILD}"
|
||||
|
||||
DESCRIPTION="Emulate a complete PC on your PC without the usual performance overhead of most emulators"
|
||||
HOMEPAGE="http://www.vmware.com/products/player/"
|
||||
BASE_URI="https://softwareupdate.vmware.com/cds/vmw-desktop/player/${MY_PV}/${PV_BUILD}/linux/core/"
|
||||
SRC_URI="
|
||||
amd64? ( ${BASE_URI}${MY_P}.x86_64.bundle.tar )
|
||||
"
|
||||
|
||||
LICENSE="vmware GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64"
|
||||
IUSE="cups doc +vmware-tools"
|
||||
RESTRICT="strip"
|
||||
|
||||
# vmware-workstation should not use virtual/libc as this is a
|
||||
# precompiled binary package thats linked to glibc.
|
||||
RDEPEND="dev-cpp/cairomm
|
||||
dev-cpp/glibmm:2
|
||||
dev-cpp/gtkmm:2.4
|
||||
dev-cpp/libgnomecanvasmm:2.6
|
||||
dev-cpp/pangomm:1.4
|
||||
dev-libs/atk
|
||||
dev-libs/glib:2
|
||||
dev-libs/libaio
|
||||
dev-libs/libsigc++
|
||||
dev-libs/libxml2
|
||||
=dev-libs/openssl-0.9.8*
|
||||
dev-libs/xmlrpc-c
|
||||
gnome-base/libgnomecanvas
|
||||
gnome-base/libgtop:2
|
||||
gnome-base/librsvg:2
|
||||
gnome-base/orbit
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype
|
||||
media-libs/libart_lgpl
|
||||
=media-libs/libpng-1.2*
|
||||
net-misc/curl
|
||||
cups? ( net-print/cups )
|
||||
sys-devel/gcc
|
||||
sys-fs/fuse
|
||||
sys-libs/glibc
|
||||
sys-libs/zlib
|
||||
x11-libs/cairo
|
||||
x11-libs/gtk+:2
|
||||
x11-libs/libgksu
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libX11
|
||||
x11-libs/libXau
|
||||
x11-libs/libxcb
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXdmcp
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXft
|
||||
x11-libs/libXi
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXtst
|
||||
x11-libs/pango
|
||||
x11-libs/startup-notification
|
||||
!app-emulation/vmware-workstation"
|
||||
PDEPEND="~app-emulation/vmware-modules-304.${PV_MINOR}
|
||||
vmware-tools? ( app-emulation/vmware-tools )"
|
||||
|
||||
S=${WORKDIR}
|
||||
VM_INSTALL_DIR="/opt/vmware"
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
local bundle=${A%.tar}
|
||||
|
||||
local component ; for component in \
|
||||
vmware-player \
|
||||
vmware-player-app \
|
||||
vmware-vmx \
|
||||
vmware-usbarbitrator \
|
||||
vmware-network-editor \
|
||||
vmware-player-setup
|
||||
#vmware-ovftool
|
||||
do
|
||||
vmware-bundle_extract-bundle-component "${bundle}" "${component}" "${S}"
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
rm -f bin/vmware-modconfig
|
||||
rm -rf lib/modules/binary
|
||||
# Bug 459566
|
||||
mv lib/libvmware-netcfg.so lib/lib/
|
||||
}
|
||||
|
||||
clean_bundled_libs() {
|
||||
ebegin 'Removing superfluous libraries'
|
||||
# exclude OpenSSL from unbundling until the AES-NI patch gets into the tree
|
||||
# see http://forums.gentoo.org/viewtopic-t-835867.html
|
||||
# must use shipped libgcr.so.0 or else "undefined symbol: gcr_certificate_widget_new"
|
||||
ldconfig -p | sed 's:^\s\+\([^(]*[^( ]\).*=> \(/.*\)$:\1 \2:g;t;d' | fgrep -v 'libcrypto.so.0.9.8
|
||||
libssl.so.0.9.8
|
||||
libgcr.so.0' | while read -r libname libpath ; do
|
||||
dosym "${libpath}" "${VM_INSTALL_DIR}/lib/vmware/lib/${libname}/${libname}"
|
||||
done
|
||||
eend
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# install the binaries
|
||||
into "${VM_INSTALL_DIR}"
|
||||
dobin bin/* || die "failed to install bin"
|
||||
|
||||
# install the libraries
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware
|
||||
doins -r lib/*
|
||||
|
||||
# Bug 432918
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/lib/libcrypto.so.0.9.8/libcrypto.so.0.9.8 \
|
||||
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libcrypto.so.0.9.8
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/lib/libssl.so.0.9.8/libssl.so.0.9.8 \
|
||||
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libssl.so.0.9.8
|
||||
|
||||
# install the ancillaries
|
||||
insinto /usr
|
||||
doins -r share
|
||||
|
||||
if use cups; then
|
||||
exeinto $(cups-config --serverbin)/filter
|
||||
doexe extras/thnucups
|
||||
|
||||
insinto /etc/cups
|
||||
doins -r etc/cups/*
|
||||
fi
|
||||
|
||||
# install documentation
|
||||
if use doc; then
|
||||
dodoc doc/*
|
||||
fi
|
||||
|
||||
exeinto "${VM_INSTALL_DIR}"/lib/vmware/setup
|
||||
doexe vmware-config
|
||||
|
||||
# create symlinks for the various tools
|
||||
local tool ; for tool in thnuclnt vmplayer{,-daemon} \
|
||||
vmware-{acetool,unity-helper,modconfig{,-console},gksu,fuseUI} ; do
|
||||
dosym appLoader "${VM_INSTALL_DIR}"/lib/vmware/bin/"${tool}"
|
||||
done
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmplayer "${VM_INSTALL_DIR}"/bin/vmplayer
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/icu /etc/vmware/icu
|
||||
|
||||
# fix permissions
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/bin/{appLoader,fusermount,launcher.sh,mkisofs,vmware-remotemks}
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/lib/{wrapper-gtk24.sh,libgksu2.so.0/gksu-run-helper}
|
||||
fperms 4711 "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-vmx{,-debug,-stats}
|
||||
|
||||
pax-mark -m "${D}${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-vmx
|
||||
|
||||
# create the environment
|
||||
local envd="${T}/90vmware"
|
||||
cat > "${envd}" <<-EOF
|
||||
PATH='${VM_INSTALL_DIR}/bin'
|
||||
ROOTPATH='${VM_INSTALL_DIR}/bin'
|
||||
EOF
|
||||
doenvd "${envd}" || die
|
||||
|
||||
# create the configuration
|
||||
dodir /etc/vmware || die
|
||||
|
||||
cat > "${D}"/etc/vmware/bootstrap <<-EOF
|
||||
BINDIR='${VM_INSTALL_DIR}/bin'
|
||||
LIBDIR='${VM_INSTALL_DIR}/lib'
|
||||
EOF
|
||||
|
||||
cat > "${D}"/etc/vmware/config <<-EOF
|
||||
bindir = "${VM_INSTALL_DIR}/bin"
|
||||
libdir = "${VM_INSTALL_DIR}/lib/vmware"
|
||||
initscriptdir = "/etc/init.d"
|
||||
authd.fullpath = "${VM_INSTALL_DIR}/sbin/vmware-authd"
|
||||
gksu.rootMethod = "su"
|
||||
VMCI_CONFED = "yes"
|
||||
VMBLOCK_CONFED = "yes"
|
||||
VSOCK_CONFED = "yes"
|
||||
NETWORKING = "yes"
|
||||
player.product.version = "${MY_PV}"
|
||||
product.buildNumber = "${PV_BUILD}"
|
||||
EOF
|
||||
|
||||
# install the init.d script
|
||||
local initscript="${T}/vmware.rc"
|
||||
|
||||
sed -e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \
|
||||
"${FILESDIR}/vmware-11.0.rc" > "${initscript}" || die
|
||||
newinitd "${initscript}" vmware || die
|
||||
|
||||
# fill in variable placeholders
|
||||
sed -e "s:@@LIBCONF_DIR@@:${VM_INSTALL_DIR}/lib/vmware/libconf:g" \
|
||||
-i "${D}${VM_INSTALL_DIR}"/lib/vmware/libconf/etc/{gtk-2.0/{gdk-pixbuf.loaders,gtk.immodules},pango/pango{.modules,rc}} || die
|
||||
sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmplayer:g" \
|
||||
-e "/^Encoding/d" \
|
||||
-i "${D}/usr/share/applications/${PN}.desktop" || die
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
"${VM_INSTALL_DIR}"/bin/vmware-networks --postinstall ${PN},old,new
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
fdo-mime_desktop_database_update
|
||||
gnome2_icon_cache_update
|
||||
|
||||
ewarn "/etc/env.d was updated. Please run:"
|
||||
ewarn "env-update && source /etc/profile"
|
||||
ewarn ""
|
||||
ewarn "Before you can use vmware-player, you must configure a default network setup."
|
||||
ewarn "You can do this by running 'emerge --config ${PN}'."
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
einfo "Stopping ${PN} for safe unmerge"
|
||||
/etc/init.d/vmware stop
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
gnome2_icon_cache_update
|
||||
}
|
244
app-emulation/vmware-player/vmware-player-7.1.2.2780323.ebuild
Normal file
244
app-emulation/vmware-player/vmware-player-7.1.2.2780323.ebuild
Normal file
|
@ -0,0 +1,244 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils versionator fdo-mime gnome2-utils pax-utils vmware-bundle
|
||||
|
||||
MY_PN="VMware-Player"
|
||||
MY_PV=$(get_version_component_range 1-3)
|
||||
PV_MINOR=$(get_version_component_range 3)
|
||||
PV_BUILD=$(get_version_component_range 4)
|
||||
MY_P="${MY_PN}-${MY_PV}-${PV_BUILD}"
|
||||
|
||||
DESCRIPTION="Emulate a complete PC on your PC without the usual performance overhead of most emulators"
|
||||
HOMEPAGE="http://www.vmware.com/products/player/"
|
||||
BASE_URI="https://softwareupdate.vmware.com/cds/vmw-desktop/player/${MY_PV}/${PV_BUILD}/linux/core/"
|
||||
SRC_URI="
|
||||
amd64? ( ${BASE_URI}${MY_P}.x86_64.bundle.tar )
|
||||
"
|
||||
|
||||
LICENSE="vmware GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64"
|
||||
IUSE="cups doc +vmware-tools"
|
||||
RESTRICT="strip"
|
||||
|
||||
# vmware-workstation should not use virtual/libc as this is a
|
||||
# precompiled binary package thats linked to glibc.
|
||||
RDEPEND="dev-cpp/cairomm
|
||||
dev-cpp/glibmm:2
|
||||
dev-cpp/gtkmm:2.4
|
||||
dev-cpp/libgnomecanvasmm:2.6
|
||||
dev-cpp/pangomm:1.4
|
||||
dev-libs/atk
|
||||
dev-libs/glib:2
|
||||
dev-libs/libaio
|
||||
dev-libs/libsigc++
|
||||
dev-libs/libxml2
|
||||
=dev-libs/openssl-0.9.8*
|
||||
dev-libs/xmlrpc-c
|
||||
gnome-base/libgnomecanvas
|
||||
gnome-base/libgtop:2
|
||||
gnome-base/librsvg:2
|
||||
gnome-base/orbit
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype
|
||||
media-libs/libart_lgpl
|
||||
=media-libs/libpng-1.2*
|
||||
net-misc/curl
|
||||
cups? ( net-print/cups )
|
||||
sys-devel/gcc
|
||||
sys-fs/fuse
|
||||
sys-libs/glibc
|
||||
sys-libs/zlib
|
||||
x11-libs/cairo
|
||||
x11-libs/gtk+:2
|
||||
x11-libs/libgksu
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libX11
|
||||
x11-libs/libXau
|
||||
x11-libs/libxcb
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXdmcp
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXft
|
||||
x11-libs/libXi
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXtst
|
||||
x11-libs/pango
|
||||
x11-libs/startup-notification
|
||||
!app-emulation/vmware-workstation"
|
||||
PDEPEND="~app-emulation/vmware-modules-304.${PV_MINOR}
|
||||
vmware-tools? ( app-emulation/vmware-tools )"
|
||||
|
||||
S=${WORKDIR}
|
||||
VM_INSTALL_DIR="/opt/vmware"
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
local bundle=${A%.tar}
|
||||
|
||||
local component ; for component in \
|
||||
vmware-player \
|
||||
vmware-player-app \
|
||||
vmware-vmx \
|
||||
vmware-usbarbitrator \
|
||||
vmware-network-editor \
|
||||
vmware-player-setup
|
||||
#vmware-ovftool
|
||||
do
|
||||
vmware-bundle_extract-bundle-component "${bundle}" "${component}" "${S}"
|
||||
done
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
rm -f bin/vmware-modconfig
|
||||
rm -rf lib/modules/binary
|
||||
# Bug 459566
|
||||
mv lib/libvmware-netcfg.so lib/lib/
|
||||
}
|
||||
|
||||
clean_bundled_libs() {
|
||||
ebegin 'Removing superfluous libraries'
|
||||
# exclude OpenSSL from unbundling until the AES-NI patch gets into the tree
|
||||
# see http://forums.gentoo.org/viewtopic-t-835867.html
|
||||
# must use shipped libgcr.so.0 or else "undefined symbol: gcr_certificate_widget_new"
|
||||
ldconfig -p | sed 's:^\s\+\([^(]*[^( ]\).*=> \(/.*\)$:\1 \2:g;t;d' | fgrep -v 'libcrypto.so.0.9.8
|
||||
libssl.so.0.9.8
|
||||
libgcr.so.0' | while read -r libname libpath ; do
|
||||
dosym "${libpath}" "${VM_INSTALL_DIR}/lib/vmware/lib/${libname}/${libname}"
|
||||
done
|
||||
eend
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# install the binaries
|
||||
into "${VM_INSTALL_DIR}"
|
||||
dobin bin/* || die "failed to install bin"
|
||||
|
||||
# install the libraries
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware
|
||||
doins -r lib/*
|
||||
|
||||
# Bug 432918
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/lib/libcrypto.so.0.9.8/libcrypto.so.0.9.8 \
|
||||
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libcrypto.so.0.9.8
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/lib/libssl.so.0.9.8/libssl.so.0.9.8 \
|
||||
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libssl.so.0.9.8
|
||||
|
||||
# install the ancillaries
|
||||
insinto /usr
|
||||
doins -r share
|
||||
|
||||
if use cups; then
|
||||
exeinto $(cups-config --serverbin)/filter
|
||||
doexe extras/thnucups
|
||||
|
||||
insinto /etc/cups
|
||||
doins -r etc/cups/*
|
||||
fi
|
||||
|
||||
# install documentation
|
||||
if use doc; then
|
||||
dodoc doc/*
|
||||
fi
|
||||
|
||||
exeinto "${VM_INSTALL_DIR}"/lib/vmware/setup
|
||||
doexe vmware-config
|
||||
|
||||
# create symlinks for the various tools
|
||||
local tool ; for tool in thnuclnt vmplayer{,-daemon} \
|
||||
vmware-{acetool,unity-helper,modconfig{,-console},gksu,fuseUI} ; do
|
||||
dosym appLoader "${VM_INSTALL_DIR}"/lib/vmware/bin/"${tool}"
|
||||
done
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmplayer "${VM_INSTALL_DIR}"/bin/vmplayer
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/icu /etc/vmware/icu
|
||||
|
||||
# fix permissions
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/bin/{appLoader,fusermount,launcher.sh,mkisofs,vmware-remotemks}
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/lib/{wrapper-gtk24.sh,libgksu2.so.0/gksu-run-helper}
|
||||
fperms 4711 "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-vmx{,-debug,-stats}
|
||||
|
||||
pax-mark -m "${D}${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-vmx
|
||||
|
||||
# create the environment
|
||||
local envd="${T}/90vmware"
|
||||
cat > "${envd}" <<-EOF
|
||||
PATH='${VM_INSTALL_DIR}/bin'
|
||||
ROOTPATH='${VM_INSTALL_DIR}/bin'
|
||||
EOF
|
||||
doenvd "${envd}" || die
|
||||
|
||||
# create the configuration
|
||||
dodir /etc/vmware || die
|
||||
|
||||
cat > "${D}"/etc/vmware/bootstrap <<-EOF
|
||||
BINDIR='${VM_INSTALL_DIR}/bin'
|
||||
LIBDIR='${VM_INSTALL_DIR}/lib'
|
||||
EOF
|
||||
|
||||
cat > "${D}"/etc/vmware/config <<-EOF
|
||||
bindir = "${VM_INSTALL_DIR}/bin"
|
||||
libdir = "${VM_INSTALL_DIR}/lib/vmware"
|
||||
initscriptdir = "/etc/init.d"
|
||||
authd.fullpath = "${VM_INSTALL_DIR}/sbin/vmware-authd"
|
||||
gksu.rootMethod = "su"
|
||||
VMCI_CONFED = "yes"
|
||||
VMBLOCK_CONFED = "yes"
|
||||
VSOCK_CONFED = "yes"
|
||||
NETWORKING = "yes"
|
||||
player.product.version = "${MY_PV}"
|
||||
product.buildNumber = "${PV_BUILD}"
|
||||
EOF
|
||||
|
||||
# install the init.d script
|
||||
local initscript="${T}/vmware.rc"
|
||||
|
||||
sed -e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \
|
||||
"${FILESDIR}/vmware-11.0.rc" > "${initscript}" || die
|
||||
newinitd "${initscript}" vmware || die
|
||||
|
||||
# fill in variable placeholders
|
||||
sed -e "s:@@LIBCONF_DIR@@:${VM_INSTALL_DIR}/lib/vmware/libconf:g" \
|
||||
-i "${D}${VM_INSTALL_DIR}"/lib/vmware/libconf/etc/{gtk-2.0/{gdk-pixbuf.loaders,gtk.immodules},pango/pango{.modules,rc}} || die
|
||||
sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmplayer:g" \
|
||||
-e "/^Encoding/d" \
|
||||
-i "${D}/usr/share/applications/${PN}.desktop" || die
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
"${VM_INSTALL_DIR}"/bin/vmware-networks --postinstall ${PN},old,new
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
fdo-mime_desktop_database_update
|
||||
gnome2_icon_cache_update
|
||||
|
||||
ewarn "/etc/env.d was updated. Please run:"
|
||||
ewarn "env-update && source /etc/profile"
|
||||
ewarn ""
|
||||
ewarn "Before you can use vmware-player, you must configure a default network setup."
|
||||
ewarn "You can do this by running 'emerge --config ${PN}'."
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
einfo "Stopping ${PN} for safe unmerge"
|
||||
/etc/init.d/vmware stop
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
gnome2_icon_cache_update
|
||||
}
|
|
@ -4,33 +4,45 @@ DIST vmware-tools-freebsd-9.6.1-1379776.i386.component.tar 15155200 SHA256 a3be7
|
|||
DIST vmware-tools-freebsd-9.6.1-1379776.x86_64.component.tar 15155200 SHA256 941e58d81e00a11b4f611475e5ecb4257c78380ceef42bd9a3f2341b6bbad43e SHA512 3a1d3e49c6ccbb174868925b5d980e9676e61c61b6df67352cad6f96a004902466ba26e18ef4919ae5afdfd0e7b213ce9754fd97e39bd0873a0da695f11f046e WHIRLPOOL b37985ac5017d3bf306a10b5414d04c206b6f657b012609b0278aa79ab238535782913e5f31918e6906e6b48a95e26bd0cabe3433b380f4c472fd57c58308942
|
||||
DIST vmware-tools-freebsd-9.6.2-1744117.i386.component.tar 15144960 SHA256 a9c7c25f829db43005c14bd416a08ae8a30b8096dcc5b924e17ebbaacfcb595c SHA512 e9c1049cc639464532927d5d2f0e16141e114ca8fa68eb6acb0297748036c4d810a57001ab782efaa38cd1d8e3976e70ecc9687f36be0963cd3aab9edc5aa7e9 WHIRLPOOL ec49dfaa540f0f7233a6950d01f8c7bfde6e10a292561a6b81bcd2e0c90de529f33316298c6db6dae49c53f67fe06d1ec335a36c005e0602c1ebff90193a14b2
|
||||
DIST vmware-tools-freebsd-9.6.2-1744117.x86_64.component.tar 15144960 SHA256 1c6d4d21aa4ae8ba0c56f4b24fc8c73da07a4e8bfaf421b4db7c25012328fde1 SHA512 3306ccba195ed0373cf94e810fbb75f74f1b4238ed5be9bc50141222c2a5b687f79b794729ab40e192bba1c861670867abc792e54b01445b1bae8553eace2437 WHIRLPOOL 4556ea97c83ab3708316bd96e9e525fcf1a67c46bb2dd55c005e89102b2d4b8992d5a4376d79cc1c2faf20e65e08b8c3c79e26d9c9fd4c30d680a6ed184b9974
|
||||
DIST vmware-tools-freebsd-9.6.5-2700073.i386.component.tar 15216640 SHA256 d900d0ee4f9f185f1914f80cb9b0a7df8fcf027e1009def7c2b81a7ac15e5d0b SHA512 5e070544e85137b7f032e2c1e4567233adadac274abc727b4dcfdfdddd455bc5f080499b306c6bdf7e5bbe17f6610fdece1c2ef541d5b89081ec5d342145071e WHIRLPOOL 1cc29331cefb25628425553707b8c8572eddc1b208856eac409d0123901918677d95fe82cc6028f0debcd7b28a8d524e1f29357b399629c30653eced80d12a7b
|
||||
DIST vmware-tools-freebsd-9.6.5-2700073.x86_64.component.tar 15216640 SHA256 7a2435330281b039727ab8a10736a95393bc143e6b3bfea6e9b7d18a7bf4ba15 SHA512 e78b1d85bcff951d4661374eb687c388d0b299d3d1cd6e4344d3a0439219f82a1e59f335cd5284fb371304223038ef358b59006504b061d702981bec7afa3408 WHIRLPOOL 42ea166a2b5ec8986d4d7b04dc2d13c76fb2509d6f9993d1dcceb7479332de0032589acfc749996a255b5487173f8ec03dc859b897a5f894fd2dde964db45220
|
||||
DIST vmware-tools-linux-9.2.3-1031769.i386.component.tar 66211840 SHA256 0383d632139dbb463bba02c3f6770c877b2fc254710b05167b1d0d4213fbc11c SHA512 076d952a70bec0be1dcdc22534a57631faa1e74136cd1baac479d6f98d924a8d870958aa02aaaa9eef98e23609470ab85bde5ab7afacbc15516a5d7ad7b023c2 WHIRLPOOL 4429145db5528b8160115a7c55bc895e8b52745c9c3b08024a096e3bdefbb0e11ef6fdad976178e96fa32320711f30c2889c8830535dc6f6dfb8f6cbb214be03
|
||||
DIST vmware-tools-linux-9.2.3-1031769.x86_64.component.tar 66211840 SHA256 be5fa35af317058bffe98979b3b1f77eed416f17c7f6ee265a4717bbe3c9e718 SHA512 1f26d724e8e50df9d34333e44831d002ecd1a8af43cfed575c092316c4328ef3f34ac52b32c81ad6eb01dd362947ed462b09af080ee5e19cfd8aa89fbf83cd1d WHIRLPOOL 7292d3d69a46ad97b6decd5dff6c9c5dc19f76545965c6b95a904a14755072bc061742c458eecf974e8ca910af5d6464ccc6708c00c647095c3e98856ab628b0
|
||||
DIST vmware-tools-linux-9.6.1-1379776.i386.component.tar 60518400 SHA256 88ef45021e7dcc2197bbbb2021703000065c7aee0df35706b6c0927e06b9a8eb SHA512 1047b481d20fc3ab2818bb540ba0af16e8bc0f703af95e7f78449a688324d73f32af8650a6325400c38dace5ce582c71e1079c08605db69c45c0476dbe98997e WHIRLPOOL 70ab1d8730f95c2c628d397951f922e3022fc938676e330446ba3bc357eba9c1b0157c319bbd3857d46694e0296e280f88f5334af4ed6acde98207c260cad4eb
|
||||
DIST vmware-tools-linux-9.6.1-1379776.x86_64.component.tar 60518400 SHA256 b9d453f210891c1f76d70a45c6e463465940af27826006ebba090bd71e7d9590 SHA512 99b941fc7ce87d122f9b66d19d0d9406ba6d479f7b4ee782f261939694768c42bc31fb60974e4e854fe86964ff24f4a9ea7dfa1f8ed42ae697640d19834b89c6 WHIRLPOOL ab6892d084be06d753b1e452316ac30c38cfd1fc2607181159fe5d3ef5f2c9b2466145cae5f2f93c95be1010bc5484d1a39b4ececc9e9fdb3439a4fe64229521
|
||||
DIST vmware-tools-linux-9.6.2-1744117.i386.component.tar 61143040 SHA256 d84a4db83b1feb991b1a382b0936b864fc231dcc73c39304a16c34bb343e9f50 SHA512 7338a83330a62212559062e1c75f0540b7eb7f1037b7a32a9b8aba1750c9f53f2bb2c82c79147df93d93f9113b6902b3318ccd29d67d21ecb523f638d541c1e5 WHIRLPOOL 93213e870e99b71fc1dad344bd81acd61dd29a9fe853c37fa44408105d2be68e48ff044c56ad9dde8905ce7d42a614d585ab106ad1f9c5fea07f37fc2ba92526
|
||||
DIST vmware-tools-linux-9.6.2-1744117.x86_64.component.tar 61143040 SHA256 ce07d8afe9c63dc8018979528d252413ea49f9330006fca7b9d9d1fb394dd2e4 SHA512 e5078b84a10ab0b6962ca175ae95475e89cda3f2cf94c0e077e012b7163f46f54a418f34439224b5cb41428f809359e053e36926e85cf17d2ef7a9dbed868b80 WHIRLPOOL 51186181d1ee9bf371e3d042d11baa16bf6627922ef9c967ab1a6c731763d50782787d0028978c5640ec7792f48072de3b2ece78bdfc30ad23a49352a4ea11d2
|
||||
DIST vmware-tools-linux-9.6.5-2700073.i386.component.tar 61337600 SHA256 aad21f54da7bb37169dc85fd84062f3976618ce63034c6785235bd6d5aa580f4 SHA512 133c4958d904755ef9a4fdc13ea686aa69b325301c435a8cf7ea77a246a072099864c3b3654d5ad35bfda2b849d3c0e31afdc8654959f0ca2df07c9d822bf9f7 WHIRLPOOL 66ceb444996985f264892d7bbee5ab8a7122796691fedf321e108e1bc81c54646ca3fe325688f4824ef781e7f9ae7058d4f440e2f0219bd58c985195eb9332b2
|
||||
DIST vmware-tools-linux-9.6.5-2700073.x86_64.component.tar 61337600 SHA256 dd1fea6f4e99f676cef89d6ad1f9880e28d324f5051a95a6216cb48045c39ea8 SHA512 a607713f410a405ff8364adc7a300223ffa26d5cfd8f0612ec39c371057d6a65744de5e4a2eb552e488cdcb9dbc9ae6ddff7e89b533a9cbe531969453eefe291 WHIRLPOOL 5d851d3a3b9e7ab3b5ff48fa43f40330e88c6cdf083b9a975032b9d2868e9ad3e6e73d9c64db5fba0838eebcf182d9406434abf20d4fe76f74b136a00948684c
|
||||
DIST vmware-tools-netware-9.2.3-1031769.i386.component.tar 81920 SHA256 906680d060a59414fa1726ef71b29f90f3923b823d4a123d72f345f6c35bab97 SHA512 892b0e9e18a80ab33dc6113447d281e31eb1925fea67ad9d90bfe6af808f855c8efaef6800540037062c4062bacc575fd638b7a49b34998006f5a49696558623 WHIRLPOOL b97bb7314868b1600a349d3b6af0b516aa3bd17124f3cf6bc309f1cdc21617b4c0abbbf74bb080aaaa64f31dc6ebb57905851678600cb6fce48e235428a5099c
|
||||
DIST vmware-tools-netware-9.2.3-1031769.x86_64.component.tar 81920 SHA256 e1279aeb2d402fa87c643fb5bcdda695fa39c93495b9a2b75b4e80a713176817 SHA512 542c350d1052a9bad0930138042424a0c91f55f861511e10ce4b81327a40dc1c8a339606b9118ae1e37a3d4171b0617d0205f74e03c2e28b398b2663575206cc WHIRLPOOL 5b146c80e1537f30c8051266994e44d366cd5964539ab1f2d51e82e0e9c10802f78de38bfdcfd83a0f0f91299381aada5f77dc3a19a759bf69b932a9718a0900
|
||||
DIST vmware-tools-netware-9.6.1-1379776.i386.component.tar 81920 SHA256 c5c2e4870bf8e9b36a997018b2b40b736ee445b23ac0ee6cf21983cddf67747c SHA512 33e94dbe2c7817703219a00a8dc14af97cd827ab1602c2a17c959dbed072185a2f8c3ede2e075318b67d457f35599054d88e78bf0af190c97e8b5e9039a9c9a1 WHIRLPOOL 96ac4f31879489d9615e5dcaeee876b471a30b7caf54cddc8291143dec66ec9a23664ea527e42249ae44dc46d631b376ea32518335d55e615cde6cd0022640c6
|
||||
DIST vmware-tools-netware-9.6.1-1379776.x86_64.component.tar 81920 SHA256 4dbc8ebfecceb0d281db4f75a535e7648f6fbb921202dd5d9dace8e6e8e3db8f SHA512 2497bfc1d1c31a2e7cc787bbf11254aa5d953e19e16f9fa99548a1b05424a6713106f63e3e1981d46d8c5045ca095ab6070b7e03fc934a064f91323b5b224a44 WHIRLPOOL c628730b5a8e1750babdd3d8bd97d25869fc01751cb2f9532d0024865455b7d89b334f5b34894ffa2262838a740d6c51e61e6000b673532a1014e5ad9028f7f7
|
||||
DIST vmware-tools-netware-9.6.2-1744117.i386.component.tar 81920 SHA256 1bcf7439f957d07fd84a56e6ab1bf88818759cf9f9a11df50ae5d0d65f0fd466 SHA512 9579e36b667af282ac3901ff4b836ba3fb1e74af81d19ac82fac94deb51d3bcf074e97ccb27bcab0cf8b9e319404c4cc305cea03ce08c6695191f89461c9de4a WHIRLPOOL 34bb18ee5facaebc273e8a2e8212dd4aa946af0c873a822d5704b0dd5bbbfa3225fc6c7629ae1a21ca55608f41df6c1f1a3d80140d6f8a4c3f9566caf04dcd85
|
||||
DIST vmware-tools-netware-9.6.2-1744117.x86_64.component.tar 81920 SHA256 ba9d0f84db9d1acf2c53574f411cf9c287b5905fddeaca703c5b503ba400e19d SHA512 72d1d8c8a2339e83a1feb206e8597dae8a922d5c99dbadf3f1c29662e34c3ac409783336e06b12f1885cff9a1f90840410478c7240770864564ff73e7ec5bfee WHIRLPOOL 2d9bede35a1b10648307405fce67dfd2e2dbbf5f5c34b017ef620b1f30680d7442abc785f5685edfcaf85c4cba9eb8d560aafd59d0962f87e3c17e6c6c9a3194
|
||||
DIST vmware-tools-netware-9.6.5-2700073.i386.component.tar 81920 SHA256 5ec311062c98a8bd86fa86d2b762b89ad2642c0ba7d95f8d42734c43f3dc7139 SHA512 d5ad09faee4fc5e4d3e9f5ab0423dc4a28cd316b70193277dfc4e26b8daef372af4ba3e9994ed488a6a051ab4f0e2980f6e8a1ab0b911f7f93d29556d3826617 WHIRLPOOL a911c63efece39e149f4086cfdd8e5c29adce1f2553481328988bc946ab6c6653033f967b7f8970c3b859bb245c57e4d70a432bda3a618da9c5b740f8303e24b
|
||||
DIST vmware-tools-netware-9.6.5-2700073.x86_64.component.tar 81920 SHA256 78d3a8e66efeeb831658e50fe012e1d1d6bc4cfdf426008c6a21456757e5238c SHA512 bb6a37252beb66c6843ee851dbb71d169f1eace25f2874ec6c577d32ba1df5791e046fb5039e09ee11f536cb0078685665070d2399756130c3bdd6bad2a43e20 WHIRLPOOL 05c41c61715f9cddc89cadf1d2891be9bc13933a1649761087022b592e28b08db5a12b69ea3055750bb7f19688be1f18df4422ebb0650133e2711a30a7bafec6
|
||||
DIST vmware-tools-solaris-9.2.3-1031769.i386.component.tar 13096960 SHA256 bb38d98351c0bb7f1c268a5ec1140bf2023276fd82dc31895fc6039f983ce964 SHA512 5abbb8e7e31753301a02dc411ca41a4857fb41b0c97a1264e954a53a5f15869dec7e01f8b65190aaf20e86c04e929beb88d6f14261761801480f453ce6b3107b WHIRLPOOL 3ebfa56078c49d53bc17215124a901931fcc3fdcd660ad55f72ea0c8cb81a31463bc83ecc480d7e7cccba602c3a37157e560a99231edae3b8e2c1e26242ce252
|
||||
DIST vmware-tools-solaris-9.2.3-1031769.x86_64.component.tar 13096960 SHA256 94ed550543096d9e03326a5adea93928f24f69349e5bc6a995e1fefead7112d9 SHA512 04724855a497aefcbd1ccf6ddd1e793eb6fd4bc65960f59f0e0dc95096434d8fa1a5a12b49a20f7e293427a794e4c16df06e4a844042fd21537b2513992bae41 WHIRLPOOL 223977e8ff88601f58752b7a2fda99a15212858d8045504aefe181b18ca29ca4b09dd2b07ddc4091533fd07da5062777000dcbd1e557a789688dbec70fae9069
|
||||
DIST vmware-tools-solaris-9.6.1-1379776.i386.component.tar 13096960 SHA256 f6057b82bfc070e506b51503c4c7e3dd66565dcc06a2f7fbddeaaa87d76283d6 SHA512 aee20ebff38ac19f7d4512fde2cac6b152af61b5b669eedb152530a9bbbad32136aba9747e4f8c57e78c27b6a24b08c026503b6e7f86fcb427f03e4d5ef28b00 WHIRLPOOL 97c5aed51529a8a38f75ce602cdf88821241388d1ff1a3abeaa7ebad041c047233645b020f2ba6719bc5a3cdda24bdf06ffbd43672dc17ae22fc794a8dfa3b10
|
||||
DIST vmware-tools-solaris-9.6.1-1379776.x86_64.component.tar 13096960 SHA256 96ad456174dd66acf25dee3fd4f8ecae718120b0d21296fe21bf22d0fd24ec17 SHA512 c41a707e8c68c8e1fff32cd962e9f8d0d30044346e823e2171bf3dc8392c536de97a8b8466af5088869625dfb96c8746e74f1d6080c62183b51c5e0f94fd885a WHIRLPOOL ec4900bfc58325bf4719c4783f42e590a83032529dd8694d912ee586584a49cbec68f8945a25666d8dee94ea7fb50d8e28c33fca454ab68e501cde0c6fb8e497
|
||||
DIST vmware-tools-solaris-9.6.2-1744117.i386.component.tar 13086720 SHA256 07b51c4fff9c4ee67f1d45215da0c2c1258620cbd5d8d24c0cae118b48af4ad4 SHA512 3e9aae368556e335b8915f90921caebb6e95d629a1bdf56125bead32ef6a7bcaafca03768e9d8779f530e808b70c23e7ef59bb4563bfb3693e6c0fa008b553f0 WHIRLPOOL 82cdf434c9700dd633fda1a259934617bf8175370690ce3549b3edee109997b2b0cd0108b28c127a744db4c271391de040efda11df68f4ce341e35414e6d94b9
|
||||
DIST vmware-tools-solaris-9.6.2-1744117.x86_64.component.tar 13086720 SHA256 6845e98fdd41ed190d6f5b7ae5d2713be7028172297607aee778cf955505e038 SHA512 9a3796cf5102423506c0375d4f1702f1074adb8a818309084a1f7b6de99cf424c4833cfb39bdb8062dde729ddfb62325c2763730af04d8cfdabd1ab3f14fc19f WHIRLPOOL bd23daac15397bf148156f109af1c6bea819ddf70d6de2f98f943880aac64de0c9647ca40dd909ce6395354d169239d7b1e95041531d89c0d5893401a6e6ce35
|
||||
DIST vmware-tools-solaris-9.6.5-2700073.i386.component.tar 12830720 SHA256 dfff56bd05aea2f732d893be9bd7b52d5b0a3f4f993bb8a275a429fabedd03d5 SHA512 e5c51665119fce5655cc24cc6ff5815250cd291ab7216eaa5eba6056b70e31734c111ae33189c4cb78c9f95336141f012c35c61cbf1ac2887dd264af8e5d7823 WHIRLPOOL 6429b2ed61a1ecba0ab290a9e37c642350782f257364b984abdda3b448e0b11996c0c1c909811620074b1b18a1206cc5f7a6872765766b3d0dcb2d1a978cc784
|
||||
DIST vmware-tools-solaris-9.6.5-2700073.x86_64.component.tar 12830720 SHA256 4995ee79f2aa8093fd8caa9bf5e9d2085f3b9a5b6de6b105069c68a97a01ef11 SHA512 f36aa070959bfe94dca921f7c776f878a56a116b5ab7a0da6a55acd34943b7b9631a4184d3aaa773387aed303922aa8d7e9f5b3f24c5d8d9eafbf3d02fb9bf88 WHIRLPOOL 558aa2a21da94b4741d3dc6195ee705e918947511408560ca836937ca094fe66efd2582e967e7fac941dabbaee86b4727f7010782eded8abdcfc05d66fe779a7
|
||||
DIST vmware-tools-winPre2k-9.2.3-1031769.i386.component.tar 11253760 SHA256 a83173fbed35fd6484740fa1c3899ef18c84f0e2728e8db2cca442c809bafe1f SHA512 466625a1e342afae65203b1f04568c4d6c57eee2022890ca463a750d67c6fbbd1f9e5c557515298db0566d9297ffcb32183ff476a5e9368fa05b63b073ade467 WHIRLPOOL a5192928c6fc5c198e818bcf5f623660ae4741017a25cf4e691005ff8284666afb3d5e1dbc037a4caa5889e1bf102e91e4a9f06b630c041674cb0d53d8c0d0f4
|
||||
DIST vmware-tools-winPre2k-9.2.3-1031769.x86_64.component.tar 11253760 SHA256 9b51d31ca911ccf95db641834ae79220db44df53c2fd5a91d6b6e382cffdd39e SHA512 60f99dcb92794d3b798334c91966658f8bbb5cd11a435672094e0a0ccd0b070c0be277d38a9dfac9df77db6d7b91da806fa50a13e67b30d19c33fe153ff63a2e WHIRLPOOL 8426b651f35902f1ac87d556b330100f68ca1c615011301e6ab0dffb160fb4dab4f205f293ffd83ad74c67e9776d54c354f9fe98d70c596cec165929c5a1ba5c
|
||||
DIST vmware-tools-winPre2k-9.6.1-1379776.i386.component.tar 11458560 SHA256 9d46fa6842684d099f8eaf3459aac8973644193ebb4c663164c04b3f69536872 SHA512 6ecb3726235d1cb156898f6887508f7540a5e93437bde43e86740bce15cb8db4a9c9bb4e2d89ef1f5670f37ac11a457410551ff70d8e096d881b51630fd0b40a WHIRLPOOL ed4a441ceb6eac141ea009d871e4a2315e63a1f4f086fb93055b6c2de97e2d06fa98a772a4fda4582cd2e2511a0ace85b2ed52127f1c7343e3e46e122808602d
|
||||
DIST vmware-tools-winPre2k-9.6.1-1379776.x86_64.component.tar 11458560 SHA256 99d603372e69bea2e57e62c3c78dff5ac8119de3e89b438a8cf83a22b0f9774a SHA512 0f4ef0bb79cac357cbdb62d918d22f63a6f1ced51a3d15c10c32dd25dc97474858c85ce9dd080210e07e0b5f7c40741fb7695f1cacf84f5c29c8f8abae15f2c8 WHIRLPOOL f523815ad06bca65719ab99bc54da850a9c67568aa9e6e3ac567ec9669a81d6b554b91ddefe774387cadb014e418b33bb47cc3651caa897bca330a9ec1f22df8
|
||||
DIST vmware-tools-winPre2k-9.6.2-1744117.i386.component.tar 11458560 SHA256 24f197f2d20d44f052f97d206cd904cb8cb6943a165a43188a6ab616e3d9346d SHA512 c1b9272097d83bc645cdce8d5e477053d9c68f3216440c31f7ad3d6e0acbb0cf6daa294584d3c381075fe9ccc8489e21d94040a6f47c06c4d8984ba4d0910551 WHIRLPOOL e9d4c6a77a926cbbe035babb6b6a0c28338cc6bfff6a791da2fab73bcc917b69642e7cd8963f228370cda0d508f7e9b7ef15c9d8378c09397b33fc46ea0032ac
|
||||
DIST vmware-tools-winPre2k-9.6.2-1744117.x86_64.component.tar 11458560 SHA256 9b32f4f4fccdc6e40f36544ea5cc21f77fd2a517dace8dd672b5ca5e25604b6e SHA512 51259807b2e4e0267a4c7bd2ea294ab504b1681e91101813e5bb16ac155d7b0f065a3fabb692dc0108d44024fc373398aa891cb64eaa96244c5c644c08123159 WHIRLPOOL 07c963e0e821df31b60677769fb46fa836f552b3b41af4c133b0bc7ce76cd6011808fbd6a678c8e38e1c07dfb9221e46caee0923d22844cb399ac2831015e47b
|
||||
DIST vmware-tools-winPre2k-9.6.5-2700073.i386.component.tar 11458560 SHA256 8b381b1c787466a96bf0f9536df05f58aa62c5c10d6fdeaedd136c6a49e09b8c SHA512 17bcbc4aa84e5e212732860cf34d4c4d8b4c806bd137b497e6dab9f023cf26af5a43a83f6f4d30f9d6e7df87f85b7a33e8ab0626c56450ea024b17e45ab1e1db WHIRLPOOL c3b45bbf5cc49f8b9dd64517dbd9e258ae60de59ea6beeed0b88745f7ba8beef1da9cba577d7829fa25dccf2c51ca919f36db5e7c141e7a4e1d62abe5b9fd187
|
||||
DIST vmware-tools-winPre2k-9.6.5-2700073.x86_64.component.tar 11458560 SHA256 55e856f7a701174c3f1f0257d2a8054b836b5e14b328cadcd21e792db03afd3f SHA512 bbc80f18ec0e08d26850220124d0e9187fe9d80472dbd55269c63d05b51ecc7374d7e6066aa5e9fc9bcd027b218925084fb30ddd48dc3828df9c09a9c3579699 WHIRLPOOL f01ad51f8944a167e19abc876f31a6e08f85920d1e17272edff44e4c4871090694e87749cdbd83ffab6deba8569cfec4b600b9de5f930e57405e831dc73a0cd9
|
||||
DIST vmware-tools-windows-9.2.3-1031769.i386.component.tar 61777920 SHA256 0fa4f7aac30b589292b6064c23702e6a257ac27ce1342c96755352f6f39e3b04 SHA512 776c834b49ad8f4bbe84ba800aa866e740e1dd236496065ebd46ddafa35621d4356f99a6f0bb45dfb1fe337bc75452236b5d5c87ec8c5ab6b5a1b6c18bc8d542 WHIRLPOOL 787725514f0ee1a48b64cc2f3b25f706290e386f9762857290ca2a84baea4a21205900b37df197976205baf27606023ea7626337b580299d4f6d63288c8ba39b
|
||||
DIST vmware-tools-windows-9.2.3-1031769.x86_64.component.tar 61777920 SHA256 dbb7f6dbbcf9e44263193e40ad89944a45ef860f4f3b4b51d00ae1602f863f8c SHA512 818e2895c57be6792e82362c9616e2e6e8638997bde65ecea1416f71ccfa9681fc5cd44cd3356780ab35345e6b19ac8054a05eb8424dff1bcd779c9b686455a9 WHIRLPOOL ab847bddd07b029ba7a75fb6ae96133211d5a412fbe2059f851ae249854357dd0e25ab28df98fc2a3ee33f5aae08587a8b4bbfd6a60a2313f77fe6f98a1a3a3d
|
||||
DIST vmware-tools-windows-9.6.1-1379776.i386.component.tar 69232640 SHA256 cb09c083adec2bd6a10f9cb75e4570fc19019ddd98320e7cf1ddf311737f75bd SHA512 a1caf8095e8ec56cf15c55e6c0081e16dc3b25e035f1a50eb9f6636a5879b5bbadb4dd079d822b6b1c27f2279c4214eefe004e460f1c1ae70f28242d0aafd400 WHIRLPOOL e61f9df173f83e8844dafd9e226d4b8cd0530df18b4104d1229d18a8c4e8757adc35ac1085602baeb35ba4896273070739c4d783679f18085583124bd856a715
|
||||
DIST vmware-tools-windows-9.6.1-1379776.x86_64.component.tar 69232640 SHA256 4034d5f0fe06a7fb4d2dcd7159f59223f0886d2be5ea4dd1ae685cf5ff0c535d SHA512 8a1be0aae39bf7abe5c76d74f26f7f936dda2d6d169d3e5256479251cb961753abcb519647fcc6a026da11d57f45fa626d1c4a7d91a985ffd2361b2468ab601c WHIRLPOOL 2faccc4a8c04fb52bc0749dd69e887b3ad6f8e9776623f7e583590c5e1612de50bb3355372a60e850104f13f8c9ecd613e5f43ebccffe86661838b757110b57c
|
||||
DIST vmware-tools-windows-9.6.2-1744117.i386.component.tar 69283840 SHA256 f5f43a1a8d39b16d74953a6ffd36f8b56a4e20808918e7358047080f961c7367 SHA512 9fd041f13d250665ea4adb5d9af7c07e1f3eb48708e1744e88ab7378844632e7da2c42c283b87d0b58af3afc456b9b6cd2eebfc28af1ccca3a53b7968eaadb7f WHIRLPOOL 12ccfd6c5d947caaceb7319359ccf70185ed4fe2d0bd60c39e1f4f6200d7ef89bd1a2c7fbeec5eb7b675fc23cd30aa8339fedfed1350f23745640a768fa9df07
|
||||
DIST vmware-tools-windows-9.6.2-1744117.x86_64.component.tar 69283840 SHA256 d4fe4f1d5137c577dd2b82eae8eeee55fe4fc021506eeaa8eaf77ef45f309331 SHA512 c3e40d7e2b10e6c318776d7fcef151c140fd20848de6d48d4a380ff8596b0c4889f8c46816bcacd6e3cdd815d0d8b868283714dba9e9095d94a7cd64da79dc80 WHIRLPOOL 0b1670d8ce585333755fccc72fa55bed6919645c5756917dfd96ccfd6a1eca9d9cd17c74f6458b38e8b9db0632668a33ff9b6d6724e4b01d185eaceff9f14e41
|
||||
DIST vmware-tools-windows-9.6.5-2700073.i386.component.tar 69294080 SHA256 6aba23b1bd9f7877c7fd54102f634dbf6d0d61fe2640d2e56f280395ad595f45 SHA512 fb63d93dd2ca26aeae42f27ce4b0dcda4991f10e0077a8384b8c7bbc3dbf73fa1f62f986a6c5661b70aed59e3841dc9a63b0de76c637ef62d919f9b667149dae WHIRLPOOL 8969ab16cc660b39626f40af69563bd85f40547d4656e156c4ef79221b6d71f8c9cd1b9ec6e0657f1c61f7104748cf84c356a5ff50339462f998d677a762eee5
|
||||
DIST vmware-tools-windows-9.6.5-2700073.x86_64.component.tar 69294080 SHA256 effeb7d57c0c916de4b18f80df4cd8d9fcf00d0dda886b2ba0ce23179b3ad0fa SHA512 bcf036d3fa54b1b0ae98370a54f0e5d95ba68a6476fc79f60615d5754f370b8724d0ccaa6c826f843ebb3e1eb1afceb03701214774ff0b1e40742be5e9adad3f WHIRLPOOL 595918763b0b31ab07725b19c9642730bfb4ed14cec44ed4920bed0aed38b3d71ffab9a931b2923aef63514ff180f4f2221e1b6694418578ca1d2960531e4438
|
||||
|
|
55
app-emulation/vmware-tools/vmware-tools-9.6.5.2700073.ebuild
Normal file
55
app-emulation/vmware-tools/vmware-tools-9.6.5.2700073.ebuild
Normal file
|
@ -0,0 +1,55 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Id$
|
||||
|
||||
inherit versionator vmware-bundle
|
||||
|
||||
MY_PV="$(replace_version_separator 3 - $PV)"
|
||||
BASE_URI="http://softwareupdate.vmware.com/cds/vmw-desktop/player/6.0.6/$(get_version_component_range 4)/linux/packages/"
|
||||
|
||||
DESCRIPTION="VMware Tools for guest operating systems"
|
||||
HOMEPAGE="http://www.vmware.com/products/player/"
|
||||
|
||||
LICENSE="vmware"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64 ~x86"
|
||||
RESTRICT="mirror"
|
||||
IUSE=""
|
||||
|
||||
DEPEND=""
|
||||
RDEPEND=""
|
||||
|
||||
IUSE_VMWARE_GUEST="freebsd linux netware solaris windows winPre2k"
|
||||
|
||||
VM_INSTALL_DIR="/opt/vmware"
|
||||
|
||||
for guest in ${IUSE_VMWARE_GUEST} ; do
|
||||
SRC_URI+=" vmware_guest_${guest}? (
|
||||
amd64? ( ${BASE_URI}vmware-tools-${guest}-${MY_PV}.x86_64.component.tar )
|
||||
x86? ( ${BASE_URI}vmware-tools-${guest}-${MY_PV}.i386.component.tar )
|
||||
)"
|
||||
IUSE+=" vmware_guest_${guest}"
|
||||
done ; unset guest
|
||||
|
||||
src_unpack() {
|
||||
local arch
|
||||
if use x86 ; then arch='i386'
|
||||
elif use amd64 ; then arch='x86_64'
|
||||
fi
|
||||
local guest ; for guest in ${IUSE_VMWARE_GUEST} ; do
|
||||
if use "vmware_guest_${guest}" ; then
|
||||
local component="vmware-tools-${guest}-${MY_PV}.${arch}.component"
|
||||
unpack "${component}.tar"
|
||||
vmware-bundle_extract-component "${component}"
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
src_install() {
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware/isoimages
|
||||
local guest ; for guest in ${IUSE_VMWARE_GUEST} ; do
|
||||
if use "vmware_guest_${guest}" ; then
|
||||
doins "${guest}".iso{,.sig}
|
||||
fi
|
||||
done
|
||||
}
|
|
@ -4,6 +4,10 @@ DIST VMware-Workstation-10.0.2-1744117.i386.bundle.tar 283658240 SHA256 3b8fcdf6
|
|||
DIST VMware-Workstation-10.0.2-1744117.x86_64.bundle.tar 254115840 SHA256 95986090a4f2f59ae551a63a78f9ff5bdc3a87c48b25b10abb754720c3581f02 SHA512 69ede2f67e3283a3b234605ca5aa05555da008917d6b329ab6ca27f578620b6268ec79622b4fc5c331111f527fcac917dd78a844ad2ff4bbd0149aa4dbb7755d WHIRLPOOL 42117a4bb6184629ec2e8c13c39f3298c746a4fa10b0928cee3ccd1c3e4464af95f59c7ff0f71c44184d25cc91e593cbb40fd050275ee1e66b308010fc907a17
|
||||
DIST VMware-Workstation-10.0.3-1895310.i386.bundle.tar 283648000 SHA256 8d66dd5b9351e53ce6729f96f8c9eca0631926220e14c34395236e9133b0c717 SHA512 32b953d25a89ac7a681a5e54adb8005ab32f47ca536af56e6b0095984376e28c59609af615b0f9f5a32999bbb65e2c2d20a4dca25ff7f28768435a1ac60b9ba3 WHIRLPOOL 060d82b470a5fb382ba49e4e2859d3e363864c451b91e4ece2bc19a75131b395438039dfb3cb9baa316beae70992f1ddc47522c0d891c17bbc67cbc1510eacfb
|
||||
DIST VMware-Workstation-10.0.3-1895310.x86_64.bundle.tar 254105600 SHA256 59cd70ddb31b08bcf0cf369b4d2d566dee70ed0119a93ec34e180adcd82852bc SHA512 bf32a4d31152c614291cdb490a4ce41a51dbb5421232b8abef7461438e60f6dd8c989e6bf17899ef2d4e4dfb3e36707374368e5d09039f4193b402175d1fb421 WHIRLPOOL cae78535dfe59334b3812586ac454086bf54c32f238ee1a5981e404382ec4b5c2b5042de89fe568545908824377b77bfbd6ec549c1b5968502358d96ce49ff9e
|
||||
DIST VMware-Workstation-10.0.6-2700073.i386.bundle.tar 281272320 SHA256 02b6c26ba33027344a943734e48cac03ed522a9cf09131837758af3ebd27ea60 SHA512 f65ce16784c9fccb0a6f09abe52bbbe1cc1567d366d03cfe0f79fdfbf4b9d5fef8238a6f62e969b8415112bf063f3d6a5e66239aa89159172520c80efd90c7e9 WHIRLPOOL 11ffae3b8a7e059e63afd2a8a19f9a07d8d63d2ef8f83c623b37e315750b09cb9a31537125614610fc988184017fe45b3ae5408670257c1dc9531dd6b6b17717
|
||||
DIST VMware-Workstation-10.0.6-2700073.x86_64.bundle.tar 252610560 SHA256 e29edcb0638f32bff81d372c9eaf54e663e3376cd1d89dbd4cfe4cab533398b2 SHA512 072de1da92cbef890707a6c4e3d5223fdc60e50a5166bb72b1ebc098d28c1a75b83ed65a29fdf1311e119e590560546e376909e1384f1eab05918500ec80ede4 WHIRLPOOL 3f4252abb6c87424b88fa34adc29e1927d1e6458beca65d9b290ff0c8ad4ccaf2945e2209670f8f8d4e84548d806c18fb23dc8380ec65452841e2c0bbcce89aa
|
||||
DIST VMware-Workstation-11.1.0-2496824.x86_64.bundle.tar 259112960 SHA256 bad9d8e223a2d7be07965c6dfc1dc450c996d4d447c500a7c874b85fc731d6c1 SHA512 78de89be8943f8ee99fae048047047f98ae44ee3bbb6dabd550726af864c61b0824a72b5ad91120cab0115d91fa036908d182518fcbd1b68b9a78caeb18ebc33 WHIRLPOOL 77807b5139eef194233bca608c888cec81a40b3fda1c08fb31a39bd24133ac58f700b6b84fd50207b9a47184a72a86e00cf00c74b13523c05b069b3dc089b34b
|
||||
DIST VMware-Workstation-11.1.2-2780323.x86_64.bundle.tar 259133440 SHA256 085b50175b253647d8b2cb188286d3cf9265ed246cc0deb3b142b0438ef5725f SHA512 1c43ebaa4f8b228ec00f24a263eddcbbad5c0c940cd67040e6e2275c3a4aab6c9e2e5ee96996ca4f007ff786ece978c5789214ad92479720182fc3153d7edbde WHIRLPOOL 60e359a1dcfe1178652d8c6be705dda4f2f31b109bf01d5b5b16dc03e26a649e8f1af2ffa03d68e9108646c98e9cad41c10a9452ea14950883f9162e57ac20ca
|
||||
DIST VMware-Workstation-9.0.3-1410761.i386.bundle.tar 264908800 SHA256 dfe9aaa75987793eac096c0fbdb364f94e354ab668213774ea3e90d5ddcecdc0 SHA512 5d0943400cb1fefca20f1a81d3989bf5cdda5e123d1a70b09ebc20a56498d36f597ed7a0730d2f6f752c3c4baad2c86d5ef7691e8d245147d944c6f7e4e708b0 WHIRLPOOL 14a950f2deb03c3b7a088d4fb50378c7109330d89903965c28ead0be1e2223dbce05a628b1ea859215d31a8978f497bd8f807652cf266667d67893eaf2d7372b
|
||||
DIST VMware-Workstation-9.0.3-1410761.x86_64.bundle.tar 232724480 SHA256 2612f8a523c9f23164d7557c105520bc6e010af82b3e6d4a3ada04d8ff03cbf0 SHA512 07923231e481550cb0348e40ef341c2d0682ac0daf6c8e0ada130c03113f43a37bf322e64fb9dc73511dea0fd2851f3cb4f5e755bbad4beba9e3cc4e69566070 WHIRLPOOL d979f2d9ef8888be89d5747c16e0db7ca45609cd9d77d84baf8485b4956f9e9f99bf46c33a2690b7b1fea851c0495ed0a06b36e3e69b51abfc11604d9a62fe4d
|
||||
DIST gentoo-01.tar.gz 1884 SHA256 e92c694865f1b29f4d7a39efa1dd87bc71dc5f922573f00a3d31ee8e27a8c335 SHA512 454ab93997781bd0a9accddb2ac7bb446f07ea7cddef5640369025c30e03592e14869e0f0f7b4457db2f1ada31c98051426016c86201afa8bc8e3aa4ccc2f875 WHIRLPOOL 9202583b617532ab2612b384da307218e7c93c2962f0d233e28bea066b07163c9bc51c0a599309f9d703c5575ebeb292d787716225624dc1c2fdff3c44fa3513
|
||||
|
|
44
app-emulation/vmware-workstation/files/vmware-11.0.rc
Normal file
44
app-emulation/vmware-workstation/files/vmware-11.0.rc
Normal file
|
@ -0,0 +1,44 @@
|
|||
#!/sbin/runscript
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
depend() {
|
||||
need localmount
|
||||
use net
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin Starting VMware USB Arbitrator
|
||||
#start-stop-daemon --start --exec @@BINDIR@@/vmware-usbarbitrator
|
||||
@@BINDIR@@/vmware-usbarbitrator
|
||||
eend $?
|
||||
ebegin Starting VMware services
|
||||
|
||||
# quiet for vmci because it may not be there
|
||||
modprobe -vq vmci || modprobe -v vmw_vmci
|
||||
eend $?
|
||||
|
||||
# vmci or vmw_vmci was loaded by the previous modprobe
|
||||
# no need to do it here
|
||||
modprobe -av vmmon vsock vmblock vmnet
|
||||
eend $?
|
||||
@@BINDIR@@/vmware-networks --start
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin Stopping VMware USB Arbitrator
|
||||
#start-stop-daemon --stop --exec @@BINDIR@@/vmware-usbarbitrator
|
||||
killall --wait @@BINDIR@@/vmware-usbarbitrator
|
||||
eend $?
|
||||
@@BINDIR@@/vmware-networks --stop
|
||||
eend $?
|
||||
ebegin Stopping VMware services
|
||||
modprobe -rv vsock vmmon vmblock vmnet
|
||||
eend $?
|
||||
|
||||
# quiet for vmci because it may not be there
|
||||
modprobe -rvq vmci || modprobe -rv vmw_vmci
|
||||
eend $?
|
||||
}
|
44
app-emulation/vmware-workstation/files/vmware-11.1.rc
Normal file
44
app-emulation/vmware-workstation/files/vmware-11.1.rc
Normal file
|
@ -0,0 +1,44 @@
|
|||
#!/sbin/runscript
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
depend() {
|
||||
need localmount
|
||||
use net
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin Starting VMware USB Arbitrator
|
||||
#start-stop-daemon --start --exec @@BINDIR@@/vmware-usbarbitrator
|
||||
@@BINDIR@@/vmware-usbarbitrator
|
||||
eend $?
|
||||
ebegin Starting VMware services
|
||||
|
||||
# quiet for vmci because it may not be there
|
||||
modprobe -vq vmci || modprobe -v vmw_vmci
|
||||
eend $?
|
||||
|
||||
# vmci or vmw_vmci was loaded by the previous modprobe
|
||||
# no need to do it here
|
||||
modprobe -av vmmon vsock vmblock vmnet
|
||||
eend $?
|
||||
@@BINDIR@@/vmware-networks --start
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin Stopping VMware USB Arbitrator
|
||||
#start-stop-daemon --stop --exec @@BINDIR@@/vmware-usbarbitrator
|
||||
killall --wait @@BINDIR@@/vmware-usbarbitrator
|
||||
eend $?
|
||||
@@BINDIR@@/vmware-networks --stop
|
||||
eend $?
|
||||
ebegin Stopping VMware services
|
||||
modprobe -rv vsock vmmon vmblock vmnet
|
||||
eend $?
|
||||
|
||||
# quiet for vmci because it may not be there
|
||||
modprobe -rvq vmci || modprobe -rv vmw_vmci
|
||||
eend $?
|
||||
}
|
44
app-emulation/vmware-workstation/files/vmware-11.2.rc
Normal file
44
app-emulation/vmware-workstation/files/vmware-11.2.rc
Normal file
|
@ -0,0 +1,44 @@
|
|||
#!/sbin/runscript
|
||||
# Copyright 1999-2014 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
depend() {
|
||||
need localmount
|
||||
use net
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin Starting VMware USB Arbitrator
|
||||
#start-stop-daemon --start --exec @@BINDIR@@/vmware-usbarbitrator
|
||||
@@BINDIR@@/vmware-usbarbitrator
|
||||
eend $?
|
||||
ebegin Starting VMware services
|
||||
|
||||
# quiet for vmci because it may not be there
|
||||
modprobe -vq vmci || modprobe -v vmw_vmci
|
||||
eend $?
|
||||
|
||||
# vmci or vmw_vmci was loaded by the previous modprobe
|
||||
# no need to do it here
|
||||
modprobe -av vmmon vsock vmblock vmnet
|
||||
eend $?
|
||||
@@BINDIR@@/vmware-networks --start
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin Stopping VMware USB Arbitrator
|
||||
#start-stop-daemon --stop --exec @@BINDIR@@/vmware-usbarbitrator
|
||||
killall --wait @@BINDIR@@/vmware-usbarbitrator
|
||||
eend $?
|
||||
@@BINDIR@@/vmware-networks --stop
|
||||
eend $?
|
||||
ebegin Stopping VMware services
|
||||
modprobe -rv vsock vmmon vmblock vmnet
|
||||
eend $?
|
||||
|
||||
# quiet for vmci because it may not be there
|
||||
modprobe -rvq vmci || modprobe -rv vmw_vmci
|
||||
eend $?
|
||||
}
|
55
app-emulation/vmware-workstation/files/vmware-server-11.0.rc
Normal file
55
app-emulation/vmware-workstation/files/vmware-server-11.0.rc
Normal file
|
@ -0,0 +1,55 @@
|
|||
#!/sbin/runscript
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/files/vmware-server-10.0.rc,v 1.1 2013/10/19 11:38:39 dilfridge Exp $
|
||||
|
||||
depend() {
|
||||
need localmount vmware
|
||||
use net
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
# Check if certificates exist. If not, we need to generate them, ala sshd.
|
||||
if [ ! -e @@ETCDIR@@/ssl/rui.key -o ! -e @@ETCDIR@@/ssl/rui.crt ]; then
|
||||
mkdir -p @@ETCDIR@@/ssl
|
||||
openssl req -x509 -days 365 -newkey rsa:2048 -keyout @@ETCDIR@@/ssl/rui.key -out @@ETCDIR@@/ssl/rui.crt -config @@ETCDIR@@/ssl/hostd.ssl.config
|
||||
chmod -R 600 @@ETCDIR@@/ssl
|
||||
fi
|
||||
}
|
||||
|
||||
start() {
|
||||
checkconfig
|
||||
|
||||
ebegin Starting VMware Authentication Daemon
|
||||
start-stop-daemon --start \
|
||||
--exec @@PREFIX@@/sbin/vmware-authdlauncher
|
||||
eend $?
|
||||
ebegin Starting VMware Workstation Server
|
||||
start-stop-daemon --start \
|
||||
--pidfile /var/run/vmware/vmware-hostd.PID \
|
||||
--exec @@BINDIR@@/vmware-hostd \
|
||||
-- -a -d @@ETCDIR@@/hostd/config.xml
|
||||
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Shutdown VMs in the AutoStart Sequence"
|
||||
local HOHO_ADMIN="$(@@BINDIR@@/vmware-wssc-adminTool "@@ETCDIR@@/hostd/authorization.xml" 2>/dev/null)"
|
||||
|
||||
if [ "x" != "x${HOHO_ADMIN}" ]; then
|
||||
@@BINDIR@@/vmware-vim-cmd -U "${HOHO_ADMIN}" hostsvc/autostartmanager/autostop
|
||||
fi
|
||||
eend $?
|
||||
|
||||
ebegin Stopping VMware Workstation Server
|
||||
start-stop-daemon --stop \
|
||||
--pidfile /var/run/vmware/vmware-hostd.PID \
|
||||
--exec @@BINDIR@@/vmware-hostd
|
||||
eend $?
|
||||
ebegin Stopping VMware Authentication Daemon
|
||||
#start-stop-daemon --stop \
|
||||
# --exec @@PREFIX@@/sbin/vmware-authdlauncher
|
||||
killall @@PREFIX@@/sbin/vmware-authdlauncher
|
||||
eend $?
|
||||
}
|
55
app-emulation/vmware-workstation/files/vmware-server-11.1.rc
Normal file
55
app-emulation/vmware-workstation/files/vmware-server-11.1.rc
Normal file
|
@ -0,0 +1,55 @@
|
|||
#!/sbin/runscript
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/files/vmware-server-10.0.rc,v 1.1 2013/10/19 11:38:39 dilfridge Exp $
|
||||
|
||||
depend() {
|
||||
need localmount vmware
|
||||
use net
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
# Check if certificates exist. If not, we need to generate them, ala sshd.
|
||||
if [ ! -e @@ETCDIR@@/ssl/rui.key -o ! -e @@ETCDIR@@/ssl/rui.crt ]; then
|
||||
mkdir -p @@ETCDIR@@/ssl
|
||||
openssl req -x509 -days 365 -newkey rsa:2048 -keyout @@ETCDIR@@/ssl/rui.key -out @@ETCDIR@@/ssl/rui.crt -config @@ETCDIR@@/ssl/hostd.ssl.config
|
||||
chmod -R 600 @@ETCDIR@@/ssl
|
||||
fi
|
||||
}
|
||||
|
||||
start() {
|
||||
checkconfig
|
||||
|
||||
ebegin Starting VMware Authentication Daemon
|
||||
start-stop-daemon --start \
|
||||
--exec @@PREFIX@@/sbin/vmware-authdlauncher
|
||||
eend $?
|
||||
ebegin Starting VMware Workstation Server
|
||||
start-stop-daemon --start \
|
||||
--pidfile /var/run/vmware/vmware-hostd.PID \
|
||||
--exec @@BINDIR@@/vmware-hostd \
|
||||
-- -a -d @@ETCDIR@@/hostd/config.xml
|
||||
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Shutdown VMs in the AutoStart Sequence"
|
||||
local HOHO_ADMIN="$(@@BINDIR@@/vmware-wssc-adminTool "@@ETCDIR@@/hostd/authorization.xml" 2>/dev/null)"
|
||||
|
||||
if [ "x" != "x${HOHO_ADMIN}" ]; then
|
||||
@@BINDIR@@/vmware-vim-cmd -U "${HOHO_ADMIN}" hostsvc/autostartmanager/autostop
|
||||
fi
|
||||
eend $?
|
||||
|
||||
ebegin Stopping VMware Workstation Server
|
||||
start-stop-daemon --stop \
|
||||
--pidfile /var/run/vmware/vmware-hostd.PID \
|
||||
--exec @@BINDIR@@/vmware-hostd
|
||||
eend $?
|
||||
ebegin Stopping VMware Authentication Daemon
|
||||
#start-stop-daemon --stop \
|
||||
# --exec @@PREFIX@@/sbin/vmware-authdlauncher
|
||||
killall @@PREFIX@@/sbin/vmware-authdlauncher
|
||||
eend $?
|
||||
}
|
55
app-emulation/vmware-workstation/files/vmware-server-11.2.rc
Normal file
55
app-emulation/vmware-workstation/files/vmware-server-11.2.rc
Normal file
|
@ -0,0 +1,55 @@
|
|||
#!/sbin/runscript
|
||||
# Copyright 1999-2013 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-workstation/files/vmware-server-10.0.rc,v 1.1 2013/10/19 11:38:39 dilfridge Exp $
|
||||
|
||||
depend() {
|
||||
need localmount vmware
|
||||
use net
|
||||
}
|
||||
|
||||
checkconfig() {
|
||||
# Check if certificates exist. If not, we need to generate them, ala sshd.
|
||||
if [ ! -e @@ETCDIR@@/ssl/rui.key -o ! -e @@ETCDIR@@/ssl/rui.crt ]; then
|
||||
mkdir -p @@ETCDIR@@/ssl
|
||||
openssl req -x509 -days 365 -newkey rsa:2048 -keyout @@ETCDIR@@/ssl/rui.key -out @@ETCDIR@@/ssl/rui.crt -config @@ETCDIR@@/ssl/hostd.ssl.config
|
||||
chmod -R 600 @@ETCDIR@@/ssl
|
||||
fi
|
||||
}
|
||||
|
||||
start() {
|
||||
checkconfig
|
||||
|
||||
ebegin Starting VMware Authentication Daemon
|
||||
start-stop-daemon --start \
|
||||
--exec @@PREFIX@@/sbin/vmware-authdlauncher
|
||||
eend $?
|
||||
ebegin Starting VMware Workstation Server
|
||||
start-stop-daemon --start \
|
||||
--pidfile /var/run/vmware/vmware-hostd.PID \
|
||||
--exec @@BINDIR@@/vmware-hostd \
|
||||
-- -a -d @@ETCDIR@@/hostd/config.xml
|
||||
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Shutdown VMs in the AutoStart Sequence"
|
||||
local HOHO_ADMIN="$(@@BINDIR@@/vmware-wssc-adminTool "@@ETCDIR@@/hostd/authorization.xml" 2>/dev/null)"
|
||||
|
||||
if [ "x" != "x${HOHO_ADMIN}" ]; then
|
||||
@@BINDIR@@/vmware-vim-cmd -U "${HOHO_ADMIN}" hostsvc/autostartmanager/autostop
|
||||
fi
|
||||
eend $?
|
||||
|
||||
ebegin Stopping VMware Workstation Server
|
||||
start-stop-daemon --stop \
|
||||
--pidfile /var/run/vmware/vmware-hostd.PID \
|
||||
--exec @@BINDIR@@/vmware-hostd
|
||||
eend $?
|
||||
ebegin Stopping VMware Authentication Daemon
|
||||
#start-stop-daemon --stop \
|
||||
# --exec @@PREFIX@@/sbin/vmware-authdlauncher
|
||||
killall @@PREFIX@@/sbin/vmware-authdlauncher
|
||||
eend $?
|
||||
}
|
|
@ -0,0 +1,499 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils versionator fdo-mime systemd gnome2-utils pam vmware-bundle
|
||||
|
||||
MY_PN="VMware-Workstation"
|
||||
MY_PV=$(get_version_component_range 1-3)
|
||||
PV_MINOR=$(get_version_component_range 3)
|
||||
PV_BUILD=$(get_version_component_range 4)
|
||||
MY_P="${MY_PN}-${MY_PV}-${PV_BUILD}"
|
||||
|
||||
SYSTEMD_UNITS_TAG="gentoo-01"
|
||||
|
||||
DESCRIPTION="Emulate a complete PC on your PC without the usual performance overhead of most emulators"
|
||||
HOMEPAGE="http://www.vmware.com/products/workstation/"
|
||||
BASE_URI="https://softwareupdate.vmware.com/cds/vmw-desktop/ws/${MY_PV}/${PV_BUILD}/linux/core/"
|
||||
SRC_URI="
|
||||
x86? ( ${BASE_URI}${MY_P}.i386.bundle.tar )
|
||||
amd64? ( ${BASE_URI}${MY_P}.x86_64.bundle.tar )
|
||||
https://github.com/akhuettel/systemd-vmware/archive/${SYSTEMD_UNITS_TAG}.tar.gz
|
||||
"
|
||||
LICENSE="vmware GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64 ~x86"
|
||||
IUSE="cups doc ovftool server vix vmware-tools"
|
||||
RESTRICT="mirror strip"
|
||||
|
||||
# vmware-workstation should not use virtual/libc as this is a
|
||||
# precompiled binary package thats linked to glibc.
|
||||
RDEPEND="dev-cpp/cairomm
|
||||
dev-cpp/glibmm:2
|
||||
dev-cpp/gtkmm:2.4
|
||||
dev-cpp/libgnomecanvasmm
|
||||
dev-cpp/pangomm
|
||||
dev-libs/atk
|
||||
dev-libs/glib:2
|
||||
dev-libs/icu
|
||||
dev-libs/expat
|
||||
dev-libs/libaio
|
||||
=dev-libs/libgcrypt-1.5*
|
||||
dev-libs/libsigc++
|
||||
dev-libs/libxml2
|
||||
dev-libs/openssl:0.9.8
|
||||
dev-libs/xmlrpc-c
|
||||
gnome-base/libgnomecanvas
|
||||
gnome-base/libgtop:2
|
||||
gnome-base/librsvg:2
|
||||
gnome-base/orbit
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype
|
||||
media-libs/libart_lgpl
|
||||
media-libs/libpng:1.2
|
||||
media-libs/libpng
|
||||
media-libs/tiff:3
|
||||
net-misc/curl
|
||||
cups? ( net-print/cups )
|
||||
sys-devel/gcc
|
||||
sys-fs/fuse
|
||||
sys-libs/glibc
|
||||
sys-libs/zlib
|
||||
x11-libs/cairo
|
||||
x11-libs/gtk+:2
|
||||
x11-libs/libgksu
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libX11
|
||||
x11-libs/libXau
|
||||
x11-libs/libxcb
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXdmcp
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXft
|
||||
x11-libs/libXi
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXtst
|
||||
x11-libs/pango
|
||||
x11-libs/pangox-compat
|
||||
x11-libs/startup-notification
|
||||
x11-themes/hicolor-icon-theme
|
||||
!app-emulation/vmware-player"
|
||||
PDEPEND="~app-emulation/vmware-modules-279.${PV_MINOR}
|
||||
vmware-tools? ( app-emulation/vmware-tools )"
|
||||
|
||||
S=${WORKDIR}
|
||||
VM_INSTALL_DIR="/opt/vmware"
|
||||
VM_DATA_STORE_DIR="/var/lib/vmware/Shared VMs"
|
||||
VM_HOSTD_USER="root"
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
local bundle
|
||||
use amd64 && bundle=${MY_P}.x86_64.bundle
|
||||
use x86 && bundle=${MY_P}.i386.bundle
|
||||
local component; for component in \
|
||||
vmware-vmx \
|
||||
vmware-player-app \
|
||||
vmware-player-setup \
|
||||
vmware-workstation \
|
||||
vmware-network-editor \
|
||||
vmware-network-editor-ui \
|
||||
vmware-usbarbitrator \
|
||||
vmware-vprobe
|
||||
do
|
||||
vmware-bundle_extract-bundle-component "${bundle}" "${component}" "${S}"
|
||||
done
|
||||
|
||||
if use server; then
|
||||
vmware-bundle_extract-bundle-component "${bundle}" vmware-workstation-server #"${S}"
|
||||
fi
|
||||
|
||||
if use vix; then
|
||||
vmware-bundle_extract-bundle-component "${bundle}" vmware-vix-core vmware-vix
|
||||
vmware-bundle_extract-bundle-component "${bundle}" vmware-vix-lib-Workstation1000andvSphere550 vmware-vix
|
||||
fi
|
||||
if use ovftool; then
|
||||
vmware-bundle_extract-bundle-component "${bundle}" vmware-ovftool
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
rm -f bin/vmware-modconfig
|
||||
rm -rf lib/modules/binary
|
||||
# Bug 459566
|
||||
mv lib/libvmware-netcfg.so lib/lib/
|
||||
|
||||
if use server; then
|
||||
rm -f vmware-workstation-server/bin/{openssl,configure-hostd.sh}
|
||||
fi
|
||||
|
||||
find "${S}" -name '*.a' -delete
|
||||
|
||||
# clean_bundled_libs
|
||||
}
|
||||
|
||||
clean_bundled_libs() {
|
||||
ebegin 'Removing superfluous libraries'
|
||||
cd lib/lib || die
|
||||
ldconfig -p | \
|
||||
sed 's:^\s\+\([^(]*[^( ]\).*=> /.*$:\1:g;t;d' | \
|
||||
fgrep -vx 'libcrypto.so.0.9.8
|
||||
libssl.so.0.9.8i
|
||||
libgcr.so.0
|
||||
libglib-2.0.so.0' |
|
||||
xargs -d'\n' -r rm -rf
|
||||
eend
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local major_minor=$(get_version_component_range 1-2 "${PV}")
|
||||
local major_minor_revision=$(get_version_component_range 1-3 "${PV}")
|
||||
local build=$(get_version_component_range 4 "${PV}")
|
||||
|
||||
# revdep-rebuild entry
|
||||
insinto /etc/revdep-rebuild
|
||||
echo "SEARCH_DIRS_MASK=\"${VM_INSTALL_DIR}\"" >> ${T}/10${PN}
|
||||
doins "${T}"/10${PN}
|
||||
|
||||
# install the binaries
|
||||
into "${VM_INSTALL_DIR}"
|
||||
dobin bin/*
|
||||
|
||||
# install the libraries
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware
|
||||
doins -r lib/*
|
||||
|
||||
# Bug 432918
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/lib/libcrypto.so.0.9.8/libcrypto.so.0.9.8 \
|
||||
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libcrypto.so.0.9.8
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/lib/libssl.so.0.9.8/libssl.so.0.9.8 \
|
||||
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libssl.so.0.9.8
|
||||
|
||||
# install the ancillaries
|
||||
insinto /usr
|
||||
doins -r share
|
||||
|
||||
if use cups; then
|
||||
exeinto $(cups-config --serverbin)/filter
|
||||
doexe extras/thnucups
|
||||
|
||||
insinto /etc/cups
|
||||
doins -r etc/cups/*
|
||||
fi
|
||||
|
||||
insinto /etc/xdg
|
||||
doins -r etc/xdg/*
|
||||
|
||||
# install documentation
|
||||
doman man/man1/vmware.1.gz
|
||||
|
||||
if use doc; then
|
||||
dodoc doc/*
|
||||
fi
|
||||
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware/setup
|
||||
doins vmware-config
|
||||
|
||||
# install vmware workstation server
|
||||
if use server; then
|
||||
dosbin sbin/*
|
||||
|
||||
cd "${S}"/vmware-workstation-server
|
||||
|
||||
# install binaries
|
||||
into "${VM_INSTALL_DIR}"/lib/vmware
|
||||
dobin bin/*
|
||||
|
||||
dobin "${FILESDIR}"/configure-hostd.sh
|
||||
|
||||
dobin "${FILESDIR}"/configure-hostd.sh
|
||||
|
||||
# install the libraries
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware/lib
|
||||
doins -r lib/*
|
||||
|
||||
into "${VM_INSTALL_DIR}"
|
||||
for tool in vmware-{hostd,wssc-adminTool} ; do
|
||||
cat > "${T}/${tool}" <<-EOF
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
. /etc/vmware/bootstrap
|
||||
|
||||
exec "${VM_INSTALL_DIR}/lib/vmware/lib/wrapper-gtk24.sh" \\
|
||||
"${VM_INSTALL_DIR}/lib/vmware/lib" \\
|
||||
"${VM_INSTALL_DIR}/lib/vmware/bin/${tool}" \\
|
||||
"${VM_INSTALL_DIR}/lib/vmware/libconf" "\$@"
|
||||
EOF
|
||||
dobin "${T}/${tool}"
|
||||
done
|
||||
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware
|
||||
doins -r hostd
|
||||
|
||||
# create the configuration
|
||||
insinto /etc/vmware/hostd
|
||||
doins -r config/etc/vmware/hostd/*
|
||||
doins -r etc/vmware/hostd/*
|
||||
|
||||
insinto /etc/vmware/ssl
|
||||
doins etc/vmware/ssl/*
|
||||
|
||||
# pam
|
||||
pamd_mimic_system vmware-authd auth account
|
||||
|
||||
# create directory for shared virtual machines.
|
||||
keepdir "${VM_DATA_STORE_DIR}"
|
||||
keepdir /var/log/vmware
|
||||
fi
|
||||
|
||||
# install vmware-vix
|
||||
if use vix; then
|
||||
cd "${S}"/vmware-vix
|
||||
|
||||
# install the binary
|
||||
into "${VM_INSTALL_DIR}"
|
||||
dobin bin/*
|
||||
|
||||
# install the libraries
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware-vix
|
||||
doins -r lib/*
|
||||
|
||||
dosym vmware-vix/libvixAllProducts.so "${VM_INSTALL_DIR}"/lib/libbvixAllProducts.so
|
||||
|
||||
# install headers
|
||||
insinto /usr/include/vmware-vix
|
||||
doins include/*
|
||||
|
||||
if use doc; then
|
||||
dohtml -r doc/*
|
||||
fi
|
||||
fi
|
||||
|
||||
# install ovftool
|
||||
if use ovftool; then
|
||||
cd "${S}"
|
||||
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware-ovftool
|
||||
doins -r vmware-ovftool/*
|
||||
|
||||
chmod 0755 "${D}${VM_INSTALL_DIR}"/lib/vmware-ovftool/{ovftool,ovftool.bin}
|
||||
dosym "${D}${VM_INSTALL_DIR}"/lib/vmware-ovftool/ovftool "${VM_INSTALL_DIR}"/bin/ovftool
|
||||
fi
|
||||
|
||||
# create symlinks for the various tools
|
||||
local tool ; for tool in thnuclnt vmware vmplayer{,-daemon} licenseTool vmamqpd \
|
||||
vmware-{acetool,enter-serial,gksu,fuseUI,modconfig{,-console},netcfg,tray,unity-helper,zenity} ; do
|
||||
dosym appLoader "${VM_INSTALL_DIR}"/lib/vmware/bin/"${tool}"
|
||||
done
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmplayer "${VM_INSTALL_DIR}"/bin/vmplayer
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware "${VM_INSTALL_DIR}"/bin/vmware
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/icu /etc/vmware/icu
|
||||
|
||||
# fix permissions
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/bin/{appLoader,fusermount,launcher.sh,mkisofs,vmware-remotemks}
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/lib/{wrapper-gtk24.sh,libgksu2.so.0/gksu-run-helper}
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/setup/vmware-config
|
||||
fperms 4711 "${VM_INSTALL_DIR}"/bin/vmware-mount
|
||||
fperms 4711 "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-vmx{,-debug,-stats}
|
||||
if use server; then
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-{hostd,wssc-adminTool}
|
||||
fperms 4711 "${VM_INSTALL_DIR}"/sbin/vmware-authd
|
||||
fperms 1777 "${VM_DATA_STORE_DIR}"
|
||||
fi
|
||||
if use vix; then
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware-vix/setup/vmware-config
|
||||
fi
|
||||
|
||||
# create the environment
|
||||
local envd="${T}/90vmware"
|
||||
cat > "${envd}" <<-EOF
|
||||
PATH='${VM_INSTALL_DIR}/bin'
|
||||
ROOTPATH='${VM_INSTALL_DIR}/bin'
|
||||
EOF
|
||||
doenvd "${envd}"
|
||||
|
||||
# create the configuration
|
||||
dodir /etc/vmware
|
||||
|
||||
cat > "${D}"/etc/vmware/bootstrap <<-EOF
|
||||
BINDIR='${VM_INSTALL_DIR}/bin'
|
||||
LIBDIR='${VM_INSTALL_DIR}/lib'
|
||||
EOF
|
||||
|
||||
cat > "${D}"/etc/vmware/config <<-EOF
|
||||
bindir = "${VM_INSTALL_DIR}/bin"
|
||||
libdir = "${VM_INSTALL_DIR}/lib/vmware"
|
||||
initscriptdir = "/etc/init.d"
|
||||
authd.fullpath = "${VM_INSTALL_DIR}/sbin/vmware-authd"
|
||||
gksu.rootMethod = "su"
|
||||
VMCI_CONFED = "yes"
|
||||
VMBLOCK_CONFED = "yes"
|
||||
VSOCK_CONFED = "yes"
|
||||
NETWORKING = "yes"
|
||||
player.product.version = "${major_minor_revision}"
|
||||
product.version = "${major_minor_revision}"
|
||||
product.buildNumber = "${build}"
|
||||
product.name = "VMware Workstation"
|
||||
workstation.product.version = "${major_minor_revision}"
|
||||
EOF
|
||||
|
||||
if use vix; then
|
||||
cat >> "${D}"/etc/vmware/config <<-EOF
|
||||
vmware.fullpath = "${VM_INSTALL_DIR}/bin/vmware"
|
||||
vix.libdir = "${VM_INSTALL_DIR}/lib/vmware-vix"
|
||||
vix.config.version = "1"
|
||||
EOF
|
||||
fi
|
||||
|
||||
if use server; then
|
||||
cat >> "${D}"/etc/vmware/config <<-EOF
|
||||
authd.client.port = "902"
|
||||
authd.proxy.nfc = "vmware-hostd:ha-nfc"
|
||||
authd.soapserver = "TRUE"
|
||||
EOF
|
||||
fi
|
||||
|
||||
# install the init.d script
|
||||
local initscript="${T}/vmware.rc"
|
||||
sed -e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \
|
||||
"${FILESDIR}/vmware-${major_minor}.rc" > ${initscript}
|
||||
newinitd "${initscript}" vmware
|
||||
|
||||
if use server; then
|
||||
# install the init.d script
|
||||
local initscript="${T}/vmware-workstation-server.rc"
|
||||
sed -e "s:@@ETCDIR@@:/etc/vmware:g" \
|
||||
-e "s:@@PREFIX@@:${VM_INSTALL_DIR}:g" \
|
||||
-e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \
|
||||
-e "s:@@LIBDIR@@:${VM_INSTALL_DIR}/lib/vmware:g" \
|
||||
"${FILESDIR}/vmware-server-${major_minor}.rc" > ${initscript}
|
||||
newinitd "${initscript}" vmware-workstation-server
|
||||
fi
|
||||
|
||||
# fill in variable placeholders
|
||||
sed -e "s:@@LIBCONF_DIR@@:${VM_INSTALL_DIR}/lib/vmware/libconf:g" \
|
||||
-i "${D}${VM_INSTALL_DIR}"/lib/vmware/libconf/etc/{gtk-2.0/{gdk-pixbuf.loaders,gtk.immodules},pango/pango{.modules,rc}}
|
||||
sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmware:g" \
|
||||
-e "/^Encoding/d" \
|
||||
-i "${D}/usr/share/applications/${PN}.desktop"
|
||||
sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmplayer:g" \
|
||||
-e "/^Encoding/d" \
|
||||
-i "${D}/usr/share/applications/vmware-player.desktop"
|
||||
sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmware-netcfg:g" \
|
||||
-e "/^Encoding/d" \
|
||||
-i "${D}/usr/share/applications/vmware-netcfg.desktop"
|
||||
|
||||
if use server; then
|
||||
# Configuration for vmware-workstation-server
|
||||
local hostdUser="${VM_HOSTD_USER:-root}"
|
||||
sed -e "/ACEDataUser/s:root:${hostdUser}:g" \
|
||||
-i "${D}/etc/vmware/hostd/authorization.xml" || die
|
||||
|
||||
# Shared VMs Path: [standard].
|
||||
sed -e "s:##{DS_NAME}##:standard:g" \
|
||||
-e "s:##{DS_PATH}##:${VM_DATA_STORE_DIR}:g" \
|
||||
-i "${D}/etc/vmware/hostd/datastores.xml" || die
|
||||
|
||||
sed -e "s:##{HTTP_PORT}##:-1:g" \
|
||||
-e "s:##{HTTPS_PORT}##:443:g" \
|
||||
-e "s:##{PIPE_PREFIX}##:/var/run/vmware/:g" \
|
||||
-i "${D}/etc/vmware/hostd/proxy.xml" || die
|
||||
|
||||
# See vmware-workstation-server.py for more details.
|
||||
sed -e "s:##{BUILD_CFGDIR}##:/etc/vmware/hostd/:g" \
|
||||
-e "s:##{CFGALTDIR}##:/etc/vmware/hostd/:g" \
|
||||
-e "s:##{CFGDIR}##:/etc/vmware/:g" \
|
||||
-e "s:##{ENABLE_AUTH}##:true:g" \
|
||||
-e "s:##{HOSTDMODE}##:ws:g" \
|
||||
-e "s:##{HOSTD_CFGDIR}##:/etc/vmware/hostd/:g" \
|
||||
-e "s:##{HOSTD_MOCKUP}##:false:g" \
|
||||
-e "s:##{LIBDIR}##:${VM_INSTALL_DIR}/lib/vmware:g" \
|
||||
-e "s:##{LIBDIR_INSTALLED}##:${VM_INSTALL_DIR}/lib/vmware/:g" \
|
||||
-e "s:##{LOGDIR}##:/var/log/vmware/:g" \
|
||||
-e "s:##{LOGLEVEL}##:verbose:g" \
|
||||
-e "s:##{MOCKUP}##:mockup-host-config.xml:g" \
|
||||
-e "s:##{PLUGINDIR}##:./:g" \
|
||||
-e "s:##{SHLIB_PREFIX}##:lib:g" \
|
||||
-e "s:##{SHLIB_SUFFIX}##:.so:g" \
|
||||
-e "s:##{USE_BLKLISTSVC}##:false:g" \
|
||||
-e "s:##{USE_CBRCSVC}##:false:g" \
|
||||
-e "s:##{USE_CIMSVC}##:false:g" \
|
||||
-e "s:##{USE_DIRECTORYSVC}##:false:g" \
|
||||
-e "s:##{USE_DIRECTORYSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_DYNAMIC_PLUGIN_LOADING}##:false:g" \
|
||||
-e "s:##{USE_DYNAMO}##:false:g" \
|
||||
-e "s:##{USE_DYNSVC}##:false:g" \
|
||||
-e "s:##{USE_GUESTSVC}##:false:g" \
|
||||
-e "s:##{USE_HBRSVC}##:false:g" \
|
||||
-e "s:##{USE_HBRSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_HOSTSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_HTTPNFCSVC}##:false:g" \
|
||||
-e "s:##{USE_HTTPNFCSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_LICENSESVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_NFCSVC}##:true:g" \
|
||||
-e "s:##{USE_NFCSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_OVFMGRSVC}##:true:g" \
|
||||
-e "s:##{USE_PARTITIONSVC}##:false:g" \
|
||||
-e "s:##{USE_SECURESOAP}##:false:g" \
|
||||
-e "s:##{USE_SNMPSVC}##:false:g" \
|
||||
-e "s:##{USE_SOLO_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_STATSSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_VCSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_VDISKSVC}##:false:g" \
|
||||
-e "s:##{USE_VDISKSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_VMSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{VM_INVENTORY}##:vmInventory.xml:g" \
|
||||
-e "s:##{VM_RESOURCES}##:vmResources.xml:g" \
|
||||
-e "s:##{WEBSERVER_PORT_ENTRY}##::g" \
|
||||
-e "s:##{WORKINGDIR}##:./:g" \
|
||||
-i "${D}/etc/vmware/hostd/config.xml" || die
|
||||
|
||||
sed -e "s:##{ENV_LOCATION}##:/etc/vmware/hostd/env/:g" \
|
||||
-i "${D}/etc/vmware/hostd/environments.xml" || die
|
||||
|
||||
# @@VICLIENT_URL@@=XXX
|
||||
sed -e "s:@@AUTHD_PORT@@:902:g" \
|
||||
-i "${D}${VM_INSTALL_DIR}/lib/vmware/hostd/docroot/client/clients.xml" || die
|
||||
fi
|
||||
|
||||
# install systemd unit files
|
||||
systemd_dounit "${WORKDIR}/systemd-vmware-${SYSTEMD_UNITS_TAG}/"*.{service,target}
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
"${VM_INSTALL_DIR}"/bin/vmware-networks --postinstall ${PN},old,new
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
fdo-mime_desktop_database_update
|
||||
gnome2_icon_cache_update
|
||||
|
||||
ewarn "/etc/env.d was updated. Please run:"
|
||||
ewarn "env-update && source /etc/profile"
|
||||
ewarn ""
|
||||
ewarn "Before you can use vmware workstation, you must configure a default network setup."
|
||||
ewarn "You can do this by running 'emerge --config ${PN}'."
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
einfo "Stopping ${PN} for safe unmerge"
|
||||
/etc/init.d/vmware stop
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
gnome2_icon_cache_update
|
||||
}
|
|
@ -0,0 +1,497 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils versionator fdo-mime systemd gnome2-utils pam vmware-bundle
|
||||
|
||||
MY_PN="VMware-Workstation"
|
||||
MY_PV=$(get_version_component_range 1-3)
|
||||
PV_MINOR=$(get_version_component_range 3)
|
||||
PV_BUILD=$(get_version_component_range 4)
|
||||
MY_P="${MY_PN}-${MY_PV}-${PV_BUILD}"
|
||||
|
||||
SYSTEMD_UNITS_TAG="gentoo-01"
|
||||
|
||||
DESCRIPTION="Emulate a complete PC on your PC without the usual performance overhead of most emulators"
|
||||
HOMEPAGE="http://www.vmware.com/products/workstation/"
|
||||
BASE_URI="https://softwareupdate.vmware.com/cds/vmw-desktop/ws/${MY_PV}/${PV_BUILD}/linux/core/"
|
||||
SRC_URI="
|
||||
amd64? ( ${BASE_URI}${MY_P}.x86_64.bundle.tar )
|
||||
https://github.com/akhuettel/systemd-vmware/archive/${SYSTEMD_UNITS_TAG}.tar.gz
|
||||
"
|
||||
LICENSE="vmware GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64"
|
||||
IUSE="cups doc ovftool server vix vmware-tools"
|
||||
RESTRICT="mirror strip"
|
||||
|
||||
# vmware-workstation should not use virtual/libc as this is a
|
||||
# precompiled binary package thats linked to glibc.
|
||||
RDEPEND="dev-cpp/cairomm
|
||||
dev-cpp/glibmm:2
|
||||
dev-cpp/gtkmm:2.4
|
||||
dev-cpp/libgnomecanvasmm
|
||||
dev-cpp/pangomm
|
||||
dev-libs/atk
|
||||
dev-libs/glib:2
|
||||
dev-libs/icu
|
||||
dev-libs/expat
|
||||
dev-libs/libaio
|
||||
=dev-libs/libgcrypt-1.5*
|
||||
dev-libs/libsigc++
|
||||
dev-libs/libxml2
|
||||
dev-libs/openssl:0.9.8
|
||||
dev-libs/xmlrpc-c
|
||||
gnome-base/libgnomecanvas
|
||||
gnome-base/libgtop:2
|
||||
gnome-base/librsvg:2
|
||||
gnome-base/orbit
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype
|
||||
media-libs/libart_lgpl
|
||||
media-libs/libpng:1.2
|
||||
media-libs/libpng
|
||||
media-libs/tiff:3
|
||||
net-misc/curl
|
||||
cups? ( net-print/cups )
|
||||
sys-devel/gcc
|
||||
sys-fs/fuse
|
||||
sys-libs/glibc
|
||||
sys-libs/zlib
|
||||
x11-libs/cairo
|
||||
x11-libs/gtk+:2
|
||||
x11-libs/libgksu
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libX11
|
||||
x11-libs/libXau
|
||||
x11-libs/libxcb
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXdmcp
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXft
|
||||
x11-libs/libXi
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXtst
|
||||
x11-libs/pango
|
||||
x11-libs/pangox-compat
|
||||
x11-libs/startup-notification
|
||||
x11-themes/hicolor-icon-theme
|
||||
!app-emulation/vmware-player"
|
||||
PDEPEND="~app-emulation/vmware-modules-304.${PV_MINOR}
|
||||
vmware-tools? ( app-emulation/vmware-tools )"
|
||||
|
||||
S=${WORKDIR}
|
||||
VM_INSTALL_DIR="/opt/vmware"
|
||||
VM_DATA_STORE_DIR="/var/lib/vmware/Shared VMs"
|
||||
VM_HOSTD_USER="root"
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
local bundle
|
||||
use amd64 && bundle=${MY_P}.x86_64.bundle
|
||||
local component; for component in \
|
||||
vmware-vmx \
|
||||
vmware-player-app \
|
||||
vmware-player-setup \
|
||||
vmware-workstation \
|
||||
vmware-network-editor \
|
||||
vmware-network-editor-ui \
|
||||
vmware-usbarbitrator \
|
||||
vmware-vprobe
|
||||
do
|
||||
vmware-bundle_extract-bundle-component "${bundle}" "${component}" "${S}"
|
||||
done
|
||||
|
||||
if use server; then
|
||||
vmware-bundle_extract-bundle-component "${bundle}" vmware-workstation-server #"${S}"
|
||||
fi
|
||||
|
||||
if use vix; then
|
||||
vmware-bundle_extract-bundle-component "${bundle}" vmware-vix-core vmware-vix
|
||||
vmware-bundle_extract-bundle-component "${bundle}" vmware-vix-lib-Workstation1100andvSphere600 vmware-vix
|
||||
fi
|
||||
if use ovftool; then
|
||||
vmware-bundle_extract-bundle-component "${bundle}" vmware-ovftool
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
rm -f bin/vmware-modconfig
|
||||
rm -rf lib/modules/binary
|
||||
# Bug 459566
|
||||
mv lib/libvmware-netcfg.so lib/lib/
|
||||
|
||||
if use server; then
|
||||
rm -f vmware-workstation-server/bin/{openssl,configure-hostd.sh}
|
||||
fi
|
||||
|
||||
find "${S}" -name '*.a' -delete
|
||||
|
||||
# clean_bundled_libs
|
||||
}
|
||||
|
||||
clean_bundled_libs() {
|
||||
ebegin 'Removing superfluous libraries'
|
||||
cd lib/lib || die
|
||||
ldconfig -p | \
|
||||
sed 's:^\s\+\([^(]*[^( ]\).*=> /.*$:\1:g;t;d' | \
|
||||
fgrep -vx 'libcrypto.so.0.9.8
|
||||
libssl.so.0.9.8i
|
||||
libgcr.so.0
|
||||
libglib-2.0.so.0' |
|
||||
xargs -d'\n' -r rm -rf
|
||||
eend
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local major_minor=$(get_version_component_range 1-2 "${PV}")
|
||||
local major_minor_revision=$(get_version_component_range 1-3 "${PV}")
|
||||
local build=$(get_version_component_range 4 "${PV}")
|
||||
|
||||
# revdep-rebuild entry
|
||||
insinto /etc/revdep-rebuild
|
||||
echo "SEARCH_DIRS_MASK=\"${VM_INSTALL_DIR}\"" >> ${T}/10${PN}
|
||||
doins "${T}"/10${PN}
|
||||
|
||||
# install the binaries
|
||||
into "${VM_INSTALL_DIR}"
|
||||
dobin bin/*
|
||||
|
||||
# install the libraries
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware
|
||||
doins -r lib/*
|
||||
|
||||
# Bug 432918
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/lib/libcrypto.so.0.9.8/libcrypto.so.0.9.8 \
|
||||
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libcrypto.so.0.9.8
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/lib/libssl.so.0.9.8/libssl.so.0.9.8 \
|
||||
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libssl.so.0.9.8
|
||||
|
||||
# install the ancillaries
|
||||
insinto /usr
|
||||
doins -r share
|
||||
|
||||
if use cups; then
|
||||
exeinto $(cups-config --serverbin)/filter
|
||||
doexe extras/thnucups
|
||||
|
||||
insinto /etc/cups
|
||||
doins -r etc/cups/*
|
||||
fi
|
||||
|
||||
insinto /etc/xdg
|
||||
doins -r etc/xdg/*
|
||||
|
||||
# install documentation
|
||||
doman man/man1/vmware.1.gz
|
||||
|
||||
if use doc; then
|
||||
dodoc doc/*
|
||||
fi
|
||||
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware/setup
|
||||
doins vmware-config
|
||||
|
||||
# install vmware workstation server
|
||||
if use server; then
|
||||
dosbin sbin/*
|
||||
|
||||
cd "${S}"/vmware-workstation-server
|
||||
|
||||
# install binaries
|
||||
into "${VM_INSTALL_DIR}"/lib/vmware
|
||||
dobin bin/*
|
||||
|
||||
dobin "${FILESDIR}"/configure-hostd.sh
|
||||
|
||||
dobin "${FILESDIR}"/configure-hostd.sh
|
||||
|
||||
# install the libraries
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware/lib
|
||||
doins -r lib/*
|
||||
|
||||
into "${VM_INSTALL_DIR}"
|
||||
for tool in vmware-{hostd,wssc-adminTool} ; do
|
||||
cat > "${T}/${tool}" <<-EOF
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
. /etc/vmware/bootstrap
|
||||
|
||||
exec "${VM_INSTALL_DIR}/lib/vmware/lib/wrapper-gtk24.sh" \\
|
||||
"${VM_INSTALL_DIR}/lib/vmware/lib" \\
|
||||
"${VM_INSTALL_DIR}/lib/vmware/bin/${tool}" \\
|
||||
"${VM_INSTALL_DIR}/lib/vmware/libconf" "\$@"
|
||||
EOF
|
||||
dobin "${T}/${tool}"
|
||||
done
|
||||
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware
|
||||
doins -r hostd
|
||||
|
||||
# create the configuration
|
||||
insinto /etc/vmware/hostd
|
||||
doins -r config/etc/vmware/hostd/*
|
||||
doins -r etc/vmware/hostd/*
|
||||
|
||||
insinto /etc/vmware/ssl
|
||||
doins etc/vmware/ssl/*
|
||||
|
||||
# pam
|
||||
pamd_mimic_system vmware-authd auth account
|
||||
|
||||
# create directory for shared virtual machines.
|
||||
keepdir "${VM_DATA_STORE_DIR}"
|
||||
keepdir /var/log/vmware
|
||||
fi
|
||||
|
||||
# install vmware-vix
|
||||
if use vix; then
|
||||
cd "${S}"/vmware-vix
|
||||
|
||||
# install the binary
|
||||
into "${VM_INSTALL_DIR}"
|
||||
dobin bin/*
|
||||
|
||||
# install the libraries
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware-vix
|
||||
doins -r lib/*
|
||||
|
||||
dosym vmware-vix/libvixAllProducts.so "${VM_INSTALL_DIR}"/lib/libbvixAllProducts.so
|
||||
|
||||
# install headers
|
||||
insinto /usr/include/vmware-vix
|
||||
doins include/*
|
||||
|
||||
if use doc; then
|
||||
dohtml -r doc/*
|
||||
fi
|
||||
fi
|
||||
|
||||
# install ovftool
|
||||
if use ovftool; then
|
||||
cd "${S}"
|
||||
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware-ovftool
|
||||
doins -r vmware-ovftool/*
|
||||
|
||||
chmod 0755 "${D}${VM_INSTALL_DIR}"/lib/vmware-ovftool/{ovftool,ovftool.bin}
|
||||
dosym "${D}${VM_INSTALL_DIR}"/lib/vmware-ovftool/ovftool "${VM_INSTALL_DIR}"/bin/ovftool
|
||||
fi
|
||||
|
||||
# create symlinks for the various tools
|
||||
local tool ; for tool in thnuclnt vmware vmplayer{,-daemon} licenseTool vmamqpd \
|
||||
vmware-{acetool,enter-serial,gksu,fuseUI,modconfig{,-console},netcfg,tray,unity-helper,zenity} ; do
|
||||
dosym appLoader "${VM_INSTALL_DIR}"/lib/vmware/bin/"${tool}"
|
||||
done
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmplayer "${VM_INSTALL_DIR}"/bin/vmplayer
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware "${VM_INSTALL_DIR}"/bin/vmware
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/icu /etc/vmware/icu
|
||||
|
||||
# fix permissions
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/bin/{appLoader,fusermount,launcher.sh,mkisofs,vmware-remotemks}
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/lib/{wrapper-gtk24.sh,libgksu2.so.0/gksu-run-helper}
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/setup/vmware-config
|
||||
fperms 4711 "${VM_INSTALL_DIR}"/bin/vmware-mount
|
||||
fperms 4711 "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-vmx{,-debug,-stats}
|
||||
if use server; then
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-{hostd,wssc-adminTool}
|
||||
fperms 4711 "${VM_INSTALL_DIR}"/sbin/vmware-authd
|
||||
fperms 1777 "${VM_DATA_STORE_DIR}"
|
||||
fi
|
||||
if use vix; then
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware-vix/setup/vmware-config
|
||||
fi
|
||||
|
||||
# create the environment
|
||||
local envd="${T}/90vmware"
|
||||
cat > "${envd}" <<-EOF
|
||||
PATH='${VM_INSTALL_DIR}/bin'
|
||||
ROOTPATH='${VM_INSTALL_DIR}/bin'
|
||||
EOF
|
||||
doenvd "${envd}"
|
||||
|
||||
# create the configuration
|
||||
dodir /etc/vmware
|
||||
|
||||
cat > "${D}"/etc/vmware/bootstrap <<-EOF
|
||||
BINDIR='${VM_INSTALL_DIR}/bin'
|
||||
LIBDIR='${VM_INSTALL_DIR}/lib'
|
||||
EOF
|
||||
|
||||
cat > "${D}"/etc/vmware/config <<-EOF
|
||||
bindir = "${VM_INSTALL_DIR}/bin"
|
||||
libdir = "${VM_INSTALL_DIR}/lib/vmware"
|
||||
initscriptdir = "/etc/init.d"
|
||||
authd.fullpath = "${VM_INSTALL_DIR}/sbin/vmware-authd"
|
||||
gksu.rootMethod = "su"
|
||||
VMCI_CONFED = "yes"
|
||||
VMBLOCK_CONFED = "yes"
|
||||
VSOCK_CONFED = "yes"
|
||||
NETWORKING = "yes"
|
||||
player.product.version = "${major_minor_revision}"
|
||||
product.version = "${major_minor_revision}"
|
||||
product.buildNumber = "${build}"
|
||||
product.name = "VMware Workstation"
|
||||
workstation.product.version = "${major_minor_revision}"
|
||||
EOF
|
||||
|
||||
if use vix; then
|
||||
cat >> "${D}"/etc/vmware/config <<-EOF
|
||||
vmware.fullpath = "${VM_INSTALL_DIR}/bin/vmware"
|
||||
vix.libdir = "${VM_INSTALL_DIR}/lib/vmware-vix"
|
||||
vix.config.version = "1"
|
||||
EOF
|
||||
fi
|
||||
|
||||
if use server; then
|
||||
cat >> "${D}"/etc/vmware/config <<-EOF
|
||||
authd.client.port = "902"
|
||||
authd.proxy.nfc = "vmware-hostd:ha-nfc"
|
||||
authd.soapserver = "TRUE"
|
||||
EOF
|
||||
fi
|
||||
|
||||
# install the init.d script
|
||||
local initscript="${T}/vmware.rc"
|
||||
sed -e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \
|
||||
"${FILESDIR}/vmware-${major_minor}.rc" > ${initscript}
|
||||
newinitd "${initscript}" vmware
|
||||
|
||||
if use server; then
|
||||
# install the init.d script
|
||||
local initscript="${T}/vmware-workstation-server.rc"
|
||||
sed -e "s:@@ETCDIR@@:/etc/vmware:g" \
|
||||
-e "s:@@PREFIX@@:${VM_INSTALL_DIR}:g" \
|
||||
-e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \
|
||||
-e "s:@@LIBDIR@@:${VM_INSTALL_DIR}/lib/vmware:g" \
|
||||
"${FILESDIR}/vmware-server-${major_minor}.rc" > ${initscript}
|
||||
newinitd "${initscript}" vmware-workstation-server
|
||||
fi
|
||||
|
||||
# fill in variable placeholders
|
||||
sed -e "s:@@LIBCONF_DIR@@:${VM_INSTALL_DIR}/lib/vmware/libconf:g" \
|
||||
-i "${D}${VM_INSTALL_DIR}"/lib/vmware/libconf/etc/{gtk-2.0/{gdk-pixbuf.loaders,gtk.immodules},pango/pango{.modules,rc}}
|
||||
sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmware:g" \
|
||||
-e "/^Encoding/d" \
|
||||
-i "${D}/usr/share/applications/${PN}.desktop"
|
||||
sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmplayer:g" \
|
||||
-e "/^Encoding/d" \
|
||||
-i "${D}/usr/share/applications/vmware-player.desktop"
|
||||
sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmware-netcfg:g" \
|
||||
-e "/^Encoding/d" \
|
||||
-i "${D}/usr/share/applications/vmware-netcfg.desktop"
|
||||
|
||||
if use server; then
|
||||
# Configuration for vmware-workstation-server
|
||||
local hostdUser="${VM_HOSTD_USER:-root}"
|
||||
sed -e "/ACEDataUser/s:root:${hostdUser}:g" \
|
||||
-i "${D}/etc/vmware/hostd/authorization.xml" || die
|
||||
|
||||
# Shared VMs Path: [standard].
|
||||
sed -e "s:##{DS_NAME}##:standard:g" \
|
||||
-e "s:##{DS_PATH}##:${VM_DATA_STORE_DIR}:g" \
|
||||
-i "${D}/etc/vmware/hostd/datastores.xml" || die
|
||||
|
||||
sed -e "s:##{HTTP_PORT}##:-1:g" \
|
||||
-e "s:##{HTTPS_PORT}##:443:g" \
|
||||
-e "s:##{PIPE_PREFIX}##:/var/run/vmware/:g" \
|
||||
-i "${D}/etc/vmware/hostd/proxy.xml" || die
|
||||
|
||||
# See vmware-workstation-server.py for more details.
|
||||
sed -e "s:##{BUILD_CFGDIR}##:/etc/vmware/hostd/:g" \
|
||||
-e "s:##{CFGALTDIR}##:/etc/vmware/hostd/:g" \
|
||||
-e "s:##{CFGDIR}##:/etc/vmware/:g" \
|
||||
-e "s:##{ENABLE_AUTH}##:true:g" \
|
||||
-e "s:##{HOSTDMODE}##:ws:g" \
|
||||
-e "s:##{HOSTD_CFGDIR}##:/etc/vmware/hostd/:g" \
|
||||
-e "s:##{HOSTD_MOCKUP}##:false:g" \
|
||||
-e "s:##{LIBDIR}##:${VM_INSTALL_DIR}/lib/vmware:g" \
|
||||
-e "s:##{LIBDIR_INSTALLED}##:${VM_INSTALL_DIR}/lib/vmware/:g" \
|
||||
-e "s:##{LOGDIR}##:/var/log/vmware/:g" \
|
||||
-e "s:##{LOGLEVEL}##:verbose:g" \
|
||||
-e "s:##{MOCKUP}##:mockup-host-config.xml:g" \
|
||||
-e "s:##{PLUGINDIR}##:./:g" \
|
||||
-e "s:##{SHLIB_PREFIX}##:lib:g" \
|
||||
-e "s:##{SHLIB_SUFFIX}##:.so:g" \
|
||||
-e "s:##{USE_BLKLISTSVC}##:false:g" \
|
||||
-e "s:##{USE_CBRCSVC}##:false:g" \
|
||||
-e "s:##{USE_CIMSVC}##:false:g" \
|
||||
-e "s:##{USE_DIRECTORYSVC}##:false:g" \
|
||||
-e "s:##{USE_DIRECTORYSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_DYNAMIC_PLUGIN_LOADING}##:false:g" \
|
||||
-e "s:##{USE_DYNAMO}##:false:g" \
|
||||
-e "s:##{USE_DYNSVC}##:false:g" \
|
||||
-e "s:##{USE_GUESTSVC}##:false:g" \
|
||||
-e "s:##{USE_HBRSVC}##:false:g" \
|
||||
-e "s:##{USE_HBRSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_HOSTSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_HTTPNFCSVC}##:false:g" \
|
||||
-e "s:##{USE_HTTPNFCSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_LICENSESVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_NFCSVC}##:true:g" \
|
||||
-e "s:##{USE_NFCSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_OVFMGRSVC}##:true:g" \
|
||||
-e "s:##{USE_PARTITIONSVC}##:false:g" \
|
||||
-e "s:##{USE_SECURESOAP}##:false:g" \
|
||||
-e "s:##{USE_SNMPSVC}##:false:g" \
|
||||
-e "s:##{USE_SOLO_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_STATSSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_VCSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_VDISKSVC}##:false:g" \
|
||||
-e "s:##{USE_VDISKSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_VMSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{VM_INVENTORY}##:vmInventory.xml:g" \
|
||||
-e "s:##{VM_RESOURCES}##:vmResources.xml:g" \
|
||||
-e "s:##{WEBSERVER_PORT_ENTRY}##::g" \
|
||||
-e "s:##{WORKINGDIR}##:./:g" \
|
||||
-i "${D}/etc/vmware/hostd/config.xml" || die
|
||||
|
||||
sed -e "s:##{ENV_LOCATION}##:/etc/vmware/hostd/env/:g" \
|
||||
-i "${D}/etc/vmware/hostd/environments.xml" || die
|
||||
|
||||
# @@VICLIENT_URL@@=XXX
|
||||
sed -e "s:@@AUTHD_PORT@@:902:g" \
|
||||
-i "${D}${VM_INSTALL_DIR}/lib/vmware/hostd/docroot/client/clients.xml" || die
|
||||
fi
|
||||
|
||||
# install systemd unit files
|
||||
systemd_dounit "${WORKDIR}/systemd-vmware-${SYSTEMD_UNITS_TAG}/"*.{service,target}
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
"${VM_INSTALL_DIR}"/bin/vmware-networks --postinstall ${PN},old,new
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
fdo-mime_desktop_database_update
|
||||
gnome2_icon_cache_update
|
||||
|
||||
ewarn "/etc/env.d was updated. Please run:"
|
||||
ewarn "env-update && source /etc/profile"
|
||||
ewarn ""
|
||||
ewarn "Before you can use vmware workstation, you must configure a default network setup."
|
||||
ewarn "You can do this by running 'emerge --config ${PN}'."
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
einfo "Stopping ${PN} for safe unmerge"
|
||||
/etc/init.d/vmware stop
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
gnome2_icon_cache_update
|
||||
}
|
|
@ -0,0 +1,497 @@
|
|||
# Copyright 1999-2015 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
# $Header: $
|
||||
|
||||
EAPI=5
|
||||
|
||||
inherit eutils versionator fdo-mime systemd gnome2-utils pam vmware-bundle
|
||||
|
||||
MY_PN="VMware-Workstation"
|
||||
MY_PV=$(get_version_component_range 1-3)
|
||||
PV_MINOR=$(get_version_component_range 3)
|
||||
PV_BUILD=$(get_version_component_range 4)
|
||||
MY_P="${MY_PN}-${MY_PV}-${PV_BUILD}"
|
||||
|
||||
SYSTEMD_UNITS_TAG="gentoo-01"
|
||||
|
||||
DESCRIPTION="Emulate a complete PC on your PC without the usual performance overhead of most emulators"
|
||||
HOMEPAGE="http://www.vmware.com/products/workstation/"
|
||||
BASE_URI="https://softwareupdate.vmware.com/cds/vmw-desktop/ws/${MY_PV}/${PV_BUILD}/linux/core/"
|
||||
SRC_URI="
|
||||
amd64? ( ${BASE_URI}${MY_P}.x86_64.bundle.tar )
|
||||
https://github.com/akhuettel/systemd-vmware/archive/${SYSTEMD_UNITS_TAG}.tar.gz
|
||||
"
|
||||
LICENSE="vmware GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64"
|
||||
IUSE="cups doc ovftool server vix vmware-tools"
|
||||
RESTRICT="mirror strip"
|
||||
|
||||
# vmware-workstation should not use virtual/libc as this is a
|
||||
# precompiled binary package thats linked to glibc.
|
||||
RDEPEND="dev-cpp/cairomm
|
||||
dev-cpp/glibmm:2
|
||||
dev-cpp/gtkmm:2.4
|
||||
dev-cpp/libgnomecanvasmm
|
||||
dev-cpp/pangomm
|
||||
dev-libs/atk
|
||||
dev-libs/glib:2
|
||||
dev-libs/icu
|
||||
dev-libs/expat
|
||||
dev-libs/libaio
|
||||
=dev-libs/libgcrypt-1.5*
|
||||
dev-libs/libsigc++
|
||||
dev-libs/libxml2
|
||||
dev-libs/openssl:0.9.8
|
||||
dev-libs/xmlrpc-c
|
||||
gnome-base/libgnomecanvas
|
||||
gnome-base/libgtop:2
|
||||
gnome-base/librsvg:2
|
||||
gnome-base/orbit
|
||||
media-libs/fontconfig
|
||||
media-libs/freetype
|
||||
media-libs/libart_lgpl
|
||||
media-libs/libpng:1.2
|
||||
media-libs/libpng
|
||||
media-libs/tiff:3
|
||||
net-misc/curl
|
||||
cups? ( net-print/cups )
|
||||
sys-devel/gcc
|
||||
sys-fs/fuse
|
||||
sys-libs/glibc
|
||||
sys-libs/zlib
|
||||
x11-libs/cairo
|
||||
x11-libs/gtk+:2
|
||||
x11-libs/libgksu
|
||||
x11-libs/libICE
|
||||
x11-libs/libSM
|
||||
x11-libs/libX11
|
||||
x11-libs/libXau
|
||||
x11-libs/libxcb
|
||||
x11-libs/libXcomposite
|
||||
x11-libs/libXcursor
|
||||
x11-libs/libXdamage
|
||||
x11-libs/libXdmcp
|
||||
x11-libs/libXext
|
||||
x11-libs/libXfixes
|
||||
x11-libs/libXft
|
||||
x11-libs/libXi
|
||||
x11-libs/libXinerama
|
||||
x11-libs/libXrandr
|
||||
x11-libs/libXrender
|
||||
x11-libs/libXtst
|
||||
x11-libs/pango
|
||||
x11-libs/pangox-compat
|
||||
x11-libs/startup-notification
|
||||
x11-themes/hicolor-icon-theme
|
||||
!app-emulation/vmware-player"
|
||||
PDEPEND="~app-emulation/vmware-modules-304.${PV_MINOR}
|
||||
vmware-tools? ( app-emulation/vmware-tools )"
|
||||
|
||||
S=${WORKDIR}
|
||||
VM_INSTALL_DIR="/opt/vmware"
|
||||
VM_DATA_STORE_DIR="/var/lib/vmware/Shared VMs"
|
||||
VM_HOSTD_USER="root"
|
||||
|
||||
src_unpack() {
|
||||
default
|
||||
local bundle
|
||||
use amd64 && bundle=${MY_P}.x86_64.bundle
|
||||
local component; for component in \
|
||||
vmware-vmx \
|
||||
vmware-player-app \
|
||||
vmware-player-setup \
|
||||
vmware-workstation \
|
||||
vmware-network-editor \
|
||||
vmware-network-editor-ui \
|
||||
vmware-usbarbitrator \
|
||||
vmware-vprobe
|
||||
do
|
||||
vmware-bundle_extract-bundle-component "${bundle}" "${component}" "${S}"
|
||||
done
|
||||
|
||||
if use server; then
|
||||
vmware-bundle_extract-bundle-component "${bundle}" vmware-workstation-server #"${S}"
|
||||
fi
|
||||
|
||||
if use vix; then
|
||||
vmware-bundle_extract-bundle-component "${bundle}" vmware-vix-core vmware-vix
|
||||
vmware-bundle_extract-bundle-component "${bundle}" vmware-vix-lib-Workstation1100andvSphere600 vmware-vix
|
||||
fi
|
||||
if use ovftool; then
|
||||
vmware-bundle_extract-bundle-component "${bundle}" vmware-ovftool
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
rm -f bin/vmware-modconfig
|
||||
rm -rf lib/modules/binary
|
||||
# Bug 459566
|
||||
mv lib/libvmware-netcfg.so lib/lib/
|
||||
|
||||
if use server; then
|
||||
rm -f vmware-workstation-server/bin/{openssl,configure-hostd.sh}
|
||||
fi
|
||||
|
||||
find "${S}" -name '*.a' -delete
|
||||
|
||||
# clean_bundled_libs
|
||||
}
|
||||
|
||||
clean_bundled_libs() {
|
||||
ebegin 'Removing superfluous libraries'
|
||||
cd lib/lib || die
|
||||
ldconfig -p | \
|
||||
sed 's:^\s\+\([^(]*[^( ]\).*=> /.*$:\1:g;t;d' | \
|
||||
fgrep -vx 'libcrypto.so.0.9.8
|
||||
libssl.so.0.9.8i
|
||||
libgcr.so.0
|
||||
libglib-2.0.so.0' |
|
||||
xargs -d'\n' -r rm -rf
|
||||
eend
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local major_minor=$(get_version_component_range 1-2 "${PV}")
|
||||
local major_minor_revision=$(get_version_component_range 1-3 "${PV}")
|
||||
local build=$(get_version_component_range 4 "${PV}")
|
||||
|
||||
# revdep-rebuild entry
|
||||
insinto /etc/revdep-rebuild
|
||||
echo "SEARCH_DIRS_MASK=\"${VM_INSTALL_DIR}\"" >> ${T}/10${PN}
|
||||
doins "${T}"/10${PN}
|
||||
|
||||
# install the binaries
|
||||
into "${VM_INSTALL_DIR}"
|
||||
dobin bin/*
|
||||
|
||||
# install the libraries
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware
|
||||
doins -r lib/*
|
||||
|
||||
# Bug 432918
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/lib/libcrypto.so.0.9.8/libcrypto.so.0.9.8 \
|
||||
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libcrypto.so.0.9.8
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/lib/libssl.so.0.9.8/libssl.so.0.9.8 \
|
||||
"${VM_INSTALL_DIR}"/lib/vmware/lib/libvmwarebase.so.0/libssl.so.0.9.8
|
||||
|
||||
# install the ancillaries
|
||||
insinto /usr
|
||||
doins -r share
|
||||
|
||||
if use cups; then
|
||||
exeinto $(cups-config --serverbin)/filter
|
||||
doexe extras/thnucups
|
||||
|
||||
insinto /etc/cups
|
||||
doins -r etc/cups/*
|
||||
fi
|
||||
|
||||
insinto /etc/xdg
|
||||
doins -r etc/xdg/*
|
||||
|
||||
# install documentation
|
||||
doman man/man1/vmware.1.gz
|
||||
|
||||
if use doc; then
|
||||
dodoc doc/*
|
||||
fi
|
||||
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware/setup
|
||||
doins vmware-config
|
||||
|
||||
# install vmware workstation server
|
||||
if use server; then
|
||||
dosbin sbin/*
|
||||
|
||||
cd "${S}"/vmware-workstation-server
|
||||
|
||||
# install binaries
|
||||
into "${VM_INSTALL_DIR}"/lib/vmware
|
||||
dobin bin/*
|
||||
|
||||
dobin "${FILESDIR}"/configure-hostd.sh
|
||||
|
||||
dobin "${FILESDIR}"/configure-hostd.sh
|
||||
|
||||
# install the libraries
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware/lib
|
||||
doins -r lib/*
|
||||
|
||||
into "${VM_INSTALL_DIR}"
|
||||
for tool in vmware-{hostd,wssc-adminTool} ; do
|
||||
cat > "${T}/${tool}" <<-EOF
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
|
||||
. /etc/vmware/bootstrap
|
||||
|
||||
exec "${VM_INSTALL_DIR}/lib/vmware/lib/wrapper-gtk24.sh" \\
|
||||
"${VM_INSTALL_DIR}/lib/vmware/lib" \\
|
||||
"${VM_INSTALL_DIR}/lib/vmware/bin/${tool}" \\
|
||||
"${VM_INSTALL_DIR}/lib/vmware/libconf" "\$@"
|
||||
EOF
|
||||
dobin "${T}/${tool}"
|
||||
done
|
||||
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware
|
||||
doins -r hostd
|
||||
|
||||
# create the configuration
|
||||
insinto /etc/vmware/hostd
|
||||
doins -r config/etc/vmware/hostd/*
|
||||
doins -r etc/vmware/hostd/*
|
||||
|
||||
insinto /etc/vmware/ssl
|
||||
doins etc/vmware/ssl/*
|
||||
|
||||
# pam
|
||||
pamd_mimic_system vmware-authd auth account
|
||||
|
||||
# create directory for shared virtual machines.
|
||||
keepdir "${VM_DATA_STORE_DIR}"
|
||||
keepdir /var/log/vmware
|
||||
fi
|
||||
|
||||
# install vmware-vix
|
||||
if use vix; then
|
||||
cd "${S}"/vmware-vix
|
||||
|
||||
# install the binary
|
||||
into "${VM_INSTALL_DIR}"
|
||||
dobin bin/*
|
||||
|
||||
# install the libraries
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware-vix
|
||||
doins -r lib/*
|
||||
|
||||
dosym vmware-vix/libvixAllProducts.so "${VM_INSTALL_DIR}"/lib/libbvixAllProducts.so
|
||||
|
||||
# install headers
|
||||
insinto /usr/include/vmware-vix
|
||||
doins include/*
|
||||
|
||||
if use doc; then
|
||||
dohtml -r doc/*
|
||||
fi
|
||||
fi
|
||||
|
||||
# install ovftool
|
||||
if use ovftool; then
|
||||
cd "${S}"
|
||||
|
||||
insinto "${VM_INSTALL_DIR}"/lib/vmware-ovftool
|
||||
doins -r vmware-ovftool/*
|
||||
|
||||
chmod 0755 "${D}${VM_INSTALL_DIR}"/lib/vmware-ovftool/{ovftool,ovftool.bin}
|
||||
dosym "${D}${VM_INSTALL_DIR}"/lib/vmware-ovftool/ovftool "${VM_INSTALL_DIR}"/bin/ovftool
|
||||
fi
|
||||
|
||||
# create symlinks for the various tools
|
||||
local tool ; for tool in thnuclnt vmware vmplayer{,-daemon} licenseTool vmamqpd \
|
||||
vmware-{acetool,enter-serial,gksu,fuseUI,modconfig{,-console},netcfg,tray,unity-helper,zenity} ; do
|
||||
dosym appLoader "${VM_INSTALL_DIR}"/lib/vmware/bin/"${tool}"
|
||||
done
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmplayer "${VM_INSTALL_DIR}"/bin/vmplayer
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware "${VM_INSTALL_DIR}"/bin/vmware
|
||||
dosym "${VM_INSTALL_DIR}"/lib/vmware/icu /etc/vmware/icu
|
||||
|
||||
# fix permissions
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/bin/{appLoader,fusermount,launcher.sh,mkisofs,vmware-remotemks}
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/lib/{wrapper-gtk24.sh,libgksu2.so.0/gksu-run-helper}
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/setup/vmware-config
|
||||
fperms 4711 "${VM_INSTALL_DIR}"/bin/vmware-mount
|
||||
fperms 4711 "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-vmx{,-debug,-stats}
|
||||
if use server; then
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware/bin/vmware-{hostd,wssc-adminTool}
|
||||
fperms 4711 "${VM_INSTALL_DIR}"/sbin/vmware-authd
|
||||
fperms 1777 "${VM_DATA_STORE_DIR}"
|
||||
fi
|
||||
if use vix; then
|
||||
fperms 0755 "${VM_INSTALL_DIR}"/lib/vmware-vix/setup/vmware-config
|
||||
fi
|
||||
|
||||
# create the environment
|
||||
local envd="${T}/90vmware"
|
||||
cat > "${envd}" <<-EOF
|
||||
PATH='${VM_INSTALL_DIR}/bin'
|
||||
ROOTPATH='${VM_INSTALL_DIR}/bin'
|
||||
EOF
|
||||
doenvd "${envd}"
|
||||
|
||||
# create the configuration
|
||||
dodir /etc/vmware
|
||||
|
||||
cat > "${D}"/etc/vmware/bootstrap <<-EOF
|
||||
BINDIR='${VM_INSTALL_DIR}/bin'
|
||||
LIBDIR='${VM_INSTALL_DIR}/lib'
|
||||
EOF
|
||||
|
||||
cat > "${D}"/etc/vmware/config <<-EOF
|
||||
bindir = "${VM_INSTALL_DIR}/bin"
|
||||
libdir = "${VM_INSTALL_DIR}/lib/vmware"
|
||||
initscriptdir = "/etc/init.d"
|
||||
authd.fullpath = "${VM_INSTALL_DIR}/sbin/vmware-authd"
|
||||
gksu.rootMethod = "su"
|
||||
VMCI_CONFED = "yes"
|
||||
VMBLOCK_CONFED = "yes"
|
||||
VSOCK_CONFED = "yes"
|
||||
NETWORKING = "yes"
|
||||
player.product.version = "${major_minor_revision}"
|
||||
product.version = "${major_minor_revision}"
|
||||
product.buildNumber = "${build}"
|
||||
product.name = "VMware Workstation"
|
||||
workstation.product.version = "${major_minor_revision}"
|
||||
EOF
|
||||
|
||||
if use vix; then
|
||||
cat >> "${D}"/etc/vmware/config <<-EOF
|
||||
vmware.fullpath = "${VM_INSTALL_DIR}/bin/vmware"
|
||||
vix.libdir = "${VM_INSTALL_DIR}/lib/vmware-vix"
|
||||
vix.config.version = "1"
|
||||
EOF
|
||||
fi
|
||||
|
||||
if use server; then
|
||||
cat >> "${D}"/etc/vmware/config <<-EOF
|
||||
authd.client.port = "902"
|
||||
authd.proxy.nfc = "vmware-hostd:ha-nfc"
|
||||
authd.soapserver = "TRUE"
|
||||
EOF
|
||||
fi
|
||||
|
||||
# install the init.d script
|
||||
local initscript="${T}/vmware.rc"
|
||||
sed -e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \
|
||||
"${FILESDIR}/vmware-${major_minor}.rc" > ${initscript}
|
||||
newinitd "${initscript}" vmware
|
||||
|
||||
if use server; then
|
||||
# install the init.d script
|
||||
local initscript="${T}/vmware-workstation-server.rc"
|
||||
sed -e "s:@@ETCDIR@@:/etc/vmware:g" \
|
||||
-e "s:@@PREFIX@@:${VM_INSTALL_DIR}:g" \
|
||||
-e "s:@@BINDIR@@:${VM_INSTALL_DIR}/bin:g" \
|
||||
-e "s:@@LIBDIR@@:${VM_INSTALL_DIR}/lib/vmware:g" \
|
||||
"${FILESDIR}/vmware-server-${major_minor}.rc" > ${initscript}
|
||||
newinitd "${initscript}" vmware-workstation-server
|
||||
fi
|
||||
|
||||
# fill in variable placeholders
|
||||
sed -e "s:@@LIBCONF_DIR@@:${VM_INSTALL_DIR}/lib/vmware/libconf:g" \
|
||||
-i "${D}${VM_INSTALL_DIR}"/lib/vmware/libconf/etc/{gtk-2.0/{gdk-pixbuf.loaders,gtk.immodules},pango/pango{.modules,rc}}
|
||||
sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmware:g" \
|
||||
-e "/^Encoding/d" \
|
||||
-i "${D}/usr/share/applications/${PN}.desktop"
|
||||
sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmplayer:g" \
|
||||
-e "/^Encoding/d" \
|
||||
-i "${D}/usr/share/applications/vmware-player.desktop"
|
||||
sed -e "s:@@BINARY@@:${VM_INSTALL_DIR}/bin/vmware-netcfg:g" \
|
||||
-e "/^Encoding/d" \
|
||||
-i "${D}/usr/share/applications/vmware-netcfg.desktop"
|
||||
|
||||
if use server; then
|
||||
# Configuration for vmware-workstation-server
|
||||
local hostdUser="${VM_HOSTD_USER:-root}"
|
||||
sed -e "/ACEDataUser/s:root:${hostdUser}:g" \
|
||||
-i "${D}/etc/vmware/hostd/authorization.xml" || die
|
||||
|
||||
# Shared VMs Path: [standard].
|
||||
sed -e "s:##{DS_NAME}##:standard:g" \
|
||||
-e "s:##{DS_PATH}##:${VM_DATA_STORE_DIR}:g" \
|
||||
-i "${D}/etc/vmware/hostd/datastores.xml" || die
|
||||
|
||||
sed -e "s:##{HTTP_PORT}##:-1:g" \
|
||||
-e "s:##{HTTPS_PORT}##:443:g" \
|
||||
-e "s:##{PIPE_PREFIX}##:/var/run/vmware/:g" \
|
||||
-i "${D}/etc/vmware/hostd/proxy.xml" || die
|
||||
|
||||
# See vmware-workstation-server.py for more details.
|
||||
sed -e "s:##{BUILD_CFGDIR}##:/etc/vmware/hostd/:g" \
|
||||
-e "s:##{CFGALTDIR}##:/etc/vmware/hostd/:g" \
|
||||
-e "s:##{CFGDIR}##:/etc/vmware/:g" \
|
||||
-e "s:##{ENABLE_AUTH}##:true:g" \
|
||||
-e "s:##{HOSTDMODE}##:ws:g" \
|
||||
-e "s:##{HOSTD_CFGDIR}##:/etc/vmware/hostd/:g" \
|
||||
-e "s:##{HOSTD_MOCKUP}##:false:g" \
|
||||
-e "s:##{LIBDIR}##:${VM_INSTALL_DIR}/lib/vmware:g" \
|
||||
-e "s:##{LIBDIR_INSTALLED}##:${VM_INSTALL_DIR}/lib/vmware/:g" \
|
||||
-e "s:##{LOGDIR}##:/var/log/vmware/:g" \
|
||||
-e "s:##{LOGLEVEL}##:verbose:g" \
|
||||
-e "s:##{MOCKUP}##:mockup-host-config.xml:g" \
|
||||
-e "s:##{PLUGINDIR}##:./:g" \
|
||||
-e "s:##{SHLIB_PREFIX}##:lib:g" \
|
||||
-e "s:##{SHLIB_SUFFIX}##:.so:g" \
|
||||
-e "s:##{USE_BLKLISTSVC}##:false:g" \
|
||||
-e "s:##{USE_CBRCSVC}##:false:g" \
|
||||
-e "s:##{USE_CIMSVC}##:false:g" \
|
||||
-e "s:##{USE_DIRECTORYSVC}##:false:g" \
|
||||
-e "s:##{USE_DIRECTORYSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_DYNAMIC_PLUGIN_LOADING}##:false:g" \
|
||||
-e "s:##{USE_DYNAMO}##:false:g" \
|
||||
-e "s:##{USE_DYNSVC}##:false:g" \
|
||||
-e "s:##{USE_GUESTSVC}##:false:g" \
|
||||
-e "s:##{USE_HBRSVC}##:false:g" \
|
||||
-e "s:##{USE_HBRSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_HOSTSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_HTTPNFCSVC}##:false:g" \
|
||||
-e "s:##{USE_HTTPNFCSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_LICENSESVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_NFCSVC}##:true:g" \
|
||||
-e "s:##{USE_NFCSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_OVFMGRSVC}##:true:g" \
|
||||
-e "s:##{USE_PARTITIONSVC}##:false:g" \
|
||||
-e "s:##{USE_SECURESOAP}##:false:g" \
|
||||
-e "s:##{USE_SNMPSVC}##:false:g" \
|
||||
-e "s:##{USE_SOLO_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_STATSSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_VCSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_VDISKSVC}##:false:g" \
|
||||
-e "s:##{USE_VDISKSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{USE_VMSVC_MOCKUP}##:false:g" \
|
||||
-e "s:##{VM_INVENTORY}##:vmInventory.xml:g" \
|
||||
-e "s:##{VM_RESOURCES}##:vmResources.xml:g" \
|
||||
-e "s:##{WEBSERVER_PORT_ENTRY}##::g" \
|
||||
-e "s:##{WORKINGDIR}##:./:g" \
|
||||
-i "${D}/etc/vmware/hostd/config.xml" || die
|
||||
|
||||
sed -e "s:##{ENV_LOCATION}##:/etc/vmware/hostd/env/:g" \
|
||||
-i "${D}/etc/vmware/hostd/environments.xml" || die
|
||||
|
||||
# @@VICLIENT_URL@@=XXX
|
||||
sed -e "s:@@AUTHD_PORT@@:902:g" \
|
||||
-i "${D}${VM_INSTALL_DIR}/lib/vmware/hostd/docroot/client/clients.xml" || die
|
||||
fi
|
||||
|
||||
# install systemd unit files
|
||||
systemd_dounit "${WORKDIR}/systemd-vmware-${SYSTEMD_UNITS_TAG}/"*.{service,target}
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
"${VM_INSTALL_DIR}"/bin/vmware-networks --postinstall ${PN},old,new
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
gnome2_icon_savelist
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
fdo-mime_desktop_database_update
|
||||
gnome2_icon_cache_update
|
||||
|
||||
ewarn "/etc/env.d was updated. Please run:"
|
||||
ewarn "env-update && source /etc/profile"
|
||||
ewarn ""
|
||||
ewarn "Before you can use vmware workstation, you must configure a default network setup."
|
||||
ewarn "You can do this by running 'emerge --config ${PN}'."
|
||||
}
|
||||
|
||||
pkg_prerm() {
|
||||
einfo "Stopping ${PN} for safe unmerge"
|
||||
/etc/init.d/vmware stop
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
fdo-mime_desktop_database_update
|
||||
gnome2_icon_cache_update
|
||||
}
|
|
@ -5,12 +5,9 @@
|
|||
EAPI=5
|
||||
|
||||
EGIT_REPO_URI="git://git.savannah.gnu.org/screen.git"
|
||||
EGIT_BOOTSTRAP="cd src; ./autogen.sh"
|
||||
EGIT_SOURCEDIR="${WORKDIR}/${P}" # needed for setting S later on
|
||||
EGIT_CHECKOUT_DIR="${WORKDIR}/${P}" # needed for setting S later on
|
||||
|
||||
WANT_AUTOCONF="2.5"
|
||||
|
||||
inherit eutils flag-o-matic toolchain-funcs pam autotools user git-2
|
||||
inherit eutils flag-o-matic toolchain-funcs pam autotools user git-r3
|
||||
|
||||
DESCRIPTION="Full-screen window manager that multiplexes physical terminals between several processes"
|
||||
HOMEPAGE="https://www.gnu.org/software/screen/"
|
||||
|
@ -70,15 +67,12 @@ src_configure() {
|
|||
--with-sys-screenrc="${EPREFIX}/etc/screenrc" \
|
||||
--with-pty-mode=0620 \
|
||||
--with-pty-group=5 \
|
||||
--enable-rxvt_osc \
|
||||
--enable-telnet \
|
||||
--enable-colors256 \
|
||||
$(use_enable pam)
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
LC_ALL=POSIX emake comm.h term.h
|
||||
emake osdef.h
|
||||
|
||||
emake -C doc screen.info
|
||||
default
|
||||
|
@ -115,7 +109,7 @@ src_install() {
|
|||
pamd_mimic_system screen auth
|
||||
|
||||
dodoc \
|
||||
README ChangeLog INSTALL TODO NEWS* patchlevel.h \
|
||||
README ChangeLog INSTALL TODO NEWS* \
|
||||
doc/{FAQ,README.DOTSCREEN,fdpat.ps,window_to_display.ps}
|
||||
|
||||
doman doc/screen.1
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
DIST wps-office_9.1.0.4953~a18_amd64.deb 67389656 SHA256 e98793e25261bbd92b465eca53300d36e837adb7abb1a74d5241081f7069669f SHA512 8e2d2aba488f359cc841b7513dfd50cb6abc95a4f4abffe7f8d21d0ec3ad0ac97ac35b602fd60688232847a0ba3942e47571cc6ef63d48b52a1a0f4d0dc68c08 WHIRLPOOL 70dc5382cad1de5f490085af35cac58d9edefbd2acfda37ef6bf1739ea3b047d704871a83a3562d73e425f9de86011cc0ca27a582c1133a7ce8f735c606cbc61
|
||||
DIST wps-office_9.1.0.4953~a18_i386.deb 74618126 SHA256 f471094a61c0153ef3f63081430151ebbc7cb7a7b6c191e32867f98567473851 SHA512 9e41e6805527ceb6d8099b5c0bac0d6554ee856844c422529c837a8b713acacf056b8e8c2ff311197730cef4179677be0c0246df94022c7431caa054f440af10 WHIRLPOOL 957d21b3d2fe378cc55a3f8c684c23d5c8247bfb91217ddce80e08812518da32cbdee2edfee850c213bb4b0eff2b6b82d6ace77d4b22304349ee6daf88b74ac1
|
||||
DIST wps-office_9.1.0.4961~a18p1_amd64.deb 67419632 SHA256 a37c28648d571571351582e0863d252fc7378da87683c335ee93937a09924a6f SHA512 c828f9cc3383a33db533ada811dd8ca2d80599b8c49d9f1a4fd6080386245aae7a5bc71b2e628cacb2bf9c07b2619417afebf990c6332abb4e23ade2ef0f471f WHIRLPOOL c46cf46a6bd8249c5f6643fbc61c03a374e264a3577e66c32e459b95ae7fe4ef663488657a2c4ba4ef79a32dddbe0ae63515f7efcd898dada698528d74778386
|
||||
DIST wps-office_9.1.0.4961~a18p1_i386.deb 74647622 SHA256 e5e6f2813d3e778c68c3bc810ebe95ee862700c7ebf823f10a70dffbea1cd81c SHA512 7d90812e4a5a23f7d55f30c24831f8c17825048da14de6689cd8df9c4ce0cfb62982a05da78cbdc314e174b0e965c04852b104dd4d44bd1b76af45fdeba604d8 WHIRLPOOL 83fe9921bb71e2541790bff44728cd3ae5d557819ee25f103f5b3cb4c4e8d4801d2f402029371b8a58d6bdb5459efe8f5f64777b763070ab79d9690915c2b87d
|
||||
DIST wps-office_9.1.0.4975~a19p1_amd64.deb 64716800 SHA256 79a49c9db0c4482c894e3c334e38bd299302e1c4bb4cd387f6a615f9e054a25d SHA512 f92415eb8d652afa6601dbea8f87949ed05d970e610c5aedebda21f2b0386a80bcea164f86e7c680946302d2f953067fc88889891a346353e4f15b547ecb8a3a WHIRLPOOL b8603756e4d3b09691974966d62f80dbe1ec668ae2eb5d99bbe2ad39a6c944de89292ede651143d894fad2631f7686036cd4a281ed5265a09f1af6361d75ea77
|
||||
DIST wps-office_9.1.0.4975~a19p1_i386.deb 15731896 SHA256 c2732b2cf5a2f5166388546d895d74636353770ff9697c3e5120deacbc475b9d SHA512 6455becb978403efc5c2a8266c4a95b3bc880c33430a88e8f79af9967b685fe313281c1e0792ec22778f81c2502dcae63668d58b40195d5707ef50fdc29a89ad WHIRLPOOL cd2f5b06949cecf052e36cbd7df1e37f4e105257ee3c015aa115828a50c1c4eaee942151200e7248f05ee066f6d4d1d1c6be376fa5d22cf391111c2b8509dcaf
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
<name>Pacho Ramos</name>
|
||||
</maintainer>
|
||||
<use>
|
||||
<flag name="corefonts">Ensure <pkg>media-fonts/corefonts</pkg> is present</flag>
|
||||
<flag name="sharedfonts">Preserve fonts from WPS</flag>
|
||||
</use>
|
||||
</pkgmetadata>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue