apk build
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

124 lines
2.7 KiB

# Contributor: Santic <email@santic-zombie.ru>
# Maintainer: Santic <email@santic-zombie.ru>
pkgname=opennebula
pkgver=6.4.0
pkgrel=1
pkgdesc="OpenNebula Server and Scheduler (Community Edition)"
url="https://opennebula.io/"
arch="x86_64"
options="!check"
license="Apache"
depends="augeas
augeas-libs
curl
czmq
gnutls
g++
libcurl
libffi
libgcc
libvncserver
libnsl
libpg_query
libpq
libssl1.1
libstdc++
libxml2
libxslt
logrotate
mariadb
mariadb-client
mariadb-server-utils
npm
openssl
ruby
ruby-augeas
ruby-bundler
ruby-libs
ruby-nokogiri
ruby-pg
ruby-rexml
ruby-xmlrpc
shadow
sqlite
sqlite-libs
sqlite-static
xmlrpc-c"
makedepends="alpine-sdk
augeas-dev
bash
curl-dev
czmq-dev
gnutls-dev
libnsl-dev
libpq-dev
libvncserver-dev
libxml2-dev
linux-headers
mariadb-dev
make
openssl-dev
python3
ronn
ruby-dev
scons
sqlite-dev
xmlrpc-c-dev"
install="${pkgname}.pre-install
${pkgname}.post-install
${pkgname}.post-upgrade
${pkgname}.pre-deinstall
${pkgname}.post-deinstall"
source="https://downloads.opennebula.io/packages/opennebula-${pkgver}/opennebula-${pkgver}.tar.gz
Gruntfile.patch
package.patch
svn.patch
opennebula
opennebula-scheduler
opennebula-novnc
opennebula-sunstone
opennebula-hem
opennebula-flow
opennebula-gate
opennebula-ssh-agent
opennebula.logrotate"
builddir="$srcdir/"
prepare() {
cd "opennebula-${pkgver}"
patch -p0 < "${srcdir}/Gruntfile.patch"
patch -p0 < "${srcdir}/package.patch"
patch -p0 < "${srcdir}/svn.patch"
rm -rf "${HOME}/.npm-packages"
mkdir "${HOME}/.npm-packages"
npm config set prefix "${HOME}/.npm-packages"
NPM_PACKAGES="${HOME}/.npm-packages"
export PATH="$PATH:$NPM_PACKAGES/bin"
npm install bower grunt -g
}
build() {
cd "opennebula-${pkgver}"
CXXFLAGS="--std=c++14" scons -j2 new_xmlrpc=yes mysql=yes sqlite=yes sunstone=yes systemd=no
}
package() {
cd "opennebula-${pkgver}"
install -D -m755 "${srcdir}/opennebula" "${pkgdir}/etc/init.d/opennebula"
install -D -m755 "${srcdir}/opennebula-scheduler" "${pkgdir}/etc/init.d/opennebula-scheduler"
install -D -m755 "${srcdir}/opennebula-novnc" "${pkgdir}/etc/init.d/opennebula-novnc"
install -D -m755 "${srcdir}/opennebula-sunstone" "${pkgdir}/etc/init.d/opennebula-sunstone"
install -D -m755 "${srcdir}/opennebula-hem" "${pkgdir}/etc/init.d/opennebula-hem"
install -D -m755 "${srcdir}/opennebula-flow" "${pkgdir}/etc/init.d/opennebula-flow"
install -D -m755 "${srcdir}/opennebula-gate" "${pkgdir}/etc/init.d/opennebula-gate"
install -D -m755 "${srcdir}/opennebula-ssh-agent" "${pkgdir}/etc/init.d/opennebula-ssh-agent"
install -D -m644 "${srcdir}/opennebula.logrotate" "${pkgdir}/etc/logrotate.d/opennebula.logrotate"
DESTDIR="${pkgdir}" ./install.sh -u oneadmin -g cloud
}