add sysutils/s6-rc - service manager for s6-based systems

PR:		208655
Submitted by:	Andris Raugulis <moo@arthepsy.eu>
Reviewed by:	matthew
Approved by:	matthew (mentor)
Differential Revision:	https://reviews.freebsd.org/D9065
This commit is contained in:
Nikolai Lifanov 2017-01-06 20:01:08 +00:00
parent befb53d1fa
commit 3d9ab9f606
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=430734
6 changed files with 105 additions and 0 deletions

View file

@ -1002,6 +1002,7 @@
SUBDIR += runit
SUBDIR += runwhen
SUBDIR += s6
SUBDIR += s6-rc
SUBDIR += safe-rm
SUBDIR += safecat
SUBDIR += samefile

42
sysutils/s6-rc/Makefile Normal file
View file

@ -0,0 +1,42 @@
# Created by: Andris Raugulis <moo@arthepsy.eu>
# $FreeBSD$
PORTNAME= s6-rc
PORTVERSION= 0.0.2.1
CATEGORIES= sysutils
MASTER_SITES= http://www.skarnet.org/software/${PORTNAME}/
MAINTAINER= moo@arthepsy.eu
COMMENT= skarnet.org service manager
LICENSE= ISCL
BUILD_DEPENDS= execline>=2.1.4.5:lang/execline
RUN_DEPENDS= execlineb:lang/execline
LIB_DEPENDS= libs6.so:sysutils/s6 \
libskarnet.so:devel/skalibs
USES= gmake
USE_LDCONFIG= yes
HAS_CONFIGURE= yes
CONFIGURE_ARGS+=--prefix=${PREFIX} \
--with-include=${LOCALBASE}/include \
--with-lib=${LOCALBASE}/lib/skalibs \
--with-lib=${LOCALBASE}/lib/execline \
--with-lib=${LOCALBASE}/lib/s6 \
--with-dynlib=${LOCALBASE}/lib \
--enable-shared
DOCS= AUTHORS COPYING INSTALL README doc/*.html
OPTIONS_DEFINE= DOCS
post-install:
.for d in bin sbin libexec
${STRIP_CMD} ${STAGEDIR}${PREFIX}/${d}/*
.endfor
${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libs6rc.so.${PORTVERSION}
@${MKDIR} ${STAGEDIR}${DOCSDIR}
cd ${WRKSRC} && ${INSTALL_MAN} ${DOCS} ${STAGEDIR}${DOCSDIR}
.include <bsd.port.mk>

3
sysutils/s6-rc/distinfo Normal file
View file

@ -0,0 +1,3 @@
TIMESTAMP = 1483732806
SHA256 (s6-rc-0.0.2.1.tar.gz) = 93f30557e2e2e5c507b5becef2bd26f377be6b6c542fb4627c3122e1c2d83ef9
SIZE (s6-rc-0.0.2.1.tar.gz) = 85549

View file

@ -0,0 +1,14 @@
--- src/s6-rc/s6-rc-init.c.orig 2015-11-07 00:22:15 UTC
+++ src/s6-rc/s6-rc-init.c
@@ -99,8 +99,10 @@ int main (int argc, char const *const *a
lfn[llen] = 0 ;
if (symlink(satmp.s + dirlen, lfn) < 0)
{
+ char tmp[satmp.len - dirlen] ;
+ byte_copy(tmp, satmp.len - dirlen, satmp.s + dirlen) ;
cleanup() ;
- strerr_diefu4sys(111, "symlink ", satmp.s + dirlen, " to ", lfn) ;
+ strerr_diefu4sys(111, "symlink ", tmp, " to ", lfn) ;
}

8
sysutils/s6-rc/pkg-descr Normal file
View file

@ -0,0 +1,8 @@
s6-rc is a service manager for s6-based systems, i.e. a suite of programs
that can start and stop services, both long-running daemons and one-time
initialization scripts, in the proper order according to a dependency tree.
It ensures that long-running daemons are supervised by the s6 infrastructure,
and that one-time scripts are also run in a controlled environment.
WWW: http://www.skarnet.org/software/s6-rc/

37
sysutils/s6-rc/pkg-plist Normal file
View file

@ -0,0 +1,37 @@
bin/s6-rc-bundle
bin/s6-rc-compile
bin/s6-rc-db
bin/s6-rc-dryrun
include/s6-rc/config.h
include/s6-rc/s6rc-constants.h
include/s6-rc/s6rc-db.h
include/s6-rc/s6rc-servicedir.h
include/s6-rc/s6rc-utils.h
include/s6-rc/s6rc.h
lib/libs6rc.so
lib/libs6rc.so.0.0
lib/libs6rc.so.0.0.2
lib/libs6rc.so.0.0.2.1
lib/s6-rc/libs6rc.a
libexec/s6-rc-fdholder-filler
libexec/s6-rc-oneshot-run
sbin/s6-rc
sbin/s6-rc-init
sbin/s6-rc-update
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/COPYING
%%PORTDOCS%%%%DOCSDIR%%/INSTALL
%%PORTDOCS%%%%DOCSDIR%%/README
%%PORTDOCS%%%%DOCSDIR%%/faq.html
%%PORTDOCS%%%%DOCSDIR%%/index.html
%%PORTDOCS%%%%DOCSDIR%%/overview.html
%%PORTDOCS%%%%DOCSDIR%%/s6-rc-bundle.html
%%PORTDOCS%%%%DOCSDIR%%/s6-rc-compile.html
%%PORTDOCS%%%%DOCSDIR%%/s6-rc-db.html
%%PORTDOCS%%%%DOCSDIR%%/s6-rc-dryrun.html
%%PORTDOCS%%%%DOCSDIR%%/s6-rc-init.html
%%PORTDOCS%%%%DOCSDIR%%/s6-rc-oneshot-run.html
%%PORTDOCS%%%%DOCSDIR%%/s6-rc-update.html
%%PORTDOCS%%%%DOCSDIR%%/s6-rc.html
%%PORTDOCS%%%%DOCSDIR%%/upgrade.html
%%PORTDOCS%%%%DOCSDIR%%/why.html