Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Mar 2017 13:03:28 +0000 (UTC)
From:      "Vanilla I. Shu" <vanilla@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r436539 - in head/sysutils: . immortal immortal/files
Message-ID:  <201703201303.v2KD3SVP023537@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: vanilla
Date: Mon Mar 20 13:03:28 2017
New Revision: 436539
URL: https://svnweb.freebsd.org/changeset/ports/436539

Log:
  Add immortal 0.10.2, unix cross-platform (OS agnostic) supervisor.
  
  PR:		217947
  Submitted by:	nbari@tequila.io

Added:
  head/sysutils/immortal/
  head/sysutils/immortal/Makefile   (contents, props changed)
  head/sysutils/immortal/distinfo   (contents, props changed)
  head/sysutils/immortal/files/
  head/sysutils/immortal/files/immortaldir.in   (contents, props changed)
  head/sysutils/immortal/files/www.yml   (contents, props changed)
  head/sysutils/immortal/pkg-descr   (contents, props changed)
  head/sysutils/immortal/pkg-plist   (contents, props changed)
Modified:
  head/sysutils/Makefile

Modified: head/sysutils/Makefile
==============================================================================
--- head/sysutils/Makefile	Mon Mar 20 11:45:27 2017	(r436538)
+++ head/sysutils/Makefile	Mon Mar 20 13:03:28 2017	(r436539)
@@ -452,6 +452,7 @@
     SUBDIR += i2c-tools
     SUBDIR += i7z
     SUBDIR += iat
+    SUBDIR += immortal
     SUBDIR += inotify-tools
     SUBDIR += installwatch
     SUBDIR += intel-nvmupdate

