From e377ab7acdff52e87d2340a302a5e61d43d3aa1c Mon Sep 17 00:00:00 2001 From: Cy Schubert Date: Wed, 9 Oct 2019 19:17:17 +0000 Subject: [PATCH] Welcome the new syslog-ng 3.24.1. It is the default syslog-ng port/package. While at it, implement the newly agreed upon policy to deprecated and remove old syslog-ng ports one year after the latest ports has been committed. This is in cotrast to One Identity's Linux clients who have told One Identity they would like to see three years of support. FreeBSD users are encouraged to contact our upline, Peter Czanik, or myself regarding their preference. Submitted by: Peter Czanik (CzP) Balabit (a OneIdentity company) / syslog-ng upstream --- sysutils/Makefile | 1 + sysutils/syslog-ng/Makefile | 4 +- sysutils/syslog-ng320/Makefile | 5 +- sysutils/syslog-ng321/Makefile | 3 + sysutils/syslog-ng322/Makefile | 3 + sysutils/syslog-ng323/Makefile | 3 + sysutils/syslog-ng324/Makefile | 234 +++++++++++ sysutils/syslog-ng324/distinfo | 3 + sysutils/syslog-ng324/files/patch-configure | 29 ++ sysutils/syslog-ng324/files/pkg-message.in | 33 ++ .../syslog-ng324/files/syslog-ng.conf.sample | 185 +++++++++ sysutils/syslog-ng324/files/syslog-ng.in | 46 +++ sysutils/syslog-ng324/pkg-descr | 17 + sysutils/syslog-ng324/pkg-plist | 369 ++++++++++++++++++ 14 files changed, 931 insertions(+), 4 deletions(-) create mode 100644 sysutils/syslog-ng324/Makefile create mode 100644 sysutils/syslog-ng324/distinfo create mode 100644 sysutils/syslog-ng324/files/patch-configure create mode 100644 sysutils/syslog-ng324/files/pkg-message.in create mode 100644 sysutils/syslog-ng324/files/syslog-ng.conf.sample create mode 100644 sysutils/syslog-ng324/files/syslog-ng.in create mode 100644 sysutils/syslog-ng324/pkg-descr create mode 100644 sysutils/syslog-ng324/pkg-plist diff --git a/sysutils/Makefile b/sysutils/Makefile index a87fb6e9a45e..bb700491ea22 100644 --- a/sysutils/Makefile +++ b/sysutils/Makefile @@ -1272,6 +1272,7 @@ SUBDIR += syslog-ng321 SUBDIR += syslog-ng322 SUBDIR += syslog-ng323 + SUBDIR += syslog-ng324 SUBDIR += syslogger SUBDIR += sysrc SUBDIR += system-tools-backends diff --git a/sysutils/syslog-ng/Makefile b/sysutils/syslog-ng/Makefile index bd20d3e4394d..056ea51b14c6 100644 --- a/sysutils/syslog-ng/Makefile +++ b/sysutils/syslog-ng/Makefile @@ -1,7 +1,7 @@ # $FreeBSD$ -VERSIONS= 320 321 322 323 -SYSLOG_NG_VERSION?= 323 +VERSIONS= 320 321 322 323 324 +SYSLOG_NG_VERSION?= 324 MASTERDIR= ${.CURDIR}/../syslog-ng${SYSLOG_NG_VERSION} diff --git a/sysutils/syslog-ng320/Makefile b/sysutils/syslog-ng320/Makefile index 341c19cc70a3..6423f5ab491f 100644 --- a/sysutils/syslog-ng320/Makefile +++ b/sysutils/syslog-ng320/Makefile @@ -15,8 +15,9 @@ COMMENT= Powerful syslogd replacement BROKEN_sparc64= fails to link: Internal error: Segmentation fault (program ld) -DEPRECATED= Agreed upon upstream six month deprecation policy -EXPIRATION_DATE= 2020-03-03 +DEPRECATED= Agreed upon upstream one year deprecation policy +EXPIRATION_DATE= 2020-10-09 + LIB_DEPENDS= libpcre.so:devel/pcre \ libuuid.so:misc/e2fsprogs-libuuid diff --git a/sysutils/syslog-ng321/Makefile b/sysutils/syslog-ng321/Makefile index d7f2f0f9ce8f..8b0b9f79f060 100644 --- a/sysutils/syslog-ng321/Makefile +++ b/sysutils/syslog-ng321/Makefile @@ -15,6 +15,9 @@ COMMENT= Powerful syslogd replacement BROKEN_sparc64= fails to link: Internal error: Segmentation fault (program ld) +DEPRECATED= Agreed upon upstream one year deprecation policy +EXPIRATION_DATE= 2020-10-09 + LIB_DEPENDS= libpcre.so:devel/pcre \ libuuid.so:misc/e2fsprogs-libuuid diff --git a/sysutils/syslog-ng322/Makefile b/sysutils/syslog-ng322/Makefile index f6204bb6adc7..b8b721967b97 100644 --- a/sysutils/syslog-ng322/Makefile +++ b/sysutils/syslog-ng322/Makefile @@ -15,6 +15,9 @@ COMMENT= Powerful syslogd replacement BROKEN_sparc64= fails to link: Internal error: Segmentation fault (program ld) +DEPRECATED= Agreed upon upstream one year deprecation policy +EXPIRATION_DATE= 2020-10-09 + LIB_DEPENDS= libpcre.so:devel/pcre \ libuuid.so:misc/e2fsprogs-libuuid diff --git a/sysutils/syslog-ng323/Makefile b/sysutils/syslog-ng323/Makefile index e7e187e44c02..2a9d348db533 100644 --- a/sysutils/syslog-ng323/Makefile +++ b/sysutils/syslog-ng323/Makefile @@ -14,6 +14,9 @@ COMMENT= Powerful syslogd replacement BROKEN_sparc64= fails to link: Internal error: Segmentation fault (program ld) +DEPRECATED= Agreed upon upstream one year deprecation policy +EXPIRATION_DATE= 2020-10-09 + LIB_DEPENDS= libpcre.so:devel/pcre \ libuuid.so:misc/e2fsprogs-libuuid diff --git a/sysutils/syslog-ng324/Makefile b/sysutils/syslog-ng324/Makefile new file mode 100644 index 000000000000..8c806ed2a20c --- /dev/null +++ b/sysutils/syslog-ng324/Makefile @@ -0,0 +1,234 @@ +# Created by: Ivan Lago +# $FreeBSD$ + +PORTNAME= syslog-ng +DISTVERSION= 3.24.1 +CATEGORIES= sysutils +MASTER_SITES= https://github.com/balabit/syslog-ng/releases/download/syslog-ng-${DISTVERSION}/ +.if !defined(MASTERDIR) +PKGNAMESUFFIX= 324 +.endif + +MAINTAINER= cy@FreeBSD.org +COMMENT= Powerful syslogd replacement + +BROKEN_sparc64= fails to link: Internal error: Segmentation fault (program ld) + +LIB_DEPENDS= libpcre.so:devel/pcre \ + libuuid.so:misc/e2fsprogs-libuuid + +USES= autoreconf:build compiler:c11 gmake libtool pathfix pkgconfig \ + ssl gettext-runtime python:3.5+,build shebangfix + +CONFLICTS?= syslog-ng-[0-9]* syslog-ng[0-9]-[0-9]* \ + syslog-ng[0-9][0-9]-[0-9]* \ + syslog-ng-devel-[0-9]* eventlog* +WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION} + +MAKE_JOBS_UNSAFE= yes +OPTIONS_DEFINE= TCP_WRAPPERS SQL SPOOF IPV6 SMTP JSON GEOIP2 DOCS REDIS JAVA PYTHON MONGO CURL JAVA_MOD AMQP RIEMANN KAFKA SNMPDEST +OPTIONS_DEFAULT= CURL JSON +TCP_WRAPPERS_DESC= Build with TCP Wrappers +SQL_DESC= Build with database (libdbi) support +SPOOF_DESC= Build with spoof source support +SMTP_DESC= Build with SMTP support +JSON_DESC= Build with JSON-C support +GEOIP2_DESC= Build with geoip2 (MaxMindDB) support +REDIS_DESC= Build with Redis support +JAVA_DESC= Build with Java support (no modules) +JAVA_MOD_DESC= Build with Java modules (needs Maven / Internet access) +PYTHON_DESC= Build with Python ${PYTHON_VER} support +CURL_DESC= Build with Curl HTTP support +AMQP_DESC= Build with AMQP support +RIEMANN_DESC= Build with Riemann support +KAFKA_DESC= Build with Kafka (librdkafka) support +SNMPDEST_DESC= Build with SNMP destination (net-snmp) support + +USE_LDCONFIG= yes +USE_RC_SUBR= syslog-ng +SHEBANG_FILES= lib/merge-grammar.py +GNU_CONFIGURE= yes +# Note: Even if PYTHON is deselected, glib20 will install python. +USE_GNOME= glib20 +SUB_FILES= pkg-message +INSTALL_TARGET= install-strip + +CONFIGURE_ARGS= --sysconfdir=${LOCALBASE}/etc --localstatedir=/var/db \ + --enable-dynamic-linking --enable-manpages \ + --disable-linux-caps \ + --datadir=${PREFIX}/share/ \ + --with-python=${PYTHON_VER} + +CONFIGURE_ENV+= OPENSSL_CFLAGS="-I${OPENSSLINC}" \ + OPENSSL_LIBS="-L${OPENSSLLIB} -lcrypto -lssl" + +TCP_WRAPPERS_CONFIGURE_ENABLE= tcp-wrapper + +SPOOF_LIB_DEPENDS= libnet.so:net/libnet +SPOOF_CONFIGURE_ENABLE= spoof-source +SPOOF_CONFIGURE_ON= --with-libnet=${LOCALBASE}/bin +SPOOF_CONFIGURE_ENV= LIBNET_CFLAGS="-I${LOCALBASE}/include" \ + LIBNET_LIBS="-L${LOCALBASE}/lib -lnet" + +IPV6_CONFIGURE_ENABLE= ipv6 + +AMQP_CONFIGURE_ENABLE= amqp +AMQP_PLIST_FILES= lib/syslog-ng/libafamqp.so +AMQP_LIB_DEPENDS= librabbitmq.so:net/rabbitmq-c + +GEOIP2_CONFIGURE_ENABLE= geoip2 +GEOIP2_LIB_DEPENDS= libmaxminddb.so:net/libmaxminddb +GEOIP2_LDFLAGS= -L${LOCALBASE}/lib +GEOIP2_PLIST_FILES= lib/syslog-ng/libgeoip2-plugin.so + +REDIS_CONFIGURE_ENABLE= redis +REDIS_LIB_DEPENDS= libhiredis.so:databases/hiredis +REDIS_PLIST_FILES= lib/syslog-ng/libredis.so + +SNMPDEST_CONFIGURE_ENABLE= snmp-dest +SNMPDEST_LIB_DEPENDS= libnetsnmp.so:net-mgmt/net-snmp +SNMPDEST_PLIST_FILES= lib/syslog-ng/libsnmpdest.so + +SMTP_CONFIGURE_ON= --with-libesmtp=${LOCALBASE} --enable-smtp +SMTP_CONFIGURE_OFF= --without-libesmtp --disable-smtp +SMTP_LIB_DEPENDS= libesmtp.so:mail/libesmtp +SMTP_PLIST_FILES= lib/syslog-ng/libafsmtp.so + +SQL_CONFIGURE_ENABLE= sql +SQL_LIB_DEPENDS= libdbi.so:databases/libdbi +SQL_CONFIGURE_ENV= LIBDBI_LIBS="-ldbi" +SQL_LDFLAGS= -L${LOCALBASE}/lib +SQL_PLIST_FILES= lib/syslog-ng/libafsql.so + +MONGO_CONFIGURE_ENABLE= mongodb +MONGO_CONFIGURE_ON= --with-mongoc=system +MONGO_LIB_DEPENDS= libmongoc-1.0.so:devel/mongo-c-driver +MONGO_LIB_DEPENDS+= libbson-1.0.so:devel/libbson +MONGO_PLIST_FILES= lib/syslog-ng/libafmongodb.so + +JSON_CONFIGURE_ENABLE= json +JSON_LIB_DEPENDS= libjson-c.so:devel/json-c +JSON_PLIST_FILES= lib/syslog-ng/libjson-plugin.so \ + share/syslog-ng/include/scl/cim/template.conf + +JAVA_CONFIGURE_ENABLE= java +JAVA_USE= JAVA=yes +JAVA_PLIST_FILES= lib/syslog-ng/libmod-java.so \ + lib/syslog-ng/java-modules/syslog-ng-core.jar + +JAVA_MOD_IMPLIES= JAVA +JAVA_MOD_CONFIGURE_ENABLE= java-modules +JAVA_MOD_USE= JAVA=yes +JAVA_MOD_BUILD_DEPENDS= gradle:devel/gradle \ + bash:shells/bash +JAVA_MOD_PLIST_DIRS= lib/syslog-ng/java-modules/elastic-jest-client +JAVA_MOD_PLIST_FILES= lib/syslog-ng/java-modules/log4j-1.2.16.jar \ + lib/syslog-ng/java-modules/elastic-jest-client/jest-2.0.2.jar \ + lib/syslog-ng/java-modules/elastic-jest-client/jest-common-2.0.2.jar \ + lib/syslog-ng/java-modules/elastic-jest-client/httpcore-nio-4.4.4.jar \ + lib/syslog-ng/java-modules/elastic-jest-client/httpclient-4.5.2.jar \ + lib/syslog-ng/java-modules/elastic-jest-client/httpasyncclient-4.1.1.jar \ + lib/syslog-ng/java-modules/elastic-jest-client/slf4j-api-1.7.13.jar \ + lib/syslog-ng/java-modules/elastic-jest-client/guava-19.0.jar \ + lib/syslog-ng/java-modules/elastic-jest-client/gson-2.6.2.jar \ + lib/syslog-ng/java-modules/elastic-jest-client/commons-lang3-3.4.jar \ + lib/syslog-ng/java-modules/elastic-jest-client/httpcore-4.4.4.jar \ + lib/syslog-ng/java-modules/elastic-jest-client/commons-logging-1.2.jar \ + lib/syslog-ng/java-modules/elastic-jest-client/commons-codec-1.9.jar \ + lib/syslog-ng/java-modules/elastic-jest-client/slf4j-simple-1.7.13.jar \ + lib/syslog-ng/java-modules/hdfs.jar \ + lib/syslog-ng/java-modules/elastic-v2.jar \ + lib/syslog-ng/java-modules/kafka.jar \ + lib/syslog-ng/java-modules/dummy.jar \ + lib/syslog-ng/java-modules/http.jar \ + lib/syslog-ng/java-modules/syslog-ng-common.jar + +PYTHON_USES= python:3.5+ +PYTHON_CONFIGURE_ON= --enable-python +PYTHON_CONFIGURE_OFF= --disable-python +PYTHON_PLIST_FILES= lib/syslog-ng/libmod-python.so \ + lib/syslog-ng/python/syslogng-1.0-py%%PYTHON_VER%%.egg-info \ + lib/syslog-ng/python/syslogng/__init__.py \ + lib/syslog-ng/python/syslogng/__pycache__/__init__.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/__init__.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/__init__.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/choicecompleter.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/choicecompleter.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/commandlinelexer.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/commandlinelexer.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/completer.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/completer.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/completerlang.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/completerlang.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/debuggercli.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/debuggercli.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/debuglang.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/debuglang.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/getoptlexer.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/getoptlexer.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/langcompleter.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/langcompleter.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/lexer.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/lexer.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/lexertoken.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/lexertoken.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/macrocompleter.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/macrocompleter.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/readline.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/readline.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/syslognginternals.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/syslognginternals.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/tablexer.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/tablexer.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/templatelang.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/templatelang.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/templatelexer.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/templatelexer.cpython-${PYTHON_SUFFIX}.pyc \ + lib/syslog-ng/python/syslogng/debuggercli/tflang.py \ + lib/syslog-ng/python/syslogng/debuggercli/__pycache__/tflang.cpython-${PYTHON_SUFFIX}.pyc + +CURL_CONFIGURE_OFF= --with-libcurl=off +CURL_LIB_DEPENDS= libcurl.so:ftp/curl +CURL_PLIST_FILES= lib/syslog-ng/libhttp.so + +RIEMANN_CONFIGURE_ON= --enable-riemann +RIEMANN_CONFIGURE_OFF= --disable-riemann +RIEMANN_LIB_DEPENDS= libriemann-client.so:net-mgmt/riemann-c-client +RIEMANN_PLIST_FILES= lib/syslog-ng/libriemann.so + +KAFKA_CONFIGURE_ON= --enable-kafka +KAFKA_CONFIGURE_OFF= --disable-kafka +KAFKA_LIB_DEPENDS= librdkafka.so:net/librdkafka +KAFKA_PLIST_FILES= lib/syslog-ng/libkafka.so + +.include + +.if !${PORT_OPTIONS:MJSON} +BROKEN= Default configuration does not currently support non-JSON builds +.endif + +post-patch: + @${CP} ${WRKSRC}/scl/syslog-ng.conf ${WRKSRC}/scl/syslog-ng.conf.dist + @${CP} ${WRKSRC}/scl/scl.conf ${WRKSRC}/scl/scl.conf.sample + +post-patch-JAVA_MOD-on: + @${REINPLACE_CMD} 's,$$(GRADLE),& --no-daemon,g' ${WRKSRC}/Makefile.in + +post-install: +.if ${PORT_OPTIONS:MDOCS} + ${INSTALL} -d ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/AUTHORS ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/COPYING ${STAGEDIR}${DOCSDIR} + ${INSTALL_DATA} ${WRKSRC}/NEWS.md ${STAGEDIR}${DOCSDIR} +.endif + ${INSTALL_MAN} ${WRKSRC}/doc/man/*.1 ${STAGEDIR}${PREFIX}/man/man1/ + ${INSTALL_MAN} ${WRKSRC}/doc/man/*.5 ${STAGEDIR}${PREFIX}/man/man5/ + ${INSTALL_MAN} ${WRKSRC}/doc/man/*.8 ${STAGEDIR}${PREFIX}/man/man8/ + ${INSTALL_DATA} ${FILESDIR}/syslog-ng.conf.sample \ + ${STAGEDIR}${PREFIX}/etc + ${INSTALL_DATA} ${WRKSRC}/scl/syslog-ng.conf.dist \ + ${WRKSRC}/scl/scl.conf.sample ${STAGEDIR}${PREFIX}/etc + ${INSTALL_DATA} ${WRKSRC}/lib/ivykis/src/include/iv*.h \ + ${STAGEDIR}${PREFIX}/include/syslog-ng/ + +.include diff --git a/sysutils/syslog-ng324/distinfo b/sysutils/syslog-ng324/distinfo new file mode 100644 index 000000000000..a1e7e1c868e3 --- /dev/null +++ b/sysutils/syslog-ng324/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1570594852 +SHA256 (syslog-ng-3.24.1.tar.gz) = d4d0a0357b452be96b69d6f741129275530d8f0451e35adc408ad5635059fa3d +SIZE (syslog-ng-3.24.1.tar.gz) = 4909513 diff --git a/sysutils/syslog-ng324/files/patch-configure b/sysutils/syslog-ng324/files/patch-configure new file mode 100644 index 000000000000..f3b0e86ad49d --- /dev/null +++ b/sysutils/syslog-ng324/files/patch-configure @@ -0,0 +1,29 @@ +--- configure.orig 2016-08-10 07:38:05.000000000 -0700 ++++ configure 2016-08-10 12:33:00.605666000 -0700 +@@ -10250,7 +10250,7 @@ + hardcode_minus_L=no + hardcode_shlibpath_var=unsupported + inherit_rpath=no +- link_all_deplibs=unknown ++ link_all_deplibs=no + module_cmds= + module_expsym_cmds= + old_archive_from_new_cmds= +@@ -13035,7 +13036,7 @@ + old_striplib= + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 + $as_echo_n "checking whether stripping libraries is possible... " >&6; } +-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then ++if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "strip" >/dev/null; then + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" + test -z "$striplib" && striplib="$STRIP --strip-unneeded" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +@@ -16424,7 +16425,7 @@ + if test -e "$JAVA_HOME_CHECKER"; then + JNI_HOME=`$JAVA_HOME_CHECKER` + else +- JNI_HOME=`echo $JAVAC_BIN | sed "s/\(.*\)[/]bin[/]java.*/\1\//"` ++ JNI_HOME=`echo $JAVAC_BIN | sed "s/\(.*\)[/]bin[/]java.*/\1\/openjdk\*/"` + fi + + JNI_LIBDIR=`find $JNI_HOME \( -name "libjvm.so" -or -name "libjvm.dylib" \) \ diff --git a/sysutils/syslog-ng324/files/pkg-message.in b/sysutils/syslog-ng324/files/pkg-message.in new file mode 100644 index 000000000000..95140fc941eb --- /dev/null +++ b/sysutils/syslog-ng324/files/pkg-message.in @@ -0,0 +1,33 @@ +[ +{ type: install + message: <