diff options
author | Michael Truog <mjtruog@protonmail.com> | 2018-03-30 19:06:38 -0700 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2018-04-13 06:11:24 +0000 |
commit | a11b0ef3c0c3349b6f75612c9ab2c65730537121 (patch) | |
tree | 6a7f0857111434c26d9acb458d530354aa06c300 /community/cloudi | |
parent | 7d2dd0002729db9050a9d4a69242d5acde1e873b (diff) | |
download | aports-a11b0ef3c0c3349b6f75612c9ab2c65730537121.tar.bz2 aports-a11b0ef3c0c3349b6f75612c9ab2c65730537121.tar.xz |
community/cloudi: moved from testing
* Updated my email
* Switched url to use HTTPS
Diffstat (limited to 'community/cloudi')
-rw-r--r-- | community/cloudi/0005-Disable-tests-for-aports-buildservers.patch | 21 | ||||
-rw-r--r-- | community/cloudi/APKBUILD | 140 | ||||
-rw-r--r-- | community/cloudi/cloudi.initd | 35 |
3 files changed, 196 insertions, 0 deletions
diff --git a/community/cloudi/0005-Disable-tests-for-aports-buildservers.patch b/community/cloudi/0005-Disable-tests-for-aports-buildservers.patch new file mode 100644 index 0000000000..cbb9d4829d --- /dev/null +++ b/community/cloudi/0005-Disable-tests-for-aports-buildservers.patch @@ -0,0 +1,21 @@ +--- src/rebar_src_test.config.in ++++ src/rebar_src_test.config.in +@@ -8,8 +8,6 @@ + {sub_dirs, + ["lib/cloudi_core", + "lib/cloudi_service_api_requests", +- "lib/cloudi_service_db_mysql", +- "lib/cloudi_service_db_pgsql", + "lib/cloudi_service_filesystem", + "lib/cloudi_service_http_client", + "lib/cloudi_service_http_cowboy", +@@ -18,9 +16,7 @@ + "lib/cloudi_service_map_reduce", + "lib/cloudi_service_monitoring", + "lib/cloudi_service_null", +- "lib/cloudi_service_oauth1", + "lib/cloudi_service_queue", +- "lib/cloudi_service_quorum", + "lib/cloudi_service_request_rate", + "lib/cloudi_service_router", + "lib/cloudi_service_tcp", diff --git a/community/cloudi/APKBUILD b/community/cloudi/APKBUILD new file mode 100644 index 0000000000..b795e70e80 --- /dev/null +++ b/community/cloudi/APKBUILD @@ -0,0 +1,140 @@ +# Contributor: Michael Truog <mjtruog@protonmail.com> +# Maintainer: Michael Truog <mjtruog@protonmail.com> +# +# INFO +# +# Why is the cloudi.initd file not using the openrc default start-stop-daemon? +# +# With the Erlang VM it is possible to use the -heart erl command line +# argument (which is possible with cloudi configuration of the +# /etc/cloudi/vm.args file). To allow the use of the heartbeat monitoring +# of the Erlang runtime system, it is necessary to rely upon the cloudi +# script for handling the cloudi pid and not utilize openrc for pidfile +# creation or signal-based termination. +# +# With a typical Erlang VM release, it is normally expected to provide +# the ability to attach to the Erlang VM shell of the running node using +# pipes. The setup of the Erlang VM shell pipes needs to be handled with +# Erlang VM execution that also handles detaching the daemon process. +# If the openrc default start-stop-daemon execution was used instead, +# it would not be possible to easily setup the Erlang VM shell pipes. +# +# The termination of cloudi utilizes a 65000 millisecond timeout, allowing +# all services a maximum of 60000 milliseconds for termination with +# 5000 millisecond for internal Erlang VM delays. The cloudi script does +# block for this termination to complete. +# +# The pid file path is set during the configuration step +# (shown below with the assignment of CLOUDI_PID_FILE). + +pkgname=cloudi +pkgver=1.7.3 +pkgrel=3 +pkgdesc="Cloud computing framework for efficient, scalable, and stable soft-realtime event processing." +url="https://cloudi.org/" +license="MIT" +arch="all" +depends="erlang + g++" +makedepends="autoconf + automake + binutils-dev + boost-dev + boost-system + boost-thread + erlang-asn1 + erlang-common-test + erlang-crypto + erlang-dev + erlang-erl-interface + erlang-eunit + erlang-inets + erlang-jinterface + erlang-public-key + erlang-reltool + erlang-sasl + erlang-snmp + erlang-ssl + erlang-syntax-tools + erlang-tools + erlang-xmerl + gmp-dev + go + libexecinfo-dev + libtool + nodejs + openjdk8 + perl + php7 + python3 + python3-dev + ruby + " +install="" +subpackages="" +source="https://osdn.net/dl/$pkgname/$pkgname-$pkgver.tar.gz + 0005-Disable-tests-for-aports-buildservers.patch + $pkgname.initd" +builddir="$srcdir/cloudi-$pkgver/src" + +# configure additional dependencies based on the package architecture +CONFIGURE_ARGS="" +# Enable Haskell on the appropriate architectures +case "$CTARGET_ARCH" in +x86_64) + # Haskell is available on armhf though the compilation of the + # external Haskell dependencies fails with a gcc linker error + # (commit a55ed2043ebe1432fe30400d2aee3b080da32062) + makedepends="$makedepends ghc cabal zlib-dev" + CONFIGURE_ARGS="$CONFIGURE_ARGS --enable-haskell-support" + ;; +esac +# Enable OCaml on the appropriate architectures +case "$CTARGET_ARCH" in +x86 | armhf | s390x) + ;; +*) + makedepends="$makedepends ocaml" + CONFIGURE_ARGS="$CONFIGURE_ARGS --enable-ocaml-support" + ;; +esac + +prepare() { + cd "$builddir" + default_prepare + ./autogen.sh +} + +build() { + cd "$builddir" + export PATH="/usr/lib/jvm/java-1.8-openjdk/bin:$PATH" + LIBS="-lexecinfo" CLOUDI_PID_FILE="/run/cloudi.pid" ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --bindir=/usr/sbin \ + --mandir=/usr/share/man \ + --infodir=/usr/share/info \ + --host="$CHOST" \ + --build="$CBUILD" \ + --with-cxx-backtrace \ + --with-python-version=3 \ + --enable-go-support $CONFIGURE_ARGS + make +} + +check() { + cd "$builddir" + make ct +} + +package() { + cd "$builddir" + make DESTDIR="$pkgdir" install + install -m755 -D "$srcdir"/$pkgname.initd \ + "$pkgdir"/etc/init.d/$pkgname +} + +sha512sums="4a254983c45f12c0eb8cde6f9b4953219ce1e52abc3262d1703d28f2b1a2d1cc8eb9a2beae5e9e52b14d17704ab239948f895681bd4ac38e677a8bb025afc053 cloudi-1.7.3.tar.gz +b2ef0cf07e207cbe62a34edb69ac4700bd5a75d9924e6597595e69f0988772d833d6af882cfa40278c9efe4b042da2952f9b7276b3c80c4b015b0c1490782b59 0005-Disable-tests-for-aports-buildservers.patch +053f860f656617012208a0e1909e43b2f8979d381a90d3fa5a745a9cf5021fe54556a641fef2badaa9955f2394d00e32183389cb9b501169dcbf8cbe4fbb0329 cloudi.initd" diff --git a/community/cloudi/cloudi.initd b/community/cloudi/cloudi.initd new file mode 100644 index 0000000000..77fd99b513 --- /dev/null +++ b/community/cloudi/cloudi.initd @@ -0,0 +1,35 @@ +#!/sbin/openrc-run + +# Justification for the script use here exists in the port's APKBUILD file. + +name=cloudi +command=/usr/sbin/cloudi +command_args="" +command_background="false" + +description="CloudI is an open-source private cloud computing framework for efficient, scalable, and stable soft-realtime event processing." + +depend() { + need localmount + need net + after firewall +} +start() { + HOME="/" $command start +} +stop() { + HOME="/" $command stop +} +restart() { + HOME="/" $command restart +} +status() { + HOME="/" $command test + if [ $? -eq 0 ]; then + einfo "status: started" + return 0 + else + einfo "status: stopped" + return 3 + fi +} |