mirror of
https://github.com/sjlongland/opennebula-overlay.git
synced 2025-09-13 10:03:16 +10:00
Check-in of semi-working package.
This commit is contained in:
commit
9c9b731958
23
README.md
Normal file
23
README.md
Normal file
@ -0,0 +1,23 @@
|
||||
Gentoo OpenNebula overlay
|
||||
=========================
|
||||
|
||||
The purpose of this repository is to provide the necessary packaging files for
|
||||
installing the OpenNebula Enterprise Cloud software on a Gentoo Linux-based
|
||||
host.
|
||||
|
||||
Status
|
||||
------
|
||||
|
||||
As of this time, the work contained herein is highly experimental and not at
|
||||
all supported by myself or OpenNebula upstream. While some things may work,
|
||||
the code is known to be broken on `musl`-based Gentoo systems and quite
|
||||
possibly won't work in your environment.
|
||||
|
||||
If it breaks, you get to keep the pieces.
|
||||
|
||||
Usage
|
||||
-----
|
||||
|
||||
Clone the repository somewhere convenient, then add the cloned directory to
|
||||
your `PORTDIR_OVERLAY` path. You should then be able to run
|
||||
`emerge -a app-emulation/opennebula` to install OpenNebula on your system.
|
1
app-emulation/opennebula/Manifest
Normal file
1
app-emulation/opennebula/Manifest
Normal file
@ -0,0 +1 @@
|
||||
DIST opennebula-5.4.0.tar.gz 14626223 SHA256 a0419d624c40d2d72c75801a461f7a6d722acfa4555be1cb921122b3bfd0d4a8 SHA512 4d7d4f6c20a6185539a88006e4d15681d90cee45506d36017a538415a3b3cce809f02ff248013f9e2daa5f1d20afd308a0a014853b8462723ad6ba5acaa84626 WHIRLPOOL 1c9a5d1574a04369c2b3df80e00385045b3931153bab3a98a5f8e8082bf142fd0c95d41959ff50a681569c5ee6abd741d5d68fa9dfc2641403280c93502bce72
|
34
app-emulation/opennebula/files/opennebula-flow.init
Normal file
34
app-emulation/opennebula/files/opennebula-flow.init
Normal file
@ -0,0 +1,34 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
depend() {
|
||||
need net
|
||||
use opennebula
|
||||
}
|
||||
|
||||
#
|
||||
# Function that starts the daemon/service
|
||||
#
|
||||
start() {
|
||||
for d in /var/run/one /var/lock/one /var/log/one /var/lib/one
|
||||
do
|
||||
if [ ! -d ${d} ]
|
||||
then
|
||||
ebegin "Creating ${d}"
|
||||
mkdir ${d}
|
||||
eend $?
|
||||
fi
|
||||
chown -R oneadmin:oneadmin ${d}
|
||||
done
|
||||
ebegin "Starting OneFlow Service"
|
||||
su oneadmin -s /bin/sh -c "/usr/bin/oneflow-server start"
|
||||
eend $?
|
||||
}
|
||||
|
||||
#
|
||||
# Function that stops the daemon/service
|
||||
#
|
||||
stop() {
|
||||
ebegin "Stopping OneFlow Service"
|
||||
su oneadmin -s /bin/sh -c "/usr/bin/oneflow-server stop"
|
||||
eend $?
|
||||
}
|
34
app-emulation/opennebula/files/opennebula-gate.init
Normal file
34
app-emulation/opennebula/files/opennebula-gate.init
Normal file
@ -0,0 +1,34 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
depend() {
|
||||
need net
|
||||
use opennebula
|
||||
}
|
||||
|
||||
#
|
||||
# Function that starts the daemon/service
|
||||
#
|
||||
start() {
|
||||
for d in /var/run/one /var/lock/one /var/log/one /var/lib/one
|
||||
do
|
||||
if [ ! -d ${d} ]
|
||||
then
|
||||
ebegin "Creating ${d}"
|
||||
mkdir ${d}
|
||||
eend $?
|
||||
fi
|
||||
chown -R oneadmin:oneadmin ${d}
|
||||
done
|
||||
ebegin "Starting OneGate Service"
|
||||
su oneadmin -s /bin/sh -c "/usr/bin/onegate-server start"
|
||||
eend $?
|
||||
}
|
||||
|
||||
#
|
||||
# Function that stops the daemon/service
|
||||
#
|
||||
stop() {
|
||||
ebegin "Stopping OneGate Service"
|
||||
su oneadmin -s /bin/sh -c "/usr/bin/onegate-server stop"
|
||||
eend $?
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
depend() {
|
||||
need net
|
||||
use opennebula
|
||||
}
|
||||
|
||||
#
|
||||
# Function that starts the daemon/service
|
||||
#
|
||||
start() {
|
||||
for d in /var/run/one /var/lock/one /var/log/one /var/lib/one
|
||||
do
|
||||
if [ ! -d ${d} ]
|
||||
then
|
||||
ebegin "Creating ${d}"
|
||||
mkdir ${d}
|
||||
eend $?
|
||||
fi
|
||||
chown -R oneadmin:oneadmin ${d}
|
||||
done
|
||||
ebegin "Starting OpenNebula ECONE Service"
|
||||
su oneadmin -s /bin/sh -c "/usr/bin/econe-server start"
|
||||
eend $?
|
||||
}
|
||||
|
||||
#
|
||||
# Function that stops the daemon/service
|
||||
#
|
||||
stop() {
|
||||
ebegin "Stopping OpenNebula ECONE Service"
|
||||
su oneadmin -s /bin/sh -c "/usr/bin/econe-server stop"
|
||||
eend $?
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
depend() {
|
||||
need net
|
||||
use opennebula
|
||||
}
|
||||
|
||||
#
|
||||
# Function that starts the daemon/service
|
||||
#
|
||||
start() {
|
||||
for d in /var/run/one /var/lock/one /var/log/one /var/lib/one
|
||||
do
|
||||
if [ ! -d ${d} ]
|
||||
then
|
||||
ebegin "Creating ${d}"
|
||||
mkdir ${d}
|
||||
eend $?
|
||||
fi
|
||||
chown -R oneadmin:oneadmin ${d}
|
||||
done
|
||||
ebegin "Starting OpenNebula NoVNC Server"
|
||||
su oneadmin -s /bin/sh -c "/usr/bin/novnc-server start"
|
||||
eend $?
|
||||
}
|
||||
|
||||
#
|
||||
# Function that stops the daemon/service
|
||||
#
|
||||
stop() {
|
||||
ebegin "Stopping OpenNebula NoVNC Server"
|
||||
su oneadmin -s /bin/sh -c "/usr/bin/novnc-server stop"
|
||||
eend $?
|
||||
}
|
31
app-emulation/opennebula/files/opennebula-sunstone.init
Normal file
31
app-emulation/opennebula/files/opennebula-sunstone.init
Normal file
@ -0,0 +1,31 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
depend() {
|
||||
need net opennebula-sunstone-novnc
|
||||
use opennebula
|
||||
}
|
||||
|
||||
#
|
||||
# Function that starts the daemon/service
|
||||
#
|
||||
start() {
|
||||
for d in /var/run/one /var/lock/one /var/log/one /var/lib/one
|
||||
do
|
||||
if [ ! -d ${d} ]
|
||||
then
|
||||
ebegin "Creating ${d}"
|
||||
mkdir ${d}
|
||||
eend $?
|
||||
fi
|
||||
chown -R oneadmin:oneadmin ${d}
|
||||
done
|
||||
ebegin "Starting OpenNebula Sunstone Web Interface"
|
||||
su oneadmin -s /bin/sh -c "/usr/bin/sunstone-server start-sunstone"
|
||||
eend $?
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping OpenNebula Sunstone Web Interface"
|
||||
su oneadmin -s /bin/sh -c "/usr/bin/sunstone-server stop-sunstone"
|
||||
eend $?
|
||||
}
|
33
app-emulation/opennebula/files/opennebula.init
Normal file
33
app-emulation/opennebula/files/opennebula.init
Normal file
@ -0,0 +1,33 @@
|
||||
#!/sbin/openrc-run
|
||||
|
||||
depend() {
|
||||
need net
|
||||
}
|
||||
|
||||
#
|
||||
# Function that starts the daemon/service
|
||||
#
|
||||
start() {
|
||||
for d in /var/run/one /var/lock/one /var/log/one /var/lib/one
|
||||
do
|
||||
if [ ! -d ${d} ]
|
||||
then
|
||||
ebegin "Creating ${d}"
|
||||
mkdir ${d}
|
||||
eend $?
|
||||
fi
|
||||
chown -R oneadmin:oneadmin ${d}
|
||||
done
|
||||
ebegin "Starting OpenNebula cloud"
|
||||
su oneadmin -s /bin/sh -c '/usr/bin/one start'
|
||||
eend $?
|
||||
}
|
||||
|
||||
#
|
||||
# Function that stops the daemon/service
|
||||
#
|
||||
stop() {
|
||||
ebegin "Stopping OpenNebula cloud"
|
||||
su oneadmin -s /bin/sh -c '/usr/bin/one stop'
|
||||
eend $?
|
||||
}
|
75
app-emulation/opennebula/opennebula-5.4.0.ebuild
Normal file
75
app-emulation/opennebula/opennebula-5.4.0.ebuild
Normal file
@ -0,0 +1,75 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="OpenNebula Enterprise Cloud manager"
|
||||
HOMEPAGE="https://opennebula.org"
|
||||
SRC_URI="http://downloads.opennebula.org/packages/opennebula-${PV}/opennebula-${PV}.tar.gz"
|
||||
|
||||
inherit scons-utils toolchain-funcs user
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="mysql"
|
||||
|
||||
DEPEND="dev-lang/ruby
|
||||
dev-db/sqlite
|
||||
mysql? ( || ( dev-db/mariadb dev-db/mysql ) )
|
||||
dev-ruby/sqlite3
|
||||
dev-libs/xmlrpc-c[abyss]
|
||||
dev-util/scons
|
||||
dev-ruby/json
|
||||
dev-ruby/sinatra
|
||||
dev-ruby/uuidtools
|
||||
dev-ruby/curb
|
||||
dev-ruby/nokogiri"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
src_prepare() {
|
||||
# Call this, or the setup will barf!
|
||||
eapply_user
|
||||
|
||||
# Patch the SUNSTONE_MINIFIED_DIRS variable, which is missing a
|
||||
# $ sign
|
||||
sed -i -e '/^SUNSTONE_MINIFIED_DIRS/ s/="SUNSTONE_LOCATION/="$SUNSTONE_LOCATION/g' \
|
||||
"${S}/install.sh"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
MYSCONS=(
|
||||
CC="$(tc-getCC)"
|
||||
)
|
||||
if use mysql
|
||||
then
|
||||
MYSCONS[1]='mysql=yes'
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
escons "${MYSCONS[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd "${S}"
|
||||
unset ROOT
|
||||
DESTDIR="${D}" ./install.sh -u oneadmin -g oneadmin || die
|
||||
|
||||
# Install sunstone components, because the above script doesn't.
|
||||
DESTDIR="${D}" ./install.sh -u oneadmin -g oneadmin -s -p || die
|
||||
|
||||
# These directories should not be installed by us, so remove them
|
||||
rm -fr "${D}/var/lock" "${D}/var/run"
|
||||
|
||||
# Init scripts
|
||||
for f in "${FILESDIR}"/*.init
|
||||
do
|
||||
newinitd "${f}" "$( basename "${f}" .init )"
|
||||
done
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup oneadmin
|
||||
enewuser oneadmin -1 /bin/bash /var/lib/one oneadmin
|
||||
}
|
4
metadata/layout.conf
Normal file
4
metadata/layout.conf
Normal file
@ -0,0 +1,4 @@
|
||||
masters = gentoo
|
||||
repo-name = sjlongland-opennebula
|
||||
use-manifests = true
|
||||
thin-manifests = true
|
1
profiles/categories
Normal file
1
profiles/categories
Normal file
@ -0,0 +1 @@
|
||||
app-emulation
|
1
profiles/repo_name
Normal file
1
profiles/repo_name
Normal file
@ -0,0 +1 @@
|
||||
sjlongland-opennebula
|
Loading…
Reference in New Issue
Block a user