public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Samuel Bernardo" <samuelbernardo.mail@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/user/ssnb:master commit in: app-emulation/opennebula/
Date: Fri, 12 Jun 2020 22:33:24 +0000 (UTC)	[thread overview]
Message-ID: <1592001190.2a4cf534a94309b8b9af65dadadff46a0f1e7b8a.samuelbernardo@gentoo> (raw)

commit:     2a4cf534a94309b8b9af65dadadff46a0f1e7b8a
Author:     Samuel Bernardo <samuelbernardo.mail <AT> gmail <DOT> com>
AuthorDate: Fri Jun 12 22:33:10 2020 +0000
Commit:     Samuel Bernardo <samuelbernardo.mail <AT> gmail <DOT> com>
CommitDate: Fri Jun 12 22:33:10 2020 +0000
URL:        https://gitweb.gentoo.org/repo/user/ssnb.git/commit/?id=2a4cf534

Update opennebula

Signed-off-by: Samuel Bernardo <samuelbernardo.mail <AT> gmail.com>

 app-emulation/opennebula/Manifest                 |   2 +
 app-emulation/opennebula/opennebula-5.10.5.ebuild | 306 ++++++++++++++++++++++
 2 files changed, 308 insertions(+)

diff --git a/app-emulation/opennebula/Manifest b/app-emulation/opennebula/Manifest
index d1d31f1..7ce17c1 100644
--- a/app-emulation/opennebula/Manifest
+++ b/app-emulation/opennebula/Manifest
@@ -61,6 +61,8 @@ AUX tmpfiles.d/opennebula-sunstone.conf 77 BLAKE2B 9988562b0e36bf74fc67af5a1777e
 AUX tmpfiles.d/opennebula.conf 77 BLAKE2B 9988562b0e36bf74fc67af5a1777eca18b24e0a1bcfc78735f360f1aceca4602e32f7b6cfbe3b731a13725a9cd14a4dc49b71c12bb7576a29aa00112b37cd2be SHA512 c13210255ebb0f34d464e2799858d6ac2a79afac287ead639821ef5e939b7666a960ebb1ee96bc7098a111ddd6765e72d8a5e53e0647b9a866d0826e02cbd2a1
 DIST opennebula-5.10.1.tar.gz 43207580 BLAKE2B de87e839cd772bec769af4a689fed02e81fbdc6fbb35def9ad6344383dc935ebd431137cb194dd3b840965004f4e145ac63443d7034d56a9a6bb19af9030642d SHA512 861293298997c825e94228ea28f0f352db3f56dd28b654be24ca2226edd422fc54cf94665f5ae5cc17dc51d3d52081c936f249b77fc4f8198de6a1ec0006edaf
 DIST opennebula-5.10.4.tar.gz 5697792 BLAKE2B fde611cbe5b44ee403b57e915253c9ffba267230bf3a54cd466260615918e871aebeae6f17c246a84ef1686df176134acff272c49e6a9b69c8841bc8fab1f1b5 SHA512 c509ec4a56b7865d118ab79e08227f0a78d1d899361ea2ae2ea3c6ac6ad3ab4a2a38211a4f5b7abf35ef512674d13ffb19f97286fed63515289e4f9a602f3145
+DIST opennebula-5.10.5.tar.gz 5699952 BLAKE2B 35dce44e085342e8d2628bc060ed0644309a6e5aa8ec1898663b537eb698d66f980353cc60ab3b6496bf78b496dcd1097db2d327b54f80d87bf273ab67aeef55 SHA512 e35b9f8c8bc4f1e4424e3a8083c2c31edbe5b799df44a222bd310fdca87c4a3c6d2a3f27da75b12364bdf29883e6f641c2ad5c484e5cc07dce3ebf054681fc58
 EBUILD opennebula-5.10.1.ebuild 9405 BLAKE2B fd6dfefc76da0aaadc993b7ed1593b8826fb642a92797220c9ce6226b846539900f6e7914730decfe57f79514654506e9a1aed76ebd28c1fc797d71ee5a6b2ba SHA512 360d3323e46a1253f6489c696e020ea38e260923d6b0fcb50154b0cb412b4bd3db994365a072915f5a8411032cea12dd8b87fe2f730e418d6742dd7218722a66
 EBUILD opennebula-5.10.4.ebuild 9735 BLAKE2B dd7f5bf32aea6bd30f4ca75d7db123fb9ce03f1357d789fefa76a46b7a4f1a669df0d68d5239e85a40da591d7bbf993f759a02704ba468b6c04f6445401343f4 SHA512 3c54819ee10cb07fe7ea41dd0b65b8de9075ac96e34524c512cd58457071b00f7be85f3bd062a57aa4459703b29d98c2b577a97c6b03093699b99021b59cfdf5