Added: head/sysutils/immortal/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/immortal/Makefile	Mon Mar 20 13:03:28 2017	(r436539)
@@ -0,0 +1,47 @@
+# $FreeBSD$
+
+PORTNAME=	immortal
+PORTVERSION=	0.10.2
+CATEGORIES=	sysutils
+
+MAINTAINER=	nbari@tequila.io
+COMMENT=	Unix cross-platform (OS agnostic) supervisor
+
+LICENSE=	BSD3CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USE_RC_SUBR=	immortaldir
+USES=		go
+USE_GITHUB=	yes
+GH_TUPLE=	immortal:logrotate:3691ab5:logrotate/src/github.com/immortal/logrotate \
+		immortal:multiwriter:2555774:multiwriter/src/github.com/immortal/multiwriter \
+		immortal:natcasesort:69368b7:natcasesort/src/github.com/immortal/natcasesort \
+		immortal:xtime:fb1aca1:xtime/src/github.com/immortal/xtime \
+		nbari:violetear:502d8b0:nbari/src/github.com/nbari/violetear \
+		go-yaml:yaml:v2:yaml/src/gopkg.in/yaml.v2
+GH_SUBDIR=	src/github.com/${PORTNAME}/${PORTNAME}
+
+STRIP=		# stripping can break go binaries
+
+do-build:
+	@cd ${WRKSRC}/src/github.com/${GH_ACCOUNT}/${GH_PROJECT}; \
+	${SETENV} ${BUILD_ENV} GOPATH=${WRKSRC} go build -ldflags \
+	"-X main.version=${PORTVERSION}" -o immortal cmd/immortal/main.go;
+	@cd ${WRKSRC}/src/github.com/${GH_ACCOUNT}/${GH_PROJECT}; \
+	${SETENV} ${BUILD_ENV} GOPATH=${WRKSRC} go build -ldflags \
+	"-X main.version=${PORTVERSION}" -o immortalctl cmd/immortalctl/main.go;
+	@cd ${WRKSRC}/src/github.com/${GH_ACCOUNT}/${GH_PROJECT}; \
+	${SETENV} ${BUILD_ENV} GOPATH=${WRKSRC} go build -ldflags \
+	"-X main.version=${PORTVERSION}" -o immortaldir cmd/immortaldir/main.go;
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/src/github.com/immortal/immortal/immortal ${STAGEDIR}${PREFIX}/bin/immortal
+	${INSTALL_PROGRAM} ${WRKSRC}/src/github.com/immortal/immortal/immortalctl ${STAGEDIR}${PREFIX}/bin/immortalctl
+	${INSTALL_PROGRAM} ${WRKSRC}/src/github.com/immortal/immortal/immortaldir ${STAGEDIR}${PREFIX}/bin/immortaldir
+	${INSTALL_MAN} ${WRKSRC}/src/github.com/immortal/immortal/man/*.8 ${STAGEDIR}${MAN8PREFIX}/man/man8/
+
+post-install:
+	@${MKDIR} ${STAGEDIR}${ETCDIR}
+	${INSTALL_DATA} ${FILESDIR}/www.yml ${STAGEDIR}${ETCDIR}/www.yml.sample
+
+.include <bsd.port.mk>

Added: head/sysutils/immortal/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/immortal/distinfo	Mon Mar 20 13:03:28 2017	(r436539)
@@ -0,0 +1,15 @@
+TIMESTAMP = 1490011379
+SHA256 (immortal-immortal-0.10.2_GH0.tar.gz) = ff9db09bbc34f0554ef8971fc95ccbe83035e439d7796b32ad305970a1490115
+SIZE (immortal-immortal-0.10.2_GH0.tar.gz) = 27238
+SHA256 (immortal-logrotate-3691ab5_GH0.tar.gz) = 1e9915e41e05e43be206fa5da0ca9646feea36e8433c953fc71d7ebc6d40d8d5
+SIZE (immortal-logrotate-3691ab5_GH0.tar.gz) = 3612
+SHA256 (immortal-multiwriter-2555774_GH0.tar.gz) = 0988932d02debf79c7928e307a812027b642da7e5cad8846604577ed56220d57
+SIZE (immortal-multiwriter-2555774_GH0.tar.gz) = 3060
+SHA256 (immortal-natcasesort-69368b7_GH0.tar.gz) = d05843a6bb7429ebe0e62f34ff3e75fa19327eea810f60d335a345ea9411f9e5
+SIZE (immortal-natcasesort-69368b7_GH0.tar.gz) = 2581
+SHA256 (immortal-xtime-fb1aca1_GH0.tar.gz) = b6d7b321e2feca0ec66d19e4b2feea0be88fc2b7db31e43b7f68d6f74f1a2753
+SIZE (immortal-xtime-fb1aca1_GH0.tar.gz) = 1104
+SHA256 (nbari-violetear-502d8b0_GH0.tar.gz) = 26b1bbb59ddeb5bb82a317c6a754ab6dad0a68152612e8eaaac17f3b7dacaaf2
+SIZE (nbari-violetear-502d8b0_GH0.tar.gz) = 16272
+SHA256 (go-yaml-yaml-v2_GH0.tar.gz) = 4f214b08f5ad89644bec631ca47e20ba7c1474845731925f3b38d1ecca9cca67
+SIZE (go-yaml-yaml-v2_GH0.tar.gz) = 60702

Added: head/sysutils/immortal/files/immortaldir.in
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/immortal/files/immortaldir.in	Mon Mar 20 13:03:28 2017	(r436539)
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+# $FreeBSD$
+#
+# PROVIDE: immortaldir
+# REQUIRE: LOGIN
+# KEYWORD: shutdown
+#
+# Add these lines to /etc/rc.conf.local or /etc/rc.conf
+# to enable this service:
+#
+# immortaldir_enable (bool):    Set it to "YES" to enable immortaldir
+#                               Default is "NO"
+#
+# immortaldir_path (str):       Set the directory that will be scanned
+#                               Default is "/usr/local/etc/immortal"
+
+. /etc/rc.subr
+
+name=immortaldir
+rcvar=immortaldir_enable
+
+load_rc_config $name
+
+: ${immortaldir_path=%%PREFIX%%/etc/immortal}
+
+command=%%PREFIX%%/bin/${name}
+command_args=${immortaldir_path}
+start_cmd=immortaldir_run
+
+immortaldir_run()
+{
+        PATH="/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin"
+        /usr/sbin/daemon -c /bin/sh -c "$command $immortaldir_path 2>&1 | logger -t immortaldir"
+}
+
+run_rc_command "$1"

Added: head/sysutils/immortal/files/www.yml
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/immortal/files/www.yml	Mon Mar 20 13:03:28 2017	(r436539)
@@ -0,0 +1,10 @@
+# expose via web the /tmp directory by using www
+# pkg install go-www
+cmd: /usr/local/bin/www
+cwd: /tmp
+log:
+    file: /var/log/www.log
+    age: 86400 # seconds
+    num: 7     # int
+    size: 1    # MegaBytes
+user: www

Added: head/sysutils/immortal/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/immortal/pkg-descr	Mon Mar 20 13:03:28 2017	(r436539)
@@ -0,0 +1,13 @@
+A *nix cross-platform (OS agnostic) supervisor
+
+immortal runs a command or script detached from the controlling terminal
+as a Unix daemon, it will supervise and restart the service if it has
+been terminated. The service can be controlled by querying a Unix socket
+"immortal.sock", this allows to remotely have full control over the service if
+required by exposing the socket using a web server like Nginx.
+
+immortal    - Starts and monitor a service
+immortaldir - Directory to scan for services *.yml
+immortalctl - Control existing services
+
+WWW: https://immortal.run

Added: head/sysutils/immortal/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/sysutils/immortal/pkg-plist	Mon Mar 20 13:03:28 2017	(r436539)
@@ -0,0 +1,7 @@
+bin/immortal
+bin/immortalctl
+bin/immortaldir
+%%ETCDIR%%/www.yml.sample
+man/man8/immortal.8.gz
+man/man8/immortalctl.8.gz
+man/man8/immortaldir.8.gz



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201703201303.v2KD3SVP023537>