Bug 292771
authorVadim Kuznetsov <vadimk@gentoo.org>
Thu, 22 Apr 2010 18:51:51 +0000 (18:51 +0000)
committerVadim Kuznetsov <vadimk@gentoo.org>
Thu, 22 Apr 2010 18:51:51 +0000 (18:51 +0000)
Package-Manager: portage-2.1.8.3/cvs/Linux x86_64

app-emulation/vmware-server/ChangeLog
app-emulation/vmware-server/Manifest
app-emulation/vmware-server/vmware-server-2.0.2.203138-r1.ebuild [new file with mode: 0644]

index d454d484f79e66afcc5c81b57022fa95fc4197e9..113c7f55b7cebae22364edb8bdada36af81a54ef 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for app-emulation/vmware-server
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-server/ChangeLog,v 1.62 2010/03/09 12:03:47 abcd Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-server/ChangeLog,v 1.63 2010/04/22 18:51:51 vadimk Exp $
+
+*vmware-server-2.0.2.203138-r1 (22 Apr 2010)
+
+  22 Apr 2010; Vadim Kuznetsov <vadimk@gentoo.org>
+  +vmware-server-2.0.2.203138-r1.ebuild:
+  Bug 292771. Use system libxml2 and libexpat.
 
   09 Mar 2010; Jonathan Callen <abcd@gentoo.org>
   vmware-server-2.0.1.156745-r3.ebuild, vmware-server-2.0.2.203138.ebuild:
index 44231d3db70735c902f9c3b70d5ca3d87c812f5e..acecbfdfb982ed67750b24cb3df8176c9a4831f7 100644 (file)
@@ -1,6 +1,3 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
 AUX 2.0.1.156745/000_all_initd-location.patch 1259 RMD160 edced247443fc535e5a6b98404153e970721e5aa SHA1 9a36424152bc38aba53c66cea983a41f0b23baff SHA256 5e163e7232a260ea6bff570180756807f9587ab5cf836c9c293d7162d788c062
 AUX 2.0.1.156745/001_all_fix-permissions.patch 702 RMD160 9d77ba6ff6cba0b9ee529777870470028c687f22 SHA1 863278b6cfadca04ae539bc858731658074ed01e SHA256 8f5fac381a2eda0f1da8a521fcb0ef17b139bf5b8b926425946534e802ce8307
 AUX 2.0.1.156745/002_all_pagebreak-detection-fix.patch 800 RMD160 f21a51e552d025a5120519d6dcd41efc3835a432 SHA1 06133c332b6b1f57476b1154de108a9dfc35435d SHA256 d327d7cb2166b9ef4c8c286568c3a7eb64542212164d58b8a7a3c5e51e19ed6d
@@ -43,13 +40,7 @@ EBUILD vmware-server-1.0.10.203137.ebuild 3003 RMD160 ab9f2256de79ad33c49baebb0c
 EBUILD vmware-server-1.0.8.126538.ebuild 2998 RMD160 f44db390c4e54dccf78f77d59b3aa430bc412ef9 SHA1 db86c3ab21c6cf2dbf603383a7fe98f6998f8789 SHA256 b92b97bea08c999656cf5c39a0838d2f6903b4ef36308406bd153144e1af3b25
 EBUILD vmware-server-1.0.9.156507.ebuild 2998 RMD160 6c64f54a06ac8ff7ffff4add799f534b2abce555 SHA1 0a310a44856f154bf2e5211563f2d070550544e5 SHA256 b6ed4e3216ca58fc6d9c82c8e3395ab0729aea1bfcffc3b4ee51c51e2f5d3b7f
 EBUILD vmware-server-2.0.1.156745-r3.ebuild 9214 RMD160 d118828b6bfa14762ffee5b291d3dd41a08c04e8 SHA1 729daf889cfe3b28760481fdb9e3217cdd33032b SHA256 9c7ee8e198287c8ebf2a0fb54b53511b7ea6b10a1e09e3c9d295ccecd05db383