+EBUILD opennebula-5.10.5.ebuild 9735 BLAKE2B dd7f5bf32aea6bd30f4ca75d7db123fb9ce03f1357d789fefa76a46b7a4f1a669df0d68d5239e85a40da591d7bbf993f759a02704ba468b6c04f6445401343f4 SHA512 3c54819ee10cb07fe7ea41dd0b65b8de9075ac96e34524c512cd58457071b00f7be85f3bd062a57aa4459703b29d98c2b577a97c6b03093699b99021b59cfdf5
 MISC metadata.xml 931 BLAKE2B abb0ecf04eb6fc45f64c5d2d6636591c9d706fbf1902943a80f7e058443787824581219fb8457a83192e4e2b672521609449d4eef78ab677f8c093fe939034b6 SHA512 c3770f399572b16601e7eeaf4a1eb4b5eea950ad18239be8719124f60f3edd02da4c7b28b177329d70b0810ee7d8597e522dd62a1bd4c8ea1194acf0d92dfeb2

diff --git a/app-emulation/opennebula/opennebula-5.10.5.ebuild b/app-emulation/opennebula/opennebula-5.10.5.ebuild
new file mode 100644
index 0000000..7d8d079
--- /dev/null
+++ b/app-emulation/opennebula/opennebula-5.10.5.ebuild
@@ -0,0 +1,306 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=7
+USE_RUBY="ruby24 ruby25 ruby26 ruby27"
+PYTHON_COMPAT=( python2_7 python3_6 )
+
+inherit user eutils multilib ruby-ng systemd rpm python-r1
+
+MY_P="one-release-${PV}"
+P_RPM="${P}-1"
+
+DESCRIPTION="OpenNebula Virtual Infrastructure Engine"
+HOMEPAGE="http://www.opennebula.org/"
+
+IUSE="qemu +mysql xen sqlite +extras systemd docker +sunstone vnc +python +doc"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+SRC_URI="https://github.com/OpenNebula/one/archive/release-${PV}.tar.gz -> ${P}.tar.gz"
+
+RDEPEND=">=dev-libs/xmlrpc-c-1.18.02[abyss,cxx,threads]
+	dev-lang/ruby
+	python? ( ${PYTHON_DEPS}
+	        >=dev-python/pygobject-2.90.4:3[${PYTHON_USEDEP}] )
+	extras? ( dev-libs/openssl
+		dev-ruby/libxml
+		net-misc/curl
+		dev-libs/libxslt
+		dev-libs/expat
+		dev-ruby/uuidtools
+		dev-ruby/amazon-ec2
+		dev-ruby/webmock
+		dev-ruby/mysql
+		dev-ruby/mysql2
+		dev-ruby/parse-cron
+		dev-ruby/sequel
+		dev-ruby/treetop
+		dev-ruby/xml-simple
+		dev-ruby/zendesk_api
+		dev-ruby/ffi-rzmq
+		dev-ruby/ffi-rzmq-core
+		dev-ruby/rqrcode
+		dev-ruby/rqrcode_core
+		dev-ruby/chunky_png
+		dev-ruby/rotp
+		dev-libs/log4cpp )
+	mysql? ( virtual/mysql )
+	dev-db/sqlite
+	net-misc/openssh
+	net-fs/nfs-utils
+	dev-db/mariadb
+	net-libs/zeromq
+	|| ( app-cdr/cdrkit app-cdr/cdrtools )
+	sqlite? ( dev-ruby/sqlite3 )
+	qemu? ( app-emulation/libvirt[libvirtd,qemu] )
+	xen? ( app-emulation/xen-tools )"
+DEPEND="${RDEPEND}
+	dev-lang/ruby:2.5
+	>=dev-util/scons-3.0.0
+	dev-ruby/nokogiri
+	dev-ruby/bundler
+	dev-nodejs/grunt
+	dev-nodejs/bower
+	dev-nodejs/ini
+	dev-nodejs/braces
+	net-libs/nodejs[npm]
+	net-libs/libvncserver
+	app-text/ronn
+	dev-ruby/builder
+	dev-ruby/highline
+	dev-ruby/ipaddress:1
+	docker? ( dev-go/dep )"
+
+# make sure no eclass is running tests
+RESTRICT="test"
+
+S="${WORKDIR}/${MY_P}"
+
+ONEUSER="oneadmin"
+ONEGROUP="oneadmin"
+
+PATCHES=(
+	"${FILESDIR}/patches/fix_kvm_emulator.patch"
+	"${FILESDIR}/patches/install.sh.patch"
+)
+
+test_netsandbox() {
+	if use sunstone; then
+		elog "Opennebula hotfix releases needs to build sunstone without network sandbox restriction."
+		has network-sandbox ${FEATURES} && die "Please disable feature network-sandbox: -network-sandbox"
+	fi
+	if use docker; then
+		elog "Opennebula releases needs to build docker without network sandbox restriction."
+		has network-sandbox ${FEATURES} && die "Please disable feature network-sandbox: -network-sandbox"
+	fi
+}
+
+pkg_pretend() {
+	test_netsandbox
+}
+
+pkg_setup () {
+	test_netsandbox
+	enewgroup ${ONEGROUP}
+	enewuser ${ONEUSER} -1 /bin/bash /var/lib/one ${ONEGROUP}
+}
+
+src_unpack() {
+	default
+}
+
+src_prepare() {
+	# install missing source file
+	#cp "${FILESDIR}"/${P}/parsers/* "${S}"/src/parsers/ || die "copy parsers files failed"
+
+	# set correct lib path
+	use docker && make -C src/docker_machine/src/docker_machine vendor
+	for f in $(grep -rlI "/usr/lib/one" .); do sed -i -e "s/\/usr\/lib\/one/\/usr\/$(get_libdir)\/one/g" $f; done || die "correct lib dir failed"
+
+	# grunt-sass and node-sass versions
+	sed -i -e 's|1.2.1|2.1.0|' -e 's|3.10.1|4.13.0|' src/sunstone/public/package.json || die "sed failed"
+
+	# As we install from the github release sources we need to build sunstone as well.
+	# To do that we need the npm environment set up
+	# https://docs.opennebula.org/5.4/integration/references/sunstone_dev.html#sunstone-dev
+	pushd src/sunstone/public/ >/dev/null
+	./build.sh -d || die "Install required dependencies for npm and bower failed."
+	#export PATH=$PATH:$PWD/node_modules/.bin
+	#./build.sh || die "Prepare minified files failed."
+	popd >/dev/null
+
+	eapply_user
+}
+
+src_configure() {
+	:
+}
+
+src_compile() {
+	# manual pages
+	if use doc; then
+		pushd ${S}/share/man >/dev/null
+		./build.sh
+		popd >/dev/null
+	fi
+
+	###########################################################################
+	##                                                                       ##
+	## It is highly recommended that you read the documentation and tweak    ##
+	## the PKGBUILD accordingly:                                             ##
+	## http://docs.opennebula.org/stable/integration/references/compile.html ##
+	##                                                                       ##
+	###########################################################################
+	local myconf
+	myconf+="parsers=yes new_xmlrpc=yes "
+	use extras && myconf+="new_xmlrpc=yes "
+	use mysql && myconf+="mysql=yes " || myconf+="mysql=no "
+	use sunstone && myconf+="sunstone=yes "
+	use docker && myconf+="docker_machine=yes "
+	use systemd && myconf+="systemd=yes "
+	use vnc && myconf+="svncterm=yes "
+	python3 $(which scons) \
+		${myconf} \
+		$(sed -r 's/.*(-j\s*|--jobs=)([0-9]+).*/-j\2/' <<< ${MAKEOPTS}) \
+		|| die "building ${PN} failed"
+}
+
+src_install() {
+	# Prepare installation
+	keepdir /var/{lib,run}/${PN} || die "keepdir failed"
+
+	dodir /usr/$(get_libdir)/one
+	dodir /var/log/one
+	dodir /var/lib/one
+	dodir /var/tmp/one
+	dodir /var/lib/one
+	dodir /var/lib/one/vms
+	dodir /usr/share/one
+	dodir /etc/tmpfiles.d
+
+	# Installing Opennebula
+	DESTDIR="${T}" ./install.sh -u ${ONEUSER} -g ${ONEGROUP} || die "install opennebula core failed"
+	use extras && DESTDIR="${T}" ./install.sh -u ${ONEUSER} -g ${ONEGROUP} -c || die "install opennebula client tools failed"
+	use docker && DESTDIR="${T}" ./install.sh -u ${ONEUSER} -g ${ONEGROUP} -e -k || die "install docker machine failed"
+
+	pushd "${T}" >/dev/null
+	# Clean files
+	rm -rf etc/{logrotate.d,sudoers.d} lib/ var/{lock,run}
+
+	# setup etc
+	insinto	/etc
+	doins -r etc/one
+	rm -rf etc/one
+
+	insinto /etc/one
+	insopts -m 0640
+	doins "${FILESDIR}/one_auth"
+
+	insinto /etc/tmpfiles.d
+	insopts -m 0644
+	doins "${FILESDIR}"/tmpfiles.d/*
+
+	insinto /etc/logrotate.d
+	doins "${FILESDIR}"/logrotate/*
+
+	insinto /etc/sudoers.d
+	doins "${FILESDIR}"/sudoers/*
+
+	# set binaries executable
+	into /usr
+	dobin usr/bin/*
+
+	cp -a usr/$(get_libdir)/one/* "${ED}"/usr/$(get_libdir)/one/
+	cp -a usr/share/one/* "${ED}"/usr/share/one/
+	cp -a var/lib/one/* "${ED}"/var/lib/one/
+	rm -rf usr/bin usr/$(get_libdir)/one usr/share/one var/lib/one
+
+	# add documentation
+	dodoc usr/share/docs/one/*
+	rm -rf usr/share/docs
+
+	# install remaining files
+	insinto /usr/share/man
+	doins -r usr/share/man/man1/
+
+	# set correct owner
+	fowners -R ${ONEUSER}:${ONEGROUP} /etc/one /usr/$(get_libdir)/one /usr/share/one /var/lib/{one,opennebula} /var/log/one /var/tmp/one
+
+	# install daemon files
+	if use systemd; then
+		systemd_dounit "${FILESDIR}"/systemd/*.service
+	else
+		doenvd "${FILESDIR}/openrc/99one"
+		newinitd "${FILESDIR}/openrc/opennebula.initd" opennebula
+		newinitd "${FILESDIR}/openrc/sunstone-server.initd" sunstone-server
+		newinitd "${FILESDIR}/openrc/oneflow-server.initd" oneflow-server
+		newconfd "${FILESDIR}/openrc/opennebula.confd" opennebula
+		newconfd "${FILESDIR}/openrc/sunstone-server.confd" sunstone-server
+		newconfd "${FILESDIR}/openrc/oneflow-server.confd" oneflow-server
+	fi
+
+	popd >/dev/null
+
+}
+
+pkg_postinst() {
+
+	#chown -R oneadmin:oneadmin ${ROOT}var/{lock,lib,log,run,tmp}/one
+	#chown -R oneadmin:oneadmin ${ROOT}usr/share/one
+	#chown -R oneadmin:oneadmin ${ROOT}etc/one
+	#chown -R oneadmin:oneadmin ${ROOT}usr/$(get_libdir)/one
+
+	local onedir="${EROOT}var/lib/one"
+	if [ ! -d "${onedir}/.ssh" ] ; then
+		#einfo "Generating ssh-key..."
+		#umask 0027 || die "setting umask failed"
+		#mkdir "${onedir}/.ssh" || die "creating ssh directory failed"
+		#ssh-keygen -q -t rsa -N "" -f "${onedir}/.ssh/id_rsa" || die "ssh-keygen failed"
+		#cat > "${onedir}/.ssh/config" <<EOF
+#UserKnownHostsFile /dev/null
+#Host *
+#    StrictHostKeyChecking no
+#EOF
+		#cat "${onedir}/.ssh/id_rsa.pub"  >> "${onedir}/.ssh/authorized_keys" || die "adding key failed"
+		#chown -R ${ONEUSER}:${ONEGROUP} "${onedir}/.ssh" || die "changing owner failed"
+		elog "Create directory ${onedir}/.ssh with umask 0027."
+		elog "Then generate ssh key using proper cypher algorithm (at least rsa)."
+		elog "Add public key to ${ONEUSER} authorized_keys:"
+		elog "cat ${onedir}/.ssh/id_rsa.pub  >> ${onedir}/.ssh/authorized_keys"
+		elog "${ONEUSER} ssh config for any host with"
+		elog "StrictHostKeyChecking no"
+		elog "and"
+		elog "UserKnownHostsFile /dev/null"
+		elog "In the end set correct owner to ${ONEUSER}:"
+		elog "chown -R ${ONEUSER}:${ONEGROUP} ${onedir}/.ssh"
+	fi
+
+	if use qemu ; then
+		elog "Make sure that the user ${ONEUSER} has access to the libvirt control socket"
+		elog "  /var/run/libvirt/libvirt-sock"
+		elog "You can easily check this by executing the following command as ${ONEUSER} user"
+		elog "  virsh -c qemu:///system nodeinfo"
+		elog "If not using using policykit in libvirt, the file you should take a look at is:"
+		elog "  /etc/libvirt/libvirtd.conf (look for the unix_sock_*_perms parameters)"
+		elog "Failure to do so may lead to nodes hanging in PENDING state forever without further notice."
+		echo ""
+		elog "Should a node hang in PENDING state even with correct permissions, try the following to get more information."
+		elog "In /tmp/one-im execute the following command for the biggest one_im-* file:"
+		elog "  ruby -wd one_im-???"
+		echo ""
+		elog "OpenNebula doesn't allow you to specify the disc format."
+		elog "Unfortunately the default in libvirt is not to guess and"
+		elog "it therefores assumes a 'raw' format when using qemu/kvm."
+		elog "Set 'allow_disk_format_probing = 0' in /etc/libvirt/qemu.conf"
+		elog "to work around this until OpenNebula fixes it."
+	fi
+
+	elog "If you wish to use the sunstone server, please issue the command"
+	#elog "/usr/share/one/install_gems as oneadmin user"
+	elog "gem install sequel thin json rack sinatra builder treetop zendesk_api mysql parse-cron"
+
+}
+


             reply	other threads:[~2020-06-12 22:33 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-12 22:33 Samuel Bernardo [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-09-20  2:39 [gentoo-commits] repo/user/ssnb:master commit in: app-emulation/opennebula/ Samuel Bernardo
2020-05-11  0:57 Samuel Bernardo
2020-05-11  0:33 Samuel Bernardo
2020-05-11  0:02 Samuel Bernardo
2020-05-04 23:28 Samuel Bernardo
2020-05-04 19:48 Samuel Bernardo
2020-05-04 15:42 Samuel Bernardo
2020-05-04 13:42 Samuel Bernardo
2020-05-04  4:06 Samuel Bernardo
2020-05-04  3:20 Samuel Bernardo
2020-05-04  3:20 Samuel Bernardo
2020-05-04  2:30 Samuel Bernardo
2020-03-25 23:53 Samuel Bernardo
2019-04-11  0:36 Samuel Bernardo
2018-07-28 17:41 Samuel Bernardo
2018-06-24 22:53 Samuel Bernardo
2018-06-24 22:30 Samuel Bernardo
2018-06-24 11:50 Samuel Bernardo
2018-06-23 18:40 Samuel Bernardo
2018-05-08 19:55 Samuel Bernardo
2018-02-02 23:41 Samuel Bernardo
2017-10-01 15:29 Samuel Bernardo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1592001190.2a4cf534a94309b8b9af65dadadff46a0f1e7b8a.samuelbernardo@gentoo \
    --to=samuelbernardo.mail@gmail.com \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox