parent
b0278eedfa
commit
0c72ba4674
Binary file not shown.
Binary file not shown.
@ -0,0 +1,9 @@
|
||||
# Copyright 2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-group
|
||||
|
||||
DESCRIPTION="Group for the system-wide net-vpn/i2pd server"
|
||||
ACCT_GROUP_ID=470
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>kaikaikai@yandex.ru</email>
|
||||
<name>Alexey Korepanov</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,9 @@
|
||||
# Copyright 2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-group
|
||||
|
||||
DESCRIPTION="Logstash program group"
|
||||
ACCT_GROUP_ID=270
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>hydrapolic@gmail.com</email>
|
||||
<name>Tomáš Mózes</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,8 @@
|
||||
# Copyright 2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-group
|
||||
|
||||
ACCT_GROUP_ID=102
|
Binary file not shown.
@ -0,0 +1,14 @@
|
||||
# Copyright 2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-user
|
||||
|
||||
DESCRIPTION="User for the system-wide net-vpn/i2pd server"
|
||||
ACCT_USER_ID=470
|
||||
ACCT_USER_GROUPS=( i2pd )
|
||||
ACCT_USER_HOME=/var/lib/i2pd
|
||||
ACCT_USER_HOME_PERMS=0700
|
||||
|
||||
acct-user_add_deps
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>kaikaikai@yandex.ru</email>
|
||||
<name>Alexey Korepanov</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,13 @@
|
||||
# Copyright 2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-user
|
||||
|
||||
DESCRIPTION="Logstash program user"
|
||||
ACCT_USER_ID=270
|
||||
ACCT_USER_HOME=/var/lib/logstash
|
||||
ACCT_USER_HOME_PERMS=0750
|
||||
ACCT_USER_GROUPS=( logstash )
|
||||
acct-user_add_deps
|
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>hydrapolic@gmail.com</email>
|
||||
<name>Tomáš Mózes</name>
|
||||
</maintainer>
|
||||
<maintainer type="project">
|
||||
<email>proxy-maint@gentoo.org</email>
|
||||
<name>Proxy Maintainers</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,12 @@
|
||||
# Copyright 2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit acct-user
|
||||
|
||||
ACCT_USER_ID=102
|
||||
ACCT_USER_GROUPS=( polkitd )
|
||||
ACCT_USER_HOME=/var/lib/polkit-1
|
||||
|
||||
acct-user_add_deps
|
Binary file not shown.
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST lib_users-0.11.tar.gz 25660 BLAKE2B 8f5a827840d4074a0e8abd77e43f60eb09f199f58a2bde0c2bce7613d6ba1d9b12dd46adffa528ff351f54933c304f274abef9c35550d7af3519101dcec69d0a SHA512 a54fc8f57cffcd08e77e86eaf50ec6e68e45e1e9458e25e035af90e14be13980a400c4d264f70ef67e141e1d54581b0487b2b70dd084dc5840424221b46f644a
|
||||
DIST lib_users-0.13.tar.gz 25704 BLAKE2B 895f8b721216339fe4306158bf6282353d79584573091cc4e7c63c8096a9f9cfe380a8bce7229f168e44fe5d3641ceb8c91bd751316a6c6a467ace4ec0dce723 SHA512 588af7068728810832bcf4d1526f271e255d07c75d152fb41844c66f3598a71e9a96bee3426b31b58cd26af889bc42c0a7248731fdfe3623fd4567d2b6b7275e
|
||||
|
@ -1,44 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
|
||||
|
||||
inherit python-r1
|
||||
|
||||
DESCRIPTION="Check for mapped libs and open files that are marked as deleted"
|
||||
HOMEPAGE="https://github.com/klausman/lib_users"
|
||||
SRC_URI="https://github.com/klausman/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 ~arm hppa ppc ppc64 x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="test"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
test? (
|
||||
dev-python/nose[${PYTHON_USEDEP}]
|
||||
dev-python/backports-unittest-mock[${PYTHON_USEDEP}]
|
||||
)"
|
||||
RDEPEND="${PYTHON_DEPS}"
|
||||
|
||||
src_test() {
|
||||
python_foreach_impl nosetests --verbosity=2
|
||||
}
|
||||
|
||||
my_install() {
|
||||
python_newscript lib_users.py lib_users
|
||||
python_newscript fd_users.py fd_users
|
||||
# lib_users_util/ contains a test script we don't want, so do things by hand
|
||||
python_moduleinto lib_users_util
|
||||
python_domodule lib_users_util/common.py
|
||||
python_domodule lib_users_util/__init__.py
|
||||
}
|
||||
|
||||
src_install() {
|
||||
python_foreach_impl my_install
|
||||
dodoc README.md TODO
|
||||
}
|
@ -1,3 +1,7 @@
|
||||
DIST logstash-5.6.15.tar.gz 110086992 BLAKE2B 3047259c4bc5d71b072fa004c44953f84860ec53e051641c4efc903e38243e85b8fdebeaf093c01f5410c1f05a78a8d8aa2282fc45cf5fd784a41ea66ff5b196 SHA512 405039ff988aee8878cbeca96ef0fcbadba762f877eaec36c8a75b010e56a943c2951a8f83f9279d7d9fea99c4f8a200c705f784813a2733289336c58c34ca1e
|
||||
DIST logstash-6.6.1.tar.gz 169642354 BLAKE2B 335fa036e9f120de5d6588ed18e927ddfb3a94dfcfbc9605fbda3e3eb4da3ba88561d466eb171c85a2deebb3328312ba903616704844e253a7599f75597efbae SHA512 a66f196f160af29492b64efb61b7e3253a4ef45764c5e6226f73c2a216151ff43f6d344c2e3340a1a9ddb8b00e61f14c65d5dd0c14d69421f4efa3542445fe4f
|
||||
DIST logstash-6.8.1.tar.gz 172031559 BLAKE2B dcb0d37ce0325affa86c3cba546dae262ae8436cc2234eb977a359498f923620cb1ce4bc79a5a5c5d7afe6b7b3b3e938791baf44ce25ba967f5738ea5cb15669 SHA512 3f3a90cbd185a5efaefbe2004f1265ea5d1fbd3371820897b19d8b9b8fcc6d5522bd97ef4150fd963a376ce7726d9ab4d62fa9e2bc718a2c8bb69dd7e964c378
|
||||
DIST logstash-7.2.0.tar.gz 171299740 BLAKE2B cfdbabc11d6e0d182ea7bdff1d30ca3a5bfbfe036f952c0d944c105f563dfa1b444c8dd1e9f023301abfbf9a86708d6bde2689b462b28f00a34d09f78fe3898c SHA512 955358d504b6626ba9ac88a2d65b161044180c3085f8dbaedfb8b85b092ecc65721bbda73b750f7d8b78a052828a54f7ed7ad16ee7ec72f3ed5e428ba291a173
|
||||
DIST logstash-oss-6.6.1.tar.gz 169512439 BLAKE2B 54a18deda80079c9bf2de39936737689d696a4ddc6f8a7ae375d48817ea127f1eb83f1ef50a18b573709446fc3deb858f53a5aff6411329b52ef0316859a7f03 SHA512 7fbe960e615c3c6b6715bd63debd3db869abe29bfdc94d4947290b822fe1d858e289548dbda266c8ad6d25745e63a788de0c83566121faa0d3027642b0f3d108
|
||||
DIST logstash-oss-6.8.1.tar.gz 171901409 BLAKE2B bff3b96bcf3f53450e1279f633788af7d7a1d18b18305741c87c6b2c7e9e24db0664798c7040116bfbf72c9714bad867a00a3f37fe8eb436ce1948bb84a2096f SHA512 d928f9eaa2278c76cbdec46349bf1b924d3f5a9f668c834c882158decf52d44f14dcc356a491cc935dd3717f4a76b8a23eac1173ab28f44cdb32a57ab298fbcd
|
||||
DIST logstash-oss-7.2.0.tar.gz 171128040 BLAKE2B f0f3d4f0d5228918d8435c521d10ff5070e23561c25ce28e8d58997d499a7c7697354c1fb1cb70bf2bd832ad50c04afb00cbde4b3053f9f24d2619f3fbfffbdf SHA512 24120740bc727b6da50b865bb85bf61f013a38b6679d679ecc75a73c69766a5133fd47ad99fa0220d5dc6cceb506fbde206787adcee31483288c68c228edd1fd
|
||||
|
@ -0,0 +1,73 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
inherit java-pkg-2 user
|
||||
|
||||
MY_PN="${PN%-bin}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="Tool for managing events and logs"
|
||||
HOMEPAGE="https://www.elastic.co/products/logstash"
|
||||
SRC_URI="x-pack? ( https://artifacts.elastic.co/downloads/${MY_PN}/${MY_P}.tar.gz )
|
||||
!x-pack? ( https://artifacts.elastic.co/downloads/${MY_PN}/${MY_PN}-oss-${PV}.tar.gz )"
|
||||
|
||||
# source: LICENSE.txt and NOTICE.txt
|
||||
LICENSE="Apache-2.0 MIT x-pack? ( Elastic )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="x-pack"
|
||||
|
||||
RESTRICT="strip"
|
||||
QA_PREBUILT="opt/logstash/vendor/jruby/lib/jni/*/libjffi*.so"
|
||||
|
||||
RDEPEND="acct-group/logstash
|
||||
acct-user/logstash
|
||||
virtual/jre:1.8"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_install() {
|
||||
keepdir /etc/"${MY_PN}"/{conf.d,patterns,plugins}
|
||||
keepdir "/var/log/${MY_PN}"
|
||||
|
||||
insinto "/usr/share/${MY_PN}"
|
||||
newins "${FILESDIR}/agent.conf.sample" agent.conf
|
||||
|
||||
rm -v config/{pipelines.yml,startup.options} || die
|
||||
insinto /etc/${MY_PN}
|
||||
doins -r config/.
|
||||
doins "${FILESDIR}/pipelines.yml"
|
||||
rm -rv config data || die
|
||||
|
||||
insinto "/opt/${MY_PN}"
|
||||
doins -r .
|
||||
fperms 0755 "/opt/${MY_PN}/bin/${MY_PN}" "/opt/${MY_PN}/vendor/jruby/bin/jruby" "/opt/${MY_PN}/bin/logstash-plugin"
|
||||
|
||||
newconfd "${FILESDIR}/${MY_PN}.confd-r2" "${MY_PN}"
|
||||
newinitd "${FILESDIR}/${MY_PN}.initd-r2" "${MY_PN}"
|
||||
|
||||
insinto /usr/share/eselect/modules
|
||||
doins "${FILESDIR}"/logstash-plugin.eselect
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
ewarn "Self installed plugins are removed during Logstash upgrades (Bug #622602)"
|
||||
ewarn "Install the plugins via eselect module that will automatically re-install"
|
||||
ewarn "all self installed plugins after Logstash upgrades."
|
||||
elog
|
||||
elog "Installing plugins:"
|
||||
elog "eselect logstash-plugin install logstash-output-gelf"
|
||||
elog
|
||||
|
||||
elog "Reinstalling self installed plugins (installed via eselect module):"
|
||||
eselect logstash-plugin reinstall
|
||||
|
||||
elog
|
||||
elog "Sample configuration:"
|
||||
elog "${EROOT%/}/usr/share/${MY_PN}"
|
||||
elog
|
||||
elog "The default pipeline configuration expects the configuration(s) to be found in:"
|
||||
elog "${EROOT%/}/etc/logstash/conf.d/*.conf"
|
||||
}
|
@ -0,0 +1,73 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
inherit java-pkg-2 user
|
||||
|
||||
MY_PN="${PN%-bin}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="Tool for managing events and logs"
|
||||
HOMEPAGE="https://www.elastic.co/products/logstash"
|
||||
SRC_URI="x-pack? ( https://artifacts.elastic.co/downloads/${MY_PN}/${MY_P}.tar.gz )
|
||||
!x-pack? ( https://artifacts.elastic.co/downloads/${MY_PN}/${MY_PN}-oss-${PV}.tar.gz )"
|
||||
|
||||
# source: LICENSE.txt and NOTICE.txt
|
||||
LICENSE="Apache-2.0 MIT x-pack? ( Elastic )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="x-pack"
|
||||
|
||||
RESTRICT="strip"
|
||||
QA_PREBUILT="opt/logstash/vendor/jruby/lib/jni/*/libjffi*.so"
|
||||
|
||||
RDEPEND="acct-group/logstash
|
||||
acct-user/logstash
|
||||
virtual/jre"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_install() {
|
||||
keepdir /etc/"${MY_PN}"/{conf.d,patterns,plugins}
|
||||
keepdir "/var/log/${MY_PN}"
|
||||
|
||||
insinto "/usr/share/${MY_PN}"
|
||||
newins "${FILESDIR}/agent.conf.sample" agent.conf
|
||||
|
||||
rm -v config/{pipelines.yml,startup.options} || die
|
||||
insinto /etc/${MY_PN}
|
||||
doins -r config/.
|
||||
doins "${FILESDIR}/pipelines.yml"
|
||||
rm -rv config data || die
|
||||
|
||||
insinto "/opt/${MY_PN}"
|
||||
doins -r .
|
||||
fperms 0755 "/opt/${MY_PN}/bin/${MY_PN}" "/opt/${MY_PN}/vendor/jruby/bin/jruby" "/opt/${MY_PN}/bin/logstash-plugin"
|
||||
|
||||
newconfd "${FILESDIR}/${MY_PN}.confd-r2" "${MY_PN}"
|
||||
newinitd "${FILESDIR}/${MY_PN}.initd-r2" "${MY_PN}"
|
||||
|
||||
insinto /usr/share/eselect/modules
|
||||
doins "${FILESDIR}"/logstash-plugin.eselect
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
ewarn "Self installed plugins are removed during Logstash upgrades (Bug #622602)"
|
||||
ewarn "Install the plugins via eselect module that will automatically re-install"
|
||||
ewarn "all self installed plugins after Logstash upgrades."
|
||||
elog
|
||||
elog "Installing plugins:"
|
||||
elog "eselect logstash-plugin install logstash-output-gelf"
|
||||
elog
|
||||
|
||||
elog "Reinstalling self installed plugins (installed via eselect module):"
|
||||
eselect logstash-plugin reinstall
|
||||
|
||||
elog
|
||||
elog "Sample configuration:"
|
||||
elog "${EROOT%/}/usr/share/${MY_PN}"
|
||||
elog
|
||||
elog "The default pipeline configuration expects the configuration(s) to be found in:"
|
||||
elog "${EROOT%/}/etc/logstash/conf.d/*.conf"
|
||||
}
|
@ -1,736 +0,0 @@
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp-auth-vg.sh
|
||||
@@ -0,0 +1,3 @@
|
||||
+#!/bin/bash
|
||||
+export USE_VALGRIND="YES"
|
||||
+source ${srcdir:=.}/omhttp-auth.sh
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp-auth.sh
|
||||
@@ -0,0 +1,45 @@
|
||||
+#!/bin/bash
|
||||
+# This file is part of the rsyslog project, released under ASL 2.0
|
||||
+
|
||||
+# Starting actual testbench
|
||||
+. ${srcdir:=.}/diag.sh init
|
||||
+
|
||||
+export NUMMESSAGES=100
|
||||
+
|
||||
+port="$(get_free_port)"
|
||||
+omhttp_start_server $port --userpwd="bob:bobbackwards"
|
||||
+
|
||||
+generate_conf
|
||||
+add_conf '
|
||||
+template(name="tpl" type="string"
|
||||
+ string="{\"msgnum\":\"%msg:F,58:2%\"}")
|
||||
+
|
||||
+module(load="../contrib/omhttp/.libs/omhttp")
|
||||
+
|
||||
+if $msg contains "msgnum:" then
|
||||
+ action(
|
||||
+ # Payload
|
||||
+ name="my_http_action"
|
||||
+ type="omhttp"
|
||||
+ errorfile="'$RSYSLOG_DYNNAME/omhttp.error.log'"
|
||||
+ template="tpl"
|
||||
+
|
||||
+ server="localhost"
|
||||
+ serverport="'$port'"
|
||||
+ restpath="my/endpoint"
|
||||
+ batch="off"
|
||||
+
|
||||
+ # Auth
|
||||
+ usehttps="off"
|
||||
+ uid="bob"
|
||||
+ pwd="bobbackwards"
|
||||
+ )
|
||||
+'
|
||||
+startup
|
||||
+injectmsg
|
||||
+shutdown_when_empty
|
||||
+wait_shutdown
|
||||
+omhttp_get_data $port my/endpoint
|
||||
+omhttp_stop_server
|
||||
+seq_check
|
||||
+exit_test
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp-basic-vg.sh
|
||||
@@ -0,0 +1,3 @@
|
||||
+#!/bin/bash
|
||||
+export USE_VALGRIND="YES"
|
||||
+source ${srcdir:=.}/omhttp-basic.sh
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp-basic.sh
|
||||
@@ -0,0 +1,43 @@
|
||||
+#!/bin/bash
|
||||
+# This file is part of the rsyslog project, released under ASL 2.0
|
||||
+
|
||||
+# Starting actual testbench
|
||||
+. ${srcdir:=.}/diag.sh init
|
||||
+
|
||||
+export NUMMESSAGES=10000
|
||||
+
|
||||
+port="$(get_free_port)"
|
||||
+omhttp_start_server $port
|
||||
+
|
||||
+generate_conf
|
||||
+add_conf '
|
||||
+template(name="tpl" type="string"
|
||||
+ string="{\"msgnum\":\"%msg:F,58:2%\"}")
|
||||
+
|
||||
+module(load="../contrib/omhttp/.libs/omhttp")
|
||||
+
|
||||
+if $msg contains "msgnum:" then
|
||||
+ action(
|
||||
+ # Payload
|
||||
+ name="my_http_action"
|
||||
+ type="omhttp"
|
||||
+ errorfile="'$RSYSLOG_DYNNAME/omhttp.error.log'"
|
||||
+ template="tpl"
|
||||
+
|
||||
+ server="localhost"
|
||||
+ serverport="'$port'"
|
||||
+ restpath="my/endpoint"
|
||||
+ batch="off"
|
||||
+
|
||||
+ # Auth
|
||||
+ usehttps="off"
|
||||
+ )
|
||||
+'
|
||||
+startup
|
||||
+injectmsg
|
||||
+shutdown_when_empty
|
||||
+wait_shutdown
|
||||
+omhttp_get_data $port my/endpoint
|
||||
+omhttp_stop_server
|
||||
+seq_check
|
||||
+exit_test
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp-batch-fail-with-400.sh
|
||||
@@ -0,0 +1,52 @@
|
||||
+#!/bin/bash
|
||||
+# This file is part of the rsyslog project, released under ASL 2.0
|
||||
+
|
||||
+# Starting actual testbench
|
||||
+. ${srcdir:=.}/diag.sh init
|
||||
+
|
||||
+port="$(get_free_port)"
|
||||
+omhttp_start_server $port --fail-with-400-after 1000
|
||||
+
|
||||
+generate_conf
|
||||
+add_conf '
|
||||
+module(load="../contrib/omhttp/.libs/omhttp")
|
||||
+
|
||||
+main_queue(queue.dequeueBatchSize="2048")
|
||||
+
|
||||
+template(name="tpl" type="string"
|
||||
+ string="{\"msgnum\":\"%msg:F,58:2%\"}")
|
||||
+
|
||||
+# Wrap message as a single batch for retry
|
||||
+template(name="tpl_retry" type="string" string="[%msg%]")
|
||||
+
|
||||
+
|
||||
+ruleset(name="ruleset_omhttp") {
|
||||
+ action(
|
||||
+ name="action_omhttp"
|
||||
+ type="omhttp"
|
||||
+ errorfile="'$RSYSLOG_DYNNAME/omhttp.error.log'"
|
||||
+ template="tpl"
|
||||
+
|
||||
+ server="localhost"
|
||||
+ serverport="'$port'"
|
||||
+ restpath="my/endpoint"
|
||||
+ batch="off"
|
||||
+
|
||||
+ retry="on"
|
||||
+
|
||||
+ # Auth
|
||||
+ usehttps="off"
|
||||
+ ) & stop
|
||||
+}
|
||||
+
|
||||
+if $msg contains "msgnum:" then
|
||||
+ call ruleset_omhttp
|
||||
+'
|
||||
+startup
|
||||
+injectmsg 0 10000
|
||||
+shutdown_when_empty
|
||||
+wait_shutdown
|
||||
+omhttp_get_data $port my/endpoint
|
||||
+omhttp_stop_server
|
||||
+seq_check 0 999
|
||||
+exit_test
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp-batch-jsonarray-compress-vg.sh
|
||||
@@ -0,0 +1,3 @@
|
||||
+#!/bin/bash
|
||||
+export USE_VALGRIND="YES"
|
||||
+source ${srcdir:=.}/omhttp-batch-jsonarray-compress.sh
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp-batch-jsonarray-compress.sh
|
||||
@@ -0,0 +1,48 @@
|
||||
+#!/bin/bash
|
||||
+# This file is part of the rsyslog project, released under ASL 2.0
|
||||
+
|
||||
+# Starting actual testbench
|
||||
+. ${srcdir:=.}/diag.sh init
|
||||
+
|
||||
+export NUMMESSAGES=50000
|
||||
+
|
||||
+port="$(get_free_port)"
|
||||
+omhttp_start_server $port --decompress
|
||||
+
|
||||
+generate_conf
|
||||
+add_conf '
|
||||
+template(name="tpl" type="string"
|
||||
+ string="{\"msgnum\":\"%msg:F,58:2%\"}")
|
||||
+
|
||||
+module(load="../contrib/omhttp/.libs/omhttp")
|
||||
+
|
||||
+main_queue(queue.dequeueBatchSize="2048")
|
||||
+
|
||||
+if $msg contains "msgnum:" then
|
||||
+ action(
|
||||
+ # Payload
|
||||
+ name="my_http_action"
|
||||
+ type="omhttp"
|
||||
+ errorfile="'$RSYSLOG_DYNNAME/omhttp.error.log'"
|
||||
+ template="tpl"
|
||||
+
|
||||
+ server="localhost"
|
||||
+ serverport="'$port'"
|
||||
+ restpath="my/endpoint"
|
||||
+ batch="on"
|
||||
+ batch.format="jsonarray"
|
||||
+ batch.maxsize="1000"
|
||||
+ compress="on"
|
||||
+
|
||||
+ # Auth
|
||||
+ usehttps="off"
|
||||
+ )
|
||||
+'
|
||||
+startup
|
||||
+injectmsg
|
||||
+shutdown_when_empty
|
||||
+wait_shutdown
|
||||
+omhttp_get_data $port my/endpoint jsonarray
|
||||
+omhttp_stop_server
|
||||
+seq_check
|
||||
+exit_test
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp-batch-jsonarray-retry-vg.sh
|
||||
@@ -0,0 +1,3 @@
|
||||
+#!/bin/bash
|
||||
+export USE_VALGRIND="YES"
|
||||
+source ${srcdir:=.}/omhttp-batch-jsonarray-retry.sh
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp-batch-jsonarray-retry.sh
|
||||
@@ -0,0 +1,78 @@
|
||||
+#!/bin/bash
|
||||
+# This file is part of the rsyslog project, released under ASL 2.0
|
||||
+
|
||||
+# Starting actual testbench
|
||||
+. ${srcdir:=.}/diag.sh init
|
||||
+
|
||||
+export NUMMESSAGES=50000
|
||||
+
|
||||
+port="$(get_free_port)"
|
||||
+omhttp_start_server $port --fail-every 100
|
||||
+
|
||||
+generate_conf
|
||||
+add_conf '
|
||||
+module(load="../contrib/omhttp/.libs/omhttp")
|
||||
+
|
||||
+main_queue(queue.dequeueBatchSize="2048")
|
||||
+
|
||||
+template(name="tpl" type="string"
|
||||
+ string="{\"msgnum\":\"%msg:F,58:2%\"}")
|
||||
+
|
||||
+# Echo message as-is for retry
|
||||
+template(name="tpl_echo" type="string" string="%msg%")
|
||||
+
|
||||
+ruleset(name="ruleset_omhttp_retry") {
|
||||
+ action(
|
||||
+ name="action_omhttp"
|
||||
+ type="omhttp"
|
||||
+ errorfile="'$RSYSLOG_DYNNAME/omhttp.error.log'"
|
||||
+ template="tpl_echo"
|
||||
+
|
||||
+ server="localhost"
|
||||
+ serverport="'$port'"
|
||||
+ restpath="my/endpoint"
|
||||
+ batch="on"
|
||||
+ batch.maxsize="100"
|
||||
+ batch.format="jsonarray"
|
||||
+
|
||||
+ retry="on"
|
||||
+ retry.ruleset="ruleset_omhttp_retry"
|
||||
+
|
||||
+ # Auth
|
||||
+ usehttps="off"
|
||||
+ ) & stop
|
||||
+}
|
||||
+
|
||||
+ruleset(name="ruleset_omhttp") {
|
||||
+ action(
|
||||
+ name="action_omhttp"
|
||||
+ type="omhttp"
|
||||
+ errorfile="'$RSYSLOG_DYNNAME/omhttp.error.log'"
|
||||
+ template="tpl"
|
||||
+
|
||||
+ server="localhost"
|
||||
+ serverport="'$port'"
|
||||
+ restpath="my/endpoint"
|
||||
+ batch="on"
|
||||
+ batch.maxsize="100"
|
||||
+ batch.format="jsonarray"
|
||||
+
|
||||
+ retry="on"
|
||||
+ retry.ruleset="ruleset_omhttp_retry"
|
||||
+
|
||||
+ # Auth
|
||||
+ usehttps="off"
|
||||
+ ) & stop
|
||||
+}
|
||||
+
|
||||
+if $msg contains "msgnum:" then
|
||||
+ call ruleset_omhttp
|
||||
+'
|
||||
+startup
|
||||
+injectmsg
|
||||
+shutdown_when_empty
|
||||
+wait_shutdown
|
||||
+omhttp_get_data $port my/endpoint jsonarray
|
||||
+omhttp_stop_server
|
||||
+seq_check
|
||||
+exit_test
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp-batch-jsonarray-vg.sh
|
||||
@@ -0,0 +1,3 @@
|
||||
+#!/bin/bash
|
||||
+export USE_VALGRIND="YES"
|
||||
+source ${srcdir:=.}/omhttp-batch-jsonarray.sh
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp-batch-jsonarray.sh
|
||||
@@ -0,0 +1,47 @@
|
||||
+#!/bin/bash
|
||||
+# This file is part of the rsyslog project, released under ASL 2.0
|
||||
+
|
||||
+# Starting actual testbench
|
||||
+. ${srcdir:=.}/diag.sh init
|
||||
+
|
||||
+export NUMMESSAGES=50000
|
||||
+
|
||||
+port="$(get_free_port)"
|
||||
+omhttp_start_server $port
|
||||
+
|
||||
+generate_conf
|
||||
+add_conf '
|
||||
+template(name="tpl" type="string"
|
||||
+ string="{\"msgnum\":\"%msg:F,58:2%\"}")
|
||||
+
|
||||
+module(load="../contrib/omhttp/.libs/omhttp")
|
||||
+
|
||||
+main_queue(queue.dequeueBatchSize="2048")
|
||||
+
|
||||
+if $msg contains "msgnum:" then
|
||||
+ action(
|
||||
+ # Payload
|
||||
+ name="my_http_action"
|
||||
+ type="omhttp"
|
||||
+ errorfile="'$RSYSLOG_DYNNAME/omhttp.error.log'"
|
||||
+ template="tpl"
|
||||
+
|
||||
+ server="localhost"
|
||||
+ serverport="'$port'"
|
||||
+ restpath="my/endpoint"
|
||||
+ batch="on"
|
||||
+ batch.format="jsonarray"
|
||||
+ batch.maxsize="1000"
|
||||
+
|
||||
+ # Auth
|
||||
+ usehttps="off"
|
||||
+ )
|
||||
+'
|
||||
+startup
|
||||
+injectmsg
|
||||
+shutdown_when_empty
|
||||
+wait_shutdown
|
||||
+omhttp_get_data $port my/endpoint jsonarray
|
||||
+omhttp_stop_server
|
||||
+seq_check
|
||||
+exit_test
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp-batch-kafkarest-retry-vg.sh
|
||||
@@ -0,0 +1,3 @@
|
||||
+#!/bin/bash
|
||||
+export USE_VALGRIND="YES"
|
||||
+source ${srcdir:=.}/omhttp-batch-kafkarest-retry.sh
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp-batch-kafkarest-retry.sh
|
||||
@@ -0,0 +1,78 @@
|
||||
+#!/bin/bash
|
||||
+# This file is part of the rsyslog project, released under ASL 2.0
|
||||
+
|
||||
+# Starting actual testbench
|
||||
+. ${srcdir:=.}/diag.sh init
|
||||
+
|
||||
+export NUMMESSAGES=50000
|
||||
+
|
||||
+port="$(get_free_port)"
|
||||
+omhttp_start_server $port --fail-every 100
|
||||
+
|
||||
+generate_conf
|
||||
+add_conf '
|
||||
+module(load="../contrib/omhttp/.libs/omhttp")
|
||||
+
|
||||
+main_queue(queue.dequeueBatchSize="2048")
|
||||
+
|
||||
+template(name="tpl" type="string"
|
||||
+ string="{\"msgnum\":\"%msg:F,58:2%\"}")
|
||||
+
|
||||
+# Echo message as-is for retry
|
||||
+template(name="tpl_echo" type="string" string="%msg%")
|
||||
+
|
||||
+ruleset(name="ruleset_omhttp_retry") {
|
||||
+ action(
|
||||
+ name="action_omhttp"
|
||||
+ type="omhttp"
|
||||
+ errorfile="'$RSYSLOG_DYNNAME/omhttp.error.log'"
|
||||
+ template="tpl_echo"
|
||||
+
|
||||
+ server="localhost"
|
||||
+ serverport="'$port'"
|
||||
+ restpath="my/endpoint"
|
||||
+ batch="on"
|
||||
+ batch.maxsize="100"
|
||||
+ batch.format="kafkarest"
|
||||
+
|
||||
+ retry="on"
|
||||
+ retry.ruleset="ruleset_omhttp_retry"
|
||||
+
|
||||
+ # Auth
|
||||
+ usehttps="off"
|
||||
+ ) & stop
|
||||
+}
|
||||
+
|
||||
+ruleset(name="ruleset_omhttp") {
|
||||
+ action(
|
||||
+ name="action_omhttp"
|
||||
+ type="omhttp"
|
||||
+ errorfile="'$RSYSLOG_DYNNAME/omhttp.error.log'"
|
||||
+ template="tpl"
|
||||
+
|
||||
+ server="localhost"
|
||||
+ serverport="'$port'"
|
||||
+ restpath="my/endpoint"
|
||||
+ batch="on"
|
||||
+ batch.maxsize="100"
|
||||
+ batch.format="kafkarest"
|
||||
+
|
||||
+ retry="on"
|
||||
+ retry.ruleset="ruleset_omhttp_retry"
|
||||
+
|
||||
+ # Auth
|
||||
+ usehttps="off"
|
||||
+ ) & stop
|
||||
+}
|
||||
+
|
||||
+if $msg contains "msgnum:" then
|
||||
+ call ruleset_omhttp
|
||||
+'
|
||||
+startup
|
||||
+injectmsg
|
||||
+shutdown_when_empty
|
||||
+wait_shutdown
|
||||
+omhttp_get_data $port my/endpoint kafkarest
|
||||
+omhttp_stop_server
|
||||
+seq_check
|
||||
+exit_test
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp-batch-kafkarest.sh
|
||||
@@ -0,0 +1,47 @@
|
||||
+#!/bin/bash
|
||||
+# This file is part of the rsyslog project, released under ASL 2.0
|
||||
+
|
||||
+# Starting actual testbench
|
||||
+. ${srcdir:=.}/diag.sh init
|
||||
+
|
||||
+export NUMMESSAGES=50000
|
||||
+
|
||||
+port="$(get_free_port)"
|
||||
+omhttp_start_server $port
|
||||
+
|
||||
+generate_conf
|
||||
+add_conf '
|
||||
+template(name="tpl" type="string"
|
||||
+ string="{\"msgnum\":\"%msg:F,58:2%\"}")
|
||||
+
|
||||
+module(load="../contrib/omhttp/.libs/omhttp")
|
||||
+
|
||||
+main_queue(queue.dequeueBatchSize="2048")
|
||||
+
|
||||
+if $msg contains "msgnum:" then
|
||||
+ action(
|
||||
+ # Payload
|
||||
+ name="my_http_action"
|
||||
+ type="omhttp"
|
||||
+ errorfile="'$RSYSLOG_DYNNAME/omhttp.error.log'"
|
||||
+ template="tpl"
|
||||
+
|
||||
+ server="localhost"
|
||||
+ serverport="'$port'"
|
||||
+ restpath="my/endpoint"
|
||||
+ batch="on"
|
||||
+ batch.format="kafkarest"
|
||||
+ batch.maxsize="100"
|
||||
+
|
||||
+ # Auth
|
||||
+ usehttps="off"
|
||||
+ )
|
||||
+'
|
||||
+startup
|
||||
+injectmsg
|
||||
+shutdown_when_empty
|
||||
+wait_shutdown
|
||||
+omhttp_get_data $port my/endpoint kafkarest
|
||||
+omhttp_stop_server
|
||||
+seq_check
|
||||
+exit_test
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp-batch-newline.sh
|
||||
@@ -0,0 +1,47 @@
|
||||
+#!/bin/bash
|
||||
+# This file is part of the rsyslog project, released under ASL 2.0
|
||||
+
|
||||
+# Starting actual testbench
|
||||
+. ${srcdir:=.}/diag.sh init
|
||||
+
|
||||
+export NUMMESSAGES=50000
|
||||
+
|
||||
+port="$(get_free_port)"
|
||||
+omhttp_start_server $port
|
||||
+
|
||||
+generate_conf
|
||||
+add_conf '
|
||||
+template(name="tpl" type="string"
|
||||
+ string="{\"msgnum\":\"%msg:F,58:2%\"}")
|
||||
+
|
||||
+module(load="../contrib/omhttp/.libs/omhttp")
|
||||
+
|
||||
+main_queue(queue.dequeueBatchSize="2048")
|
||||
+
|
||||
+if $msg contains "msgnum:" then
|
||||
+ action(
|
||||
+ # Payload
|
||||
+ name="my_http_action"
|
||||
+ type="omhttp"
|
||||
+ errorfile="'$RSYSLOG_DYNNAME/omhttp.error.log'"
|
||||
+ template="tpl"
|
||||
+
|
||||
+ server="localhost"
|
||||
+ serverport="'$port'"
|
||||
+ restpath="my/endpoint"
|
||||
+ batch="on"
|
||||
+ batch.format="newline"
|
||||
+ batch.maxsize="100"
|
||||
+
|
||||
+ # Auth
|
||||
+ usehttps="off"
|
||||
+ )
|
||||
+'
|
||||
+startup
|
||||
+injectmsg
|
||||
+shutdown_when_empty
|
||||
+wait_shutdown
|
||||
+omhttp_get_data $port my/endpoint newline
|
||||
+omhttp_stop_server
|
||||
+seq_check
|
||||
+exit_test
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp-retry-vg.sh
|
||||
@@ -0,0 +1,3 @@
|
||||
+#!/bin/bash
|
||||
+export USE_VALGRIND="YES"
|
||||
+source ${srcdir:=.}/omhttp-retry.sh
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp-retry.sh
|
||||
@@ -0,0 +1,46 @@
|
||||
+#!/bin/bash
|
||||
+# This file is part of the rsyslog project, released under ASL 2.0
|
||||
+
|
||||
+# Starting actual testbench
|
||||
+. ${srcdir:=.}/diag.sh init
|
||||
+
|
||||
+export NUMMESSAGES=10000
|
||||
+
|
||||
+port="$(get_free_port)"
|
||||
+omhttp_start_server $port --fail-every 1000
|
||||
+
|
||||
+generate_conf
|
||||
+add_conf '
|
||||
+module(load="../contrib/omhttp/.libs/omhttp")
|
||||
+
|
||||
+main_queue(queue.dequeueBatchSize="2048")
|
||||
+
|
||||
+template(name="tpl" type="string"
|
||||
+ string="{\"msgnum\":\"%msg:F,58:2%\"}")
|
||||
+
|
||||
+if $msg contains "msgnum:" then
|
||||
+ action(
|
||||
+ # Payload
|
||||
+ action.resumeRetryCount="-1"
|
||||
+ name="my_http_action"
|
||||
+ type="omhttp"
|
||||
+ errorfile="'$RSYSLOG_DYNNAME/omhttp.error.log'"
|
||||
+ template="tpl"
|
||||
+
|
||||
+ server="localhost"
|
||||
+ serverport="'$port'"
|
||||
+ restpath="my/endpoint"
|
||||
+ batch="off"
|
||||
+
|
||||
+ # Auth
|
||||
+ usehttps="off"
|
||||
+ )
|
||||
+'
|
||||
+startup
|
||||
+injectmsg
|
||||
+shutdown_when_empty
|
||||
+wait_shutdown
|
||||
+omhttp_get_data $port my/endpoint
|
||||
+omhttp_stop_server
|
||||
+seq_check
|
||||
+exit_test
|
||||
--- /dev/null
|
||||
+++ b/tests/omhttp_server.py
|
||||
@@ -0,0 +1,130 @@
|
||||
+#!/usr/bin/env python
|
||||
+
|
||||
+import argparse
|
||||
+import json
|
||||
+import os
|
||||
+import zlib
|
||||
+import base64
|
||||
+
|
||||
+try:
|
||||
+ from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer # Python 2
|
||||
+except ImportError:
|
||||
+ from http.server import BaseHTTPRequestHandler, HTTPServer # Python 3
|
||||
+
|
||||
+# Keep track of data received at each path
|
||||
+data = {}
|
||||
+
|
||||
+metadata = {'posts': 0, 'fail_after': 0, 'fail_every': -1, 'decompress': False, 'userpwd': ''}
|
||||
+
|
||||
+
|
||||
+class MyHandler(BaseHTTPRequestHandler):
|
||||
+ """
|
||||
+ POST'd data is kept in the data global dict.
|
||||
+ Keys are the path, values are the raw received data.
|
||||
+ Two post requests to <host>:<port>/post/endpoint means data looks like...
|
||||
+ {"/post/endpoint": ["{\"msgnum\":\"00001\"}", "{\"msgnum\":\"00001\"}"]}
|
||||
+
|
||||
+ GET requests return all data posted to that endpoint as a json list.
|
||||
+ Note that rsyslog usually sends escaped json data, so some parsing may be needed.
|
||||
+ A get request for <host>:<post>/post/endpoint responds with...
|
||||
+ ["{\"msgnum\":\"00001\"}", "{\"msgnum\":\"00001\"}"]
|
||||
+ """
|
||||
+
|
||||
+ def validate_auth(self):
|
||||
+ # header format for basic authentication
|
||||
+ # 'Authorization: Basic <base 64 encoded uid:pwd>'
|
||||
+ if 'Authorization' not in self.headers:
|
||||
+ self.send_response(401)
|
||||
+ self.end_headers()
|
||||
+ self.wfile.write('missing "Authorization" header')
|
||||
+ return False
|
||||
+
|
||||
+ auth_header = self.headers['Authorization']
|
||||
+ _, b64userpwd = auth_header.split()
|
||||
+ userpwd = base64.b64decode(b64userpwd)
|
||||
+ if userpwd != metadata['userpwd']:
|
||||
+ self.send_response(401)
|
||||
+ self.end_headers()
|
||||
+ self.wfile.write('invalid auth: {0}'.format(userpwd))
|
||||
+ return False
|
||||
+
|
||||
+ return True
|
||||
+
|
||||
+ def do_POST(self):
|
||||
+ metadata['posts'] += 1
|
||||
+
|
||||
+ if metadata['userpwd']:
|
||||
+ if not self.validate_auth():
|
||||
+ return
|
||||
+
|
||||
+ if metadata['fail_with_400_after'] != -1 and metadata['posts'] > metadata['fail_with_400_after']:
|
||||
+ self.send_response(400)
|
||||
+ self.end_headers()
|
||||
+ self.wfile.write('BAD REQUEST')
|
||||
+ return
|
||||
+
|
||||
+ if metadata['posts'] > 1 and metadata['fail_every'] != -1 and metadata['posts'] % metadata['fail_every'] == 0:
|
||||
+ self.send_response(500)
|
||||
+ self.end_headers()
|
||||
+ self.wfile.write('INTERNAL ERROR')
|
||||
+ return
|
||||
+
|
||||
+ content_length = int(self.headers['Content-Length'])
|
||||
+ raw_data = self.rfile.read(content_length)
|
||||
+
|
||||
+ if metadata['decompress']:
|
||||
+ post_data = zlib.decompress(raw_data, 31)
|
||||
+ else:
|
||||
+ post_data = raw_data
|
||||
+
|
||||
+ if self.path not in data:
|
||||
+ data[self.path] = []
|
||||
+ data[self.path].append(post_data)
|
||||
+
|
||||
+ res = json.dumps({'msg': 'ok'})
|
||||
+
|
||||
+ self.send_response(200)
|
||||
+ self.send_header('Content-Type', 'application/json')
|
||||
+ self.send_header('Content-Length', len(res))
|
||||
+ self.end_headers()
|
||||
+
|
||||
+ self.wfile.write(res)
|
||||
+ return
|
||||
+
|
||||
+ def do_GET(self):
|
||||
+ if self.path in data:
|
||||
+ result = data[self.path]
|
||||
+ else:
|
||||
+ result = []
|
||||
+
|
||||
+ res = json.dumps(result)
|
||||
+
|
||||
+ self.send_response(200)
|
||||
+ self.send_header('Content-Type', 'application/json')
|
||||
+ self.send_header('Content-Length', len(res))
|
||||
+ self.end_headers()
|
||||
+
|
||||
+ self.wfile.write(res)
|
||||
+ return
|
||||
+
|
||||
+
|
||||
+if __name__ == '__main__':
|
||||
+ parser = argparse.ArgumentParser(description='Archive and delete core app log files')
|
||||
+ parser.add_argument('-p', '--port', action='store', type=int, default=8080, help='port')
|
||||
+ parser.add_argument('-i', '--interface', action='store', type=str, default='localhost', help='port')
|
||||
+ parser.add_argument('--fail-after', action='store', type=int, default=0, help='start failing after n posts')
|
||||
+ parser.add_argument('--fail-every', action='store', type=int, default=-1, help='fail every n posts')
|
||||
+ parser.add_argument('--fail-with-400-after', action='store', type=int, default=-1, help='fail with 400 after n posts')
|
||||
+ parser.add_argument('--decompress', action='store_true', default=False, help='decompress posted data')
|
||||
+ parser.add_argument('--userpwd', action='store', default='', help='only accept this user:password combination')
|
||||
+ args = parser.parse_args()
|
||||
+ metadata['fail_after'] = args.fail_after
|
||||
+ metadata['fail_every'] = args.fail_every
|
||||
+ metadata['fail_with_400_after'] = args.fail_with_400_after
|
||||
+ metadata['decompress'] = args.decompress
|
||||
+ metadata['userpwd'] = args.userpwd
|
||||
+ server = HTTPServer((args.interface, args.port), MyHandler)
|
||||
+ pid = os.getpid()
|
||||
+ print('starting omhttp test server at {interface}:{port} with pid {pid}'
|
||||
+ .format(interface=args.interface, port=args.port, pid=pid))
|
||||
+ server.serve_forever()
|
@ -1,83 +0,0 @@
|
||||
From c82b747eaf96cc77efa530ca5844ba01b91bfc88 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Deutschmann <whissi@whissi.de>
|
||||
Date: Sat, 6 Apr 2019 00:28:54 +0200
|
||||
Subject: [PATCH] tests: omhttp: add Python 3 compatibility
|
||||
|
||||
Fixes: https://github.com/rsyslog/rsyslog/issues/3599
|
||||
---
|
||||
tests/omhttp_server.py | 22 +++++++++++-----------
|
||||
1 file changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/tests/omhttp_server.py b/tests/omhttp_server.py
|
||||
index 6962138fa..d3fdb3a9a 100644
|
||||
--- a/tests/omhttp_server.py
|
||||
+++ b/tests/omhttp_server.py
|
||||
@@ -36,16 +36,16 @@ def validate_auth(self):
|
||||
if 'Authorization' not in self.headers:
|
||||
self.send_response(401)
|
||||
self.end_headers()
|
||||
- self.wfile.write('missing "Authorization" header')
|
||||
+ self.wfile.write(b'missing "Authorization" header')
|
||||
return False
|
||||
|
||||
auth_header = self.headers['Authorization']
|
||||
_, b64userpwd = auth_header.split()
|
||||
- userpwd = base64.b64decode(b64userpwd)
|
||||
+ userpwd = base64.b64decode(b64userpwd).decode('utf-8')
|
||||
if userpwd != metadata['userpwd']:
|
||||
self.send_response(401)
|
||||
self.end_headers()
|
||||
- self.wfile.write('invalid auth: {0}'.format(userpwd))
|
||||
+ self.wfile.write(b'invalid auth: {0}'.format(userpwd))
|
||||
return False
|
||||
|
||||
return True
|
||||
@@ -60,16 +60,16 @@ def do_POST(self):
|
||||
if metadata['fail_with_400_after'] != -1 and metadata['posts'] > metadata['fail_with_400_after']:
|
||||
self.send_response(400)
|
||||
self.end_headers()
|
||||
- self.wfile.write('BAD REQUEST')
|
||||
+ self.wfile.write(b'BAD REQUEST')
|
||||
return
|
||||
|
||||
if metadata['posts'] > 1 and metadata['fail_every'] != -1 and metadata['posts'] % metadata['fail_every'] == 0:
|
||||
self.send_response(500)
|
||||
self.end_headers()
|
||||
- self.wfile.write('INTERNAL ERROR')
|
||||
+ self.wfile.write(b'INTERNAL ERROR')
|
||||
return
|
||||
|
||||
- content_length = int(self.headers['Content-Length'])
|
||||
+ content_length = int(self.headers['Content-Length'] or 0)
|
||||
raw_data = self.rfile.read(content_length)
|
||||
|
||||
if metadata['decompress']:
|
||||
@@ -79,12 +79,12 @@ def do_POST(self):
|
||||
|
||||
if self.path not in data:
|
||||
data[self.path] = []
|
||||
- data[self.path].append(post_data)
|
||||
+ data[self.path].append(post_data.decode('utf-8'))
|
||||
|
||||
- res = json.dumps({'msg': 'ok'})
|
||||
+ res = json.dumps({'msg': 'ok'}).encode('utf8')
|
||||
|
||||
self.send_response(200)
|
||||
- self.send_header('Content-Type', 'application/json')
|
||||
+ self.send_header('Content-Type', 'application/json; charset=utf-8')
|
||||
self.send_header('Content-Length', len(res))
|
||||
self.end_headers()
|
||||
|
||||
@@ -97,10 +97,10 @@ def do_GET(self):
|
||||
else:
|
||||
result = []
|
||||
|
||||
- res = json.dumps(result)
|
||||
+ res = json.dumps(result).encode('utf8')
|
||||
|
||||
self.send_response(200)
|
||||
- self.send_header('Content-Type', 'application/json')
|
||||
+ self.send_header('Content-Type', 'application/json; charset=utf-8')
|
||||
self.send_header('Content-Length', len(res))
|
||||
self.end_headers()
|
||||
|
@ -1,22 +0,0 @@
|
||||
From f0847e46c148233b6ab5d6088ca4e1dc664e82a4 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Deutschmann <whissi@whissi.de>
|
||||
Date: Sat, 6 Apr 2019 02:07:51 +0200
|
||||
Subject: [PATCH] testbench: fix Python 3 compatibility
|
||||
|
||||
---
|
||||
tests/diag.sh | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/tests/diag.sh b/tests/diag.sh
|
||||
index 5b4b3df46..2926e6ac2 100755
|
||||
--- a/tests/diag.sh
|
||||
+++ b/tests/diag.sh
|
||||
@@ -1334,7 +1334,7 @@ get_inode() {
|
||||
printf 'FAIL: file "%s" does not exist in get_inode\n' "$1"
|
||||
error_exit 100
|
||||
fi
|
||||
- python -c 'import os; import stat; print os.lstat("'$1'")[stat.ST_INO]'
|
||||
+ python -c 'import os; import stat; print(os.lstat("'$1'")[stat.ST_INO])'
|
||||
}
|
||||
|
||||
|
@ -1,66 +0,0 @@
|
||||
From 0b0a1262f2b401ea16b7d0b36d8254c500cb9d8e Mon Sep 17 00:00:00 2001
|
||||
From: Joan Sala <jsiwrk@gmail.com>
|
||||
Date: Thu, 20 Sep 2018 22:37:58 +0200
|
||||
Subject: [PATCH] testbench: fix incompatibility of one omprog test with
|
||||
Python3
|
||||
|
||||
Python3 writes to stderr immediately, and this caused the
|
||||
captured output to differ with respect to Python2. Simplified
|
||||
the test to do a single write to stderr. Also a cast to int
|
||||
was needed when calculating 'numRepeats'.
|
||||
|
||||
closes #3030
|
||||
---
|
||||
tests/omprog-output-capture-mt.sh | 2 +-
|
||||
.../testsuites/omprog-output-capture-mt-bin.py | 17 +++++++----------
|
||||
2 files changed, 8 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/tests/omprog-output-capture-mt.sh b/tests/omprog-output-capture-mt.sh
|
||||
index 50f5c6354..080fabd2a 100755
|
||||
--- a/tests/omprog-output-capture-mt.sh
|
||||
+++ b/tests/omprog-output-capture-mt.sh
|
||||
@@ -24,7 +24,7 @@ else
|
||||
LINE_LENGTH=511 # 512 minus 1 byte (for the newline char)
|
||||
fi
|
||||
|
||||
-export command_line="/usr/bin/stdbuf -oL -eL $srcdir/testsuites/omprog-output-capture-mt-bin.py $LINE_LENGTH"
|
||||
+export command_line="/usr/bin/stdbuf -oL $srcdir/testsuites/omprog-output-capture-mt-bin.py $LINE_LENGTH"
|
||||
|
||||
check_command_available stdbuf
|
||||
generate_conf
|
||||
diff --git a/tests/testsuites/omprog-output-capture-mt-bin.py b/tests/testsuites/omprog-output-capture-mt-bin.py
|
||||
index 6c81da24b..03097f37b 100755
|
||||
--- a/tests/testsuites/omprog-output-capture-mt-bin.py
|
||||
+++ b/tests/testsuites/omprog-output-capture-mt-bin.py
|
||||
@@ -10,7 +10,7 @@
|
||||
logLine = sys.stdin.readline()
|
||||
while logLine:
|
||||
logLine = logLine.strip()
|
||||
- numRepeats = lineLength / len(logLine)
|
||||
+ numRepeats = int(lineLength / len(logLine))
|
||||
lineToStdout = (linePrefix + "[stdout] " + logLine*numRepeats)[:lineLength]
|
||||
lineToStderr = (linePrefix + "[stderr] " + logLine*numRepeats)[:lineLength]
|
||||
|
||||
@@ -22,16 +22,13 @@
|
||||
# size of the block buffer is generally greater than PIPE_BUF).
|
||||
sys.stdout.write(lineToStdout + "\n")
|
||||
|
||||
- # Write to stderr using two writes. Since stderr is unbuffered, each write will be written
|
||||
- # immediately to the pipe, and this will cause intermingled lines in the output file.
|
||||
- # However, we avoid this by executing this script with 'stdbuf -eL', which forces line
|
||||
- # buffering for stderr. We could alternatively do a single write.
|
||||
- sys.stderr.write(lineToStderr)
|
||||
- sys.stderr.write("\n")
|
||||
+ # Write to stderr using a single write. Since stderr is unbuffered, each write will be
|
||||
+ # written immediately (and atomically) to the pipe.
|
||||
+ sys.stderr.write(lineToStderr + "\n")
|
||||
|
||||
- # Note: In future versions of Python3, stderr will possibly be line buffered (see
|
||||
- # https://bugs.python.org/issue13601).
|
||||
- # Note: When writing to stderr using the Python logging module, it seems that line
|
||||
+ # Note (FTR): In future versions of Python3, stderr will possibly be line buffered (see
|
||||
+ # https://bugs.python.org/issue13601). The previous write will also be atomic in this case.
|
||||
+ # Note (FTR): When writing to stderr using the Python logging module, it seems that line
|
||||
# buffering is also used (although this could depend on the Python version).
|
||||
|
||||
logLine = sys.stdin.readline()
|
@ -1,321 +0,0 @@
|
||||
https://github.com/rsyslog/rsyslog/pull/3240
|
||||
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1436,6 +1436,12 @@ fi
|
||||
AM_CONDITIONAL(ENABLE_KSI_LS12, test x$enable_ksi_ls12 = xyes)
|
||||
|
||||
# liblogging-stdlog support
|
||||
+# we use liblogging-stdlog inside the testbench, which is why we need to check for it in any case
|
||||
+PKG_CHECK_MODULES(LIBLOGGING_STDLOG, liblogging-stdlog >= 1.0.3,
|
||||
+ AC_DEFINE(HAVE_LIBLOGGING_STDLOG, 1, [Define to 1 if liblogging-stdlog is available.]),
|
||||
+ [AC_MSG_NOTICE([liblogging-stdlog not found, parts of the testbench will not run])]
|
||||
+)
|
||||
+
|
||||
AC_ARG_ENABLE(liblogging-stdlog,
|
||||
[AS_HELP_STRING([--enable-liblogging-stdlog],[Enable liblogging-stdlog support @<:@default=no@:>@])],
|
||||
[case "${enableval}" in
|
||||
@@ -1445,18 +1451,15 @@ AC_ARG_ENABLE(liblogging-stdlog,
|
||||
esac],
|
||||
[enable_liblogging_stdlog=no]
|
||||
)
|
||||
+if test "x$enable_liblogging_stdlog" = "xyes" -a "x$HAVE_LIBLOGGING_STDLOG" != "x1"; then
|
||||
+ AC_MSG_ERROR(--enable-liblogging-stdlog set but liblogging was not found)
|
||||
+fi
|
||||
+AM_CONDITIONAL(ENABLE_LIBLOGGING_STDLOG, [test "x$enable_liblogging_stdlog" = "xyes"])
|
||||
if test "x$enable_liblogging_stdlog" = "xyes"; then
|
||||
- PKG_CHECK_MODULES(LIBLOGGING_STDLOG, liblogging-stdlog >= 1.0.3,
|
||||
- AC_DEFINE(HAVE_LIBLOGGING_STDLOG, 1, [Define to 1 if liblogging-stdlog is available.])
|
||||
- )
|
||||
+ AC_MSG_NOTICE(DEBUG: liblogging_stdlog enabled)
|
||||
+else
|
||||
+ AC_MSG_NOTICE(DEBUG: liblogging_stdlog disabled)
|
||||
fi
|
||||
-AM_CONDITIONAL(ENABLE_LIBLOGGING_STDLOG, test x$enable_liblogging_stdlog = xyes)
|
||||
-
|
||||
-# we use liblogging-stdlog inside the testbench, which is why we need to check for it in any case
|
||||
-PKG_CHECK_MODULES(LIBLOGGING_STDLOG, liblogging-stdlog >= 1.0.3,
|
||||
- AC_DEFINE(HAVE_LIBLOGGING_STDLOG, 1, [Define to 1 if liblogging-stdlog is available.]),
|
||||
- [AC_MSG_NOTICE([liblogging-stdlog not found, parts of the testbench will not run])]
|
||||
-)
|
||||
|
||||
# RFC 3195 support
|
||||
AC_ARG_ENABLE(rfc3195,
|
||||
--- a/plugins/imklog/Makefile.am
|
||||
+++ b/plugins/imklog/Makefile.am
|
||||
@@ -10,6 +10,11 @@ if ENABLE_IMKLOG_LINUX
|
||||
imklog_la_SOURCES += bsd.c
|
||||
endif
|
||||
|
||||
-imklog_la_CPPFLAGS = -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
-imklog_la_LDFLAGS = -module -avoid-version $(LIBLOGGING_STDLOG_LIBS)
|
||||
+imklog_la_CPPFLAGS = -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS)
|
||||
+imklog_la_LDFLAGS = -module -avoid-version
|
||||
imklog_la_LIBADD =
|
||||
+
|
||||
+if ENABLE_LIBLOGGING_STDLOG
|
||||
+imklog_la_CPPFLAGS += $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
+imklog_la_LDFLAGS += $(LIBLOGGING_STDLOG_LIBS)
|
||||
+endif
|
||||
--- a/plugins/immark/Makefile.am
|
||||
+++ b/plugins/immark/Makefile.am
|
||||
@@ -1,6 +1,11 @@
|
||||
pkglib_LTLIBRARIES = immark.la
|
||||
|
||||
immark_la_SOURCES = immark.c immark.h
|
||||
-immark_la_CPPFLAGS = $(RSRT_CFLAGS) -I$(top_srcdir) $(PTHREADS_CFLAGS) $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
-immark_la_LDFLAGS = -module -avoid-version $(LIBLOGGING_STDLOG_LIBS)
|
||||
+immark_la_CPPFLAGS = $(RSRT_CFLAGS) -I$(top_srcdir) $(PTHREADS_CFLAGS)
|
||||
+immark_la_LDFLAGS = -module -avoid-version
|
||||
immark_la_LIBADD =
|
||||
+
|
||||
+if ENABLE_LIBLOGGING_STDLOG
|
||||
+immark_la_CPPFLAGS += $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
+immark_la_LDFLAGS += $(LIBLOGGING_STDLOG_LIBS)
|
||||
+endif
|
||||
--- a/plugins/imtcp/Makefile.am
|
||||
+++ b/plugins/imtcp/Makefile.am
|
||||
@@ -1,6 +1,11 @@
|
||||
pkglib_LTLIBRARIES = imtcp.la
|
||||
|
||||
imtcp_la_SOURCES = imtcp.c
|
||||
-imtcp_la_CPPFLAGS = -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
-imtcp_la_LDFLAGS = -module -avoid-version $(LIBLOGGING_STDLOG_LIBS)
|
||||
+imtcp_la_CPPFLAGS = -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS)
|
||||
+imtcp_la_LDFLAGS = -module -avoid-version
|
||||
imtcp_la_LIBADD =
|
||||
+
|
||||
+if ENABLE_LIBLOGGING_STDLOG
|
||||
+imtcp_la_CPPFLAGS += $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
+imtcp_la_LDFLAGS += $(LIBLOGGING_STDLOG_LIBS)
|
||||
+endif
|
||||
--- a/plugins/imudp/Makefile.am
|
||||
+++ b/plugins/imudp/Makefile.am
|
||||
@@ -1,6 +1,11 @@
|
||||
pkglib_LTLIBRARIES = imudp.la
|
||||
|
||||
imudp_la_SOURCES = imudp.c
|
||||
-imudp_la_CPPFLAGS = -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
-imudp_la_LDFLAGS = -module -avoid-version $(LIBLOGGING_STDLOG_LIBS)
|
||||
+imudp_la_CPPFLAGS = -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS)
|
||||
+imudp_la_LDFLAGS = -module -avoid-version
|
||||
imudp_la_LIBADD = $(IMUDP_LIBS)
|
||||
+
|
||||
+if ENABLE_LIBLOGGING_STDLOG
|
||||
+imudp_la_CPPFLAGS += $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
+imudp_la_LDFLAGS += $(LIBLOGGING_STDLOG_LIBS)
|
||||
+endif
|
||||
--- a/plugins/imuxsock/Makefile.am
|
||||
+++ b/plugins/imuxsock/Makefile.am
|
||||
@@ -1,6 +1,11 @@
|
||||
pkglib_LTLIBRARIES = imuxsock.la
|
||||
|
||||
imuxsock_la_SOURCES = imuxsock.c
|
||||
-imuxsock_la_CPPFLAGS = -DSD_EXPORT_SYMBOLS -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
-imuxsock_la_LDFLAGS = -module -avoid-version $(LIBLOGGING_STDLOG_LIBS)
|
||||
+imuxsock_la_CPPFLAGS = -DSD_EXPORT_SYMBOLS -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS)
|
||||
+imuxsock_la_LDFLAGS = -module -avoid-version
|
||||
imuxsock_la_LIBADD =
|
||||
+
|
||||
+if ENABLE_LIBLOGGING_STDLOG
|
||||
+imuxsock_la_CPPFLAGS += $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
+imuxsock_la_LDFLAGS += $(LIBLOGGING_STDLOG_LIBS)
|
||||
+endif
|
||||
--- a/plugins/mmexternal/Makefile.am
|
||||
+++ b/plugins/mmexternal/Makefile.am
|
||||
@@ -1,8 +1,13 @@
|
||||
pkglib_LTLIBRARIES = mmexternal.la
|
||||
|
||||
mmexternal_la_SOURCES = mmexternal.c
|
||||
-mmexternal_la_CPPFLAGS = $(RSRT_CFLAGS) $(PTHREADS_CFLAGS) $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
-mmexternal_la_LDFLAGS = -module -avoid-version $(LIBLOGGING_STDLOG_LIBS)
|
||||
+mmexternal_la_CPPFLAGS = $(RSRT_CFLAGS) $(PTHREADS_CFLAGS)
|
||||
+mmexternal_la_LDFLAGS = -module -avoid-version
|
||||
mmexternal_la_LIBADD =
|
||||
|
||||
+if ENABLE_LIBLOGGING_STDLOG
|
||||
+mmexternal_la_CPPFLAGS += $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
+mmexternal_la_LDFLAGS += $(LIBLOGGING_STDLOG_LIBS)
|
||||
+endif
|
||||
+
|
||||
EXTRA_DIST =
|
||||
--- a/plugins/omtesting/Makefile.am
|
||||
+++ b/plugins/omtesting/Makefile.am
|
||||
@@ -1,6 +1,11 @@
|
||||
pkglib_LTLIBRARIES = omtesting.la
|
||||
|
||||
omtesting_la_SOURCES = omtesting.c
|
||||
-omtesting_la_CPPFLAGS = -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
-omtesting_la_LDFLAGS = -module -avoid-version $(LIBLOGGING_STDLOG_LIBS)
|
||||
+omtesting_la_CPPFLAGS = -I$(top_srcdir) $(PTHREADS_CFLAGS) $(RSRT_CFLAGS)
|
||||
+omtesting_la_LDFLAGS = -module -avoid-version
|
||||
omtesting_la_LIBADD =
|
||||
+
|
||||
+if ENABLE_LIBLOGGING_STDLOG
|
||||
+omtesting_la_CPPFLAGS += $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
+omtesting_la_LDFLAGS += $(LIBLOGGING_STDLOG_LIBS)
|
||||
+endif
|
||||
--- a/runtime/Makefile.am
|
||||
+++ b/runtime/Makefile.am
|
||||
@@ -112,8 +112,15 @@ else
|
||||
librsyslog_la_CPPFLAGS = -DSD_EXPORT_SYMBOLS -D_PATH_MODDIR=\"$(pkglibdir)/\" -I\$(top_srcdir) -I\$(top_srcdir)/grammar
|
||||
endif
|
||||
#librsyslog_la_LDFLAGS = -module -avoid-version
|
||||
-librsyslog_la_CPPFLAGS += $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) $(LIBUUID_CFLAGS) $(LIBFASTJSON_CFLAGS) ${LIBESTR_CFLAGS} ${LIBLOGGING_STDLOG_CFLAGS} -I\$(top_srcdir)/tools
|
||||
-librsyslog_la_LIBADD = $(DL_LIBS) $(RT_LIBS) $(LIBUUID_LIBS) $(LIBFASTJSON_LIBS) ${LIBESTR_LIBS} ${LIBLOGGING_STDLOG_LIBS}
|
||||
+librsyslog_la_CPPFLAGS += $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) $(LIBUUID_CFLAGS) $(LIBFASTJSON_CFLAGS) ${LIBESTR_CFLAGS}
|
||||
+librsyslog_la_LIBADD = $(DL_LIBS) $(RT_LIBS) $(LIBUUID_LIBS) $(LIBFASTJSON_LIBS) ${LIBESTR_LIBS}
|
||||
+
|
||||
+if ENABLE_LIBLOGGING_STDLOG
|
||||
+librsyslog_la_CPPFLAGS += ${LIBLOGGING_STDLOG_CFLAGS}
|
||||
+librsyslog_la_LIBADD += $(LIBLOGGING_STDLOG_LIBS)
|
||||
+endif
|
||||
+
|
||||
+librsyslog_la_CPPFLAGS += -I\$(top_srcdir)/tools
|
||||
|
||||
#
|
||||
# regular expression support
|
||||
@@ -121,9 +128,15 @@ librsyslog_la_LIBADD = $(DL_LIBS) $(RT_LIBS) $(LIBUUID_LIBS) $(LIBFASTJSON_LIBS
|
||||
if ENABLE_REGEXP
|
||||
pkglib_LTLIBRARIES += lmregexp.la
|
||||
lmregexp_la_SOURCES = regexp.c regexp.h
|
||||
-lmregexp_la_CPPFLAGS = $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
-lmregexp_la_LDFLAGS = -module -avoid-version $(LIBLOGGING_STDLOG_LIBS)
|
||||
-lmregexp_la_LIBADD =
|
||||
+lmregexp_la_CPPFLAGS = $(PTHREADS_CFLAGS) $(RSRT_CFLAGS)
|
||||
+lmregexp_la_LDFLAGS = -module -avoid-version
|
||||
+lmregexp_la_LIBADD =
|
||||
+
|
||||
+if ENABLE_LIBLOGGING_STDLOG
|
||||
+lmregexp_la_CPPFLAGS += $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
+lmregexp_la_LDFLAGS += $(LIBLOGGING_STDLOG_LIBS)
|
||||
+endif
|
||||
+
|
||||
endif
|
||||
|
||||
#
|
||||
@@ -131,9 +144,14 @@ endif
|
||||
#
|
||||
pkglib_LTLIBRARIES += lmzlibw.la
|
||||
lmzlibw_la_SOURCES = zlibw.c zlibw.h
|
||||
-lmzlibw_la_CPPFLAGS = $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
-lmzlibw_la_LDFLAGS = -module -avoid-version $(LIBLOGGING_STDLOG_LIBS)
|
||||
-lmzlibw_la_LIBADD =
|
||||
+lmzlibw_la_CPPFLAGS = $(PTHREADS_CFLAGS) $(RSRT_CFLAGS)
|
||||
+lmzlibw_la_LDFLAGS = -module -avoid-version
|
||||
+lmzlibw_la_LIBADD =
|
||||
+
|
||||
+if ENABLE_LIBLOGGING_STDLOG
|
||||
+lmzlibw_la_CPPFLAGS += $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
+lmzlibw_la_LDFLAGS += $(LIBLOGGING_STDLOG_LIBS)
|
||||
+endif
|
||||
|
||||
|
||||
if ENABLE_INET
|
||||
@@ -142,18 +160,28 @@ pkglib_LTLIBRARIES += lmnet.la lmnetstrms.la
|
||||
# network support
|
||||
#
|
||||
lmnet_la_SOURCES = net.c net.h
|
||||
-lmnet_la_CPPFLAGS = $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
-lmnet_la_LDFLAGS = -module -avoid-version ../compat/compat_la-getifaddrs.lo $(LIBLOGGING_STDLOG_LIBS)
|
||||
-lmnet_la_LIBADD =
|
||||
+lmnet_la_CPPFLAGS = $(PTHREADS_CFLAGS) $(RSRT_CFLAGS)
|
||||
+lmnet_la_LDFLAGS = -module -avoid-version ../compat/compat_la-getifaddrs.lo
|
||||
+lmnet_la_LIBADD =
|
||||
+
|
||||
+if ENABLE_LIBLOGGING_STDLOG
|
||||
+lmnet_la_CPPFLAGS += $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
+lmnet_la_LDFLAGS += $(LIBLOGGING_STDLOG_LIBS)
|
||||
+endif
|
||||
|
||||
# network stream master class and stream factory
|
||||
lmnetstrms_la_SOURCES = netstrms.c netstrms.h \
|
||||
netstrm.c netstrm.h \
|
||||
nssel.c nssel.h \
|
||||
nspoll.c nspoll.h
|
||||
-lmnetstrms_la_CPPFLAGS = $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
-lmnetstrms_la_LDFLAGS = -module -avoid-version $(LIBLOGGING_STDLOG_LIBS)
|
||||
-lmnetstrms_la_LIBADD =
|
||||
+lmnetstrms_la_CPPFLAGS = $(PTHREADS_CFLAGS) $(RSRT_CFLAGS)
|
||||
+lmnetstrms_la_LDFLAGS = -module -avoid-version
|
||||
+lmnetstrms_la_LIBADD =
|
||||
+
|
||||
+if ENABLE_LIBLOGGING_STDLOG
|
||||
+lmnetstrms_la_CPPFLAGS += $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
+lmnetstrms_la_LDFLAGS += $(LIBLOGGING_STDLOG_LIBS)
|
||||
+endif
|
||||
|
||||
# netstream drivers
|
||||
|
||||
@@ -162,9 +190,15 @@ pkglib_LTLIBRARIES += lmnsd_ptcp.la
|
||||
lmnsd_ptcp_la_SOURCES = nsd_ptcp.c nsd_ptcp.h \
|
||||
nsdsel_ptcp.c nsdsel_ptcp.h \
|
||||
nsdpoll_ptcp.c nsdpoll_ptcp.h
|
||||
-lmnsd_ptcp_la_CPPFLAGS = $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
-lmnsd_ptcp_la_LDFLAGS = -module -avoid-version $(LIBLOGGING_STDLOG_LIBS)
|
||||
-lmnsd_ptcp_la_LIBADD =
|
||||
+lmnsd_ptcp_la_CPPFLAGS = $(PTHREADS_CFLAGS) $(RSRT_CFLAGS)
|
||||
+lmnsd_ptcp_la_LDFLAGS = -module -avoid-version
|
||||
+lmnsd_ptcp_la_LIBADD =
|
||||
+
|
||||
+if ENABLE_LIBLOGGING_STDLOG
|
||||
+lmnsd_ptcp_la_CPPFLAGS += $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
+lmnsd_ptcp_la_LDFLAGS += $(LIBLOGGING_STDLOG_LIBS)
|
||||
+endif
|
||||
+
|
||||
endif # if ENABLE_INET
|
||||
|
||||
#
|
||||
@@ -226,20 +260,30 @@ lmtcpsrv_la_SOURCES = \
|
||||
tcps_sess.h \
|
||||
tcpsrv.c \
|
||||
tcpsrv.h
|
||||
-lmtcpsrv_la_CPPFLAGS = $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
-lmtcpsrv_la_LDFLAGS = -module -avoid-version $(LIBLOGGING_STDLOG_LIBS)
|
||||
+lmtcpsrv_la_CPPFLAGS = $(PTHREADS_CFLAGS) $(RSRT_CFLAGS)
|
||||
+lmtcpsrv_la_LDFLAGS = -module -avoid-version
|
||||
lmtcpsrv_la_LIBADD =
|
||||
|
||||
+if ENABLE_LIBLOGGING_STDLOG
|
||||
+lmtcpsrv_la_CPPFLAGS += $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
+lmtcpsrv_la_LDFLAGS += $(LIBLOGGING_STDLOG_LIBS)
|
||||
+endif
|
||||
+
|
||||
#
|
||||
# TCP (stream) client support
|
||||
#
|
||||
lmtcpclt_la_SOURCES = \
|
||||
tcpclt.c \
|
||||
tcpclt.h
|
||||
-lmtcpclt_la_CPPFLAGS = $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
-lmtcpclt_la_LDFLAGS = -module -avoid-version $(LIBLOGGING_STDLOG_LIBS)
|
||||
+lmtcpclt_la_CPPFLAGS = $(PTHREADS_CFLAGS) $(RSRT_CFLAGS)
|
||||
+lmtcpclt_la_LDFLAGS = -module -avoid-version
|
||||
lmtcpclt_la_LIBADD =
|
||||
|
||||
+if ENABLE_LIBLOGGING_STDLOG
|
||||
+lmtcpclt_la_CPPFLAGS += $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
+lmtcpclt_la_LDFLAGS += $(LIBLOGGING_STDLOG_LIBS)
|
||||
+endif
|
||||
+
|
||||
|
||||
#
|
||||
# support library for Guardtime KSI-LS12
|
||||
--- a/tools/Makefile.am
|
||||
+++ b/tools/Makefile.am
|
||||
@@ -37,7 +37,14 @@ rsyslogd_SOURCES = \
|
||||
iminternal.h \
|
||||
\
|
||||
../dirty.h
|
||||
-rsyslogd_CPPFLAGS = $(PTHREADS_CFLAGS) $(RSRT_CFLAGS) $(LIBLOGGING_STDLOG_CFLAGS) -DSD_EXPORT_SYMBOLS
|
||||
+rsyslogd_CPPFLAGS = $(PTHREADS_CFLAGS) $(RSRT_CFLAGS)
|
||||
+
|
||||
+if ENABLE_LIBLOGGING_STDLOG
|
||||
+rsyslogd_CPPFLAGS += $(LIBLOGGING_STDLOG_CFLAGS)
|
||||
+endif
|
||||
+
|
||||
+rsyslogd_CPPFLAGS += -DSD_EXPORT_SYMBOLS
|
||||
+
|
||||
# note: it looks like librsyslog.la must be explicitely given on LDDADD,
|
||||
# otherwise dependencies are not properly calculated (resulting in a
|
||||
# potentially incomplete build, a problem we had several times...)
|
@ -1,13 +0,0 @@
|
||||
https://github.com/rsyslog/rsyslog/issues/3346
|
||||
|
||||
--- a/tools/omusrmsg.c
|
||||
+++ b/tools/omusrmsg.c
|
||||
@@ -261,7 +261,7 @@ static rsRetVal wallmsg(uchar* pMsg, instanceData *pData)
|
||||
|
||||
/* compute the device name */
|
||||
strcpy(p, _PATH_DEV);
|
||||
- memcpy(p, ut.ut_line, UNAMESZ);
|
||||
+ strncat(p, ut.ut_line, UNAMESZ);
|
||||
|
||||
/* we must be careful when writing to the terminal. A terminal may block
|
||||
* (for example, a user has pressed <ctl>-s). In that case, we can not
|
@ -1,457 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
|
||||
|
||||
inherit autotools eutils linux-info python-any-r1 systemd
|
||||
|
||||
DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
|
||||
HOMEPAGE="https://www.rsyslog.com/"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/rsyslog/${PN}.git"
|
||||
|
||||
DOC_REPO_URI="https://github.com/rsyslog/${PN}-doc.git"
|
||||
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="amd64 arm ~arm64 hppa x86"
|
||||
|
||||
SRC_URI="
|
||||
https://www.rsyslog.com/files/download/${PN}/${P}.tar.gz
|
||||
doc? ( https://www.rsyslog.com/files/download/${PN}/${PN}-doc-${PV}.tar.gz )
|
||||
"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3 LGPL-3 Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="curl dbi debug doc elasticsearch +gcrypt gnutls jemalloc kafka kerberos kubernetes libressl mdblookup"
|
||||
IUSE+=" mongodb mysql normalize clickhouse omhttp omhttpfs omudpspoof openssl postgres"
|
||||
IUSE+=" rabbitmq redis relp rfc3195 rfc5424hmac snmp ssl systemd test usertools +uuid xxhash zeromq"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libfastjson-0.99.8:=
|
||||
>=dev-libs/libestr-0.1.9
|
||||
>=sys-libs/zlib-1.2.5
|
||||
curl? ( >=net-misc/curl-7.35.0 )
|
||||
dbi? ( >=dev-db/libdbi-0.8.3 )
|
||||
elasticsearch? ( >=net-misc/curl-7.35.0 )
|
||||
gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
|
||||
jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
|
||||
kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
kubernetes? ( >=net-misc/curl-7.35.0 )
|
||||
mdblookup? ( dev-libs/libmaxminddb:= )
|
||||
mongodb? ( >=dev-libs/mongo-c-driver-1.1.10:= )
|
||||
mysql? ( virtual/libmysqlclient:= )
|
||||
normalize? (
|
||||
>=dev-libs/libee-0.4.0
|
||||
>=dev-libs/liblognorm-2.0.3:=
|
||||
)
|
||||
clickhouse? ( >=net-misc/curl-7.35.0 )
|
||||
omhttpfs? ( >=net-misc/curl-7.35.0 )
|
||||
omudpspoof? ( >=net-libs/libnet-1.1.6 )
|
||||
postgres? ( >=dev-db/postgresql-8.4.20:= )
|
||||
rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= )
|
||||
redis? ( >=dev-libs/hiredis-0.11.0:= )
|
||||
relp? ( >=dev-libs/librelp-1.2.17:= )
|
||||
rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] )
|
||||
rfc5424hmac? (
|
||||
!libressl? ( >=dev-libs/openssl-0.9.8y:0= )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
)
|
||||
snmp? ( >=net-analyzer/net-snmp-5.7.2 )
|
||||
ssl? (
|
||||
gnutls? ( >=net-libs/gnutls-2.12.23:0= )
|
||||
openssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
)
|
||||
systemd? ( >=sys-apps/systemd-234 )
|
||||
uuid? ( sys-apps/util-linux:0= )
|
||||
xxhash? ( dev-libs/xxhash:= )
|
||||
zeromq? (
|
||||
>=net-libs/czmq-3.0.2
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-devel/autoconf-archive-2015.02.24
|
||||
virtual/pkgconfig
|
||||
elibc_musl? ( sys-libs/queue-standalone )
|
||||
test? (
|
||||
>=dev-libs/liblogging-1.0.1[stdlog]
|
||||
jemalloc? ( <sys-libs/libfaketime-0.9.7 )
|
||||
!jemalloc? ( sys-libs/libfaketime )
|
||||
${PYTHON_DEPS}
|
||||
)"
|
||||
|
||||
REQUIRED_USE="
|
||||
kubernetes? ( normalize )
|
||||
ssl? ( || ( gnutls openssl ) )
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
DEPEND+=" doc? ( >=dev-python/sphinx-1.1.3-r7 )"
|
||||
DEPEND+=" >=sys-devel/flex-2.5.39-r1"
|
||||
DEPEND+=" >=sys-devel/bison-2.4.3"
|
||||
DEPEND+=" >=dev-python/docutils-0.12"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK="~INOTIFY_USER"
|
||||
WARNING_INOTIFY_USER="CONFIG_INOTIFY_USER isn't set. Imfile module on this system will only support polling mode!"
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
git-r3_fetch
|
||||
git-r3_checkout
|
||||
else
|
||||
unpack ${P}.tar.gz
|
||||
fi
|
||||
|
||||
if use doc; then
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
local _EGIT_BRANCH=
|
||||
if [[ -n "${EGIT_BRANCH}" ]]; then
|
||||
# Cannot use rsyslog commits/branches for documentation repository
|
||||
_EGIT_BRANCH=${EGIT_BRANCH}
|
||||
unset EGIT_BRANCH
|
||||
fi
|
||||
|
||||
git-r3_fetch "${DOC_REPO_URI}"
|
||||
git-r3_checkout "${DOC_REPO_URI}" "${S}"/docs
|
||||
|
||||
if [[ -n "${_EGIT_BRANCH}" ]]; then
|
||||
# Restore previous EGIT_BRANCH information
|
||||
EGIT_BRANCH=${_EGIT_BRANCH}
|
||||
fi
|
||||
else
|
||||
cd "${S}" || die "Cannot change dir into '${S}'"
|
||||
mkdir docs || die "Failed to create docs directory"
|
||||
cd docs || die "Failed to change dir into '${S}/docs'"
|
||||
unpack ${PN}-doc-${PV}.tar.gz
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Maintainer notes:
|
||||
# * Guardtime support is missing because libgt isn't yet available
|
||||
# in portage.
|
||||
# * Hadoop's HDFS file system output module is currently not
|
||||
# supported in Gentoo because nobody is able to test it
|
||||
# (JAVA dependency).
|
||||
# * dev-libs/hiredis doesn't provide pkg-config (see #504614,
|
||||
# upstream PR 129 and 136) so we need to export HIREDIS_*
|
||||
# variables because rsyslog's build system depends on pkg-config.
|
||||
|
||||
if use redis; then
|
||||
export HIREDIS_LIBS="-L${EPREFIX}/usr/$(get_libdir) -lhiredis"
|
||||
export HIREDIS_CFLAGS="-I${EPREFIX}/usr/include"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-debug-symbols
|
||||
--disable-generate-man-pages
|
||||
--without-valgrind-testbench
|
||||
--disable-liblogging-stdlog
|
||||
$(use_enable test testbench)
|
||||
$(use_enable test libfaketime)
|
||||
$(use_enable test extended-tests)
|
||||
# Input Plugins without depedencies
|
||||
--enable-imdiag
|
||||
--enable-imfile
|
||||
--enable-impstats
|
||||
--enable-imptcp
|
||||
# Message Modificiation Plugins without depedencies
|
||||
--enable-mmanon
|
||||
--enable-mmaudit
|
||||
--enable-mmcount
|
||||
--enable-mmfields
|
||||
--enable-mmjsonparse
|
||||
--enable-mmpstrucdata
|
||||
--enable-mmrm1stspace
|
||||
--enable-mmsequence
|
||||
--enable-mmutf8fix
|
||||
# Output Modification Plugins without dependencies
|
||||
--enable-mail
|
||||
--enable-omprog
|
||||
--enable-omruleset
|
||||
--enable-omstdout
|
||||
--enable-omuxsock
|
||||
# Misc
|
||||
--enable-fmhash
|
||||
$(use_enable xxhash fmhash-xxhash)
|
||||
--enable-pmaixforwardedfrom
|
||||
--enable-pmciscoios
|
||||
--enable-pmcisconames
|
||||
--enable-pmlastmsg
|
||||
$(use_enable normalize pmnormalize)
|
||||
--enable-pmnull
|
||||
--enable-pmpanngfw
|
||||
--enable-pmsnare
|
||||
# DB
|
||||
$(use_enable dbi libdbi)
|
||||
$(use_enable mongodb ommongodb)
|
||||
$(use_enable mysql)
|
||||
$(use_enable postgres pgsql)
|
||||
$(use_enable redis omhiredis)
|
||||
# Debug
|
||||
$(use_enable debug)
|
||||
$(use_enable debug diagtools)
|
||||
$(use_enable debug valgrind)
|
||||
# Misc
|
||||
$(use_enable clickhouse)
|
||||
$(use_enable curl fmhttp)
|
||||
$(use_enable elasticsearch)
|
||||
$(use_enable gcrypt libgcrypt)
|
||||
$(use_enable jemalloc)
|
||||
$(use_enable kafka imkafka)
|
||||
$(use_enable kafka omkafka)
|
||||
$(use_enable kerberos gssapi-krb5)
|
||||
$(use_enable kubernetes mmkubernetes)
|
||||
$(use_enable normalize mmnormalize)
|
||||
$(use_enable mdblookup mmdblookup)
|
||||
$(use_enable omhttp)
|
||||
$(use_enable omhttpfs)
|
||||
$(use_enable omudpspoof)
|
||||
$(use_enable rabbitmq omrabbitmq)
|
||||
$(use_enable relp)
|
||||
$(use_enable rfc3195)
|
||||
$(use_enable rfc5424hmac mmrfc5424addhmac)
|
||||
$(use_enable snmp)
|
||||
$(use_enable snmp mmsnmptrapd)
|
||||
$(use_enable gnutls)
|
||||
$(use_enable openssl)
|
||||
$(use_enable systemd imjournal)
|
||||
$(use_enable systemd omjournal)
|
||||
$(use_enable usertools)
|
||||
$(use_enable uuid)
|
||||
$(use_enable zeromq imczmq)
|
||||
$(use_enable zeromq omczmq)
|
||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
if use doc && [[ "${PV}" == "9999" ]]; then
|
||||
einfo "Building documentation ..."
|
||||
local doc_dir="${S}/docs"
|
||||
cd "${doc_dir}" || die "Cannot chdir into \"${doc_dir}\"!"
|
||||
sphinx-build -b html source build || die "Building documentation failed!"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local _has_increased_ulimit=
|
||||
|
||||
# Sometimes tests aren't executable (i.e. when added via patch)
|
||||
einfo "Adjusting permissions of test scripts ..."
|
||||
find "${S}"/tests -type f -name '*.sh' \! -perm -111 -exec chmod a+x '{}' \; || \
|
||||
die "Failed to adjust test scripts permission"
|
||||
|
||||
if ulimit -n 3072; then
|
||||
_has_increased_ulimit="true"
|
||||
fi
|
||||
|
||||
if ! emake --jobs 1 check; then
|
||||
eerror "Test suite failed! :("
|
||||
|
||||
if [[ -z "${_has_increased_ulimit}" ]]; then
|
||||
eerror "Probably because open file limit couldn't be set to 3072."
|
||||
fi
|
||||
|
||||
if has userpriv ${FEATURES}; then
|
||||
eerror "Please try to reproduce the test suite failure with FEATURES=-userpriv " \
|
||||
"before you submit a bug report."
|
||||
fi
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=(
|
||||
AUTHORS
|
||||
ChangeLog
|
||||
"${FILESDIR}"/README.gentoo
|
||||
)
|
||||
|
||||
use doc && local HTML_DOCS=( "${S}/docs/build/." )
|
||||
|
||||
default
|
||||
|
||||
newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
|
||||
newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
|
||||
|
||||
keepdir /var/empty/dev
|
||||
keepdir /var/spool/${PN}
|
||||
keepdir /etc/ssl/${PN}
|
||||
keepdir /etc/${PN}.d
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}/${PN}.conf" ${PN}.conf
|
||||
|
||||
insinto /etc/rsyslog.d/
|
||||
newins "${FILESDIR}/50-default-r1.conf" 50-default.conf
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${PN}-r1.logrotate" ${PN}
|
||||
|
||||
if use mysql; then
|
||||
insinto /usr/share/doc/${PF}/scripts/mysql
|
||||
doins plugins/ommysql/createDB.sql
|
||||
fi
|
||||
|
||||
if use postgres; then
|
||||
insinto /usr/share/doc/${PF}/scripts/pgsql
|
||||
doins plugins/ompgsql/createDB.sql
|
||||
fi
|
||||
|
||||
prune_libtool_files --modules
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local advertise_readme=0
|
||||
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
# This is a new installation
|
||||
|
||||
advertise_readme=1
|
||||
|
||||
if use mysql || use postgres; then
|
||||
echo
|
||||
elog "Sample SQL scripts for MySQL & PostgreSQL have been installed to:"
|
||||
elog " /usr/share/doc/${PF}/scripts"
|
||||
fi
|
||||
|
||||
if use ssl; then
|
||||
echo
|
||||
elog "To create a default CA and certificates for your server and clients, run:"
|
||||
elog " emerge --config =${PF}"
|
||||
elog "on your logging server. You can run it several times,"
|
||||
elog "once for each logging client. The client certificates will be signed"
|
||||
elog "using the CA certificate generated during the first run."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${advertise_readme} -gt 0 ]]; then
|
||||
# We need to show the README file location
|
||||
|
||||
echo ""
|
||||
elog "Please read"
|
||||
elog ""
|
||||
elog " ${EPREFIX}/usr/share/doc/${PF}/README.gentoo*"
|
||||
elog ""
|
||||
elog "for more details."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
if ! use ssl ; then
|
||||
einfo "There is nothing to configure for rsyslog unless you"
|
||||
einfo "used USE=ssl to build it."
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Make sure the certificates directory exists
|
||||
local CERTDIR="${EROOT}/etc/ssl/${PN}"
|
||||
if [[ ! -d "${CERTDIR}" ]]; then
|
||||
mkdir "${CERTDIR}" || die
|
||||
fi
|
||||
einfo "Your certificates will be stored in ${CERTDIR}"
|
||||
|
||||
# Create a default CA if needed
|
||||
if [[ ! -f "${CERTDIR}/${PN}_ca.cert.pem" ]]; then
|
||||
einfo "No CA key and certificate found in ${CERTDIR}, creating them for you..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_ca.privkey.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = Portage automated CA
|
||||
ca
|
||||
cert_signing_key
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-self-signed \
|
||||
--load-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--outfile "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
|
||||
|
||||
# Create the server certificate
|
||||
echo
|
||||
einfon "Please type the Common Name of the SERVER you wish to create a certificate for: "
|
||||
read -r CN
|
||||
|
||||
einfo "Creating private key and certificate for server ${CN}..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = ${CN}
|
||||
tls_www_server
|
||||
dns_name = ${CN}
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-certificate \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
|
||||
--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
|
||||
--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
|
||||
|
||||
else
|
||||
einfo "Found existing ${CERTDIR}/${PN}_ca.cert.pem, skipping CA and SERVER creation."
|
||||
fi
|
||||
|
||||
# Create a client certificate
|
||||
echo
|
||||
einfon "Please type the Common Name of the CLIENT you wish to create a certificate for: "
|
||||
read -r CN
|
||||
|
||||
einfo "Creating private key and certificate for client ${CN}..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = ${CN}
|
||||
tls_www_client
|
||||
dns_name = ${CN}
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-certificate \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
|
||||
--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
|
||||
--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
|
||||
|
||||
rm -f "${T}/${PF}.$$"
|
||||
|
||||
echo
|
||||
einfo "Here is the documentation on how to encrypt your log traffic:"
|
||||
einfo " https://www.rsyslog.com/doc/rsyslog_tls.html"
|
||||
}
|
@ -1,463 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
|
||||
|
||||
inherit autotools eutils linux-info python-any-r1 systemd
|
||||
|
||||
DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
|
||||
HOMEPAGE="https://www.rsyslog.com/"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/rsyslog/${PN}.git"
|
||||
|
||||
DOC_REPO_URI="https://github.com/rsyslog/${PN}-doc.git"
|
||||
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~x86"
|
||||
|
||||
SRC_URI="
|
||||
https://www.rsyslog.com/files/download/${PN}/${P}.tar.gz
|
||||
doc? ( https://www.rsyslog.com/files/download/${PN}/${PN}-doc-${PV}.tar.gz )
|
||||
"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3 LGPL-3 Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="curl dbi debug doc elasticsearch +gcrypt gnutls jemalloc kafka kerberos kubernetes libressl mdblookup"
|
||||
IUSE+=" mongodb mysql normalize clickhouse omhttp omhttpfs omudpspoof openssl postgres"
|
||||
IUSE+=" rabbitmq redis relp rfc3195 rfc5424hmac snmp ssl systemd test usertools +uuid xxhash zeromq"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libfastjson-0.99.8:=
|
||||
>=dev-libs/libestr-0.1.9
|
||||
>=sys-libs/zlib-1.2.5
|
||||
curl? ( >=net-misc/curl-7.35.0 )
|
||||
dbi? ( >=dev-db/libdbi-0.8.3 )
|
||||
elasticsearch? ( >=net-misc/curl-7.35.0 )
|
||||
gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
|
||||
jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
|
||||
kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
kubernetes? ( >=net-misc/curl-7.35.0 )
|
||||
mdblookup? ( dev-libs/libmaxminddb:= )
|
||||
mongodb? ( >=dev-libs/mongo-c-driver-1.1.10:= )
|
||||
mysql? ( virtual/libmysqlclient:= )
|
||||
normalize? (
|
||||
>=dev-libs/libee-0.4.0
|
||||
>=dev-libs/liblognorm-2.0.3:=
|
||||
)
|
||||
clickhouse? ( >=net-misc/curl-7.35.0 )
|
||||
omhttpfs? ( >=net-misc/curl-7.35.0 )
|
||||
omudpspoof? ( >=net-libs/libnet-1.1.6 )
|
||||
postgres? ( >=dev-db/postgresql-8.4.20:= )
|
||||
rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= )
|
||||
redis? ( >=dev-libs/hiredis-0.11.0:= )
|
||||
relp? ( >=dev-libs/librelp-1.2.17:= )
|
||||
rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] )
|
||||
rfc5424hmac? (
|
||||
!libressl? ( >=dev-libs/openssl-0.9.8y:0= )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
)
|
||||
snmp? ( >=net-analyzer/net-snmp-5.7.2 )
|
||||
ssl? (
|
||||
gnutls? ( >=net-libs/gnutls-2.12.23:0= )
|
||||
openssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
)
|
||||
systemd? ( >=sys-apps/systemd-234 )
|
||||
uuid? ( sys-apps/util-linux:0= )
|
||||
xxhash? ( dev-libs/xxhash:= )
|
||||
zeromq? (
|
||||
>=net-libs/czmq-3.0.2
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-devel/autoconf-archive-2015.02.24
|
||||
virtual/pkgconfig
|
||||
elibc_musl? ( sys-libs/queue-standalone )
|
||||
test? (
|
||||
>=dev-libs/liblogging-1.0.1[stdlog]
|
||||
jemalloc? ( <sys-libs/libfaketime-0.9.7 )
|
||||
!jemalloc? ( sys-libs/libfaketime )
|
||||
${PYTHON_DEPS}
|
||||
)"
|
||||
|
||||
REQUIRED_USE="
|
||||
kubernetes? ( normalize )
|
||||
ssl? ( || ( gnutls openssl ) )
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
DEPEND+=" doc? ( >=dev-python/sphinx-1.1.3-r7 )"
|
||||
DEPEND+=" >=sys-devel/flex-2.5.39-r1"
|
||||
DEPEND+=" >=sys-devel/bison-2.4.3"
|
||||
DEPEND+=" >=dev-python/docutils-0.12"
|
||||
fi
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-add-missing-tests.patch
|
||||
"${FILESDIR}"/${P}-add-py3-support-to-omhttp-test.patch
|
||||
"${FILESDIR}"/${P}-fix-py3-compatibility-in-diag.sh.patch
|
||||
)
|
||||
|
||||
CONFIG_CHECK="~INOTIFY_USER"
|
||||
WARNING_INOTIFY_USER="CONFIG_INOTIFY_USER isn't set. Imfile module on this system will only support polling mode!"
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
git-r3_fetch
|
||||
git-r3_checkout
|
||||
else
|
||||
unpack ${P}.tar.gz
|
||||
fi
|
||||
|
||||
if use doc; then
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
local _EGIT_BRANCH=
|
||||
if [[ -n "${EGIT_BRANCH}" ]]; then
|
||||
# Cannot use rsyslog commits/branches for documentation repository
|
||||
_EGIT_BRANCH=${EGIT_BRANCH}
|
||||
unset EGIT_BRANCH
|
||||
fi
|
||||
|
||||
git-r3_fetch "${DOC_REPO_URI}"
|
||||
git-r3_checkout "${DOC_REPO_URI}" "${S}"/docs
|
||||
|
||||
if [[ -n "${_EGIT_BRANCH}" ]]; then
|
||||
# Restore previous EGIT_BRANCH information
|
||||
EGIT_BRANCH=${_EGIT_BRANCH}
|
||||
fi
|
||||
else
|
||||
cd "${S}" || die "Cannot change dir into '${S}'"
|
||||
mkdir docs || die "Failed to create docs directory"
|
||||
cd docs || die "Failed to change dir into '${S}/docs'"
|
||||
unpack ${PN}-doc-${PV}.tar.gz
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Maintainer notes:
|
||||
# * Guardtime support is missing because libgt isn't yet available
|
||||
# in portage.
|
||||
# * Hadoop's HDFS file system output module is currently not
|
||||
# supported in Gentoo because nobody is able to test it
|
||||
# (JAVA dependency).
|
||||
# * dev-libs/hiredis doesn't provide pkg-config (see #504614,
|
||||
# upstream PR 129 and 136) so we need to export HIREDIS_*
|
||||
# variables because rsyslog's build system depends on pkg-config.
|
||||
|
||||
if use redis; then
|
||||
export HIREDIS_LIBS="-L${EPREFIX}/usr/$(get_libdir) -lhiredis"
|
||||
export HIREDIS_CFLAGS="-I${EPREFIX}/usr/include"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-debug-symbols
|
||||
--disable-generate-man-pages
|
||||
--without-valgrind-testbench
|
||||
--disable-liblogging-stdlog
|
||||
$(use_enable test testbench)
|
||||
$(use_enable test libfaketime)
|
||||
$(use_enable test extended-tests)
|
||||
# Input Plugins without depedencies
|
||||
--enable-imdiag
|
||||
--enable-imfile
|
||||
--enable-impstats
|
||||
--enable-imptcp
|
||||
# Message Modificiation Plugins without depedencies
|
||||
--enable-mmanon
|
||||
--enable-mmaudit
|
||||
--enable-mmcount
|
||||
--enable-mmfields
|
||||
--enable-mmjsonparse
|
||||
--enable-mmpstrucdata
|
||||
--enable-mmrm1stspace
|
||||
--enable-mmsequence
|
||||
--enable-mmutf8fix
|
||||
# Output Modification Plugins without dependencies
|
||||
--enable-mail
|
||||
--enable-omprog
|
||||
--enable-omruleset
|
||||
--enable-omstdout
|
||||
--enable-omuxsock
|
||||
# Misc
|
||||
--enable-fmhash
|
||||
$(use_enable xxhash fmhash-xxhash)
|
||||
--enable-pmaixforwardedfrom
|
||||
--enable-pmciscoios
|
||||
--enable-pmcisconames
|
||||
--enable-pmlastmsg
|
||||
$(use_enable normalize pmnormalize)
|
||||
--enable-pmnull
|
||||
--enable-pmpanngfw
|
||||
--enable-pmsnare
|
||||
# DB
|
||||
$(use_enable dbi libdbi)
|
||||
$(use_enable mongodb ommongodb)
|
||||
$(use_enable mysql)
|
||||
$(use_enable postgres pgsql)
|
||||
$(use_enable redis omhiredis)
|
||||
# Debug
|
||||
$(use_enable debug)
|
||||
$(use_enable debug diagtools)
|
||||
$(use_enable debug valgrind)
|
||||
# Misc
|
||||
$(use_enable clickhouse)
|
||||
$(use_enable curl fmhttp)
|
||||
$(use_enable elasticsearch)
|
||||
$(use_enable gcrypt libgcrypt)
|
||||
$(use_enable jemalloc)
|
||||
$(use_enable kafka imkafka)
|
||||
$(use_enable kafka omkafka)
|
||||
$(use_enable kerberos gssapi-krb5)
|
||||
$(use_enable kubernetes mmkubernetes)
|
||||
$(use_enable normalize mmnormalize)
|
||||
$(use_enable mdblookup mmdblookup)
|
||||
$(use_enable omhttp)
|
||||
$(use_enable omhttpfs)
|
||||
$(use_enable omudpspoof)
|
||||
$(use_enable rabbitmq omrabbitmq)
|
||||
$(use_enable relp)
|
||||
$(use_enable rfc3195)
|
||||
$(use_enable rfc5424hmac mmrfc5424addhmac)
|
||||
$(use_enable snmp)
|
||||
$(use_enable snmp mmsnmptrapd)
|
||||
$(use_enable gnutls)
|
||||
$(use_enable openssl)
|
||||
$(use_enable systemd imjournal)
|
||||
$(use_enable systemd omjournal)
|
||||
$(use_enable usertools)
|
||||
$(use_enable uuid)
|
||||
$(use_enable zeromq imczmq)
|
||||
$(use_enable zeromq omczmq)
|
||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
if use doc && [[ "${PV}" == "9999" ]]; then
|
||||
einfo "Building documentation ..."
|
||||
local doc_dir="${S}/docs"
|
||||
cd "${doc_dir}" || die "Cannot chdir into \"${doc_dir}\"!"
|
||||
sphinx-build -b html source build || die "Building documentation failed!"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local _has_increased_ulimit=
|
||||
|
||||
# Sometimes tests aren't executable (i.e. when added via patch)
|
||||
einfo "Adjusting permissions of test scripts ..."
|
||||
find "${S}"/tests -type f -name '*.sh' \! -perm -111 -exec chmod a+x '{}' \; || \
|
||||
die "Failed to adjust test scripts permission"
|
||||
|
||||
if ulimit -n 3072; then
|
||||
_has_increased_ulimit="true"
|
||||
fi
|
||||
|
||||
if ! emake --jobs 1 check; then
|
||||
eerror "Test suite failed! :("
|
||||
|
||||
if [[ -z "${_has_increased_ulimit}" ]]; then
|
||||
eerror "Probably because open file limit couldn't be set to 3072."
|
||||
fi
|
||||
|
||||
if has userpriv ${FEATURES}; then
|
||||
eerror "Please try to reproduce the test suite failure with FEATURES=-userpriv " \
|
||||
"before you submit a bug report."
|
||||
fi
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=(
|
||||
AUTHORS
|
||||
ChangeLog
|
||||
"${FILESDIR}"/README.gentoo
|
||||
)
|
||||
|
||||
use doc && local HTML_DOCS=( "${S}/docs/build/." )
|
||||
|
||||
default
|
||||
|
||||
newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
|
||||
newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
|
||||
|
||||
keepdir /var/empty/dev
|
||||
keepdir /var/spool/${PN}
|
||||
keepdir /etc/ssl/${PN}
|
||||
keepdir /etc/${PN}.d
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}/${PN}.conf" ${PN}.conf
|
||||
|
||||
insinto /etc/rsyslog.d/
|
||||
newins "${FILESDIR}/50-default-r1.conf" 50-default.conf
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${PN}-r1.logrotate" ${PN}
|
||||
|
||||
if use mysql; then
|
||||
insinto /usr/share/doc/${PF}/scripts/mysql
|
||||
doins plugins/ommysql/createDB.sql
|
||||
fi
|
||||
|
||||
if use postgres; then
|
||||
insinto /usr/share/doc/${PF}/scripts/pgsql
|
||||
doins plugins/ompgsql/createDB.sql
|
||||
fi
|
||||
|
||||
prune_libtool_files --modules
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local advertise_readme=0
|
||||
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
# This is a new installation
|
||||
|
||||
advertise_readme=1
|
||||
|
||||
if use mysql || use postgres; then
|
||||
echo
|
||||
elog "Sample SQL scripts for MySQL & PostgreSQL have been installed to:"
|
||||
elog " /usr/share/doc/${PF}/scripts"
|
||||
fi
|
||||
|
||||
if use ssl; then
|
||||
echo
|
||||
elog "To create a default CA and certificates for your server and clients, run:"
|
||||
elog " emerge --config =${PF}"
|
||||
elog "on your logging server. You can run it several times,"
|
||||
elog "once for each logging client. The client certificates will be signed"
|
||||
elog "using the CA certificate generated during the first run."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${advertise_readme} -gt 0 ]]; then
|
||||
# We need to show the README file location
|
||||
|
||||
echo ""
|
||||
elog "Please read"
|
||||
elog ""
|
||||
elog " ${EPREFIX}/usr/share/doc/${PF}/README.gentoo*"
|
||||
elog ""
|
||||
elog "for more details."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
if ! use ssl ; then
|
||||
einfo "There is nothing to configure for rsyslog unless you"
|
||||
einfo "used USE=ssl to build it."
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Make sure the certificates directory exists
|
||||
local CERTDIR="${EROOT}/etc/ssl/${PN}"
|
||||
if [[ ! -d "${CERTDIR}" ]]; then
|
||||
mkdir "${CERTDIR}" || die
|
||||
fi
|
||||
einfo "Your certificates will be stored in ${CERTDIR}"
|
||||
|
||||
# Create a default CA if needed
|
||||
if [[ ! -f "${CERTDIR}/${PN}_ca.cert.pem" ]]; then
|
||||
einfo "No CA key and certificate found in ${CERTDIR}, creating them for you..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_ca.privkey.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = Portage automated CA
|
||||
ca
|
||||
cert_signing_key
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-self-signed \
|
||||
--load-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--outfile "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
|
||||
|
||||
# Create the server certificate
|
||||
echo
|
||||
einfon "Please type the Common Name of the SERVER you wish to create a certificate for: "
|
||||
read -r CN
|
||||
|
||||
einfo "Creating private key and certificate for server ${CN}..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = ${CN}
|
||||
tls_www_server
|
||||
dns_name = ${CN}
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-certificate \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
|
||||
--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
|
||||
--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
|
||||
|
||||
else
|
||||
einfo "Found existing ${CERTDIR}/${PN}_ca.cert.pem, skipping CA and SERVER creation."
|
||||
fi
|
||||
|
||||
# Create a client certificate
|
||||
echo
|
||||
einfon "Please type the Common Name of the CLIENT you wish to create a certificate for: "
|
||||
read -r CN
|
||||
|
||||
einfo "Creating private key and certificate for client ${CN}..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = ${CN}
|
||||
tls_www_client
|
||||
dns_name = ${CN}
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-certificate \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
|
||||
--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
|
||||
--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
|
||||
|
||||
rm -f "${T}/${PF}.$$"
|
||||
|
||||
echo
|
||||
einfo "Here is the documentation on how to encrypt your log traffic:"
|
||||
einfo " https://www.rsyslog.com/doc/rsyslog_tls.html"
|
||||
}
|
@ -1,463 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
|
||||
|
||||
inherit autotools eutils linux-info python-any-r1 systemd
|
||||
|
||||
DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
|
||||
HOMEPAGE="https://www.rsyslog.com/"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/rsyslog/${PN}.git"
|
||||
|
||||
DOC_REPO_URI="https://github.com/rsyslog/${PN}-doc.git"
|
||||
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~x86"
|
||||
|
||||
SRC_URI="
|
||||
https://www.rsyslog.com/files/download/${PN}/${P}.tar.gz
|
||||
doc? ( https://www.rsyslog.com/files/download/${PN}/${PN}-doc-${PV}.tar.gz )
|
||||
"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3 LGPL-3 Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="curl dbi debug doc elasticsearch +gcrypt gnutls jemalloc kafka kerberos kubernetes libressl mdblookup"
|
||||
IUSE+=" mongodb mysql normalize clickhouse omhttp omhttpfs omudpspoof openssl postgres"
|
||||
IUSE+=" rabbitmq redis relp rfc3195 rfc5424hmac snmp ssl systemd test usertools +uuid xxhash zeromq"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libfastjson-0.99.8:=
|
||||
>=dev-libs/libestr-0.1.9
|
||||
>=sys-libs/zlib-1.2.5
|
||||
curl? ( >=net-misc/curl-7.35.0 )
|
||||
dbi? ( >=dev-db/libdbi-0.8.3 )
|
||||
elasticsearch? ( >=net-misc/curl-7.35.0 )
|
||||
gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
|
||||
jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
|
||||
kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
kubernetes? ( >=net-misc/curl-7.35.0 )
|
||||
mdblookup? ( dev-libs/libmaxminddb:= )
|
||||
mongodb? ( >=dev-libs/mongo-c-driver-1.1.10:= )
|
||||
mysql? ( virtual/libmysqlclient:= )
|
||||
normalize? (
|
||||
>=dev-libs/libee-0.4.0
|
||||
>=dev-libs/liblognorm-2.0.3:=
|
||||
)
|
||||
clickhouse? ( >=net-misc/curl-7.35.0 )
|
||||
omhttpfs? ( >=net-misc/curl-7.35.0 )
|
||||
omudpspoof? ( >=net-libs/libnet-1.1.6 )
|
||||
postgres? ( >=dev-db/postgresql-8.4.20:= )
|
||||
rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= )
|
||||
redis? ( >=dev-libs/hiredis-0.11.0:= )
|
||||
relp? ( >=dev-libs/librelp-1.2.17:= )
|
||||
rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] )
|
||||
rfc5424hmac? (
|
||||
!libressl? ( >=dev-libs/openssl-0.9.8y:0= )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
)
|
||||
snmp? ( >=net-analyzer/net-snmp-5.7.2 )
|
||||
ssl? (
|
||||
gnutls? ( >=net-libs/gnutls-2.12.23:0= )
|
||||
openssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
)
|
||||
systemd? ( >=sys-apps/systemd-234 )
|
||||
uuid? ( sys-apps/util-linux:0= )
|
||||
xxhash? ( dev-libs/xxhash:= )
|
||||
zeromq? (
|
||||
>=net-libs/czmq-3.0.2
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-devel/autoconf-archive-2015.02.24
|
||||
virtual/pkgconfig
|
||||
elibc_musl? ( sys-libs/queue-standalone )
|
||||
test? (
|
||||
>=dev-libs/liblogging-1.0.1[stdlog]
|
||||
jemalloc? ( <sys-libs/libfaketime-0.9.7 )
|
||||
!jemalloc? ( sys-libs/libfaketime )
|
||||
${PYTHON_DEPS}
|
||||
)"
|
||||
|
||||
REQUIRED_USE="
|
||||
kubernetes? ( normalize )
|
||||
ssl? ( || ( gnutls openssl ) )
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
DEPEND+=" doc? ( >=dev-python/sphinx-1.1.3-r7 )"
|
||||
DEPEND+=" >=sys-devel/flex-2.5.39-r1"
|
||||
DEPEND+=" >=sys-devel/bison-2.4.3"
|
||||
DEPEND+=" >=dev-python/docutils-0.12"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK="~INOTIFY_USER"
|
||||
WARNING_INOTIFY_USER="CONFIG_INOTIFY_USER isn't set. Imfile module on this system will only support polling mode!"
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
git-r3_fetch
|
||||
git-r3_checkout
|
||||
else
|
||||
unpack ${P}.tar.gz
|
||||
fi
|
||||
|
||||
if use doc; then
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
local _EGIT_BRANCH=
|
||||
if [[ -n "${EGIT_BRANCH}" ]]; then
|
||||
# Cannot use rsyslog commits/branches for documentation repository
|
||||
_EGIT_BRANCH=${EGIT_BRANCH}
|
||||
unset EGIT_BRANCH
|
||||
fi
|
||||
|
||||
git-r3_fetch "${DOC_REPO_URI}"
|
||||
git-r3_checkout "${DOC_REPO_URI}" "${S}"/docs
|
||||
|
||||
if [[ -n "${_EGIT_BRANCH}" ]]; then
|
||||
# Restore previous EGIT_BRANCH information
|
||||
EGIT_BRANCH=${_EGIT_BRANCH}
|
||||
fi
|
||||
else
|
||||
cd "${S}" || die "Cannot change dir into '${S}'"
|
||||
mkdir docs || die "Failed to create docs directory"
|
||||
cd docs || die "Failed to change dir into '${S}/docs'"
|
||||
unpack ${PN}-doc-${PV}.tar.gz
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# https://github.com/rsyslog/rsyslog/issues/3626
|
||||
sed -i \
|
||||
-e '\|^#!/bin/bash$|a exit 77' \
|
||||
tests/mmkubernetes-cache-expir*.sh \
|
||||
|| die "Failed to disabled known test failure mmkubernetes-cache-expir*.sh"
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Maintainer notes:
|
||||
# * Guardtime support is missing because libgt isn't yet available
|
||||
# in portage.
|
||||
# * Hadoop's HDFS file system output module is currently not
|
||||
# supported in Gentoo because nobody is able to test it
|
||||
# (JAVA dependency).
|
||||
# * dev-libs/hiredis doesn't provide pkg-config (see #504614,
|
||||
# upstream PR 129 and 136) so we need to export HIREDIS_*
|
||||
# variables because rsyslog's build system depends on pkg-config.
|
||||
|
||||
if use redis; then
|
||||
export HIREDIS_LIBS="-L${EPREFIX}/usr/$(get_libdir) -lhiredis"
|
||||
export HIREDIS_CFLAGS="-I${EPREFIX}/usr/include"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-debug-symbols
|
||||
--disable-generate-man-pages
|
||||
--without-valgrind-testbench
|
||||
--disable-liblogging-stdlog
|
||||
$(use_enable test testbench)
|
||||
$(use_enable test libfaketime)
|
||||
$(use_enable test extended-tests)
|
||||
# Input Plugins without depedencies
|
||||
--enable-imdiag
|
||||
--enable-imfile
|
||||
--enable-impstats
|
||||
--enable-imptcp
|
||||
# Message Modificiation Plugins without depedencies
|
||||
--enable-mmanon
|
||||
--enable-mmaudit
|
||||
--enable-mmcount
|
||||
--enable-mmfields
|
||||
--enable-mmjsonparse
|
||||
--enable-mmpstrucdata
|
||||
--enable-mmrm1stspace
|
||||
--enable-mmsequence
|
||||
--enable-mmutf8fix
|
||||
# Output Modification Plugins without dependencies
|
||||
--enable-mail
|
||||
--enable-omprog
|
||||
--enable-omruleset
|
||||
--enable-omstdout
|
||||
--enable-omuxsock
|
||||
# Misc
|
||||
--enable-fmhash
|
||||
$(use_enable xxhash fmhash-xxhash)
|
||||
--enable-pmaixforwardedfrom
|
||||
--enable-pmciscoios
|
||||
--enable-pmcisconames
|
||||
--enable-pmlastmsg
|
||||
$(use_enable normalize pmnormalize)
|
||||
--enable-pmnull
|
||||
--enable-pmpanngfw
|
||||
--enable-pmsnare
|
||||
# DB
|
||||
$(use_enable dbi libdbi)
|
||||
$(use_enable mongodb ommongodb)
|
||||
$(use_enable mysql)
|
||||
$(use_enable postgres pgsql)
|
||||
$(use_enable redis omhiredis)
|
||||
# Debug
|
||||
$(use_enable debug)
|
||||
$(use_enable debug diagtools)
|
||||
$(use_enable debug valgrind)
|
||||
# Misc
|
||||
$(use_enable clickhouse)
|
||||
$(use_enable curl fmhttp)
|
||||
$(use_enable elasticsearch)
|
||||
$(use_enable gcrypt libgcrypt)
|
||||
$(use_enable jemalloc)
|
||||
$(use_enable kafka imkafka)
|
||||
$(use_enable kafka omkafka)
|
||||
$(use_enable kerberos gssapi-krb5)
|
||||
$(use_enable kubernetes mmkubernetes)
|
||||
$(use_enable normalize mmnormalize)
|
||||
$(use_enable mdblookup mmdblookup)
|
||||
$(use_enable omhttp)
|
||||
$(use_enable omhttpfs)
|
||||
$(use_enable omudpspoof)
|
||||
$(use_enable rabbitmq omrabbitmq)
|
||||
$(use_enable relp)
|
||||
$(use_enable rfc3195)
|
||||
$(use_enable rfc5424hmac mmrfc5424addhmac)
|
||||
$(use_enable snmp)
|
||||
$(use_enable snmp mmsnmptrapd)
|
||||
$(use_enable gnutls)
|
||||
$(use_enable openssl)
|
||||
$(use_enable systemd imjournal)
|
||||
$(use_enable systemd omjournal)
|
||||
$(use_enable usertools)
|
||||
$(use_enable uuid)
|
||||
$(use_enable zeromq imczmq)
|
||||
$(use_enable zeromq omczmq)
|
||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
if use doc && [[ "${PV}" == "9999" ]]; then
|
||||
einfo "Building documentation ..."
|
||||
local doc_dir="${S}/docs"
|
||||
cd "${doc_dir}" || die "Cannot chdir into \"${doc_dir}\"!"
|
||||
sphinx-build -b html source build || die "Building documentation failed!"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local _has_increased_ulimit=
|
||||
|
||||
# Sometimes tests aren't executable (i.e. when added via patch)
|
||||
einfo "Adjusting permissions of test scripts ..."
|
||||
find "${S}"/tests -type f -name '*.sh' \! -perm -111 -exec chmod a+x '{}' \; || \
|
||||
die "Failed to adjust test scripts permission"
|
||||
|
||||
if ulimit -n 3072; then
|
||||
_has_increased_ulimit="true"
|
||||
fi
|
||||
|
||||
if ! emake --jobs 1 check; then
|
||||
eerror "Test suite failed! :("
|
||||
|
||||
if [[ -z "${_has_increased_ulimit}" ]]; then
|
||||
eerror "Probably because open file limit couldn't be set to 3072."
|
||||
fi
|
||||
|
||||
if has userpriv ${FEATURES}; then
|
||||
eerror "Please try to reproduce the test suite failure with FEATURES=-userpriv " \
|
||||
"before you submit a bug report."
|
||||
fi
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=(
|
||||
AUTHORS
|
||||
ChangeLog
|
||||
"${FILESDIR}"/README.gentoo
|
||||
)
|
||||
|
||||
use doc && local HTML_DOCS=( "${S}/docs/build/." )
|
||||
|
||||
default
|
||||
|
||||
newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
|
||||
newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
|
||||
|
||||
keepdir /var/empty/dev
|
||||
keepdir /var/spool/${PN}
|
||||
keepdir /etc/ssl/${PN}
|
||||
keepdir /etc/${PN}.d
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}/${PN}.conf" ${PN}.conf
|
||||
|
||||
insinto /etc/rsyslog.d/
|
||||
newins "${FILESDIR}/50-default-r1.conf" 50-default.conf
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${PN}-r1.logrotate" ${PN}
|
||||
|
||||
if use mysql; then
|
||||
insinto /usr/share/doc/${PF}/scripts/mysql
|
||||
doins plugins/ommysql/createDB.sql
|
||||
fi
|
||||
|
||||
if use postgres; then
|
||||
insinto /usr/share/doc/${PF}/scripts/pgsql
|
||||
doins plugins/ompgsql/createDB.sql
|
||||
fi
|
||||
|
||||
prune_libtool_files --modules
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local advertise_readme=0
|
||||
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
# This is a new installation
|
||||
|
||||
advertise_readme=1
|
||||
|
||||
if use mysql || use postgres; then
|
||||
echo
|
||||
elog "Sample SQL scripts for MySQL & PostgreSQL have been installed to:"
|
||||
elog " /usr/share/doc/${PF}/scripts"
|
||||
fi
|
||||
|
||||
if use ssl; then
|
||||
echo
|
||||
elog "To create a default CA and certificates for your server and clients, run:"
|
||||
elog " emerge --config =${PF}"
|
||||
elog "on your logging server. You can run it several times,"
|
||||
elog "once for each logging client. The client certificates will be signed"
|
||||
elog "using the CA certificate generated during the first run."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${advertise_readme} -gt 0 ]]; then
|
||||
# We need to show the README file location
|
||||
|
||||
echo ""
|
||||
elog "Please read"
|
||||
elog ""
|
||||
elog " ${EPREFIX}/usr/share/doc/${PF}/README.gentoo*"
|
||||
elog ""
|
||||
elog "for more details."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
if ! use ssl ; then
|
||||
einfo "There is nothing to configure for rsyslog unless you"
|
||||
einfo "used USE=ssl to build it."
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Make sure the certificates directory exists
|
||||
local CERTDIR="${EROOT}/etc/ssl/${PN}"
|
||||
if [[ ! -d "${CERTDIR}" ]]; then
|
||||
mkdir "${CERTDIR}" || die
|
||||
fi
|
||||
einfo "Your certificates will be stored in ${CERTDIR}"
|
||||
|
||||
# Create a default CA if needed
|
||||
if [[ ! -f "${CERTDIR}/${PN}_ca.cert.pem" ]]; then
|
||||
einfo "No CA key and certificate found in ${CERTDIR}, creating them for you..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_ca.privkey.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = Portage automated CA
|
||||
ca
|
||||
cert_signing_key
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-self-signed \
|
||||
--load-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--outfile "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
|
||||
|
||||
# Create the server certificate
|
||||
echo
|
||||
einfon "Please type the Common Name of the SERVER you wish to create a certificate for: "
|
||||
read -r CN
|
||||
|
||||
einfo "Creating private key and certificate for server ${CN}..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = ${CN}
|
||||
tls_www_server
|
||||
dns_name = ${CN}
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-certificate \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
|
||||
--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
|
||||
--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
|
||||
|
||||
else
|
||||
einfo "Found existing ${CERTDIR}/${PN}_ca.cert.pem, skipping CA and SERVER creation."
|
||||
fi
|
||||
|
||||
# Create a client certificate
|
||||
echo
|
||||
einfon "Please type the Common Name of the CLIENT you wish to create a certificate for: "
|
||||
read -r CN
|
||||
|
||||
einfo "Creating private key and certificate for client ${CN}..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = ${CN}
|
||||
tls_www_client
|
||||
dns_name = ${CN}
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-certificate \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
|
||||
--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
|
||||
--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
|
||||
|
||||
rm -f "${T}/${PF}.$$"
|
||||
|
||||
echo
|
||||
einfo "Here is the documentation on how to encrypt your log traffic:"
|
||||
einfo " https://www.rsyslog.com/doc/rsyslog_tls.html"
|
||||
}
|
@ -1,456 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
|
||||
|
||||
inherit autotools eutils linux-info python-any-r1 systemd
|
||||
|
||||
DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
|
||||
HOMEPAGE="https://www.rsyslog.com/"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/rsyslog/${PN}.git"
|
||||
|
||||
DOC_REPO_URI="https://github.com/rsyslog/${PN}-doc.git"
|
||||
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="amd64 arm ~arm64 hppa x86"
|
||||
|
||||
SRC_URI="
|
||||
https://www.rsyslog.com/files/download/${PN}/${P}.tar.gz
|
||||
doc? ( https://www.rsyslog.com/files/download/${PN}/${PN}-doc-${PV}.tar.gz )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-fix-omprog-output-capture-mt-test.patch
|
||||
"${FILESDIR}"/${PN}-8.40.0-fix-omusrmsg.patch
|
||||
)
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3 LGPL-3 Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="curl dbi debug doc elasticsearch +gcrypt gnutls jemalloc kafka kerberos kubernetes libressl mdblookup"
|
||||
IUSE+=" mongodb mysql normalize omhttp omhttpfs omudpspoof openssl postgres rabbitmq redis relp rfc3195 rfc5424hmac"
|
||||
IUSE+=" snmp ssl systemd test usertools +uuid xxhash zeromq"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libfastjson-0.99.8:=
|
||||
>=dev-libs/libestr-0.1.9
|
||||
>=dev-libs/liblogging-1.0.1:=[stdlog]
|
||||
>=sys-libs/zlib-1.2.5
|
||||
curl? ( >=net-misc/curl-7.35.0 )
|
||||
dbi? ( >=dev-db/libdbi-0.8.3 )
|
||||
elasticsearch? ( >=net-misc/curl-7.35.0 )
|
||||
gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
|
||||
jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
|
||||
kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
kubernetes? ( >=net-misc/curl-7.35.0 )
|
||||
mdblookup? ( dev-libs/libmaxminddb:= )
|
||||
mongodb? ( >=dev-libs/mongo-c-driver-1.1.10:= )
|
||||
mysql? ( virtual/libmysqlclient:= )
|
||||
normalize? (
|
||||
>=dev-libs/libee-0.4.0
|
||||
>=dev-libs/liblognorm-2.0.3:=
|
||||
)
|
||||
omhttpfs? ( >=net-misc/curl-7.35.0 )
|
||||
omudpspoof? ( >=net-libs/libnet-1.1.6 )
|
||||
postgres? ( >=dev-db/postgresql-8.4.20:= )
|
||||
rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= )
|
||||
redis? ( >=dev-libs/hiredis-0.11.0:= )
|
||||
relp? ( >=dev-libs/librelp-1.2.17:= )
|
||||
rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] )
|
||||
rfc5424hmac? (
|
||||
!libressl? ( >=dev-libs/openssl-0.9.8y:0= )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
)
|
||||
snmp? ( >=net-analyzer/net-snmp-5.7.2 )
|
||||
ssl? (
|
||||
gnutls? ( >=net-libs/gnutls-2.12.23:0= )
|
||||
openssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
)
|
||||
systemd? ( >=sys-apps/systemd-234 )
|
||||
uuid? ( sys-apps/util-linux:0= )
|
||||
xxhash? ( dev-libs/xxhash:= )
|
||||
zeromq? (
|
||||
>=net-libs/czmq-3.0.2
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-devel/autoconf-archive-2015.02.24
|
||||
virtual/pkgconfig
|
||||
test? (
|
||||
jemalloc? ( <sys-libs/libfaketime-0.9.7 )
|
||||
!jemalloc? ( sys-libs/libfaketime )
|
||||
${PYTHON_DEPS}
|
||||
)"
|
||||
|
||||
REQUIRED_USE="
|
||||
kubernetes? ( normalize )
|
||||
ssl? ( || ( gnutls openssl ) )
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
DEPEND+=" doc? ( >=dev-python/sphinx-1.1.3-r7 )"
|
||||
DEPEND+=" >=sys-devel/flex-2.5.39-r1"
|
||||
DEPEND+=" >=sys-devel/bison-2.4.3"
|
||||
DEPEND+=" >=dev-python/docutils-0.12"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK="~INOTIFY_USER"
|
||||
WARNING_INOTIFY_USER="CONFIG_INOTIFY_USER isn't set. Imfile module on this system will only support polling mode!"
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
git-r3_fetch
|
||||
git-r3_checkout
|
||||
else
|
||||
unpack ${P}.tar.gz
|
||||
fi
|
||||
|
||||
if use doc; then
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
local _EGIT_BRANCH=
|
||||
if [[ -n "${EGIT_BRANCH}" ]]; then
|
||||
# Cannot use rsyslog commits/branches for documentation repository
|
||||
_EGIT_BRANCH=${EGIT_BRANCH}
|
||||
unset EGIT_BRANCH
|
||||
fi
|
||||
|
||||
git-r3_fetch "${DOC_REPO_URI}"
|
||||
git-r3_checkout "${DOC_REPO_URI}" "${S}"/docs
|
||||
|
||||
if [[ -n "${_EGIT_BRANCH}" ]]; then
|
||||
# Restore previous EGIT_BRANCH information
|
||||
EGIT_BRANCH=${_EGIT_BRANCH}
|
||||
fi
|
||||
else
|
||||
cd "${S}" || die "Cannot change dir into '${S}'"
|
||||
mkdir docs || die "Failed to create docs directory"
|
||||
cd docs || die "Failed to change dir into '${S}/docs'"
|
||||
unpack ${PN}-doc-${PV}.tar.gz
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Maintainer notes:
|
||||
# * Guardtime support is missing because libgt isn't yet available
|
||||
# in portage.
|
||||
# * Hadoop's HDFS file system output module is currently not
|
||||
# supported in Gentoo because nobody is able to test it
|
||||
# (JAVA dependency).
|
||||
# * dev-libs/hiredis doesn't provide pkg-config (see #504614,
|
||||
# upstream PR 129 and 136) so we need to export HIREDIS_*
|
||||
# variables because rsyslog's build system depends on pkg-config.
|
||||
|
||||
if use redis; then
|
||||
export HIREDIS_LIBS="-L${EPREFIX}/usr/$(get_libdir) -lhiredis"
|
||||
export HIREDIS_CFLAGS="-I${EPREFIX}/usr/include"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-debug-symbols
|
||||
--disable-generate-man-pages
|
||||
--without-valgrind-testbench
|
||||
--disable-liblogging-stdlog
|
||||
$(use_enable test testbench)
|
||||
$(use_enable test libfaketime)
|
||||
$(use_enable test extended-tests)
|
||||
# Input Plugins without depedencies
|
||||
--enable-imdiag
|
||||
--enable-imfile
|
||||
--enable-impstats
|
||||
--enable-imptcp
|
||||
# Message Modificiation Plugins without depedencies
|
||||
--enable-mmanon
|
||||
--enable-mmaudit
|
||||
--enable-mmcount
|
||||
--enable-mmfields
|
||||
--enable-mmjsonparse
|
||||
--enable-mmpstrucdata
|
||||
--enable-mmrm1stspace
|
||||
--enable-mmsequence
|
||||
--enable-mmutf8fix
|
||||
# Output Modification Plugins without dependencies
|
||||
--enable-mail
|
||||
--enable-omprog
|
||||
--enable-omruleset
|
||||
--enable-omstdout
|
||||
--enable-omuxsock
|
||||
# Misc
|
||||
--enable-fmhash
|
||||
$(use_enable xxhash fmhash-xxhash)
|
||||
--enable-pmaixforwardedfrom
|
||||
--enable-pmciscoios
|
||||
--enable-pmcisconames
|
||||
--enable-pmlastmsg
|
||||
--enable-pmsnare
|
||||
# DB
|
||||
$(use_enable dbi libdbi)
|
||||
$(use_enable mongodb ommongodb)
|
||||
$(use_enable mysql)
|
||||
$(use_enable postgres pgsql)
|
||||
$(use_enable redis omhiredis)
|
||||
# Debug
|
||||
$(use_enable debug)
|
||||
$(use_enable debug diagtools)
|
||||
$(use_enable debug valgrind)
|
||||
# Misc
|
||||
$(use_enable curl fmhttp)
|
||||
$(use_enable elasticsearch)
|
||||
$(use_enable gcrypt libgcrypt)
|
||||
$(use_enable jemalloc)
|
||||
$(use_enable kafka imkafka)
|
||||
$(use_enable kafka omkafka)
|
||||
$(use_enable kerberos gssapi-krb5)
|
||||
$(use_enable kubernetes mmkubernetes)
|
||||
$(use_enable normalize mmnormalize)
|
||||
$(use_enable mdblookup mmdblookup)
|
||||
$(use_enable omhttp)
|
||||
$(use_enable omhttpfs)
|
||||
$(use_enable omudpspoof)
|
||||
$(use_enable rabbitmq omrabbitmq)
|
||||
$(use_enable relp)
|
||||
$(use_enable rfc3195)
|
||||
$(use_enable rfc5424hmac mmrfc5424addhmac)
|
||||
$(use_enable snmp)
|
||||
$(use_enable snmp mmsnmptrapd)
|
||||
$(use_enable gnutls)
|
||||
$(use_enable openssl)
|
||||
$(use_enable systemd imjournal)
|
||||
$(use_enable systemd omjournal)
|
||||
$(use_enable usertools)
|
||||
$(use_enable uuid)
|
||||
$(use_enable zeromq imczmq)
|
||||
$(use_enable zeromq omczmq)
|
||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
if use doc && [[ "${PV}" == "9999" ]]; then
|
||||
einfo "Building documentation ..."
|
||||
local doc_dir="${S}/docs"
|
||||
cd "${doc_dir}" || die "Cannot chdir into \"${doc_dir}\"!"
|
||||
sphinx-build -b html source build || die "Building documentation failed!"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local _has_increased_ulimit=
|
||||
|
||||
# Sometimes tests aren't executable (i.e. when added via patch)
|
||||
einfo "Adjusting permissions of test scripts ..."
|
||||
find "${S}"/tests -type f -name '*.sh' \! -perm -111 -exec chmod a+x '{}' \; || \
|
||||
die "Failed to adjust test scripts permission"
|
||||
|
||||
if ulimit -n 3072; then
|
||||
_has_increased_ulimit="true"
|
||||
fi
|
||||
|
||||
if ! emake --jobs 1 check; then
|
||||
eerror "Test suite failed! :("
|
||||
|
||||
if [[ -z "${_has_increased_ulimit}" ]]; then
|
||||
eerror "Probably because open file limit couldn't be set to 3072."
|
||||
fi
|
||||
|
||||
if has userpriv ${FEATURES}; then
|
||||
eerror "Please try to reproduce the test suite failure with FEATURES=-userpriv " \
|
||||
"before you submit a bug report."
|
||||
fi
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=(
|
||||
AUTHORS
|
||||
ChangeLog
|
||||
"${FILESDIR}"/README.gentoo
|
||||
)
|
||||
|
||||
use doc && local HTML_DOCS=( "${S}/docs/build/." )
|
||||
|
||||
default
|
||||
|
||||
newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
|
||||
newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
|
||||
|
||||
keepdir /var/empty/dev
|
||||
keepdir /var/spool/${PN}
|
||||
keepdir /etc/ssl/${PN}
|
||||
keepdir /etc/${PN}.d
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}/${PN}.conf" ${PN}.conf
|
||||
|
||||
insinto /etc/rsyslog.d/
|
||||
newins "${FILESDIR}/50-default-r1.conf" 50-default.conf
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${PN}-r1.logrotate" ${PN}
|
||||
|
||||
if use mysql; then
|
||||
insinto /usr/share/doc/${PF}/scripts/mysql
|
||||
doins plugins/ommysql/createDB.sql
|
||||
fi
|
||||
|
||||
if use postgres; then
|
||||
insinto /usr/share/doc/${PF}/scripts/pgsql
|
||||
doins plugins/ompgsql/createDB.sql
|
||||
fi
|
||||
|
||||
prune_libtool_files --modules
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local advertise_readme=0
|
||||
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
# This is a new installation
|
||||
|
||||
advertise_readme=1
|
||||
|
||||
if use mysql || use postgres; then
|
||||
echo
|
||||
elog "Sample SQL scripts for MySQL & PostgreSQL have been installed to:"
|
||||
elog " /usr/share/doc/${PF}/scripts"
|
||||
fi
|
||||
|
||||
if use ssl; then
|
||||
echo
|
||||
elog "To create a default CA and certificates for your server and clients, run:"
|
||||
elog " emerge --config =${PF}"
|
||||
elog "on your logging server. You can run it several times,"
|
||||
elog "once for each logging client. The client certificates will be signed"
|
||||
elog "using the CA certificate generated during the first run."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${advertise_readme} -gt 0 ]]; then
|
||||
# We need to show the README file location
|
||||
|
||||
echo ""
|
||||
elog "Please read"
|
||||
elog ""
|
||||
elog " ${EPREFIX}/usr/share/doc/${PF}/README.gentoo*"
|
||||
elog ""
|
||||
elog "for more details."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
if ! use ssl ; then
|
||||
einfo "There is nothing to configure for rsyslog unless you"
|
||||
einfo "used USE=ssl to build it."
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Make sure the certificates directory exists
|
||||
local CERTDIR="${EROOT}/etc/ssl/${PN}"
|
||||
if [[ ! -d "${CERTDIR}" ]]; then
|
||||
mkdir "${CERTDIR}" || die
|
||||
fi
|
||||
einfo "Your certificates will be stored in ${CERTDIR}"
|
||||
|
||||
# Create a default CA if needed
|
||||
if [[ ! -f "${CERTDIR}/${PN}_ca.cert.pem" ]]; then
|
||||
einfo "No CA key and certificate found in ${CERTDIR}, creating them for you..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_ca.privkey.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = Portage automated CA
|
||||
ca
|
||||
cert_signing_key
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-self-signed \
|
||||
--load-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--outfile "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
|
||||
|
||||
# Create the server certificate
|
||||
echo
|
||||
einfon "Please type the Common Name of the SERVER you wish to create a certificate for: "
|
||||
read -r CN
|
||||
|
||||
einfo "Creating private key and certificate for server ${CN}..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = ${CN}
|
||||
tls_www_server
|
||||
dns_name = ${CN}
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-certificate \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
|
||||
--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
|
||||
--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
|
||||
|
||||
else
|
||||
einfo "Found existing ${CERTDIR}/${PN}_ca.cert.pem, skipping CA and SERVER creation."
|
||||
fi
|
||||
|
||||
# Create a client certificate
|
||||
echo
|
||||
einfon "Please type the Common Name of the CLIENT you wish to create a certificate for: "
|
||||
read -r CN
|
||||
|
||||
einfo "Creating private key and certificate for client ${CN}..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = ${CN}
|
||||
tls_www_client
|
||||
dns_name = ${CN}
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-certificate \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
|
||||
--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
|
||||
--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
|
||||
|
||||
rm -f "${T}/${PF}.$$"
|
||||
|
||||
echo
|
||||
einfo "Here is the documentation on how to encrypt your log traffic:"
|
||||
einfo " https://www.rsyslog.com/doc/rsyslog_tls.html"
|
||||
}
|
@ -1,459 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
|
||||
|
||||
inherit autotools eutils linux-info python-any-r1 systemd
|
||||
|
||||
DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
|
||||
HOMEPAGE="https://www.rsyslog.com/"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/rsyslog/${PN}.git"
|
||||
|
||||
DOC_REPO_URI="https://github.com/rsyslog/${PN}-doc.git"
|
||||
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~x86"
|
||||
|
||||
SRC_URI="
|
||||
https://www.rsyslog.com/files/download/${PN}/${P}.tar.gz
|
||||
doc? ( https://www.rsyslog.com/files/download/${PN}/${PN}-doc-${PV}.tar.gz )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${P}-fix-liblogging_stdlog-linking.patch
|
||||
"${FILESDIR}"/${PN}-8.40.0-fix-omusrmsg.patch
|
||||
)
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3 LGPL-3 Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="curl dbi debug doc elasticsearch +gcrypt gnutls jemalloc kafka kerberos kubernetes libressl mdblookup"
|
||||
IUSE+=" mongodb mysql normalize omhttp omhttpfs omudpspoof openssl postgres rabbitmq redis relp rfc3195 rfc5424hmac"
|
||||
IUSE+=" snmp ssl systemd test usertools +uuid xxhash zeromq"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libfastjson-0.99.8:=
|
||||
>=dev-libs/libestr-0.1.9
|
||||
>=sys-libs/zlib-1.2.5
|
||||
curl? ( >=net-misc/curl-7.35.0 )
|
||||
dbi? ( >=dev-db/libdbi-0.8.3 )
|
||||
elasticsearch? ( >=net-misc/curl-7.35.0 )
|
||||
gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
|
||||
jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
|
||||
kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
kubernetes? ( >=net-misc/curl-7.35.0 )
|
||||
mdblookup? ( dev-libs/libmaxminddb:= )
|
||||
mongodb? ( >=dev-libs/mongo-c-driver-1.1.10:= )
|
||||
mysql? ( virtual/libmysqlclient:= )
|
||||
normalize? (
|
||||
>=dev-libs/libee-0.4.0
|
||||
>=dev-libs/liblognorm-2.0.3:=
|
||||
)
|
||||
omhttpfs? ( >=net-misc/curl-7.35.0 )
|
||||
omudpspoof? ( >=net-libs/libnet-1.1.6 )
|
||||
postgres? ( >=dev-db/postgresql-8.4.20:= )
|
||||
rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= )
|
||||
redis? ( >=dev-libs/hiredis-0.11.0:= )
|
||||
relp? ( >=dev-libs/librelp-1.2.17:= )
|
||||
rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] )
|
||||
rfc5424hmac? (
|
||||
!libressl? ( >=dev-libs/openssl-0.9.8y:0= )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
)
|
||||
snmp? ( >=net-analyzer/net-snmp-5.7.2 )
|
||||
ssl? (
|
||||
gnutls? ( >=net-libs/gnutls-2.12.23:0= )
|
||||
openssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
)
|
||||
systemd? ( >=sys-apps/systemd-234 )
|
||||
uuid? ( sys-apps/util-linux:0= )
|
||||
xxhash? ( dev-libs/xxhash:= )
|
||||
zeromq? (
|
||||
>=net-libs/czmq-3.0.2
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-devel/autoconf-archive-2015.02.24
|
||||
virtual/pkgconfig
|
||||
test? (
|
||||
>=dev-libs/liblogging-1.0.1[stdlog]
|
||||
jemalloc? ( <sys-libs/libfaketime-0.9.7 )
|
||||
!jemalloc? ( sys-libs/libfaketime )
|
||||
${PYTHON_DEPS}
|
||||
)"
|
||||
|
||||
REQUIRED_USE="
|
||||
kubernetes? ( normalize )
|
||||
ssl? ( || ( gnutls openssl ) )
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
DEPEND+=" doc? ( >=dev-python/sphinx-1.1.3-r7 )"
|
||||
DEPEND+=" >=sys-devel/flex-2.5.39-r1"
|
||||
DEPEND+=" >=sys-devel/bison-2.4.3"
|
||||
DEPEND+=" >=dev-python/docutils-0.12"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK="~INOTIFY_USER"
|
||||
WARNING_INOTIFY_USER="CONFIG_INOTIFY_USER isn't set. Imfile module on this system will only support polling mode!"
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
git-r3_fetch
|
||||
git-r3_checkout
|
||||
else
|
||||
unpack ${P}.tar.gz
|
||||
fi
|
||||
|
||||
if use doc; then
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
local _EGIT_BRANCH=
|
||||
if [[ -n "${EGIT_BRANCH}" ]]; then
|
||||
# Cannot use rsyslog commits/branches for documentation repository
|
||||
_EGIT_BRANCH=${EGIT_BRANCH}
|
||||
unset EGIT_BRANCH
|
||||
fi
|
||||
|
||||
git-r3_fetch "${DOC_REPO_URI}"
|
||||
git-r3_checkout "${DOC_REPO_URI}" "${S}"/docs
|
||||
|
||||
if [[ -n "${_EGIT_BRANCH}" ]]; then
|
||||
# Restore previous EGIT_BRANCH information
|
||||
EGIT_BRANCH=${_EGIT_BRANCH}
|
||||
fi
|
||||
else
|
||||
cd "${S}" || die "Cannot change dir into '${S}'"
|
||||
mkdir docs || die "Failed to create docs directory"
|
||||
cd docs || die "Failed to change dir into '${S}/docs'"
|
||||
unpack ${PN}-doc-${PV}.tar.gz
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Maintainer notes:
|
||||
# * Guardtime support is missing because libgt isn't yet available
|
||||
# in portage.
|
||||
# * Hadoop's HDFS file system output module is currently not
|
||||
# supported in Gentoo because nobody is able to test it
|
||||
# (JAVA dependency).
|
||||
# * dev-libs/hiredis doesn't provide pkg-config (see #504614,
|
||||
# upstream PR 129 and 136) so we need to export HIREDIS_*
|
||||
# variables because rsyslog's build system depends on pkg-config.
|
||||
|
||||
if use redis; then
|
||||
export HIREDIS_LIBS="-L${EPREFIX}/usr/$(get_libdir) -lhiredis"
|
||||
export HIREDIS_CFLAGS="-I${EPREFIX}/usr/include"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-debug-symbols
|
||||
--disable-generate-man-pages
|
||||
--without-valgrind-testbench
|
||||
--disable-liblogging-stdlog
|
||||
$(use_enable test testbench)
|
||||
$(use_enable test libfaketime)
|
||||
$(use_enable test extended-tests)
|
||||
# Input Plugins without depedencies
|
||||
--enable-imdiag
|
||||
--enable-imfile
|
||||
--enable-impstats
|
||||
--enable-imptcp
|
||||
# Message Modificiation Plugins without depedencies
|
||||
--enable-mmanon
|
||||
--enable-mmaudit
|
||||
--enable-mmcount
|
||||
--enable-mmfields
|
||||
--enable-mmjsonparse
|
||||
--enable-mmpstrucdata
|
||||
--enable-mmrm1stspace
|
||||
--enable-mmsequence
|
||||
--enable-mmutf8fix
|
||||
# Output Modification Plugins without dependencies
|
||||
--enable-mail
|
||||
--enable-omprog
|
||||
--enable-omruleset
|
||||
--enable-omstdout
|
||||
--enable-omuxsock
|
||||
# Misc
|
||||
--enable-fmhash
|
||||
$(use_enable xxhash fmhash-xxhash)
|
||||
--enable-pmaixforwardedfrom
|
||||
--enable-pmciscoios
|
||||
--enable-pmcisconames
|
||||
--enable-pmlastmsg
|
||||
$(use_enable normalize pmnormalize)
|
||||
--enable-pmnull
|
||||
--enable-pmpanngfw
|
||||
--enable-pmsnare
|
||||
# DB
|
||||
$(use_enable dbi libdbi)
|
||||
$(use_enable mongodb ommongodb)
|
||||
$(use_enable mysql)
|
||||
$(use_enable postgres pgsql)
|
||||
$(use_enable redis omhiredis)
|
||||
# Debug
|
||||
$(use_enable debug)
|
||||
$(use_enable debug diagtools)
|
||||
$(use_enable debug valgrind)
|
||||
# Misc
|
||||
$(use_enable curl fmhttp)
|
||||
$(use_enable elasticsearch)
|
||||
$(use_enable gcrypt libgcrypt)
|
||||
$(use_enable jemalloc)
|
||||
$(use_enable kafka imkafka)
|
||||
$(use_enable kafka omkafka)
|
||||
$(use_enable kerberos gssapi-krb5)
|
||||
$(use_enable kubernetes mmkubernetes)
|
||||
$(use_enable normalize mmnormalize)
|
||||
$(use_enable mdblookup mmdblookup)
|
||||
$(use_enable omhttp)
|
||||
$(use_enable omhttpfs)
|
||||
$(use_enable omudpspoof)
|
||||
$(use_enable rabbitmq omrabbitmq)
|
||||
$(use_enable relp)
|
||||
$(use_enable rfc3195)
|
||||
$(use_enable rfc5424hmac mmrfc5424addhmac)
|
||||
$(use_enable snmp)
|
||||
$(use_enable snmp mmsnmptrapd)
|
||||
$(use_enable gnutls)
|
||||
$(use_enable openssl)
|
||||
$(use_enable systemd imjournal)
|
||||
$(use_enable systemd omjournal)
|
||||
$(use_enable usertools)
|
||||
$(use_enable uuid)
|
||||
$(use_enable zeromq imczmq)
|
||||
$(use_enable zeromq omczmq)
|
||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
if use doc && [[ "${PV}" == "9999" ]]; then
|
||||
einfo "Building documentation ..."
|
||||
local doc_dir="${S}/docs"
|
||||
cd "${doc_dir}" || die "Cannot chdir into \"${doc_dir}\"!"
|
||||
sphinx-build -b html source build || die "Building documentation failed!"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local _has_increased_ulimit=
|
||||
|
||||
# Sometimes tests aren't executable (i.e. when added via patch)
|
||||
einfo "Adjusting permissions of test scripts ..."
|
||||
find "${S}"/tests -type f -name '*.sh' \! -perm -111 -exec chmod a+x '{}' \; || \
|
||||
die "Failed to adjust test scripts permission"
|
||||
|
||||
if ulimit -n 3072; then
|
||||
_has_increased_ulimit="true"
|
||||
fi
|
||||
|
||||
if ! emake --jobs 1 check; then
|
||||
eerror "Test suite failed! :("
|
||||
|
||||
if [[ -z "${_has_increased_ulimit}" ]]; then
|
||||
eerror "Probably because open file limit couldn't be set to 3072."
|
||||
fi
|
||||
|
||||
if has userpriv ${FEATURES}; then
|
||||
eerror "Please try to reproduce the test suite failure with FEATURES=-userpriv " \
|
||||
"before you submit a bug report."
|
||||
fi
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=(
|
||||
AUTHORS
|
||||
ChangeLog
|
||||
"${FILESDIR}"/README.gentoo
|
||||
)
|
||||
|
||||
use doc && local HTML_DOCS=( "${S}/docs/build/." )
|
||||
|
||||
default
|
||||
|
||||
newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
|
||||
newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
|
||||
|
||||
keepdir /var/empty/dev
|
||||
keepdir /var/spool/${PN}
|
||||
keepdir /etc/ssl/${PN}
|
||||
keepdir /etc/${PN}.d
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}/${PN}.conf" ${PN}.conf
|
||||
|
||||
insinto /etc/rsyslog.d/
|
||||
newins "${FILESDIR}/50-default-r1.conf" 50-default.conf
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${PN}-r1.logrotate" ${PN}
|
||||
|
||||
if use mysql; then
|
||||
insinto /usr/share/doc/${PF}/scripts/mysql
|
||||
doins plugins/ommysql/createDB.sql
|
||||
fi
|
||||
|
||||
if use postgres; then
|
||||
insinto /usr/share/doc/${PF}/scripts/pgsql
|
||||
doins plugins/ompgsql/createDB.sql
|
||||
fi
|
||||
|
||||
prune_libtool_files --modules
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local advertise_readme=0
|
||||
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
# This is a new installation
|
||||
|
||||
advertise_readme=1
|
||||
|
||||
if use mysql || use postgres; then
|
||||
echo
|
||||
elog "Sample SQL scripts for MySQL & PostgreSQL have been installed to:"
|
||||
elog " /usr/share/doc/${PF}/scripts"
|
||||
fi
|
||||
|
||||
if use ssl; then
|
||||
echo
|
||||
elog "To create a default CA and certificates for your server and clients, run:"
|
||||
elog " emerge --config =${PF}"
|
||||
elog "on your logging server. You can run it several times,"
|
||||
elog "once for each logging client. The client certificates will be signed"
|
||||
elog "using the CA certificate generated during the first run."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${advertise_readme} -gt 0 ]]; then
|
||||
# We need to show the README file location
|
||||
|
||||
echo ""
|
||||
elog "Please read"
|
||||
elog ""
|
||||
elog " ${EPREFIX}/usr/share/doc/${PF}/README.gentoo*"
|
||||
elog ""
|
||||
elog "for more details."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
if ! use ssl ; then
|
||||
einfo "There is nothing to configure for rsyslog unless you"
|
||||
einfo "used USE=ssl to build it."
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Make sure the certificates directory exists
|
||||
local CERTDIR="${EROOT}/etc/ssl/${PN}"
|
||||
if [[ ! -d "${CERTDIR}" ]]; then
|
||||
mkdir "${CERTDIR}" || die
|
||||
fi
|
||||
einfo "Your certificates will be stored in ${CERTDIR}"
|
||||
|
||||
# Create a default CA if needed
|
||||
if [[ ! -f "${CERTDIR}/${PN}_ca.cert.pem" ]]; then
|
||||
einfo "No CA key and certificate found in ${CERTDIR}, creating them for you..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_ca.privkey.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = Portage automated CA
|
||||
ca
|
||||
cert_signing_key
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-self-signed \
|
||||
--load-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--outfile "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
|
||||
|
||||
# Create the server certificate
|
||||
echo
|
||||
einfon "Please type the Common Name of the SERVER you wish to create a certificate for: "
|
||||
read -r CN
|
||||
|
||||
einfo "Creating private key and certificate for server ${CN}..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = ${CN}
|
||||
tls_www_server
|
||||
dns_name = ${CN}
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-certificate \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
|
||||
--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
|
||||
--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
|
||||
|
||||
else
|
||||
einfo "Found existing ${CERTDIR}/${PN}_ca.cert.pem, skipping CA and SERVER creation."
|
||||
fi
|
||||
|
||||
# Create a client certificate
|
||||
echo
|
||||
einfon "Please type the Common Name of the CLIENT you wish to create a certificate for: "
|
||||
read -r CN
|
||||
|
||||
einfo "Creating private key and certificate for client ${CN}..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = ${CN}
|
||||
tls_www_client
|
||||
dns_name = ${CN}
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-certificate \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
|
||||
--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
|
||||
--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
|
||||
|
||||
rm -f "${T}/${PF}.$$"
|
||||
|
||||
echo
|
||||
einfo "Here is the documentation on how to encrypt your log traffic:"
|
||||
einfo " https://www.rsyslog.com/doc/rsyslog_tls.html"
|
||||
}
|
@ -1,457 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
PYTHON_COMPAT=( python{2_7,3_5,3_6,3_7} )
|
||||
|
||||
inherit autotools eutils linux-info python-any-r1 systemd
|
||||
|
||||
DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
|
||||
HOMEPAGE="https://www.rsyslog.com/"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/rsyslog/${PN}.git"
|
||||
|
||||
DOC_REPO_URI="https://github.com/rsyslog/${PN}-doc.git"
|
||||
|
||||
inherit git-r3
|
||||
else
|
||||
KEYWORDS="amd64 arm ~arm64 ~hppa x86"
|
||||
|
||||
SRC_URI="
|
||||
https://www.rsyslog.com/files/download/${PN}/${P}.tar.gz
|
||||
doc? ( https://www.rsyslog.com/files/download/${PN}/${PN}-doc-${PV}.tar.gz )
|
||||
"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/${PN}-8.40.0-fix-omusrmsg.patch )
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3 LGPL-3 Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="curl dbi debug doc elasticsearch +gcrypt gnutls jemalloc kafka kerberos kubernetes libressl mdblookup"
|
||||
IUSE+=" mongodb mysql normalize omhttp omhttpfs omudpspoof openssl postgres rabbitmq redis relp rfc3195 rfc5424hmac"
|
||||
IUSE+=" snmp ssl systemd test usertools +uuid xxhash zeromq"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libfastjson-0.99.8:=
|
||||
>=dev-libs/libestr-0.1.9
|
||||
>=sys-libs/zlib-1.2.5
|
||||
curl? ( >=net-misc/curl-7.35.0 )
|
||||
dbi? ( >=dev-db/libdbi-0.8.3 )
|
||||
elasticsearch? ( >=net-misc/curl-7.35.0 )
|
||||
gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
|
||||
jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
|
||||
kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
kubernetes? ( >=net-misc/curl-7.35.0 )
|
||||
mdblookup? ( dev-libs/libmaxminddb:= )
|
||||
mongodb? ( >=dev-libs/mongo-c-driver-1.1.10:= )
|
||||
mysql? ( virtual/libmysqlclient:= )
|
||||
normalize? (
|
||||
>=dev-libs/libee-0.4.0
|
||||
>=dev-libs/liblognorm-2.0.3:=
|
||||
)
|
||||
omhttpfs? ( >=net-misc/curl-7.35.0 )
|
||||
omudpspoof? ( >=net-libs/libnet-1.1.6 )
|
||||
postgres? ( >=dev-db/postgresql-8.4.20:= )
|
||||
rabbitmq? ( >=net-libs/rabbitmq-c-0.3.0:= )
|
||||
redis? ( >=dev-libs/hiredis-0.11.0:= )
|
||||
relp? ( >=dev-libs/librelp-1.2.17:= )
|
||||
rfc3195? ( >=dev-libs/liblogging-1.0.1:=[rfc3195] )
|
||||
rfc5424hmac? (
|
||||
!libressl? ( >=dev-libs/openssl-0.9.8y:0= )
|
||||
libressl? ( dev-libs/libressl:= )
|
||||
)
|
||||
snmp? ( >=net-analyzer/net-snmp-5.7.2 )
|
||||
ssl? (
|
||||
gnutls? ( >=net-libs/gnutls-2.12.23:0= )
|
||||
openssl? (
|
||||
!libressl? ( dev-libs/openssl:0= )
|
||||
libressl? ( dev-libs/libressl:0= )
|
||||
)
|
||||
)
|
||||
systemd? ( >=sys-apps/systemd-234 )
|
||||
uuid? ( sys-apps/util-linux:0= )
|
||||
xxhash? ( dev-libs/xxhash:= )
|
||||
zeromq? (
|
||||
>=net-libs/czmq-3.0.2
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-devel/autoconf-archive-2015.02.24
|
||||
virtual/pkgconfig
|
||||
elibc_musl? ( sys-libs/queue-standalone )
|
||||
test? (
|
||||
>=dev-libs/liblogging-1.0.1[stdlog]
|
||||
jemalloc? ( <sys-libs/libfaketime-0.9.7 )
|
||||
!jemalloc? ( sys-libs/libfaketime )
|
||||
${PYTHON_DEPS}
|
||||
)"
|
||||
|
||||
REQUIRED_USE="
|
||||
kubernetes? ( normalize )
|
||||
ssl? ( || ( gnutls openssl ) )
|
||||
"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
DEPEND+=" doc? ( >=dev-python/sphinx-1.1.3-r7 )"
|
||||
DEPEND+=" >=sys-devel/flex-2.5.39-r1"
|
||||
DEPEND+=" >=sys-devel/bison-2.4.3"
|
||||
DEPEND+=" >=dev-python/docutils-0.12"
|
||||
fi
|
||||
|
||||
CONFIG_CHECK="~INOTIFY_USER"
|
||||
WARNING_INOTIFY_USER="CONFIG_INOTIFY_USER isn't set. Imfile module on this system will only support polling mode!"
|
||||
|
||||
pkg_setup() {
|
||||
use test && python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
git-r3_fetch
|
||||
git-r3_checkout
|
||||
else
|
||||
unpack ${P}.tar.gz
|
||||
fi
|
||||
|
||||
if use doc; then
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
local _EGIT_BRANCH=
|
||||
if [[ -n "${EGIT_BRANCH}" ]]; then
|
||||
# Cannot use rsyslog commits/branches for documentation repository
|
||||
_EGIT_BRANCH=${EGIT_BRANCH}
|
||||
unset EGIT_BRANCH
|
||||
fi
|
||||
|
||||
git-r3_fetch "${DOC_REPO_URI}"
|
||||
git-r3_checkout "${DOC_REPO_URI}" "${S}"/docs
|
||||
|
||||
if [[ -n "${_EGIT_BRANCH}" ]]; then
|
||||
# Restore previous EGIT_BRANCH information
|
||||
EGIT_BRANCH=${_EGIT_BRANCH}
|
||||
fi
|
||||
else
|
||||
cd "${S}" || die "Cannot change dir into '${S}'"
|
||||
mkdir docs || die "Failed to create docs directory"
|
||||
cd docs || die "Failed to change dir into '${S}/docs'"
|
||||
unpack ${PN}-doc-${PV}.tar.gz
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
# Maintainer notes:
|
||||
# * Guardtime support is missing because libgt isn't yet available
|
||||
# in portage.
|
||||
# * Hadoop's HDFS file system output module is currently not
|
||||
# supported in Gentoo because nobody is able to test it
|
||||
# (JAVA dependency).
|
||||
# * dev-libs/hiredis doesn't provide pkg-config (see #504614,
|
||||
# upstream PR 129 and 136) so we need to export HIREDIS_*
|
||||
# variables because rsyslog's build system depends on pkg-config.
|
||||
|
||||
if use redis; then
|
||||
export HIREDIS_LIBS="-L${EPREFIX}/usr/$(get_libdir) -lhiredis"
|
||||
export HIREDIS_CFLAGS="-I${EPREFIX}/usr/include"
|
||||
fi
|
||||
|
||||
local myeconfargs=(
|
||||
--disable-debug-symbols
|
||||
--disable-generate-man-pages
|
||||
--without-valgrind-testbench
|
||||
--disable-liblogging-stdlog
|
||||
$(use_enable test testbench)
|
||||
$(use_enable test libfaketime)
|
||||
$(use_enable test extended-tests)
|
||||
# Input Plugins without depedencies
|
||||
--enable-imdiag
|
||||
--enable-imfile
|
||||
--enable-impstats
|
||||
--enable-imptcp
|
||||
# Message Modificiation Plugins without depedencies
|
||||
--enable-mmanon
|
||||
--enable-mmaudit
|
||||
--enable-mmcount
|
||||
--enable-mmfields
|
||||
--enable-mmjsonparse
|
||||
--enable-mmpstrucdata
|
||||
--enable-mmrm1stspace
|
||||
--enable-mmsequence
|
||||
--enable-mmutf8fix
|
||||
# Output Modification Plugins without dependencies
|
||||
--enable-mail
|
||||
--enable-omprog
|
||||
--enable-omruleset
|
||||
--enable-omstdout
|
||||
--enable-omuxsock
|
||||
# Misc
|
||||
--enable-fmhash
|
||||
$(use_enable xxhash fmhash-xxhash)
|
||||
--enable-pmaixforwardedfrom
|
||||
--enable-pmciscoios
|
||||
--enable-pmcisconames
|
||||
--enable-pmlastmsg
|
||||
$(use_enable normalize pmnormalize)
|
||||
--enable-pmnull
|
||||
--enable-pmpanngfw
|
||||
--enable-pmsnare
|
||||
# DB
|
||||
$(use_enable dbi libdbi)
|
||||
$(use_enable mongodb ommongodb)
|
||||
$(use_enable mysql)
|
||||
$(use_enable postgres pgsql)
|
||||
$(use_enable redis omhiredis)
|
||||
# Debug
|
||||
$(use_enable debug)
|
||||
$(use_enable debug diagtools)
|
||||
$(use_enable debug valgrind)
|
||||
# Misc
|
||||
$(use_enable curl fmhttp)
|
||||
$(use_enable elasticsearch)
|
||||
$(use_enable gcrypt libgcrypt)
|
||||
$(use_enable jemalloc)
|
||||
$(use_enable kafka imkafka)
|
||||
$(use_enable kafka omkafka)
|
||||
$(use_enable kerberos gssapi-krb5)
|
||||
$(use_enable kubernetes mmkubernetes)
|
||||
$(use_enable normalize mmnormalize)
|
||||
$(use_enable mdblookup mmdblookup)
|
||||
$(use_enable omhttp)
|
||||
$(use_enable omhttpfs)
|
||||
$(use_enable omudpspoof)
|
||||
$(use_enable rabbitmq omrabbitmq)
|
||||
$(use_enable relp)
|
||||
$(use_enable rfc3195)
|
||||
$(use_enable rfc5424hmac mmrfc5424addhmac)
|
||||
$(use_enable snmp)
|
||||
$(use_enable snmp mmsnmptrapd)
|
||||
$(use_enable gnutls)
|
||||
$(use_enable openssl)
|
||||
$(use_enable systemd imjournal)
|
||||
$(use_enable systemd omjournal)
|
||||
$(use_enable usertools)
|
||||
$(use_enable uuid)
|
||||
$(use_enable zeromq imczmq)
|
||||
$(use_enable zeromq omczmq)
|
||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
||||
)
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
default
|
||||
|
||||
if use doc && [[ "${PV}" == "9999" ]]; then
|
||||
einfo "Building documentation ..."
|
||||
local doc_dir="${S}/docs"
|
||||
cd "${doc_dir}" || die "Cannot chdir into \"${doc_dir}\"!"
|
||||
sphinx-build -b html source build || die "Building documentation failed!"
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
local _has_increased_ulimit=
|
||||
|
||||
# Sometimes tests aren't executable (i.e. when added via patch)
|
||||
einfo "Adjusting permissions of test scripts ..."
|
||||
find "${S}"/tests -type f -name '*.sh' \! -perm -111 -exec chmod a+x '{}' \; || \
|
||||
die "Failed to adjust test scripts permission"
|
||||
|
||||
if ulimit -n 3072; then
|
||||
_has_increased_ulimit="true"
|
||||
fi
|
||||
|
||||
if ! emake --jobs 1 check; then
|
||||
eerror "Test suite failed! :("
|
||||
|
||||
if [[ -z "${_has_increased_ulimit}" ]]; then
|
||||
eerror "Probably because open file limit couldn't be set to 3072."
|
||||
fi
|
||||
|
||||
if has userpriv ${FEATURES}; then
|
||||
eerror "Please try to reproduce the test suite failure with FEATURES=-userpriv " \
|
||||
"before you submit a bug report."
|
||||
fi
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local DOCS=(
|
||||
AUTHORS
|
||||
ChangeLog
|
||||
"${FILESDIR}"/README.gentoo
|
||||
)
|
||||
|
||||
use doc && local HTML_DOCS=( "${S}/docs/build/." )
|
||||
|
||||
default
|
||||
|
||||
newconfd "${FILESDIR}/${PN}.confd-r1" ${PN}
|
||||
newinitd "${FILESDIR}/${PN}.initd-r1" ${PN}
|
||||
|
||||
keepdir /var/empty/dev
|
||||
keepdir /var/spool/${PN}
|
||||
keepdir /etc/ssl/${PN}
|
||||
keepdir /etc/${PN}.d
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}/${PN}.conf" ${PN}.conf
|
||||
|
||||
insinto /etc/rsyslog.d/
|
||||
newins "${FILESDIR}/50-default-r1.conf" 50-default.conf
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${PN}-r1.logrotate" ${PN}
|
||||
|
||||
if use mysql; then
|
||||
insinto /usr/share/doc/${PF}/scripts/mysql
|
||||
doins plugins/ommysql/createDB.sql
|
||||
fi
|
||||
|
||||
if use postgres; then
|
||||
insinto /usr/share/doc/${PF}/scripts/pgsql
|
||||
doins plugins/ompgsql/createDB.sql
|
||||
fi
|
||||
|
||||
prune_libtool_files --modules
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local advertise_readme=0
|
||||
|
||||
if [[ -z "${REPLACING_VERSIONS}" ]]; then
|
||||
# This is a new installation
|
||||
|
||||
advertise_readme=1
|
||||
|
||||
if use mysql || use postgres; then
|
||||
echo
|
||||
elog "Sample SQL scripts for MySQL & PostgreSQL have been installed to:"
|
||||
elog " /usr/share/doc/${PF}/scripts"
|
||||
fi
|
||||
|
||||
if use ssl; then
|
||||
echo
|
||||
elog "To create a default CA and certificates for your server and clients, run:"
|
||||
elog " emerge --config =${PF}"
|
||||
elog "on your logging server. You can run it several times,"
|
||||
elog "once for each logging client. The client certificates will be signed"
|
||||
elog "using the CA certificate generated during the first run."
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ ${advertise_readme} -gt 0 ]]; then
|
||||
# We need to show the README file location
|
||||
|
||||
echo ""
|
||||
elog "Please read"
|
||||
elog ""
|
||||
elog " ${EPREFIX}/usr/share/doc/${PF}/README.gentoo*"
|
||||
elog ""
|
||||
elog "for more details."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_config() {
|
||||
if ! use ssl ; then
|
||||
einfo "There is nothing to configure for rsyslog unless you"
|
||||
einfo "used USE=ssl to build it."
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Make sure the certificates directory exists
|
||||
local CERTDIR="${EROOT}/etc/ssl/${PN}"
|
||||
if [[ ! -d "${CERTDIR}" ]]; then
|
||||
mkdir "${CERTDIR}" || die
|
||||
fi
|
||||
einfo "Your certificates will be stored in ${CERTDIR}"
|
||||
|
||||
# Create a default CA if needed
|
||||
if [[ ! -f "${CERTDIR}/${PN}_ca.cert.pem" ]]; then
|
||||
einfo "No CA key and certificate found in ${CERTDIR}, creating them for you..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_ca.privkey.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = Portage automated CA
|
||||
ca
|
||||
cert_signing_key
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-self-signed \
|
||||
--load-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--outfile "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_ca.privkey.pem"
|
||||
|
||||
# Create the server certificate
|
||||
echo
|
||||
einfon "Please type the Common Name of the SERVER you wish to create a certificate for: "
|
||||
read -r CN
|
||||
|
||||
einfo "Creating private key and certificate for server ${CN}..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = ${CN}
|
||||
tls_www_server
|
||||
dns_name = ${CN}
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-certificate \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
|
||||
--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
|
||||
--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
|
||||
|
||||
else
|
||||
einfo "Found existing ${CERTDIR}/${PN}_ca.cert.pem, skipping CA and SERVER creation."
|
||||
fi
|
||||
|
||||
# Create a client certificate
|
||||
echo
|
||||
einfon "Please type the Common Name of the CLIENT you wish to create a certificate for: "
|
||||
read -r CN
|
||||
|
||||
einfo "Creating private key and certificate for client ${CN}..."
|
||||
certtool --generate-privkey \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.key.pem" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.key.pem"
|
||||
|
||||
cat > "${T}/${PF}.$$" <<- _EOF
|
||||
cn = ${CN}
|
||||
tls_www_client
|
||||
dns_name = ${CN}
|
||||
expiration_days = 3650
|
||||
_EOF
|
||||
|
||||
certtool --generate-certificate \
|
||||
--outfile "${CERTDIR}/${PN}_${CN}.cert.pem" \
|
||||
--load-privkey "${CERTDIR}/${PN}_${CN}.key.pem" \
|
||||
--load-ca-certificate "${CERTDIR}/${PN}_ca.cert.pem" \
|
||||
--load-ca-privkey "${CERTDIR}/${PN}_ca.privkey.pem" \
|
||||
--template "${T}/${PF}.$$" &>/dev/null
|
||||
chmod 400 "${CERTDIR}/${PN}_${CN}.cert.pem"
|
||||
|
||||
rm -f "${T}/${PF}.$$"
|
||||
|
||||
echo
|
||||
einfo "Here is the documentation on how to encrypt your log traffic:"
|
||||
einfo " https://www.rsyslog.com/doc/rsyslog_tls.html"
|
||||
}
|
Binary file not shown.
@ -1,3 +1 @@
|
||||
DIST sharutils-4.14.tar.xz 1089052 BLAKE2B 2fe3edc016840b51528b9a7c41219f901ed29399051f1f6f4bcedd75ee85037ac3e3b9a67278aea34cd7b4a20d226b4143501bda481612c5b348b2fe57f71e75 SHA512 c1b87bc87915f7aebc9e02dfc1e08321f5ed2e144509c063139cde23eb8f75cb6469aa8042e4c6ec801f55d805e595f4c1c674cf5f2b4580a1e4933fcd605614
|
||||
DIST sharutils-4.15.1.tar.xz 1126672 BLAKE2B b570ae35c0f516cdd24c75f59596a0cbff1c0747c92d1cfa78c0828e8d68ceb5b42f0a32113bdd557e099774ef3dbc5af1ef019ffe33469f4011090b8e27a6e6 SHA512 791e37730cfff36ef96793ff7e70af05845eef72c6f581ce05a873d7d9beb7d42504a253fb944c77938f355c5d29c1a9de78653812fbbf859574b7b72dc4d8e1
|
||||
DIST sharutils-4.15.2.tar.xz 1122476 BLAKE2B e2acae027679ebdf723ecae6f243608f501f5c24685a19223dd27580ccf76bc7d38905a9d202b30cf2633e5580d727821398f1162b170233f03c17f3da683917 SHA512 80d0b804a0617e11e5c23dc0d59b218bbf93e40aaf5e9a5401a18ef9cb700390aab711e2b2e2f26c8fd5b8ef99a91d3405e01d02cadabcba7639979314e59f8d
|
||||
|
@ -1,31 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit eutils
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
DESCRIPTION="Tools to deal with shar archives"
|
||||
HOMEPAGE="https://www.gnu.org/software/sharutils/"
|
||||
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="alpha amd64 arm arm64 hppa ia64 m68k ~mips ppc ppc64 s390 sh sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="nls"
|
||||
|
||||
DEPEND="app-arch/xz-utils
|
||||
sys-apps/texinfo
|
||||
nls? ( >=sys-devel/gettext-0.10.35 )"
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-4.14-popen-rb.patch
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
strip-linguas -u po
|
||||
econf $(use_enable nls)
|
||||
}
|
@ -1,31 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
|
||||
inherit eutils
|
||||
|
||||
MY_P="${P/_/-}"
|
||||
DESCRIPTION="Tools to deal with shar archives"
|
||||
HOMEPAGE="https://www.gnu.org/software/sharutils/"
|
||||
SRC_URI="mirror://gnu/${PN}/${P}.tar.xz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="nls"
|
||||
|
||||
DEPEND="app-arch/xz-utils
|
||||
sys-apps/texinfo
|
||||
nls? ( >=sys-devel/gettext-0.10.35 )"
|
||||
|
||||
S=${WORKDIR}/${MY_P}
|
||||
|
||||
src_prepare() {
|
||||
epatch "${FILESDIR}"/${PN}-4.14-popen-rb.patch
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
strip-linguas -u po
|
||||
econf $(use_enable nls)
|
||||
}
|
@ -1,3 +1,3 @@
|
||||
DIST unzip60.tar.gz 1376845 BLAKE2B 5016d300b4452018a391f4ebc03c6960c068df400a0407c0c60bd7bb5ec5012031f916d8b204a6149ba291c2c35beba40d9b43c76fc093026e79471329ab0e47 SHA512 0694e403ebc57b37218e00ec1a406cae5cc9c5b52b6798e0d4590840b6cdbf9ddc0d9471f67af783e960f8fa2e620394d51384257dca23d06bcd90224a80ce5d
|
||||
DIST unzip_6.0-20.debian.tar.xz 16680 BLAKE2B 17ce9234ac485eab4e5188b555af31dcb0db577b199e0c58991ba7211c4c80edce52b72e89cc4d82b000b70bed1ac90262c0972507f28f054af2cebd0ca33b48 SHA512 7212cb110291581c2e465dc8ea5130eabffc4e0369d6245e8c26fa9d350bed904847d6e1191afaaa2d3fc23bd05fda7da80439d0c06b88f5331b01c9eff97fbe
|
||||
DIST unzip_6.0-21.debian.tar.xz 17740 BLAKE2B 098a84e5b05f819f9c8c6a6656fdb2359dfb5b93f63444e55347e0bef9735fa48bf1631a658a2cb6d0c604e7e740e47b57910d251b74e5df7c8b9468acfe55f4 SHA512 f7bce4156ac13c34da3f991df3ae88b0db99b0810c7f8904ea3ac666a4cb2788d7182056f2bbd82d7519d0e0ee31a10af47bee08f360ceb859e5fbfc6e15ef36
|
||||
DIST unzip_6.0-25.debian.tar.xz 23096 BLAKE2B 09cd89165c0354431fa0eb946bb8f8355fa09ef81cd3e3ea03e53ca7f465b323364204ffe11d8e58eeb5b46e40be598d4f709b621d163bfde09070b6847db2a6 SHA512 13c16db420fa4a34be3090a9acdd79b01320da40ac5aa89a9dfca03e64b914b28eb72aff3882d02a8197457bcb8eeb9473c998cf6920e511883c9289a949fb21
|
||||
|
Binary file not shown.
@ -0,0 +1,18 @@
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -129,7 +129,14 @@
|
||||
ERROR_QUIET
|
||||
)
|
||||
ENDIF()
|
||||
-IF((NOT ${ADD_GIT_INFO}) OR (${PROJECT_VERSION_GIT_RETURN_CODE}))
|
||||
+# the version.h generation logic is tricky in a number of ways:
|
||||
+# 1. git describe on a release tarball will always fail with
|
||||
+# a non-zero return code, usually 128
|
||||
+# 2. If git is not installed, PROJECT_VERSION_GIT_RETURN_CODE
|
||||
+# will contain the string 'No such file or directory'
|
||||
+# Hence fallback to PROJECT_VERSION when the return code is NOT 0.
|
||||
+IF((NOT ${ADD_GIT_INFO}) OR (NOT ${PROJECT_VERSION_GIT_RETURN_CODE} STREQUAL "0"))
|
||||
+ MESSAGE(STATUS "Setting fallback Git library version")
|
||||
SET(PROJECT_VERSION_GIT "v${PROJECT_VERSION}")
|
||||
ENDIF()
|
||||
MESSAGE(STATUS "Setting Git library version to: " ${PROJECT_VERSION_GIT} )
|
@ -0,0 +1 @@
|
||||
DIST virtualsmartcard-0.7.tar.gz 553122 BLAKE2B 5f7ceab19587808f2cabee87f200825d81043724cfb51ddc4ea2b86ec4df1dfae3e7e77b769b9f1e691e125ee2c7bbd6d83da79f1c5215308174f58f6b006cf0 SHA512 c6f357c26dbfa2859694f53b07bc621bf0fce0115a06db9c181dc9ea127eb32191b9c98472b27cca73bc747a5cc85d56ec19b06aa50b91d13a939308a46cac74
|
@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="project">
|
||||
<email>sci@gentoo.org</email>
|
||||
<name>Gentoo Science Project</name>
|
||||
<maintainer type="person">
|
||||
<email>mgorny@gentoo.org</email>
|
||||
<name>Michał Górny</name>
|
||||
</maintainer>
|
||||
</pkgmetadata>
|
@ -0,0 +1,37 @@
|
||||
# Copyright 2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
inherit python-single-r1 toolchain-funcs
|
||||
|
||||
DESCRIPTION="Smart card emulator, can be used with Remote Smart Card Reader"
|
||||
HOMEPAGE="https://frankmorgner.github.io/vsmartcard/"
|
||||
SRC_URI="https://github.com/frankmorgner/vsmartcard/releases/download/${P}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE=""
|
||||
REQUIRED_USE=${PYTHON_REQUIRED_USE}
|
||||
|
||||
RDEPEND="${PYTHON_DEPS}
|
||||
media-gfx/qrencode:=
|
||||
sys-apps/pcsc-lite"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="
|
||||
sys-apps/help2man
|
||||
virtual/pkgconfig"
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
# workaround buggy prefix logic
|
||||
--enable-serialconfdir=$($(tc-getPKG_CONFIG) libpcsclite \
|
||||
--variable=serialconfdir)
|
||||
--enable-serialdropdir=$($(tc-getPKG_CONFIG) libpcsclite \
|
||||
--variable=usbdropdir)/serial
|
||||
)
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
Binary file not shown.
@ -0,0 +1,47 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit cmake-utils
|
||||
|
||||
DESCRIPTION="Electronic Schematic and PCB design tools manuals"
|
||||
HOMEPAGE="http://www.kicad-pcb.org/"
|
||||
SRC_URI="https://github.com/KiCad/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="|| ( GPL-3+ CC-BY-3.0 ) GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="html +pdf"
|
||||
LANG_USE=" l10n_ca l10n_de l10n_en l10n_es l10n_fr l10n_id l10n_it l10n_ja l10n_pl l10n_ru l10n_zh"
|
||||
IUSE+=${LANG_USE}
|
||||
REQUIRED_USE="|| ( html pdf ) ^^ ( ${LANG_USE} )"
|
||||
unset LANG_USE
|
||||
|
||||
BDEPEND="
|
||||
>=app-text/asciidoc-8.6.9
|
||||
>=app-text/dblatex-0.3.10
|
||||
>=app-text/po4a-0.45
|
||||
>=sys-devel/gettext-0.18
|
||||
dev-perl/Unicode-LineBreak
|
||||
dev-util/source-highlight
|
||||
l10n_ca? ( dev-texlive/texlive-langspanish )
|
||||
l10n_de? ( dev-texlive/texlive-langgerman )
|
||||
l10n_en? ( dev-texlive/texlive-langenglish )
|
||||
l10n_es? ( dev-texlive/texlive-langspanish )
|
||||
l10n_fr? ( dev-texlive/texlive-langfrench )
|
||||
l10n_it? ( dev-texlive/texlive-langitalian )
|
||||
l10n_ja? ( dev-texlive/texlive-langjapanese media-fonts/vlgothic )
|
||||
l10n_pl? ( dev-texlive/texlive-langpolish )
|
||||
l10n_ru? ( dev-texlive/texlive-langcyrillic )
|
||||
l10n_zh? ( dev-texlive/texlive-langchinese )"
|
||||
RDEPEND=""
|
||||
|
||||
src_configure() {
|
||||
local mycmakeargs=(
|
||||
-DBUILD_FORMATS="$(usev html);$(usev pdf)"
|
||||
-DSINGLE_LANGUAGE="${L10N}"
|
||||
-DKICAD_DOC_PATH="${EPREFIX}/usr/share/doc/${P}/help"
|
||||
)
|
||||
cmake-utils_src_configure
|
||||
}
|
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST qxmledit-0.9.10-src.tgz 21105988 BLAKE2B 6d1f4dcc8b3c2fdd5ef12b5e426dc32ada24c104387f6a8aab12aa778e3a5cb58c1f1f97fea746dcaa60ca2de72a98dad38902b939025ee2f7d4f8ed4c701856 SHA512 ac96b086e9bcb6140c66521c71a303a12ab806b133fc769472e23e6b473cb5f6d6dc85cac990b6c0182a1f98201a84835042f7fdfc1843c00bd98b445e47ff35
|
||||
DIST qxmledit-0.9.12-src.tgz 22582822 BLAKE2B 66cf57e8cd1cbf712c28e55ee39685ea907216ff397b9f6ad5307e768bbd22a16b1f32dbbd309ae186479c35bd57d0aa1a1d5b4e174d1230c3b52f844be7e9f7 SHA512 996f1a656c6191950eb18bd3df13574f6bd85ad58132b5662cce5b6538fe81597359d3a7f69cff5c252c2efceb749ee079bed7165b3c142d33e0c4cb500231cc
|
||||
|
@ -1,73 +0,0 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit eutils qmake-utils xdg-utils
|
||||
|
||||
DESCRIPTION="Simple Qt-based XML editor"
|
||||
HOMEPAGE="http://qxmledit.org/"
|
||||
SRC_URI="mirror://sourceforge/${PN}/${P}-src.tgz"
|
||||
|
||||
LICENSE="LGPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="
|
||||
dev-qt/qtconcurrent:5
|
||||
dev-qt/qtcore:5
|
||||
dev-qt/qtgui:5
|
||||
dev-qt/qtnetwork:5
|
||||
dev-qt/qtopengl:5
|
||||
dev-qt/qtprintsupport:5
|
||||
dev-qt/qtscxml:5
|
||||
dev-qt/qtsql:5
|
||||
dev-qt/qtsvg:5
|
||||
dev-qt/qtwidgets:5
|
||||
dev-qt/qtxml:5
|
||||
dev-qt/qtxmlpatterns:5
|
||||
media-libs/glu
|
||||
virtual/opengl
|
||||
"
|
||||
RDEPEND="${DEPEND}"
|
||||
|
||||
DOCS=( AUTHORS NEWS README )
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
# bug 568746
|
||||
sed -i -e '/QMAKE_CXXFLAGS/s:-Werror::' \
|
||||
src/{QXmlEdit,QXmlEditWidget,sessions/QXmlEditSessions}.pro || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export \
|
||||
QXMLEDIT_INST_DIR="${EPREFIX}/usr/bin" \
|
||||
QXMLEDIT_INST_LIB_DIR="${EPREFIX}/usr/$(get_libdir)" \
|
||||
QXMLEDIT_INST_INCLUDE_DIR="${EPREFIX}/usr/include/${PN}" \
|
||||
QXMLEDIT_INST_DATA_DIR="${EPREFIX}/usr/share/${PN}" \
|
||||
QXMLEDIT_INST_DOC_DIR="${EPREFIX}/usr/share/doc/${PF}"
|
||||
|
||||
# avoid internal compiler errors
|
||||
use x86 && export QXMLEDIT_INST_AVOID_PRECOMP_HEADERS=Y
|
||||
|
||||
eqmake5
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake INSTALL_ROOT="${D}" install
|
||||
|
||||
doicon install_scripts/environment/icon/qxmledit.png
|
||||
domenu install_scripts/environment/desktop/QXmlEdit.desktop
|
||||
einstalldocs
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST docker-credential-helpers-0.6.0.tar.gz 27441 BLAKE2B 6517f069782d5a496d3f140d86e5b1f32f197e9209ed61f75bfb9ba29cf0e1fa509bdbbbce2defc14ad0abe316632683cfad25e7ac9a6a1d70c3289e0ad489f5 SHA512 359e8ec700f423ce0687f13ce02946007f90456abe86659a87c59419ebde5e79adb4d28ee5e6a9762a44cfd65648c247629a5273326abf18a8880bee637e74d8
|
||||
DIST docker-credential-helpers-0.6.3.tar.gz 28971 BLAKE2B b50e4de0f3b126e0118f24f845a94be5e932975ab54ad6e0a52129a56109ecafb021f14986569295242cb0af4ea109d8786b8a5ca8481cc48daad14671841432 SHA512 2d15be8df134bff08eef9461348f07cd57c70c15a0ab044de2e69296c400b8c0e16198c90fd064d5ce83037d0bad57520e7524b0832b7a00e69397203dc90d10
|
||||
|
@ -0,0 +1,58 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="A suite of programs to use native stores to keep Docker credentials safe"
|
||||
HOMEPAGE="https://github.com/docker/docker-credential-helpers"
|
||||
EGO_PN=github.com/docker/docker-credential-helpers
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit golang-vcs
|
||||
else
|
||||
KEYWORDS="~amd64"
|
||||
EGIT_COMMIT="v${PV}"
|
||||
SRC_URI="https://${EGO_PN}/archive/${EGIT_COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
inherit golang-vcs-snapshot
|
||||
fi
|
||||
inherit golang-build
|
||||
|
||||
IUSE="gnome-keyring pass"
|
||||
REQUIRED_USE="|| ( gnome-keyring pass )"
|
||||
RESTRICT="test"
|
||||
|
||||
DEPEND="gnome-keyring? ( app-crypt/libsecret )"
|
||||
|
||||
RDEPEND="(
|
||||
${DEPEND}
|
||||
pass? ( app-admin/pass )
|
||||
)
|
||||
"
|
||||
|
||||
S="${WORKDIR}/${P}/src/${EGO_PN}"
|
||||
|
||||
src_compile() {
|
||||
local -x GOPATH="${WORKDIR}/${P}"
|
||||
use gnome-keyring && emake secretservice
|
||||
use pass && emake pass
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bin/*
|
||||
dodoc CHANGELOG.md MAINTAINERS README.md
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if use gnome-keyring; then
|
||||
elog "For gnome-keyring/kwallet add:\n"
|
||||
elog ' "credStore": "secretservice"'"\n"
|
||||
fi
|
||||
if use pass; then
|
||||
elog "For 'pass' add:\n"
|
||||
elog ' "credStore": "pass"'"\n"
|
||||
fi
|
||||
elog "to your ~/.docker/config.json"
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST libvirt-5.2.0.tar.xz 14992888 BLAKE2B d68aedb634a70063a116e112689f252d3fc2fe5369a4cdde8cacd392e806203bf277406bb10c751bae27f34f27a38355fde84573b6221fc4843393f9ae60ae5c SHA512 378dc1552263cce746117487abc0a1f3411e5be149331717158ba23825734ceae7ca474290264d71de798fdd089ad9672026bcb242fa5b3aef87294284d06f04
|
||||
DIST libvirt-5.5.0.tar.xz 12930224 BLAKE2B 4add0b727e4754bd1b2b4e9020942b17872533737e496ddf7976bf86a0fd3bcfbebd83387a8f3bab8dcc9afb05755b245e55682ed17d6094085d3dc96d94eefe SHA512 47923aaca605fb43a53238ac535abc1f88f73435336b8f3e88cb01df277ed205d99c586991e523aa32b50c832a0a7c949ab5f84dc78eb8d18a4951cfc791448d
|
||||
DIST libvirt-5.6.0.tar.xz 13147976 BLAKE2B dbfc997123f43fcf9d635b59fffa00d96826e673c4037105151bde2c4a0fb3015a0e458e8e67969b5513a4ddbf41d062feb91e6a86054ddcc1d661f0554fd1f7 SHA512 95fe931394fb31288faf73349bb298f08f63cf062f851b9935303145f8166f69128be9360757f0e1845256c14f4d7672843dba0dc6c086b1c3c8bfc035cc8986
|
||||
|
@ -0,0 +1,379 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{5,6,7} )
|
||||
|
||||
inherit autotools bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 systemd
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://libvirt.org/git/libvirt.git"
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
SLOT="0"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz"
|
||||
KEYWORDS="~amd64 ~arm64 ~x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="http://www.libvirt.org/"
|
||||
LICENSE="LGPL-2.1"
|
||||
IUSE="
|
||||
apparmor audit +caps +dbus dtrace firewalld fuse glusterfs iscsi
|
||||
iscsi-direct +libvirtd lvm libssh lxc +macvtap nfs nls numa openvz
|
||||
parted pcap phyp policykit +qemu rbd sasl selinux +udev +vepa
|
||||
virtualbox virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
policykit? ( dbus )
|
||||
qemu? ( libvirtd )
|
||||
vepa? ( macvtap )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
policykit? ( acct-group/libvirt )
|
||||
app-misc/scrub
|
||||
dev-libs/libgcrypt:0
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-1.0.25:0=
|
||||
net-libs/libssh2
|
||||
net-libs/libtirpc
|
||||
net-libs/rpcsvc-proto
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dmidecode
|
||||
>=sys-apps/util-linux-2.17
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dbus? ( sys-apps/dbus )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( >=sys-fs/fuse-2.8.6:= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
lxc? ( !sys-apps/systemd[-cgroup-hybrid(+)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? ( >=sys-auth/polkit-0.9 )
|
||||
qemu? (
|
||||
>=app-emulation/qemu-1.5.0
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
virtualbox? ( || ( app-emulation/virtualbox >=app-emulation/virtualbox-bin-2.2.0 ) )
|
||||
wireshark-plugins? ( net-analyzer/wireshark:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.6.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/udev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${RDEPEND}
|
||||
${PYTHON_DEPS}
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
virtual/pkgconfig"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-5.6.0-do-not-use-sysconf.patch
|
||||
"${FILESDIR}"/${PN}-1.2.16-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-5.2.0-fix-paths-for-apparmor.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use macvtap && CONFIG_CHECK+="
|
||||
~MACVTAP"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP_NF_TARGET_MASQUERADE
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
# Handle specific kernel versions for different features
|
||||
kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR"
|
||||
if kernel_is ge 3 6; then
|
||||
CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP "
|
||||
kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM "
|
||||
fi
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap"
|
||||
|
||||
default
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
# Reinitialize submodules as this is required for gnulib's bootstrap
|
||||
git submodule init
|
||||
# git checkouts require bootstrapping to create the configure script.
|
||||
# Additionally the submodules must be cloned to the right locations
|
||||
# bug #377279
|
||||
./bootstrap || die "bootstrap failed"
|
||||
(
|
||||
git submodule status .gnulib | awk '{ print $1 }'
|
||||
git hash-object bootstrap.conf
|
||||
git ls-tree -d HEAD gnulib/local | awk '{ print $3 }'
|
||||
) >.git-module-status
|
||||
fi
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r18" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
$(use_with apparmor)
|
||||
$(use_with apparmor apparmor-profiles)
|
||||
$(use_with audit)
|
||||
$(use_with caps capng)
|
||||
$(use_with dbus)
|
||||
$(use_with dtrace)
|
||||
$(use_with firewalld)
|
||||
$(use_with fuse)
|
||||
$(use_with glusterfs)
|
||||
$(use_with glusterfs storage-gluster)
|
||||
$(use_with iscsi storage-iscsi)
|
||||
$(use_with iscsi-direct storage-iscsi-direct)
|
||||
$(use_with libvirtd)
|
||||
$(use_with libssh)
|
||||
$(use_with lvm storage-lvm)
|
||||
$(use_with lvm storage-mpath)
|
||||
$(use_with lxc)
|
||||
$(use_with macvtap)
|
||||
$(use_enable nls)
|
||||
$(use_with numa numactl)
|
||||
$(use_with numa numad)
|
||||
$(use_with openvz)
|
||||
$(use_with parted storage-disk)
|
||||
$(use_with pcap libpcap)
|
||||
$(use_with phyp)
|
||||
$(use_with policykit polkit)
|
||||
$(use_with qemu)
|
||||
$(use_with qemu yajl)
|
||||
$(use_with rbd storage-rbd)
|
||||
$(use_with sasl)
|
||||
$(use_with selinux)
|
||||
$(use_with udev)
|
||||
$(use_with vepa virtualport)
|
||||
$(use_with virt-network network)
|
||||
$(use_with wireshark-plugins wireshark-dissector)
|
||||
$(use_with xen libxl)
|
||||
$(use_with zfs storage-zfs)
|
||||
|
||||
--without-hal
|
||||
--without-netcf
|
||||
--without-sanlock
|
||||
|
||||
--with-esx
|
||||
--with-init-script=systemd
|
||||
--with-qemu-group=$(usex caps qemu root)
|
||||
--with-qemu-user=$(usex caps qemu root)
|
||||
--with-remote
|
||||
--with-storage-fs
|
||||
--with-vmware
|
||||
|
||||
--disable-static
|
||||
--disable-werror
|
||||
|
||||
--localstatedir=/var
|
||||
)
|
||||
|
||||
if use virtualbox && has_version app-emulation/virtualbox-ose; then
|
||||
myeconfargs+=( --with-vbox=/usr/lib/virtualbox-ose/ )
|
||||
else
|
||||
myeconfargs+=( $(use_with virtualbox vbox) )
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
# Restore gnulib's config.sub and config.guess
|
||||
# bug #377279
|
||||
(cd .gnulib && git reset --hard > /dev/null)
|
||||
fi
|
||||
}
|
||||
|
||||
src_test() {
|
||||
cd "${BUILD_DIR}"
|
||||
|
||||
# remove problematic tests, bug #591416, bug #591418
|
||||
sed -i -e 's#commandtest$(EXEEXT) # #' \
|
||||
-e 's#virfirewalltest$(EXEEXT) # #' \
|
||||
-e 's#nwfilterebiptablestest$(EXEEXT) # #' \
|
||||
-e 's#nwfilterxml2firewalltest$(EXEEXT)$##' \
|
||||
tests/Makefile
|
||||
|
||||
export VIR_TEST_DEBUG=1
|
||||
HOME="${T}" emake check || die "tests failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" \
|
||||
SYSTEMD_UNIT_DIR="$(systemd_get_systemunitdir)" install
|
||||
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
|
||||
# Remove bogus, empty directories. They are either not used, or
|
||||
# libvirtd is able to create them on demand
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
systemd_install_serviced \
|
||||
"${FILESDIR}"/libvirtd.service.conf libvirtd.service
|
||||
|
||||
systemd_newtmpfilesd "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd || die
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests || die
|
||||
newinitd "${FILESDIR}/virtlockd.init-r1" virtlockd || die
|
||||
newinitd "${FILESDIR}/virtlogd.init-r1" virtlogd || die
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd || die
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests || die
|
||||
|
||||
newbashcomp "${S}/tools/bash-completion/vsh" virsh
|
||||
bashcomp_alias virsh virt-admin
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r2")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# we only ever want to generate this once
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
rm -rf "${D}"/etc/libvirt/qemu/networks/default.xml
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
readme.gentoo_print_elog
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST ibus-skk-1.4.1.tar.gz 478018 BLAKE2B 7e5cb7cf69b5a8949c462644ca7c871d8eccfff272d553986d687bc5ede02d4f35b5830d2a96823bf1d17ea17ec32b5eec59f75713d5a3bfc52424fc234ad5a7 SHA512 d8c0bf2c92fd96486ed10e9dcac861b4fc16e741fd96764671352e9e67226887ad6aa4b76c4891411029d3f5bf692de1162f996a294cecc9e5231e90ea0df5f0
|
||||
DIST ibus-skk-1.4.2.tar.gz 491882 BLAKE2B 999eb9f1b36406a8d665b2c929fcdef5e57bef5c6206075333435f46774445497d6d953bc695c22f6afa5700283c32a20c2d4e9227fd30e5552f5688cd524aab SHA512 cec7fbffaa78c406f3b9502bc64e2290fec579102a37ce61cb6424c3e06d159653f165b48e09f1256f38491bce6819460c6d226cd765ab150a8dfa80e2707fe1
|
||||
|
@ -1,30 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="5"
|
||||
|
||||
DESCRIPTION="Japanese SKK engine for IBus"
|
||||
HOMEPAGE="https://github.com/ueno/ibus-skk"
|
||||
SRC_URI="mirror://github/ueno/${PN}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="nls"
|
||||
|
||||
CDEPEND="app-i18n/ibus
|
||||
<=app-i18n/libskk-1.0.1
|
||||
x11-libs/gtk+:3
|
||||
nls? ( virtual/libintl )"
|
||||
RDEPEND="${CDEPEND}
|
||||
app-i18n/skk-jisyo"
|
||||
DEPEND="${CDEPEND}
|
||||
dev-util/intltool
|
||||
virtual/pkgconfig
|
||||
nls? ( sys-devel/gettext )"
|
||||
|
||||
DOCS="ChangeLog NEWS README THANKS"
|
||||
|
||||
src_configure() {
|
||||
econf $(use_enable nls)
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST librime-1.2.9.tar.gz 5516609 BLAKE2B 7b05fedb093f7595c7bf7f4893624b35b0cdde1816c9c99f9ed5d408c8fd21d34a361d16b94c43b3e5e23b10945f075711762f08ca30abee35849a332ecfee2d SHA512 2266ef96ad21ec5981b4ca5371d4e16eefed545ffbde07093ae0d0be070a64f9869baa09b6bdcee2522438e08c72a842a7e0b225a6ca1b661708a80cf3aba83a
|
||||
DIST librime-1.3.1.tar.gz 8598357 BLAKE2B cd6bc6b63a89f7f11e78ceaf92007c099be34ce38f26d611b67a3d8f868a27a0e4de7b94da44d8483618f37a0c2bcfd3a1bc1c1ecb4f81829f8e12fdd777e283 SHA512 b35d3635fd776ed9be32c0998e4aac441433bc9e624765a57582690108cccf5c3beaedad4f8f1682d99533384cd10996ee8c18fd5adcea70878d6a410124922e
|
||||
DIST librime-1.4.0.tar.gz 8609316 BLAKE2B cce58c398057ac82f076e3b9e9a25cd6410e738460bd58277a9e3ed6cd11e80922bbb30e8b42828cdd5dd83f6058794b4b32fedb359315186b018ca88161794d SHA512 da68983638c6f25d994060a607f2ccab8917a71dbf10b9c6f1140c87c9ef4124e29a1d0ef16bbd0edc9a3a22bd5845aa894888d678607db372750f300638f562
|
||||
DIST librime-1.5.3.tar.gz 2847083 BLAKE2B 4ffb2c5ddaf52f9c9227fa4ea019ef2965e61139f678798c08ef37dc52b863763651b63ed820caad0de1b06f48ab5c1a7a2682653340d2ae7f5f9eec3cec80b2 SHA512 4d7f6ec43bd5728f59f0b3581bcd8a46128651430b6873017d80659942b8f6aa1a2f25f439ba8fba461fe22acbf701c2da7a786104a2e4852a70a89cdc0452d3
|
||||
|
@ -0,0 +1,63 @@
|
||||
# Copyright 2012-2019 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
inherit cmake-utils
|
||||
|
||||
if [[ "${PV}" == "9999" ]]; then
|
||||
inherit git-r3
|
||||
|
||||
EGIT_REPO_URI="https://github.com/rime/librime"
|
||||
EGIT_SUBMODULES=()
|
||||
fi
|
||||
|
||||
DESCRIPTION="RIME (Rime Input Method Engine) core library"
|
||||
HOMEPAGE="https://rime.im/ https://github.com/rime/librime"
|
||||
if [[ "${PV}" == "9999" ]]; then
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="https://github.com/rime/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
fi
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/1"
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
IUSE="test"
|
||||
|
||||
BDEPEND=""
|
||||
RDEPEND="app-i18n/opencc:0=
|
||||
dev-cpp/glog:0=
|
||||
dev-cpp/yaml-cpp:0=
|
||||
dev-libs/boost:0=[threads]
|
||||
dev-libs/leveldb:0=
|
||||
dev-libs/marisa:0="
|
||||
DEPEND="${RDEPEND}
|
||||
dev-libs/darts
|
||||
dev-libs/utfcpp
|
||||
x11-base/xorg-proto
|
||||
test? ( dev-cpp/gtest )"
|
||||
|
||||
DOCS=(CHANGELOG.md README.md)
|
||||
|
||||
src_prepare() {
|
||||
# Use headers of dev-libs/darts, dev-libs/utfcpp and x11-base/xorg-proto.
|
||||
sed -e "/\${PROJECT_SOURCE_DIR}\/thirdparty/d" -i CMakeLists.txt || die
|
||||
rm -r thirdparty || die
|
||||
|
||||
cmake-utils_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local -x CXXFLAGS="${CXXFLAGS} -I/usr/include/utf8cpp"
|
||||
|
||||
local mycmakeargs=(
|
||||
-DBOOST_USE_CXX11=ON
|
||||
-DBUILD_TEST=$(usex test ON OFF)
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Gflags=ON
|
||||
-DCMAKE_DISABLE_FIND_PACKAGE_Iconv=ON
|
||||
-DLIB_INSTALL_DIR="${EPREFIX}/usr/$(get_libdir)"
|
||||
)
|
||||
|
||||
cmake-utils_src_configure
|
||||
}
|
@ -1,2 +1 @@
|
||||
DIST libskk-1.0.1.tar.gz 860453 BLAKE2B 95f386e34f479548c7b4a37c3d70d16e27fd238a83e09c9dfc539ec9c3cc1466bea6a1d694e9b1027d66955053b2af1719a96ea4b5a37f61fda82118250576cf SHA512 17dc7c0361083c08c29267b4fe2d066b079e5156728f461717044f99579ec2674b56c960d2be5a42a2dffb693106d2d3d78ec8cb833e8f189d48e421a25d91b0
|
||||
DIST libskk-1.0.2.tar.gz 867572 BLAKE2B 32f599e83bf7ced796d2f37f6f4bf5e45f47c90e144784b7b3e082866cc619a26e3aca4f16051685baa4d8ac54b0462930193f978bc1e8220b378679269c5833 SHA512 f8fff94b216c18f66bf1004ee068f8d737177f1b70ac36d054d9a68ce02ba9b8d1b7b4127d9a330f64054b2fe06f352070c750a3562d4be36fecf20cb854e6c0
|
||||
|
@ -1,48 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit ltprune vala virtualx
|
||||
|
||||
DESCRIPTION="GObject-based library to deal with Japanese kana-to-kanji conversion method"
|
||||
HOMEPAGE="https://github.com/ueno/libskk"
|
||||
SRC_URI="https://bitbucket.org/${PN}/${PN}/downloads/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 x86"
|
||||
IUSE="+introspection nls static-libs"
|
||||
|
||||
RDEPEND="dev-libs/glib:2
|
||||
dev-libs/json-glib
|
||||
dev-libs/libgee:0
|
||||
introspection? ( dev-libs/gobject-introspection )
|
||||
nls? ( virtual/libintl )"
|
||||
DEPEND="${RDEPEND}
|
||||
$(vala_depend)
|
||||
dev-util/intltool
|
||||
virtual/pkgconfig
|
||||
nls? ( sys-devel/gettext )"
|
||||
|
||||
src_prepare() {
|
||||
vala_src_prepare
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
econf \
|
||||
$(use_enable introspection) \
|
||||
$(use_enable nls) \
|
||||
$(use_enable static-libs static)
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export GSETTINGS_BACKEND="memory"
|
||||
virtx emake check
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
prune_libtool_files
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue