View | Details | Raw Unified | Return to bug 279003 | Differences between
and this patch

Collapse All | Expand All

(-)b/sysutils/kleene-daemon/Makefile (+84 lines)
Added Link Here
1
PORTNAME=		kleene-daemon
2
DISTVERSIONPREFIX=		v
3
DISTVERSION=		0.1.0rc2
4
CATEGORIES=		sysutils
5
6
MAINTAINER=		lasse@philomath.dk
7
COMMENT=		Kleene backend daemon for managing containers on FreeBSD
8
WWW=			https://kleene.dev
9
10
LICENSE=		BSD2CLAUSE
11
12
BUILD_DEPENDS=		${LOCALBASE}/lib/elixir/lib/hex/ebin:devel/elixir-hex \
13
			mix:lang/elixir \
14
			rebar3:devel/rebar3
15
16
USES=			gmake ssl
17
USE_GITHUB=		yes
18
19
GH_TUPLE=		kleene-project:kleened:6a67380:DEFAULT
20
USE_RC_SUBR=		kleened
21
22
SUB_FILES=		pkg-message
23
24
ETCDIR=			${PREFIX}/etc/kleened
25
26
MIX_TARGET=		release
27
ELIXIR_LOCALE=		en_US.UTF-8
28
ELIXIR_APP_NAME=	${PORTNAME}
29
MIX_ENV=		MIX_REBAR3=${LOCALBASE}/bin/rebar3 \
30
			LANG=${ELIXIR_LOCALE} LC_ALL=${ELIXIR_LOCALE} \
31
			MIX_PATH=${LOCALBASE}/lib/elixir/lib/hex/ebin \
32
			MIX_HOME=mix
33
MIX_ENV_NAME=		prod
34
MIX_COMPILE=		${SETENV} ${MIX_ENV} MIX_ENV=${MIX_ENV_NAME} mix \
35
			${MIX_TARGET}
36
37
RELEASE_PATH=		${WRKSRC}/_build/prod/rel/kleened
38
RELEASE_BINARIES=	escript dialyzer erlexec beam.smp heart dyn_erl to_erl \
39
			erlc epmd run_erl typer inet_gethost erl_child_setup \
40
			ct_run erl_call yielding_c_fun
41
42
.include <bsd.port.pre.mk>
43
44
do-build:
45
	@cd ${WRKSRC} && ${MIX_COMPILE}
46
47
do-install:
48
	${MKDIR} ${STAGEDIR}${PREFIX}/etc/kleened
49
	${INSTALL_DATA} ${WRKSRC}/example/kleened_config.yaml \
50
		${STAGEDIR}${PREFIX}/etc/kleened/config.yaml.sample
51
	${INSTALL_DATA} ${WRKSRC}/example/pf.conf.kleene \
52
		${STAGEDIR}${PREFIX}/etc/kleened/pf.conf.kleene.sample
53
	${MKDIR} ${STAGEDIR}${PREFIX}/libexec/kleened/bin
54
	${INSTALL_PROGRAM} ${WRKSRC}/priv/bin/kleened_pty \
55
		${STAGEDIR}${PREFIX}/libexec/kleened/bin/kleened_pty
56
	${INSTALL_SCRIPT} ${WRKSRC}/_build/prod/rel/kleened/bin/kleened \
57
		${STAGEDIR}${PREFIX}/libexec/kleened/bin/
58
	cd ${RELEASE_PATH}/lib && \
59
		${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/libexec/kleened/lib
60
	cd ${RELEASE_PATH} && \
61
		${COPYTREE_SHARE} ./erts-* ${STAGEDIR}${PREFIX}/libexec/kleened/ && \
62
		${CHMOD} +x ${STAGEDIR}${PREFIX}/libexec/kleened/erts-*/bin/*
63
	cd ${RELEASE_PATH}/releases && \
64
		${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/libexec/kleened/releases
65
	cd ${RELEASE_PATH}/releases && \
66
		${INSTALL_DATA} ${WRKSRC}/_build/prod/rel/kleened/releases/start_erl.data ${STAGEDIR}${PREFIX}/libexec/kleened/releases/
67
	${INSTALL_SCRIPT} ${RELEASE_PATH}/releases/0.0.1/elixir \
68
		${STAGEDIR}${PREFIX}/libexec/kleened/releases/0.0.1/
69
	${INSTALL_SCRIPT} ${RELEASE_PATH}/releases/0.0.1/iex \
70
		${STAGEDIR}${PREFIX}/libexec/kleened/releases/0.0.1/
71
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/kleened/lib/asn1-*/priv/lib/asn1rt_nif.so
72
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/kleened/lib/crypto-*/priv/lib/*.so
73
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/kleened/lib/exqlite-0.20.0/priv/sqlite3_nif.so
74
.for bin in ${RELEASE_BINARIES}
75
	${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/kleened/erts-*/bin/${bin}
76
.endfor
77
78
post-install:
79
	@cd ${STAGEDIR}${PREFIX} && \
80
		${FIND} libexec/kleened/erts-* -type f -o -type l | ${SORT} >> ${TMPPLIST}
81
	@cd ${STAGEDIR}${PREFIX} && \
82
		${FIND} libexec/kleened/lib/* -type f -o -type l | ${SORT} >> ${TMPPLIST}
83
84
.include <bsd.port.post.mk>
(-)b/sysutils/kleene-daemon/distinfo (+3 lines)
Added Link Here
1
TIMESTAMP = 1720628572
2
SHA256 (kleene-project-kleened-v0.1.0rc2-6a67380_GH0.tar.gz) = 1b2c8f859b1453f4a86735094f67eebe3d62713c4ff1bfea4f708f525b87f1ac
3
SIZE (kleene-project-kleened-v0.1.0rc2-6a67380_GH0.tar.gz) = 5048873
(-)b/sysutils/kleene-daemon/files/kleened.in (+45 lines)
Added Link Here
1
#!/bin/sh
2
3
# $FreeBSD$
4
#
5
# PROVIDE: kleened
6
# REQUIRE: LOGIN
7
# KEYWORD: shutdown
8
#
9
# Add this line to /etc/rc.conf.local or /etc/rc.conf
10
# to enable this service:
11
#
12
# kleened_enable (bool):	Set to NO by default.
13
#				Set it to YES to enable doormand.
14
15
. /etc/rc.subr
16
name=kleened
17
rcvar=kleened_enable
18
extra_commands="init dryinit"
19
20
LANG=en_US.UTF-8
21
LC_ALL=en_US.UTF-8
22
PATH="${PATH}:%%PREFIX%%/libexec/kleened/bin"
23
24
command="%%PREFIX%%/libexec/kleened/bin/kleened"
25
26
pidfile="/var/run/kleened.pid"
27
procname="$(/usr/bin/find %%PREFIX%%/libexec/kleened/erts-* -depth 1 -type d)/beam.smp"
28
start_cmd="${command} daemon"
29
init_cmd="kleened_init"
30
dryinit_cmd="kleened_dryinit"
31
32
load_rc_config $name
33
: ${kleened_enable:=no}
34
35
kleened_init()
36
{
37
    %%PREFIX%%/libexec/kleened/bin/kleened eval "Kleened.Core.Config.initialize_host(%{dry_run: false})"
38
}
39
40
kleened_dryinit()
41
{
42
    %%PREFIX%%/libexec/kleened/bin/kleened eval "Kleened.Core.Config.initialize_host(%{dry_run: true})"
43
}
44
45
run_rc_command "$1"
(-)b/sysutils/kleene-daemon/files/pkg-message.in (+33 lines)
Added Link Here
1
[
2
{ type: install
3
  message: <<EOM
4
Kleene is a new tool and should be used for
5
testing and experimentation purposes only.
6
7
To use Kleened, enable it in rc.conf using
8
9
  sysrc kleened_enable=YES
10
11
Kleened requires certain services and kernel modules to be configured in order
12
to work properly. Run
13
14
  service kleened init
15
16
to make Kleened automatically try and configure the host for you.
17
Alternatively, run
18
19
  service kleened dryinit
20
21
to get an overview of what needs to be configured, without actually changing
22
the host.
23
24
NB. The %%ETCDIR%%/config.yaml file should be edited before running
25
    'service kleened init' since some of the parameters are used during host
26
    initialization.
27
28
You can then start Kleened by running:
29
30
  service kleened start
31
EOM
32
}
33
]
(-)b/sysutils/kleene-daemon/pkg-descr (+3 lines)
Added Link Here
1
Backend daemon for Kleene.
2
3
Kleene is a container management tool for FreeBSD.
(-)b/sysutils/kleene-daemon/pkg-plist (-1 / +27 lines)
Added Link Here
0
- 
1
@sample %%ETCDIR%%/config.yaml.sample
2
@sample %%ETCDIR%%/pf.conf.kleene.sample
3
libexec/kleened/bin/kleened
4
libexec/kleened/bin/kleened_pty
5
libexec/kleened/releases/0.0.1/consolidated/Elixir.Collectable.beam
6
libexec/kleened/releases/0.0.1/consolidated/Elixir.Enumerable.beam
7
libexec/kleened/releases/0.0.1/consolidated/Elixir.IEx.Info.beam
8
libexec/kleened/releases/0.0.1/consolidated/Elixir.Inspect.beam
9
libexec/kleened/releases/0.0.1/consolidated/Elixir.Jason.Encoder.beam
10
libexec/kleened/releases/0.0.1/consolidated/Elixir.List.Chars.beam
11
libexec/kleened/releases/0.0.1/consolidated/Elixir.OpenApiSpex.Extendable.beam
12
libexec/kleened/releases/0.0.1/consolidated/Elixir.Plug.Exception.beam
13
libexec/kleened/releases/0.0.1/consolidated/Elixir.String.Chars.beam
14
libexec/kleened/releases/0.0.1/consolidated/Elixir.DBConnection.Query.beam
15
libexec/kleened/releases/0.0.1/elixir
16
libexec/kleened/releases/0.0.1/env.sh
17
libexec/kleened/releases/0.0.1/iex
18
libexec/kleened/releases/0.0.1/kleened.rel
19
libexec/kleened/releases/0.0.1/remote.vm.args
20
libexec/kleened/releases/0.0.1/start.boot
21
libexec/kleened/releases/0.0.1/start.script
22
libexec/kleened/releases/0.0.1/start_clean.boot
23
libexec/kleened/releases/0.0.1/start_clean.script
24
libexec/kleened/releases/0.0.1/sys.config
25
libexec/kleened/releases/0.0.1/vm.args
26
libexec/kleened/releases/COOKIE
27
libexec/kleened/releases/start_erl.data

Return to bug 279003