+EBUILD vmware-server-2.0.2.203138-r1.ebuild 10037 RMD160 71c37ef567a01a9824fa0e853946be6e2cdf14af SHA1 993997e14dc070ba53871f30a13ec0c4cf840484 SHA256 5f8b1e64f6f80fde5dd7d6b8864d9fe50c5a74fea387582a27328ad5719d0236
 EBUILD vmware-server-2.0.2.203138.ebuild 9528 RMD160 e26755d141fccdc87988ab313a158f50a750ce5a SHA1 20545fb94ff3b40537395db035140b78714bd3e4 SHA256 d33dbc4afbb7485efd3ba262f4a9ccea56dabfa1956304e4ea06a8f7aef455bb
-MISC ChangeLog 12129 RMD160 c0b2ee067277b60c3b00132a406214a91ec49e1f SHA1 79ccaa15aedd4921b31a1899737c2d61254dba23 SHA256 4af57345ce6f11a16ad6ced50081b0dad4c3b399a3aece7dd407fc1f13f091b3
+MISC ChangeLog 12317 RMD160 ab48b21da5b50840479bf84e55ee3a6a9fd9afdf SHA1 73b3b38f65caf0e78d886db5e3d9e7a92139c04d SHA256 89aa1ece88d9be09ad46911d9dcbcdabfca055e1b4f8eafa35220f2cea6d249a
 MISC metadata.xml 451 RMD160 34ad07edf6d4f6d9b00b8c0ea197fa8ddad2397b SHA1 7983215b3da6bbfb2e5c167b33b0625a5a31280d SHA256 b64b12ed17797856c0f950540b92f134ca8ffafd40eabafb4ef90c889e16a3e3
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.14 (GNU/Linux)
-
-iEYEARECAAYFAkuWOSoACgkQOypDUo0oQOqkUwCfX7GUQUvBh7+qxn2b3vS9nTd7
-VnwAn14CFRWxvhByMbKvnvBbDjs4FGal
-=ABiG
------END PGP SIGNATURE-----
diff --git a/app-emulation/vmware-server/vmware-server-2.0.2.203138-r1.ebuild b/app-emulation/vmware-server/vmware-server-2.0.2.203138-r1.ebuild
new file mode 100644 (file)
index 0000000..a8a0a92
--- /dev/null
@@ -0,0 +1,319 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-server/vmware-server-2.0.2.203138-r1.ebuild,v 1.1 2010/04/22 18:51:51 vadimk Exp $
+
+# Unlike many other binary packages the user doesn't need to agree to a licence
+# to download VMWare. The agreeing to a licence is part of the configure step
+# which the user must run manually.
+
+EAPI="2"
+
+inherit eutils pam pax-utils versionator
+
+MY_PV=$(replace_version_separator 3 '-' )
+MY_PN="VMware-server-${MY_PV}"
+
+DESCRIPTION="VMware Server for Linux"
+HOMEPAGE="http://www.vmware.com/"
+DOWNLOAD_URL="http://downloads.vmware.com/d/info/datacenter_downloads/vmware_server/2_0"
+SRC_URI=" x86? ( mirror://vmware/software/vmserver/${MY_PN}.i386.tar.gz )
+         amd64? ( mirror://vmware/software/vmserver/${MY_PN}.x86_64.tar.gz ) "
+
+LICENSE="vmware"
+IUSE=""
+SLOT="0"
+KEYWORDS="-* ~x86 ~amd64"
+RESTRICT="fetch strip"
+
+CDEPEND="
+       >=dev-lang/perl-5
+       >=sys-libs/glibc-2.3.5
+       sys-apps/pciutils"
+DEPEND="${CDEPEND}
+       sys-apps/findutils
+       x11-misc/shared-mime-info
+       virtual/os-headers"
+# vmware-server should not use virtual/libc as this is a
+# precompiled binary package thats linked to glibc.
+RDEPEND="${CDEPEND}
+       ~app-emulation/vmware-modules-1.0.0.24
+       dev-libs/expat
+       dev-libs/glib
+       dev-libs/libxml2
+       sys-apps/hal
+       sys-fs/fuse
+       sys-libs/zlib
+       virtual/pam
+       x11-libs/libICE
+       x11-libs/libSM
+       x11-libs/libX11
+       x11-libs/libXau
+       x11-libs/libXdmcp
+       x11-libs/libXext
+       x11-libs/libXft
+       x11-libs/libXt
+       x11-libs/libXtst
+       x11-misc/xdg-utils
+       !<sys-apps/dbus-0.62
+       !app-emulation/vmware-player
+       !app-emulation/vmware-workstation
+       "
+
+PDEPEND="app-emulation/vmware-vix"
+
+S=${WORKDIR}/vmware-server-distrib
+
+pkg_setup() {
+       if use x86; then
+               MY_P="${MY_PN}.i386"
+       elif use amd64; then
+               MY_P="${MY_PN}.x86_64"
+       fi
+}
+
+pkg_nofetch() {
+       if use x86; then
+               MY_P="${MY_PN}.i386"
+       elif use amd64; then
+               MY_P="${MY_PN}.x86_64"
+       fi
+
+       einfo "Please download the ${MY_P}.bundle from"
+       einfo "${DOWNLOAD_URL}"
+       einfo "and place it in ${DISTDIR}"
+}
+
+src_prepare() {
+       VMWARE_GROUP=${VMWARE_GROUP:-vmware}
+       VMWARE_INSTALL_DIR=/opt/${PN//-//}
+
+       shortname="wgs"
+       product="vmware"
+       config_program="vmware-config.pl"
+       config_dir="/etc/vmware"
+       product_name="VMware Server 2"
+
+       enewgroup ${VMWARE_GROUP}
+
+       # Remove PAX MPROTECT flag from all applicable files in /bin, /sbin for
+       # the vmware package only (since modules, tools and console should not
+       # need to generate code on the fly in memory).
+       pax-mark -m $(list-paxables "${S}"/{bin{,-debug},sbin}/{vmware-serverd,vmware-vmx})
+
+       EPATCH_SOURCE="${FILESDIR}"/${PV} EPATCH_SUFFIX="patch" epatch
+
+       # Proper lsmod
+       sed -i -e "s:/sbin/lsmod:/bin/lsmod:" "${S}"/installer/services.sh || die "sed"
+       sed -i -e "s:/sbin/lsmod:/bin/lsmod:" "${S}"/lib/net-services.sh || die "sed"
+
+       # Set the name
+       sed -i -e "s:%LONGNAME%:${product_name}:" "${S}"/installer/services.sh || die "sed"
+       sed -i -e "s:%SHORTNAME%:${shortname}:" "${S}"/installer/services.sh || die "sed"
+
+       # We won't want any perl scripts from VMware once we've finally got all
+       # of the configuration done, but for now, they're necessary.
+       #rm -f *.pl bin/*.pl
+       rm -f *.pl
+       rm -f etc/installer.sh
+
+       # Since with Gentoo we compile everthing it doesn't make sense to keep
+       # the precompiled modules arround. Saves about 4 megs of disk space too.
+       rm -rf "${S}"/lib/modules/binary
+       # We also don't need to keep the icons around, or do we?
+       #rm -rf ${S}/lib/share/icons
+
+       rm -rf "${S}"/etc/pam.d/
+       sed -i -e "s:configure_wgs_pam_d():#&:" "${S}"/bin/vmware-config.pl || die "sed pam_d"
+}
+
+src_install() {
+       # We loop through our directories and copy everything to our system.
+       for x in bin lib sbin
+       do
+               if [[ -e "${S}/${x}" ]]
+               then
+                       dodir "${VMWARE_INSTALL_DIR}"/${x}
+                       cp -pPR "${S}"/${x}/* "${D}""${VMWARE_INSTALL_DIR}"/${x} \
+                               || die "copying ${x}"
+               fi
+       done
+
+       # Bug 282213
+       mv "${D}"/"${VMWARE_INSTALL_DIR}"/lib/lib/libpng12.so.0/libpng12.so.0 \
+          "${D}"/"${VMWARE_INSTALL_DIR}"/lib/lib/libpng12.so.0/libpng12.so.0.old
+       dosym /usr/lib/libpng12.so.0 "${VMWARE_INSTALL_DIR}"/lib/lib/libpng12.so.0/libpng12.so.0
+
+       # Bug 292771
+       mv "${D}"/"${VMWARE_INSTALL_DIR}"/lib/lib/libexpat.so.0/libexpat.so.0 \
+          "${D}"/"${VMWARE_INSTALL_DIR}"/lib/lib/libexpat.so.0/libexpat.so.0.old
+       dosym /usr/lib/libexpat.so.1 "${VMWARE_INSTALL_DIR}"/lib/lib/libexpat.so.0/libexpat.so.0
+       mv "${D}"/"${VMWARE_INSTALL_DIR}"/lib/lib/libxml2.so.2/libxml2.so.2 \
+          "${D}"/"${VMWARE_INSTALL_DIR}"/lib/lib/libxml2.so.2/libxml2.so.2.old
+       dosym /usr/lib/libxml2.so.2 "${VMWARE_INSTALL_DIR}"/lib/lib/libxml2.so.2/libxml2.so.2
+
+       # If we have an /etc directory, we copy it.
+       if [[ -e "${S}/etc" ]]
+       then
+               dodir "${config_dir}"
+               cp -pPR "${S}"/etc/* "${D}""${config_dir}"
+               fowners root:${VMWARE_GROUP} "${config_dir}"
+               fperms 770 "${config_dir}"
+       fi
+
+       # If we have any helper files, we install them.  First, we check for an
+       # init script.
+       if [[ -e "${FILESDIR}/${PN}.rc" ]]
+       then
+               newinitd "${FILESDIR}"/${PN}.rc ${product} || die "newinitd"
+       fi
+       # Then we check for an environment file.
+       if [[ -e "${FILESDIR}/90${PN}" ]]
+       then
+               doenvd "${FILESDIR}"/90${PN} || die "doenvd"
+       fi
+       # Last, we check for any mime files.
+       if [[ -e "${FILESDIR}/${PN}.xml" ]]
+       then
+               insinto /usr/share/mime/packages
+               doins "${FILESDIR}"/${PN}.xml || die "mimetypes"
+       fi
+
+       # Blame bug #91191 for this one.
+       if [[ -e doc/EULA ]]
+       then
+               insinto "${VMWARE_INSTALL_DIR}"/doc
+               doins doc/EULA || die "copying EULA"
+       fi
+
+       # Do we have vmware-ping/vmware-vmx?  If so, make them setuid.
+       for p in /bin/vmware-ping /lib/bin/vmware-vmx /lib/bin-debug/vmware-vmx /lib/bin/vmware-vmx-debug /sbin/vmware-authd;
+       do
+               if [ -x "${D}${VMWARE_INSTALL_DIR}${p}" ]
+               then
+                       fowners root:${VMWARE_GROUP} "${VMWARE_INSTALL_DIR}"${p}
+                       fperms 4750 "${VMWARE_INSTALL_DIR}"${p}
+               fi
+       done
+
+       # This removed the user/group warnings
+       # But also broke vmware-server with FEATURES="userpriv" since it removes
+       # the set-UID bit
+       #chown -R root:${VMWARE_GROUP} ${D} || die
+
+       # We like desktop icons.
+       # TODO: Fix up the icon creation, across the board.
+       #make_desktop_entry ${PN} "${product_name}" ${PN}.png
+
+       # Now, we copy in our services.sh file
+       exeinto "${config_dir}"/init.d
+       newexe installer/services.sh ${product} || die "services.sh"
+
+       newinitd "${FILESDIR}/vmware-server-2.rc" vmware
+
+       # startup symlinks
+       dosym ${config_dir}/init.d/${product} ${config_dir}/init.d/vmware-autostart
+       dosym ${config_dir}/init.d/${product} ${config_dir}/init.d/vmware-core
+       dosym ${config_dir}/init.d/${product} ${config_dir}/init.d/vmware-mgmt
+
+       # pam
+       pamd_mimic_system vmware-authd auth account
+
+       # Man pages and docs
+       dodoc doc/*
+       doman man/man1/*
+
+       # VMware authorization service
+       insinto ${config_dir}/hostd
+       doins "${FILESDIR}/authorization.xml"
+
+       # Finally, we run the "Questions"
+       einfo "Adding answers to ${config_dir}/locations"
+       locations="${D}${config_dir}/locations"
+       echo "answer BINDIR ${VMWARE_INSTALL_DIR}/bin" >> ${locations}
+       echo "answer LIBDIR ${VMWARE_INSTALL_DIR}/lib" >> ${locations}
+       echo "answer MANDIR ${VMWARE_INSTALL_DIR}/man" >> ${locations}
+       echo "answer DOCDIR ${VMWARE_INSTALL_DIR}/doc" >> ${locations}
+       echo "answer SBINDIR ${VMWARE_INSTALL_DIR}/sbin" >> ${locations}
+       echo "answer RUN_CONFIGURATOR no" >> ${locations}
+       echo "answer INITDIR ${config_dir}/init.d" >> ${locations}
+       echo "answer INITSCRIPTSDIR ${config_dir}/init.d" >> ${locations}
+       echo "answer VMCI_CONFED yes" >> ${locations}
+       echo "answer VSOCK_CONFED yes" >> ${locations}
+}
+
+pkg_config() {
+       einfo "Running ${VMWARE_INSTALL_DIR}/bin/vmware-config.pl"
+       "${VMWARE_INSTALL_DIR}/bin/vmware-config.pl"
+}
+
+pkg_preinst() {
+       # This must be done after the install to get the mtimes on each file
+       # right.
+
+       #Note: it's a bit weird to use ${D} in a preinst script but it should work
+       #(drobbins, 1 Feb 2002)
+
+       einfo "Generating ${config_dir}/locations file."
+       d=`echo ${D} | wc -c`
+       for x in `find ${D}${VMWARE_INSTALL_DIR} ${D}${config_dir}` ; do
+               x="`echo ${x} | cut -c ${d}-`"
+               if [ -d "${D}/${x}" ] ; then
+                       echo "directory ${x}" >> "${D}${config_dir}"/locations
+               else
+                       echo -n "file ${x}" >> "${D}${config_dir}"/locations
+                       if [ "${x}" == "${config_dir}/locations" ] ; then
+                               echo "" >> "${D}${config_dir}"/locations
+                       elif [ "${x}" == "${config_dir}/not_configured" ] ; then
+                               echo "" >> "${D}${config_dir}"/locations
+                       else
+                               echo -n " " >> "${D}${config_dir}"/locations
+                               find "${D}${x}" -printf %T@ >> "${D}${config_dir}"/locations
+                               echo "" >> "${D}${config_dir}"/locations
+                       fi
+               fi
+       done
+}
+
+pkg_postinst() {
+       update-mime-database /usr/share/mime
+       [[ -d "${config_dir}" ]] && chown -R root:${VMWARE_GROUP} ${config_dir}
+
+       # This is to fix the problem where the not_configured file doesn't get
+       # removed when the configuration is run. This doesn't remove the file
+       # It just tells the vmware-config.pl script it can delete it.
+       einfo "Updating ${config_dir}/locations"
+       for x in "${config_dir}"/._cfg????_locations ; do
+               if [ -f $x ] ; then
+                       cat $x >> "${config_dir}"/locations
+                       rm $x
+               fi
+       done
+
+       ewarn "Use "
+       ewarn "  emerge vmware-server --config"
+       ewarn "to configure your installation of ${product_name}."
+
+       ewarn "In order to run ${product_name}, you have to"
+       ewarn "be in the '${VMWARE_GROUP}' group."
+
+       #ewarn "By default xinetd only allows connections from localhost"
+       #ewarn "To allow external users access to vmware-server you must edit"
+       #ewarn "    /etc/xinetd.d/vmware-authd"
+       #ewarn "and specify a new 'only_from' line"
+
+       ewarn "VMWare Server also has issues when running on a JFS filesystem.  For more"
+       ewarn "information see http://bugs.gentoo.org/show_bug.cgi?id=122500#c94"
+}
+
+pkg_prerm() {
+       einfo "Stopping ${product_name} for safe unmerge"
+       /etc/init.d/vmware stop
+}
+
+pkg_postrm() {
+       if ! has_version app-emulation/${PN}; then
+               elog "To remove all traces of ${product} you will need to remove the files"
+               elog "in ${config_dir} and /etc/init.d/${product}."
+               elog "If the vmware-modules package is installed, you may no longer need it."
+       fi
+}