parent
f629c1edb3
commit
cfd11e6353
@ -1,23 +1,23 @@
|
||||
-----BEGIN PGP SIGNED MESSAGE-----
|
||||
Hash: SHA512
|
||||
|
||||
MANIFEST Manifest.files.gz 28982 BLAKE2B 342df25092c5decf86a54f1a4595d7c9fd40c5f149e68fe2667fc2b74f4c12edff85841db56bf469a0a7c0ca41c4b9616cd4cc2f79b1ff39876387dae9465967 SHA512 f657888526223e9f2b3643767bb64df50d47279d030d7efb46cc646cea7ccfc4dfc180756daa734080b9e6a4562da5c6630453bf34ea93ef1e2ff7b75bb9e210
|
||||
TIMESTAMP 2018-04-03T09:38:24Z
|
||||
MANIFEST Manifest.files.gz 28952 BLAKE2B d103c6566473e609fd58a4f8b3189abc37d5fcf29bc879e46ebae4ecda0050118092248909bd26a60f572daba76acc85a3a40431d7a1cff803afb23cb7450590 SHA512 f2c42c6d6aac109ce90bc6a38620fcd62c10fd4e7309ec3e47ad4e4402a15f29928b18181b40cd6ffbc4362d7bd16506cbdb8eecdc53ed277efacfd4785a4057
|
||||
TIMESTAMP 2018-04-05T04:38:25Z
|
||||
-----BEGIN PGP SIGNATURE-----
|
||||
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAlrDS5BfFIAAAAAALgAo
|
||||
iQKTBAEBCgB9FiEE4dartjv8+0ugL98c7FkO6skYklAFAlrFqEFfFIAAAAAALgAo
|
||||
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEUx
|
||||
RDZBQkI2M0JGQ0ZCNEJBMDJGREYxQ0VDNTkwRUVBQzkxODkyNTAACgkQ7FkO6skY
|
||||
klAkUQ//V9SK8YXHBV1kc/bEfzhp+LYII4y82hG5X2Y9NlDgslHsxlc2Ag+LYdst
|
||||
vGbvoUkVjr9yZZ8yViEF721GTeHAdeqiRQ4anQtwY0KK+1Bre9aRFEtcOrJFERd5
|
||||
tyVMGUEYM46qrljr3NwSmVc4jCf5mtDhz5yuPf3b1yiqlYJfExqI0ZqdVnM5mOEE
|
||||
mTcv3EVGj0/RLYcuBhSuqk+b0ZQgQ0qqBmmRmIP0KrPxVQPULVH+1nk6mZZaDSos
|
||||
d9BFAp6HdElx21zGPEhXmNr9zY7FjHLCe2OUBADFKEc8G3IWnoZSYrj6VC9sIYLe
|
||||
AOQDRvaZmMpW07WmvqVRPv3pdlx8rO9njGT4Krhp1m4g/FjN33Dgnnvzvv5Z5oyN
|
||||
6bIW9UaicnHbV5sIGCNwI9NJwzNfPDPlkdtb9LK2gj+M3xlKL2ECtFWjMQd3Poxi
|
||||
K6gkonJWg2qy4dMNo4qyqga16tsmbGOxo7T36WTs9QCkqbm+p2i1CvRqM2N0VA27
|
||||
k2p75400UB8EjY0X9Gxz/OpJba7Ztpjx+DeT0fQwSK9KHMK4M8LhFsVq8FlD0Ge1
|
||||
RmUHVe9A0gtzJXeO1WYEkfVBQlBTNM5oDPdP81wJntJmuPq6HuNbL3232FQYq9IX
|
||||
c/Psy508otiSCNy/zntQH2IG40OQJcmakTGTEDfta3a0c/G8kGA=
|
||||
=Asfj
|
||||
klCm6g/+O7pmHSFwWpNYmhy/AdLgLiyVIANpDef32/QrEpyX1tL3P+u0Mxwzlece
|
||||
pj0j1juRMjypxw5qxgOG5CCI24XY/7yEQxUBQW3O7fvlJhsgUp3BIRXxt3dh2RGJ
|
||||
nvbaJ3yIQaFEpJsOaPBNEO4pdHX+Fd5TXqI5UOcPrfmT+LCmzBB5+4RPMM57FUWA
|
||||
0Bgm+3CoHwjX5i9M8ocQ5R1bUQNPb+cJFXS5ptXEpJ+eEzemh0sMylQfDkeYTi/p
|
||||
lM23gnVlZoYXYRmA4oSYU7zUA/yomwq/WVkFlM0wQ/SfgT7z5ulsH4fcqvLZoz8u
|
||||
9+7QTJYRmBti1iurMHlQA61VDKFbgaLA0C2cGjJSYCKZDJhvwfCH2BSKMHDJ+vCv
|
||||
AQFzlCjVJs4wm6lKCD6gx6cg2r11foQ3OhzAobYe6zCO6VgzIMD8j2TgYzecuIa3
|
||||
ke7dWswLJleZznnbYXwPc9L7sxXvqKvxGff+4nfAWbyZ7PEqiJQ1p8cEgpruBqeC
|
||||
+FLlyNcm+4hJutFVru6/XTe68Z4l81/m6++uAIT0o7fYZ0wMqhSAq3EwJMxIyq3q
|
||||
8q2bMOq3W1njQuHys4PXflZTw3hyoy3pzuMOxerro2QKAh1CQW2KWRqRPXynyG+K
|
||||
JxZ/TFd7qBsIcnlsmaIxY4vKP1hhhEKf6H55uHj8OMU4F8E+Q4E=
|
||||
=z402
|
||||
-----END PGP SIGNATURE-----
|
||||
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,22 @@
|
||||
Bug: https://bugs.gentoo.org/638596
|
||||
|
||||
--- a/src/nnet/matrix.cc
|
||||
+++ b/src/nnet/matrix.cc
|
||||
@@ -63,7 +63,7 @@
|
||||
template<class T> void CMatrix<T>::multiplyByTransponed (const CMatrix &y, CMatrix &retval)
|
||||
{
|
||||
int i,j,k;
|
||||
- assert (cols == y.cols);
|
||||
+ this->assert (cols == y.cols);
|
||||
if (cols != y.cols) { retval.Realloc (0,0); return; }
|
||||
|
||||
T sum;
|
||||
@@ -80,7 +80,7 @@
|
||||
template<class T> void CMatrix<T>::transponedMultiply (const CMatrix &y, CMatrix &retval)
|
||||
{
|
||||
int i,j,k;
|
||||
- assert (rows == y.rows);
|
||||
+ this->assert (rows == y.rows);
|
||||
if (rows != y.rows) { retval.Realloc (0,0); return; }
|
||||
|
||||
T sum;
|
Binary file not shown.
@ -0,0 +1,3 @@
|
||||
DIST go-updater-0.1.0.tar.gz 1754 BLAKE2B 720a328e8f28d2f0b28400053776ff8dbe52e24be7b20812d01b148bde72eda948acb5867b8ca16af7b40d20e36d36d3ffbd846c4992bb1dbe2af6db0069e765 SHA512 321f7faaec62b653c2b01f6f2e2c0104b536e63dfeb6aacd72c493d3fdc7b3bc5b96d6eff02ec1603adde1879dacbd51f4ced37c3cd94361120cc482432cb8a5
|
||||
EBUILD go-updater-0.1.0.ebuild 484 BLAKE2B 7a8413ef6a49557411bd98527880b63bd1e06ab26b3da010dbc02105de4216cf697e428d9e6d60181872a7279dd428689424363bd9a85d916b1d5b15521303ae SHA512 ffaf2957d335ebde1c981d0593d0f239740fbc155d5f28b8fd744a3c1ab193bbf6cb1ce35d5beea40ffe45a5461582be38d7c336ec235b1026cc1dd2e3f269a4
|
||||
MISC metadata.xml 326 BLAKE2B 6da205ed08b301f995aefb59116b618e24495abd172c9a152acb99d9d3e118500c9c3e55a5abb8987f33bb7d334516fa1595829e35ca9835df6622b4318d8a88 SHA512 55cfe9cb2c45438ace6fa2915828d032dfb377af270f024d78008bf5912e2527d88662f79b4b6aedbe2e9870cb52262b25624a4c598f94c4e0e4cb9f649aec92
|
@ -0,0 +1,24 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="Checks if Gentoo go packages are compiled with the system's golang version"
|
||||
HOMEPAGE="https://github.com/mrueg/go-updater"
|
||||
SRC_URI="https://github.com/mrueg/go-updater/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="dev-go/goversion"
|
||||
|
||||
src_compile() {
|
||||
:;
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin ${PN}
|
||||
dodoc README.md
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>mrueg@gentoo.org</email>
|
||||
<name>Manuel Rüger</name>
|
||||
</maintainer>
|
||||
<upstream>
|
||||
<remote-id type="github">mrueg/go-updater</remote-id>
|
||||
</upstream>
|
||||
</pkgmetadata>
|
@ -0,0 +1,59 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
EGO_PN="github.com/aquasecurity/kube-bench"
|
||||
|
||||
EGO_VENDOR=(
|
||||
"github.com/fatih/color 570b54cabe6b8eb0bc2dfce68d964677d63b5260"
|
||||
"github.com/fsnotify/fsnotify 4da3e2cfbabc9f751898f250b49f2439785783a1"
|
||||
"github.com/golang/glog 23def4e6c14b4da8ac2ed8007337bc5eb5007998"
|
||||
"github.com/hashicorp/hcl 23c074d0eceb2b8a5bfdbb271ab780cde70f05a8"
|
||||
"github.com/inconshreveable/mousetrap 76626ae9c91c4f2a10f34cad8ce83ea42c93bb75"
|
||||
"github.com/jinzhu/gorm 5174cc5c242a728b435ea2be8a2f7f998e15429b"
|
||||
"github.com/jinzhu/inflection 1c35d901db3da928c72a72d8458480cc9ade058f"
|
||||
"github.com/lib/pq 83612a56d3dd153a94a629cd64925371c9adad78"
|
||||
"github.com/magiconair/properties 49d762b9817ba1c2e9d0c69183c2b4a8b8f1d934"
|
||||
"github.com/mattn/go-colorable 5411d3eea5978e6cdc258b30de592b60df6aba96"
|
||||
"github.com/mattn/go-isatty 57fdcb988a5c543893cc61bce354a6e24ab70022"
|
||||
"github.com/mitchellh/mapstructure 06020f85339e21b2478f756a78e295255ffa4d6a"
|
||||
"github.com/pelletier/go-toml 0131db6d737cfbbfb678f8b7d92e55e27ce46224"
|
||||
"github.com/spf13/afero 57afd63c68602b63ed976de00dd066ccb3c319db"
|
||||
"github.com/spf13/cast acbeb36b902d72a7a4c18e8f3241075e7ab763e4"
|
||||
"github.com/spf13/cobra 7b2c5ac9fc04fc5efafb60700713d4fa609b777b"
|
||||
"github.com/spf13/jwalterweatherman 12bd96e66386c1960ab0f74ced1362f66f552f7b"
|
||||
"github.com/spf13/pflag 4c012f6dcd9546820e378d0bdda4d8fc772cdfea"
|
||||
"github.com/spf13/viper 25b30aa063fc18e48662b86996252eabdcf2f0c7"
|
||||
"golang.org/x/sys e24f485414aeafb646f6fca458b0bf869c0880a1 github.com/golang/sys"
|
||||
"golang.org/x/text e19ae1496984b1c655b8044a65c0300a3c878dd3 github.com/golang/text"
|
||||
"gopkg.in/yaml.v2 c95af922eae69f190717a0b7148960af8c55a072 github.com/go-yaml/yaml"
|
||||
)
|
||||
|
||||
inherit golang-build golang-vcs-snapshot bash-completion-r1
|
||||
|
||||
ARCHIVE_URI="https://github.com/aquasecurity/kube-bench/archive/v${PV}.tar.gz -> ${P}.tar.gz
|
||||
${EGO_VENDOR_URI}"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
DESCRIPTION="Kubernetes Bench for Security runs the CIS Kubernetes Benchmark"
|
||||
HOMEPAGE="https://github.com/aquasecurity/kube-bench"
|
||||
SRC_URI="${ARCHIVE_URI}"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE=""
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
src_compile() {
|
||||
pushd src/${EGO_PN} || die
|
||||
GOPATH="${S}" go build -o ${PN} . || die
|
||||
popd || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin src/${EGO_PN}/${PN}
|
||||
insinto /etc/kube-bench
|
||||
doins -r src/${EGO_PN}/cfg
|
||||
}
|
@ -1,5 +1,3 @@
|
||||
DIST kubectx-0.4.0_p20180118.tar.gz 398084 BLAKE2B fda8cae93e221fc4732b7cedbd44465541cdd7f31b29fbbfde781ea34b2c2d644ad6735d6bf7fa1ebcf04cc2b9dc3ac8e883808cd04c8a256b004a3293cee240 SHA512 04123596724dfc4dacc0beb578c716a3909d98d7df7dbf3c1439b5bb29ac14ea7b366be3e2252550ed89474c58ce83b028af79b0cd288f1ecd62c6c3f2729f62
|
||||
DIST kubectx-0.4.1.tar.gz 397910 BLAKE2B 60b0ac75cf6358a3660c3e59f85e5c27a670095ad973edbf2b53350726b48f1036aa90dd999cf149c10956a43692389ab2e87c63bce3b711ae2c7cb894157753 SHA512 dcaf1c8f71f69037f9341ff29befb2507d7bfa11a25e6e864000b802fe1221d6b47f2f78faa6c490711e65d0dda4b289e5ed1ffc261e4d2142054f48d1aac140
|
||||
EBUILD kubectx-0.4.0_p20180118.ebuild 789 BLAKE2B 199715ce5c3fab1bc97580c7625888ae244585bb6d1f9efc24ee99188258c8540086b386e9efaaf77eb129f425fcb646c42e7908196a5b370d823846c404c50f SHA512 9b59c77fe6d81d3d794d0d21a6ae4441ce1546a587bb6dd27516c8741293ead21ebd5011237235e578f24ec3bee6d396a53de48fd38fa0dea55fbb24ada96bcd
|
||||
EBUILD kubectx-0.4.1.ebuild 695 BLAKE2B 7d577b4d94e9deb6ce514fc3997052526670ce9c4d9df60d90136388b04f80c360957ed46d3ca83093d73fe6ab696433d099ad853e3299ad897cd4d7460d2419 SHA512 ac6b600bbdb46ddb0bb2d4d4fffe25bd41217d231ccef053169bac0e5f5e8b0ff0ec85fa67bc73996c590845b6768dddea4cbc2b3afa53077a93a5f341597a40
|
||||
MISC metadata.xml 324 BLAKE2B 78b22be6aaf9e018d9e75f572304e37680db02da78e20dd603c0c0c1eaaafdf37ae7b4d1534c743581e319cede030c25ce77fc701b10e4359522fe1cfe48ce04 SHA512 0361b6396f21c195af41c0f2fac3030071ad28d736ec3b7b731346b4cde955be334deb1ab0974f9b273d4dec63e6fffcaf288aa707e517bea6971cfc9e07b551
|
||||
|
@ -1,32 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit vcs-snapshot bash-completion-r1
|
||||
|
||||
COMMIT="b2992aa0df9143c25d64843b3ee40fbcd7332f07"
|
||||
|
||||
DESCRIPTION="Fast way to switch between clusters and namespaces in kubectl"
|
||||
HOMEPAGE="https://github.com/ahmetb/kubectx"
|
||||
SRC_URI="https://github.com/ahmetb/kubectx/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="sys-cluster/kubectl"
|
||||
|
||||
src_install() {
|
||||
insinto /usr/include
|
||||
doins utils.bash
|
||||
dobin kubectx kubens
|
||||
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins completion/kubectx.zsh _kubectx
|
||||
newins completion/kubens.zsh _kubens
|
||||
|
||||
newbashcomp completion/kubectx.bash kubectx
|
||||
newbashcomp completion/kubens.bash kubens
|
||||
}
|
@ -1,4 +1,4 @@
|
||||
DIST logsentry-1.1.1.tar.gz 30267 BLAKE2B e81fb68484fb05f40d61e2d34bc6e0953e99a46b299f4384592bb4a5a1b53874ca382dfaf68f60ee232d56a9c23ec4840ddc71033fb20b88f653d2fc00384869 SHA512 4be045289259655e7b4da05dd1a07c649b2289fbc6f15dd424dc48ab980478f3ae49501f0e9e2035fddb9a40acaf2f4ab310ff8d95355196d82d41d6fc860143
|
||||
EBUILD logsentry-1.1.1-r2.ebuild 1673 BLAKE2B 4143d0b78ecd4f44ef3a922f5d874437c184e1830ce168ae049e111853634608b3f8b6b13d883b2b01b096b361a6b3ec4675e7bb163e81dcacacd33cc5897efa SHA512 02911e9068401f4d6928a87d2951eabf55fcd31fb37be590aab738c86d17d2111b3c98f01a9567ad74b136c4a5ac0d453f6d8dd4e6510383146caeaa9d3614ee
|
||||
EBUILD logsentry-1.1.1-r2.ebuild 1672 BLAKE2B 2fe664d750585d2c9bf6ed4917a8f75e5c9d2fba637d5b216328ed9030bc1bc35bab12a55f3b0f87eff6d4a35095a5eed3c58a8dbcd3b0d0555373cd0fe6c4d0 SHA512 037e49a772278c28745bbe72c5d8cdae5bdb3f77476bf0a55c1b26fa3f9aeb321f33be358c13dd07a0d3186860c6beb85f9678fd81d1d76ab269caeeee0cad48
|
||||
EBUILD logsentry-1.1.1.ebuild 1538 BLAKE2B e41bbcc95a1753d8d4e73601537a9294db2873609745eacf7fc752b3d00d570e029112470912da1ba75a9588b6c4c510a650ff547c2b4db70412b4f612752646 SHA512 69d37361a5d87fd1051a2742ffea623f49afbac03a9ee7b8e1ff256f985500cceb42072c7bd3c13f8b052d78afdd7d22d646489d4ec52681e177f476d365392e
|
||||
MISC metadata.xml 248 BLAKE2B 495eba242dfadfd944d3f74a526162dc04de2d8fcebcb6d5dce43c20500407485c24fe61d537f8015739463543b53ed6fbd9d07242a45782df2c2a8d68e053ab SHA512 52d286d2ecc5d8b66e2468683db28439cdcbcc96c88d8dba8a415049def3c53bc130783853aee9918c6b0dc4ae295aba44d601687d440196399903b25e92b5f9
|
||||
|
@ -1,48 +1,23 @@
|
||||
AUX 8-stable/50-default-r1.conf 1952 BLAKE2B dca027ea6073384a2ec5867722028f70599c51fd8c46672ce647e84a7de4b3a0dc5bfaf43f7317eddb902c4987266ae67f88b43375a51e82a3ffefbb61c4d099 SHA512 1bc4d8059d83de57ff44d34265b0c3881bab7889f51c044728ba462c9105c89425187f95b6b01d6d6d103abde22a9dff063e5d6b90027ed87e9f851f9b1ad5b3
|
||||
AUX 8-stable/50-default.conf 1701 BLAKE2B b14c89f70d405b206818d077190cf8fefd1a01db4cdd38f5012b09b4e3440e16b6a3ca7ff20cfa616622565b3477e7f4d44252d72d1c3cdf148a1b59f629442a SHA512 33e4e63239b9112fec1a37115ac80ab8dbd6e7189d9d29b1bc743c433e0124ea0d1a4cf6f7ada9e5b92e9b0025b6617a1a16f4c491e743bbf4327a5f376a1ea9
|
||||
AUX 8-stable/README.gentoo 1126 BLAKE2B b7e3881605c2bacda7f415b3f3195e1ef405a8e9fc7fd627fd35b0ab90966cbb29c9a85fcf2df6092062c5af353d44a02d3451e3caa072f4fa44d681702e9807 SHA512 46fdf3350e2005d3ef588d50dfc6d474a1b5d3010329b656879a43cbbd7be0cd91944b88d3838f45f69c830fc28c42e7fac2cd52e0a4b24bb6780562d59ae384
|
||||
AUX 8-stable/rsyslog-8.24.0-fix-tcpflood-without-librelp-r1.patch 4660 BLAKE2B 82d7ff7b24049e8d437ad27800d0a6bbd79787311747396578ead38f52ceb37f34abec93f3df15e302676fe0891e9d0729ba8418a01d39bfeb25f0af47bbeeeb SHA512 231030532a126dade0fa2c98d9bd8ef610d3059210cabfc6b0a51adfb610b61eb57b7926a2a51f01f196d196a9134b4c1db7105aeedc4d35eb70abac97301378
|
||||
AUX 8-stable/rsyslog-8.26.0-fix-zmq3-format-security.patch 1982 BLAKE2B 5b8c6971231b16e0ba23c20998d05b691b6e73562571fa74453c77691d2d8c2141ba64b87fcdc5786d62a4234b2d35fc45a1309d5b7729dde8e5e5d9efe89644 SHA512 b426c3eaa2adc2de14e129125ccd630e2fa2132c6ca774f3e18ee784f0622573a95339d901a1b9c2877e8b77d00f8be9f9d17f92769136c356aaab58358d2159
|
||||
AUX 8-stable/rsyslog-8.27.0-fix-hostname-detection-when-getaddrinfo-fails.patch 990 BLAKE2B e711765882e8bad81101a9b0d6b7d52b6d97ec7877b38584669057fb5bd60dca5a9d9a0ef46743f34060c3a19a7982b4add710418a6cd2a580b1ea56ae4f1157 SHA512 95d72879973c9d20c4c0c66e3e065590475d0aae96680a627b05735c8a66b69bf9b9a93888fa6a802e094bf37ac90099c7e6732699d439d44d6c39d461201351
|
||||
AUX 8-stable/rsyslog-8.27.0-fix-librdkafka-detection.patch 1556 BLAKE2B b8a7d1ccb3854f91a676b57332d4a944f5c781b82451b2d36f19e4237226da44cb41fc220260b1fd8bb2b46b62cbb81a4d392a1f116d31d50224ca781bb3b10f SHA512 374de4fb9a4e3c3b9e28ff2e5eca48b7744afc9a5ba222508661fdfa30037967b6a2497d0e82266010de27c1a540ebb300c15bf6049a1af9dcf019353c04acdc
|
||||
AUX 8-stable/rsyslog-8.27.0-fix-mmnormalize-tests.patch 509 BLAKE2B e50fd76f239be9fe15a0a7c8dd2b5984af69487c5ffe5a4f12e415f9c4040e600c5552dbe66c32879729c0f497bf74f1f63730b2f4c6a9a658fd385cb684cf05 SHA512 70bfe4f95b23e4e88e5b7535a1b86742a02438f2eadc6fd2e82c66ebdc9d59d983c1ded7d4902dd5d7ef9413847398c1318df82bace3b7e5b1ca8bd23ca9e8e4
|
||||
AUX 8-stable/rsyslog-8.30.0-fix-kerberos.patch 736 BLAKE2B fb404b5435d861934c70677baec2c552ba576c989996431650df1f55d1a172d9e78fda6d74fc59c32c918a43affc4dec991a8e2808d41bc37f898ae7bdd08615 SHA512 8d72cad0106afdf953ce0cf8a5dd0ecfb7daf63c3e274c26e3283ac486de1fc4ce10a450019f1a11f067d320d299dc2b350e4cd5eda283c3b514864e924465a9
|
||||
AUX 8-stable/rsyslog-8.32.0-fix-building-without-curl-r3.patch 3878 BLAKE2B 9f1a030807a312801ce6c66bb5120029b935bf5ba2029b4d7297713f865f509fd1761595ba05c479a1aa860c8564fe38bdebe51c3c36ab278aa518de0f2285dd SHA512 19765cbd9aa13cce9590ab08c4a626eba06b94fd4345b3fc3b77149ed9401ea91c41f00b105a5b7f15bae611f5b718abdac23fff9ec205c3385686203e6aa701
|
||||
AUX 8-stable/rsyslog-8.34.0-fix-issue2612.patch 558 BLAKE2B ad05cd0a3b3570821465faf9f01541164eb18b1355363ad2208d9ee148971e1b86fb47fa2a81da2050a13c750342b3643e24dcb4db78149e6495353805180e10 SHA512 5249be1b70070ae30a41feacce83feea1a97f76eda0b5b60c29e4db6d50f4d27be8ab66de6187343d5b881eaf19414c2b8766fc99523c52e51f6a7c9b62e7d94
|
||||
AUX 8-stable/rsyslog.conf 1562 BLAKE2B 3abbc4c13c8c1d3817ac9a7c7f048aa1a8d7f279bf638dc91d15a785ad42c1b34a61de0be33b4ffa218a655849aeceff3e8686384e1d77472417235ce453b546 SHA512 1720174fab020e2de590f3d6bbb03784aca1928fe05f7e75e02fb4597cb8b2ee755e6deb8e8f989060511044ae483f791f496f24e0eecaf27eb9e0b5e20a2c7a
|
||||
AUX 8-stable/rsyslog.confd-r1 1145 BLAKE2B 06e63c7500238dd31abddd105269714387b990a3530ad11443a8502ad68221c3f8e8b0db02ba3ad2b7010483364d36a5b526a461d3465972b74d2cd36ff08747 SHA512 a7f8621bdd490596b09f9a7583dd0c992006c55335b2e6e687bef4141bb18cd4bb43e23f590a138e9c8d5a3cbac0cc46c3b01c7d3ff9f9dd3c53418b13b0dd4a
|
||||
AUX 8-stable/rsyslog.initd-r1 1758 BLAKE2B 1af0e2371067ac2c51bff7b9c4442abba8d8a14714b7604e2f49d244fb08bef7614e73cbad201e6f4902504abd78ab32fdd093acb5714d53238353c8a9bd977e SHA512 0ddd385e77759370344032f52f945b1e90d4961140db63e2562e4be78dfc2bae16ac9439d40fe078110593999b5c5efd7680b402fc0771b1261ff28b1725e265
|
||||
AUX 8-stable/rsyslog.logrotate 682 BLAKE2B cb6a4a00895c5801c15621e52fb16c4b046a46f27bd21c5e76c253e62421f07826f603ab529e8a95f260925d58948a78c89f41c9b9f61e142217403ab454c02f SHA512 6c58abd2f02157177a61695f53eccbf201c514821b0c551a4812621e8d3dd2da9b5cd651d93860cb51ebdbdc7056d0ef0dde99c2a57ac3c43aa968a141805912
|
||||
DIST rsyslog-8.19.0.tar.gz 2279714 BLAKE2B ae736b72e00ba6ba338476d8fc349f2b958f0c8f8b08417ed6cc192fcb17182f4c95018fbe973355b90833fab723211d653f4ac2a0fe9ef385ebe6d34251e4de SHA512 77c40c9d76591ed3561ec76242be2c647848533df5599320ea988cbc200614c47930e0b63f190d31a0c1cec2443d57ca374f07e0909f11eba8a4bd4b8eee0e44
|
||||
DIST rsyslog-8.24.0.tar.gz 2374240 BLAKE2B a708ed52dcc0182acbfb6d7adee8f1670c60e65e87b2240f88330622b515dbe1cc45a2bb3233cb630be4658b8cae394bab7839167808dd41d75632c76932a77e SHA512 b25b8ae72133376f732f54863c97aea3c8dfbf37c62c6a61840932996913c9d4e63155a24ffc577db48a18514f3e35b6fb109b1864380ba93ddf3fa6d84d728d
|
||||
DIST rsyslog-8.25.0.tar.gz 2386720 BLAKE2B 192f0084b0aa9588606c458494634d6f1445598371de4ce160ade647b44abdbd6456125060f46fc62bbaa8f981c31247a91b8dedd41f89e83a4ee021c9828dad SHA512 0e97db84cc8fe9fd6e3ffb5a78b32fd213e22833c6ed605329c579132d127b7d65b3f66c64e6bddeb1967aa9ed90645a7c24b9d5e643f95bdaf48ed9fc82cb5f
|
||||
DIST rsyslog-8.26.0.tar.gz 2393148 BLAKE2B 660853aae1f0853b0df66755cb64c569692b849816b92d41421c3650502eab069163d65445fe49e7c005a7bba9ead6cfe36b125a715b4fd8cd24a78dae7d2484 SHA512 96cb3af0e05b3e2941f7d2b3558e36836818037ef424f13a8ae2ac8a1e2aa0c7a4eedf3366c8360c7d8eb4515aecc7f3665690646009c650b66689067069af19
|
||||
DIST rsyslog-8.27.0.tar.gz 2435123 BLAKE2B ebd95d5995d604a16495c2c760bfc65348a2b696a2aec838ba06d2eac379627d2b8495f03177aa8813d012d6163073cde71d442a63fe2da173bdcb55c90f458a SHA512 dad957c21d9f7ed3a97a1ed87658fe9381dad00365bd2f5af2396dde3dc4a9f96db17c4df9eb9bd02562cc538f99bf8e2ca00229680d6b7892179161265db753
|
||||
DIST rsyslog-8.28.0.tar.gz 2471122 BLAKE2B 48ed55cbf02eca22591c3d1d59db8f956e4d852cbabb4ae8837767a2c843209a53becbe2a9f595290b44d79c8813414c20954ce1ccaa08bf0786423df79344e3 SHA512 e27ba0ff22e945393536abc5bc6e234d8849db291a5056429b59b47abe15fb060fc5c26efedcfe347b386d438b3f8a029ae4577a1d803666701431677f628cb1
|
||||
DIST rsyslog-8.29.0.tar.gz 2447907 BLAKE2B dd3a34e4c1b4edc989d58369933b94b11d89c044ca81715062cebaacae5003463ed233f26358418651f63643bd6d7cdfb4f3192324d59d596c87480e37f40493 SHA512 6e0a69f2ac36fcfd0714b2b7053bd263ca8875d2aba7ad6452223eb8677edfa1cf4978989661614dd65dd1822f0123599d565679c8faa3960f136c8d9472e952
|
||||
DIST rsyslog-8.30.0.tar.gz 2468224 BLAKE2B 3c5c94661abc2e34d688ca08d6dea0d2bcca9f287f45328a0d1b240bcb1b9223800207ce8759da823fa3acd974fcc70f01565f95fbcec108f8f71c7cb14a2409 SHA512 90e172d08ba7548252fc9744f71259dadf5a40afef405516e7b1601620913ca4b2ffc4859b16f369b9c1974ea10f4e41bc2d987e3d6bf9aabeb979f7de6aefe0
|
||||
DIST rsyslog-8.31.0.tar.gz 2498675 BLAKE2B 8b80394ea3919dba29a431f3c5c1fc337a9e60a886a3c258c3895eb4341a941d8af6370ceb0d2e212934f64ab38c7238e99f40e1dc27e648bd4b75e158586a28 SHA512 aab888dda8df3ad7ff404767a58539cdc0bb92d0e537b703cf5833555688dd6d8223889b8d70bf8c594339a51831b57df7a65b397d8b40cded608dfb007befe7
|
||||
DIST rsyslog-8.32.0.tar.gz 2478990 BLAKE2B 21bfc93b55da107bec2eddb89cb42d76990ced2675caeb6e73183a109f9bc8293bde43f202bb56007f9ea4e49de385b004c158059cb13e8d3d376bf050ca445a SHA512 eea85d77bf3624fbad6f0838fa2a4af7c14d853c8f120f14cf697cdfda7f7e0692dab684d2ddd07fe44a0bcd50cf91baf69af1bb63dc9d60e19146f1150155ac
|
||||
DIST rsyslog-8.33.1.tar.gz 2494338 BLAKE2B 680ad2c062386e4e3e6c6e1a83cf0001d63da305edae9df527d1079a2fa13b8715e3cbfa211ca908e0005f1762becfd88369a7cd1488134564980137f0e98d86 SHA512 c4b426409e89463a8e8f7f9d0267f2fa1df1a84e947ce7bf91255db88b4cad5b7e607c476ba2db0543af069c44cdbb35330e0839696bf83668200e8ac009c6a0
|
||||
DIST rsyslog-docs-8.19.0.tar.gz 4271094 BLAKE2B c866f66fc1ae9ef8c227a2e03bab4a815e408ccaafe9da97f8b6b6f6b89bb33d0c8a9e004552d5a1287a19bc8f3677517259a4f9bcebffbbeff506d80454945b SHA512 120f229a641119649fc897948fb0934039a95d0ef63e68b10ab635620d84988d794fd5dc33617353028e786513a86b3a1cd0c4fef9c755dab5bedd8e0246532e
|
||||
DIST rsyslog-docs-8.24.0.tar.gz 4344877 BLAKE2B a3d9ea90580c3e24e3c40c07f871740cdf33ad4206627586bfb42523a758cbd18f5303f35f2fa036e492dece9a83d9c151b60023aed99f63c42ed8f9bf7da9f1 SHA512 b55cde1485a7baec6d4c4928107c22a078cf412a2994c0dfcbb12c47b49c3b263af8a64011b1329567cf86e04927b9e383581dc868eaea81d554adada6b3786b
|
||||
DIST rsyslog-docs-8.25.0.tar.gz 4359583 BLAKE2B 349e057d3c94ca6fc92753459f8fca011927e82a787cc50685ebe1c5a40a624e4f74764b04cf00f5c250cd65eb6e2862d7225790cc029cd7256c072d63db1726 SHA512 e0068ec00bbda2d1cf7f14105ad83e82bea9291ed5d5fda3ffcff2db32747b65e7b6d65743a3221aeca03be9c6efcee1db7f03c2da115a3aed60848556befa71
|
||||
DIST rsyslog-docs-8.26.0.tar.gz 4381345 BLAKE2B d90a4af06b3b48e5bab75751e0bd06564b6a846068ce324aa9e9b26c1e5e1d40841f573806444f290d3227e31d1fb498265437341be946badfe35c8455427352 SHA512 5c05c13b3ae6be431343b7a5b3b2cb8676804d6d58d98826e6b44d685bb30fdaf3ced27d66a29908b40f1839bac45d1834d060ddf05d01477474ab3f45f973c8
|
||||
DIST rsyslog-docs-8.27.0.tar.gz 4411093 BLAKE2B 67f6e3cf77973b07c9a19816beb16c9cce4b32b4609ab458501e7b0be9795c2138a83756d9590f03b0acde23f8b762df1c308c0ab7210a24122476ad14860770 SHA512 08d935ecad070d65e7169a56c6a4d35d49e895b4f7cfe4d747939d8a92bdadd0fc3be7cc47d23d233a33b964f2a4d809a34b37419d2e42c3f8c183120412ab2c
|
||||
DIST rsyslog-8.34.0.tar.gz 2545544 BLAKE2B 66caf277a814563027183ecf267d76067c384adf8d6d7b8543203df9a7c37242722dd35445e4446aacf1e680f5f3957cea40ece8a284ef2a393b4a71e3a2b49c SHA512 69eaececa2f8b98799deac8e6cb2cf635a5117da7a21cbb0b880b7df1d83c6ccf16133dab099a6e5fb865f34c2dad164a1bf1952d16ca116af3b1dd35d15065e
|
||||
DIST rsyslog-docs-8.28.0.tar.gz 4424901 BLAKE2B 9753b1a48b9d3bb045f2d088de5df0bbe5bc9045a82a5cab98b27c2df7648ac312929a173ec34c81ced46cb0eba336d708204b73b57413686769afa882dceaa5 SHA512 c085e09149cfc27ce0cd22edf9ad3f81b111f491fbea79afbc3172882065bd8324e366e3b5d09c885c1a3aa63fe8fbbe154d66488319d4ffc0867f938e1ab07d
|
||||
DIST rsyslog-docs-8.29.0.tar.gz 4473644 BLAKE2B 18fc4aea0551f1ad770cd882aaf512424f8d4fc9f00ba6c4c8e9bbbcb0ea4d4da4ba31c53bad23e28ed761e27e6378657b085cb0d72cebdc233ba25160023daa SHA512 791633b93693c1eacde965e07ced863b96d1bfa488fc5c4770424825ab702cae7babd5286e552da5e17d1d7779f228c61a1527b9726dffea31bbb3b4e80525dc
|
||||
DIST rsyslog-docs-8.30.0.tar.gz 4487378 BLAKE2B 7d39fc7642ec2122f254dd6660a13efa4b214ee669fe5772b4d68a8ce94ed5ac3ca2500c23b5752924b5befca2a66c228b6f2bb48c7b9f72a2a4b98e2a14810b SHA512 8068bb9bb8408447bff49730e9aac105eab1bd610592dd524e7639b668b2d05a4836d3a9862622445a0bb8d8b140db67c861dad6ec207d11049ac368e363684d
|
||||
DIST rsyslog-docs-8.31.0.tar.gz 4484950 BLAKE2B 8ee4346a095942133bb473509f275c625fdb4a1aa81293a15604bdb95670ff0676677fe5481be3bc2ea7097b2c8de7fd3b0eb8033701522b372bffe44325a10a SHA512 51a63fa520d8176e183afa44ccf889374810dddfd5fdb363ed06b134bfbe0d1a94085e4836cf3bb2a07cb83564bbb87cef3763ac9429a5efc50aff276542defa
|
||||
DIST rsyslog-docs-8.32.0.tar.gz 5368254 BLAKE2B 6d1efb191698bb1cfb03660167e5dcf9eea8f2fd2e459c350cd55aa24afcc5fb44d2bc0ef5590c6951326fbd0215aecbd59a6122e88ff449f566b37d1ee00d56 SHA512 e64eba3c40eab35e266826fb7e183418f38eb008f2a21ddf2c523d1e42aacaa20f882a561e5df67a979463048b58232fa82759645a21dc6962f6836ac8f57bce
|
||||
DIST rsyslog-docs-8.33.1.tar.gz 6770438 BLAKE2B e076688d7559c16986241149c00f6df603e2c90771222f4f91dc944fbdeace3dbc6e47fc82602f852a7407e064fe31df0a1c2940d521ae6ae21f5663518bfeb7 SHA512 fcc8ffee372c0b0dc2ab1b76dcf68a66ce820996cf2d46a2b5c6fd40e6fad5ef3c33da97a2e88956751597c20cf0c4a9b6537c22db0b3b46d1a734a9d9f95df5
|
||||
EBUILD rsyslog-8.19.0.ebuild 12240 BLAKE2B c5de14a1f8dd0b12bb2e2b90707d86647766fcb3df54bc1a8c7428781248a5a1617b57990953037c3e6c8bc24751cc245e7a6faae520571a0fbef40b30828ce0 SHA512 7363c435c65394abda4a4f576e8433d8038a6e420534f3bb0419477ab3b4e3ab179f53bae016b372522884ac12eab467d3ece7db15303b3cc33d954f963fda8b
|
||||
EBUILD rsyslog-8.24.0-r2.ebuild 12396 BLAKE2B 0c0456e8d54b24a02e0d07e0672f81156afce8deff1094e9644bcc3dcee3aab0bd7c43ea70957504308563bb51419c9a24436fff36a1be450e1e0078ec23d739 SHA512 2acbc370ca468dcfc021b66a31b2617dc5093b518c5c486487e306548445c1bb472dd48458a3171a99f1bc82276bed39ccaff5be31603191d261d11c2cd521c9
|
||||
EBUILD rsyslog-8.25.0-r2.ebuild 12487 BLAKE2B 3e2715a63afe272a18b172ac7d67d2ad738d18d3c6f469cbc8642e4f75a5679f627f1dd768fb7301e1a37be4434f8f51fb1709217a5165dff99fbe218b3d84f5 SHA512 1a73a37139e8af1017f7cc53bbd35238130cfa30a7e3236f304a4d079931d0304fbde4f026254a951253c4060bcb6e774b6643f42ad14ef431b697833450f521
|
||||
EBUILD rsyslog-8.26.0-r1.ebuild 12480 BLAKE2B 7c3d7ac596b2abcaa35daac1e917b91a0564f818cb399d560a90ae255dd8b7a7f432c0bf79dcb34db8501a9b2769b58bc0365ec49bb21913797e2ffde086ea98 SHA512 8036baf097b54006d6350a52ab08a222a0896a955c48d5b984f5f284b5603ebcf732a58493cebfa1c8469b7a1f9cbf8bf42d90e44454488c206873243af3630e
|
||||
EBUILD rsyslog-8.27.0-r1.ebuild 12736 BLAKE2B f12cf7bdba7aba23bffd40a4f625710fd287407eac886d6dba41e63ed256ea1bbed2ff4f5ead966c7101ebbe3fc95ba4c196b7873068744db801ac53005e335c SHA512 497c4df7601980431f093bdbe9e95513374ba171565acc7fe8bb4dda40142ffea1443a4d10d79ae938c423e03879286a1a550abde5be919bb5d6032486425b13
|
||||
EBUILD rsyslog-8.28.0.ebuild 12504 BLAKE2B 7fbd8ed2298fce7926f40963571d4b38c03a36384c8dd626dc6e94445a8066184191f9103ab11d9a48734575b799e9c77a2b341e523ffdfd99810b26997b5e9e SHA512 e21e89e5c365c3b6de7c7057113010dc5c9f4a6d713ffe52a4a3a6519db85de8ce1c54e7d88b7de47457e4bcc10e9873d52059e4a5b3216f9ad4f9aee66267a5
|
||||
EBUILD rsyslog-8.29.0.ebuild 12527 BLAKE2B c992fcb0783af6c15d89f8455ff47dc11248f5245b1a682f62b468150d814c672715d853acf31d3f551cb8c97dec1a02f9a676737033fe3e128d39a4b7412d71 SHA512 8f7593cca44eaa50929e03978dd9f066cc73aa9f725ce36585d274da925e0cc9a6a8791ab199c38b496e857335b8359c8cf19cc9ea3fae2ced4267ae69b05ef8
|
||||
EBUILD rsyslog-8.30.0.ebuild 12518 BLAKE2B d50e7a8dbeb492e8339d2b6f6fc237554059db89b0b9593bfc34111d1ffbef1cc518282f0b1b3c90dd04828fba7639dffab49c50e2ba779b4e4009886d5a2ce1 SHA512 aade46a36a893585f63d11a6030f6ad1ec0529e6cd79650ed96278a1a12f943d1710a1c853bcf54d528cff34dc8a706ab6d69823cab861f8a5c3f2f58b8f588f
|
||||
EBUILD rsyslog-8.31.0.ebuild 12565 BLAKE2B 29ca871aa60781bacec26e4809b8b3710958120011a5b3c7f31867c992faaab2f6b66707e013e855563e875104bb7e9fb93dac60836903c1a2f031600f2083fc SHA512 cb044ac578f29e7332191af95113882b2973870e37994b216eeb54b816e05cb42dae6e492c53b18d54dcac7425f6228aa1ac805f267dd6bf4fa344019c2b121f
|
||||
EBUILD rsyslog-8.32.0-r3.ebuild 12702 BLAKE2B 7e534f7d0beeafffbe57c0c9bdc6861d3da9ee978dcd2cec16a544b585a67e83bd82c6df20883dade66b5b5c6c8270b7f52bdf44fb449d71eec508059bd5b3d1 SHA512 1d5d877785061d9188947aae0144eab16b8fa08ad61d8638d4820b7a3f15d16a7ca76d5d0faffa1c38f224d462329f65c013fe1edf00125edbc9a3ee310ee1f6
|
||||
EBUILD rsyslog-8.33.1.ebuild 12620 BLAKE2B 6f6c4c1bdeb252bb32eec2764647bf74f4e94a2a88334aa7c4be58f5f77fb7c16c71f3485b4e1311232f035254268405d1bb140384e9160825eb44f8fab0e36b SHA512 2b898600948e94f98051eba4eeb41b409a8616f85c03b7894a1874677f48d4c67ba627612915835ed74114b48db3efd7c287a70b60a5d14c5c6c3102bcd28f3d
|
||||
MISC metadata.xml 3397 BLAKE2B 368cc15a6a51952b0aeed7314e0d8cf4be6a82f0bb5275f87f09b8707353543d26d839be016e7ae9523e8594e2ddf85f2f26e36ce2332b95131729f4da959a90 SHA512 8d5f78dafe981b3874fe60a54d3f041ab163e3e94a5f3ceb943bfe075e55dbdc260aa2dd035c7d241708f21b8f8f1f9d268ffd65538b0fc5b36c43a59f5a0f27
|
||||
DIST rsyslog-docs-8.34.0.tar.gz 7419160 BLAKE2B 928e6a4044d6d2161483f934e6c2cd5e489a3ec95b823419d7d57b98a7dd6c73f4d28d17c238471592fe1c692b626b57c7bf647e926c1c38ff5a774e5d2defd5 SHA512 edf9aa63c777624c3dc27dfd64b38893b9b4c9b56941df1d7a8c6bc3cb4cbbfb83e8c356cbefeab7c688ecb6017b66ed99931cb71b69b7c927b4743548dd40d4
|
||||
EBUILD rsyslog-8.28.0-r1.ebuild 12496 BLAKE2B 6389d72e3018fc1df8c7fa1f2a511360f1cd708534eaa2969a8418abdc92cee03934a5e2f9865bfe0ae462a6f3b49e17acf0434403e402f5ed149ae05203a366 SHA512 54e9cdef851779a9b2f8034474fb5c17e66a27679f24c50c6cc74fbdd8ff92a06a30998a40c5264ac4123b9f8860487b6e2a87607d00f38591fe7ac251623bc0
|
||||
EBUILD rsyslog-8.32.0-r4.ebuild 12716 BLAKE2B 9bbfe2d1395a6b298dded2c36d0393e1b11f8b11b0b05c87d2fbe7d1d72d52956b46b2a1a65048daed2a21ba2ed897023dc419f7dca242febbc70b54f4dc0112 SHA512 b8b14edcc03b268699a2e727a942ba34706d95a953426c8a9e2fde33f2aab44a4588d8b8c21627b0b8bd2fa95c295d5e1d84f83ccb3de857c46a768a72093451
|
||||
EBUILD rsyslog-8.33.1-r1.ebuild 12634 BLAKE2B efd3e3c908e293ff50a3ff7102c42068627403b912393edfd970271e2974083280839a16bce4175ce4cc946f2d01ff2d516428c18c5f157b541d24c2b316e38e SHA512 ac770033e43c6f5d7d9f93c5586a29389436bc4b479ff1d2a81f7b63121ccd3bff3f9726b7395244a5384d4a3844968b9c8f0bd11ea1f56a381616d231b66fbf
|
||||
EBUILD rsyslog-8.34.0.ebuild 12870 BLAKE2B 89d1341a6aee64b37678048f1682bea4387c08862f5a67a4804210b686486ef5caf8c83fe2e505c77250260912b22f6d43775284a2f0c6565e93f6337d66f93c SHA512 8523e0ca4e1fd67b03b6a2079b8d32b6f31f86795f6115197f6f4a15da3dc6c965079e7747b3624af954a75f995e6017b88efaa560ae897defe063d00bd72788
|
||||
MISC metadata.xml 3501 BLAKE2B c9fb5e712f905e55b44cf43322a24bda7d1d0063f560029e0c3fb5da464f9e2f35c5031ab592ff958db262f48b511d8c1a0267ce0d8a9e47a14b03588351bdd4 SHA512 c167c0829aa16e2baf1758a75762cfe7aa1a9c48c6d9cbc32a1a3338ba7c0ba71f112d27173bb126bb1a6fbb75716d478e0b69539a735f8cb8f020a555a5907d
|
||||
|
@ -1,160 +0,0 @@
|
||||
Patch to allow building of tcpflood without librelp
|
||||
|
||||
Cherry pick of
|
||||
https://github.com/rsyslog/rsyslog/commit/73e3b7ab2f8a3974d31844b492ad02d61ed5727f
|
||||
https://github.com/rsyslog/rsyslog/pull/1493
|
||||
|
||||
|
||||
Gentoo-Bug: https://bugs.gentoo.org/613264
|
||||
Gentoo-Bug: https://bugs.gentoo.org/614424
|
||||
|
||||
diff -u b/tests/tcpflood.c b/tests/tcpflood.c
|
||||
--- b/tests/tcpflood.c
|
||||
+++ b/tests/tcpflood.c
|
||||
@@ -96,7 +96,9 @@
|
||||
#include <string.h>
|
||||
#include <netinet/in.h>
|
||||
#include <pthread.h>
|
||||
+#ifdef ENABLE_RELP
|
||||
#include <librelp.h>
|
||||
+#endif
|
||||
#include <sys/resource.h>
|
||||
#include <sys/time.h>
|
||||
#include <errno.h>
|
||||
@@ -149,7 +151,9 @@
|
||||
static int numConnections = 1; /* number of connections to create */
|
||||
static int softLimitConnections = 0; /* soft connection limit, see -c option description */
|
||||
static int *sockArray; /* array of sockets to use */
|
||||
+#ifdef ENABLE_RELP
|
||||
static relpClt_t **relpCltArray; /* array of sockets to use */
|
||||
+#endif
|
||||
static int msgNum = 0; /* initial message number to start with */
|
||||
static int bShowProgress = 1; /* show progress messages */
|
||||
static int bSilent = 0; /* completely silent operation */
|
||||
@@ -216,6 +220,7 @@
|
||||
static int sendTLS(int i, char *buf, int lenBuf);
|
||||
static void closeTLSSess(int __attribute__((unused)) i);
|
||||
|
||||
+#ifdef ENABLE_RELP
|
||||
/* RELP subsystem */
|
||||
#pragma GCC diagnostic push
|
||||
#pragma GCC diagnostic ignored "-Wformat-security"
|
||||
@@ -235,6 +240,7 @@
|
||||
CHKRELP(relpEngineSetEnableCmd(pRelpEngine, (unsigned char*)"syslog",
|
||||
eRelpCmdState_Required));
|
||||
}
|
||||
+#endif /* #ifdef ENABLE_RELP */
|
||||
|
||||
/* prepare send subsystem for UDP send */
|
||||
static int
|
||||
@@ -273,6 +279,7 @@
|
||||
port = targetPort;
|
||||
}
|
||||
if(transport == TP_RELP_PLAIN) {
|
||||
+ #ifdef ENABLE_RELP
|
||||
relpRetVal relp_r;
|
||||
relpClt_t *relpClt;
|
||||
char relpPort[16];
|
||||
@@ -286,6 +293,7 @@
|
||||
return(1);
|
||||
}
|
||||
*fd = 1; /* mimic "all ok" state */
|
||||
+ #endif
|
||||
} else { /* TCP, with or without TLS */
|
||||
if((sock=socket(AF_INET, SOCK_STREAM, 0))==-1) {
|
||||
perror("\nsocket()");
|
||||
@@ -336,8 +344,10 @@
|
||||
sessArray = calloc(numConnections, sizeof(gnutls_session_t));
|
||||
# endif
|
||||
sockArray = calloc(numConnections, sizeof(int));
|
||||
+ #ifdef ENABLE_RELP
|
||||
if(transport == TP_RELP_PLAIN)
|
||||
relpCltArray = calloc(numConnections, sizeof(relpClt_t*));
|
||||
+ #endif
|
||||
for(i = 0 ; i < numConnections ; ++i) {
|
||||
if(i % 10 == 0) {
|
||||
if(bShowProgress)
|
||||
@@ -356,8 +366,10 @@
|
||||
* at least something.
|
||||
*/
|
||||
if(transport == TP_RELP_PLAIN) {
|
||||
+ #ifdef ENABLE_RELP
|
||||
CHKRELP(relpEngineCltDestruct(pRelpEngine,
|
||||
relpCltArray+i));
|
||||
+ #endif
|
||||
} else { /* TCP and TLS modes */
|
||||
if(transport == TP_TLS)
|
||||
closeTLSSess(i);
|
||||
@@ -403,14 +415,13 @@
|
||||
|
||||
if(bShowProgress)
|
||||
if(write(1, " close connections", sizeof(" close connections")-1)){}
|
||||
- //if(transport == TP_RELP_PLAIN)
|
||||
- //sleep(10); /* we need to let librelp settle a bit */
|
||||
for(i = 0 ; i < numConnections ; ++i) {
|
||||
if(i % 10 == 0 && bShowProgress) {
|
||||
lenMsg = sprintf(msgBuf, "\r%5.5d", i);
|
||||
if(write(1, msgBuf, lenMsg)){}
|
||||
}
|
||||
if(transport == TP_RELP_PLAIN) {
|
||||
+ #ifdef ENABLE_RELP
|
||||
relpRetVal relpr;
|
||||
if(sockArray[i] != -1) {
|
||||
relpr = relpEngineCltDestruct(pRelpEngine, relpCltArray+i);
|
||||
@@ -419,6 +430,7 @@
|
||||
}
|
||||
sockArray[i] = -1;
|
||||
}
|
||||
+ #endif
|
||||
} else { /* TCP and TLS modes */
|
||||
if(sockArray[i] != -1) {
|
||||
/* we try to not overrun the receiver by trying to flush buffers
|
||||
@@ -610,6 +622,7 @@
|
||||
offsSendBuf = lenBuf;
|
||||
}
|
||||
} else if(transport == TP_RELP_PLAIN) {
|
||||
+ #ifdef ENABLE_RELP
|
||||
relpRetVal relp_ret;
|
||||
if(sockArray[socknum] == -1) {
|
||||
/* connection was dropped, need to re-establish */
|
||||
@@ -627,6 +640,7 @@
|
||||
printf("\nrelpCltSendSyslog() failed with relp error code %d\n",
|
||||
relp_ret);
|
||||
}
|
||||
+ #endif
|
||||
}
|
||||
if(lenSend != lenBuf) {
|
||||
printf("\r%5.5d\n", i);
|
||||
@@ -1106,7 +1120,9 @@
|
||||
transport = TP_RELP_PLAIN;
|
||||
# else
|
||||
fprintf(stderr, "compiled without RELP support: "
|
||||
- "\"-Trelp-plain\" not supported!\n");
|
||||
+ "\"-Trelp-plain\" not supported!\n"
|
||||
+ "(add --enable-relp to ./configure options "
|
||||
+ "if desired)\n");
|
||||
exit(1);
|
||||
# endif
|
||||
} else {
|
||||
@@ -1168,7 +1184,9 @@
|
||||
if(transport == TP_TLS) {
|
||||
initTLS();
|
||||
} else if(transport == TP_RELP_PLAIN) {
|
||||
+ #ifdef ENABLE_RELP
|
||||
initRELP_PLAIN();
|
||||
+ #endif
|
||||
}
|
||||
|
||||
if(openConnections() != 0) {
|
||||
@@ -1183,9 +1201,11 @@
|
||||
|
||||
closeConnections(); /* this is important so that we do not finish too early! */
|
||||
|
||||
+ #ifdef ENABLE_RELP
|
||||
if(transport == TP_RELP_PLAIN) {
|
||||
CHKRELP(relpEngineDestruct(&pRelpEngine));
|
||||
}
|
||||
+ #endif
|
||||
|
||||
if(nConnDrops > 0 && !bSilent)
|
||||
printf("-D option initiated %ld connection closures\n", nConnDrops);
|
@ -1,39 +0,0 @@
|
||||
--- a/contrib/imzmq3/imzmq3.c
|
||||
+++ b/contrib/imzmq3/imzmq3.c
|
||||
@@ -403,7 +403,7 @@ static rsRetVal createSocket(instanceConf_t* info, void** sock) {
|
||||
|
||||
/* Do the bind/connect... */
|
||||
if (info->action==ACTION_CONNECT) {
|
||||
- rv = zsocket_connect(*sock, info->description);
|
||||
+ rv = zsocket_connect(*sock, "%s", info->description);
|
||||
if (rv == -1) {
|
||||
errmsg.LogError(0,
|
||||
RS_RET_INVALID_PARAMS,
|
||||
@@ -413,7 +413,7 @@ static rsRetVal createSocket(instanceConf_t* info, void** sock) {
|
||||
}
|
||||
DBGPRINTF("imzmq3: connect for %s successful\n",info->description);
|
||||
} else {
|
||||
- rv = zsocket_bind(*sock, info->description);
|
||||
+ rv = zsocket_bind(*sock, "%s", info->description);
|
||||
if (rv == -1) {
|
||||
errmsg.LogError(0,
|
||||
RS_RET_INVALID_PARAMS,
|
||||
--- a/contrib/omzmq3/omzmq3.c
|
||||
+++ b/contrib/omzmq3/omzmq3.c
|
||||
@@ -242,14 +242,14 @@ static rsRetVal initZMQ(instanceData* pData) {
|
||||
if (pData->action == ACTION_BIND) {
|
||||
/* bind asserts, so no need to test return val here
|
||||
which isn't the greatest api -- oh well */
|
||||
- if(-1 == zsocket_bind(pData->socket, (char*)pData->description)) {
|
||||
+ if(-1 == zsocket_bind(pData->socket, "%s", (char*)pData->description)) {
|
||||
errmsg.LogError(0, RS_RET_NO_ERRCODE, "omzmq3: bind failed for %s: %s",
|
||||
pData->description, zmq_strerror(errno));
|
||||
ABORT_FINALIZE(RS_RET_NO_ERRCODE);
|
||||
}
|
||||
DBGPRINTF("omzmq3: bind to %s successful\n",pData->description);
|
||||
} else {
|
||||
- if(-1 == zsocket_connect(pData->socket, (char*)pData->description)) {
|
||||
+ if(-1 == zsocket_connect(pData->socket, "%s", (char*)pData->description)) {
|
||||
errmsg.LogError(0, RS_RET_NO_ERRCODE, "omzmq3: connect failed for %s: %s",
|
||||
pData->description, zmq_strerror(errno));
|
||||
ABORT_FINALIZE(RS_RET_NO_ERRCODE);
|
@ -1,27 +0,0 @@
|
||||
From 1a7d3a088969b47798bc1da712ca2772f91a7c02 Mon Sep 17 00:00:00 2001
|
||||
From: Jiri Vymazal <jvymazal@redhat.com>
|
||||
Date: Wed, 31 May 2017 16:26:56 +0200
|
||||
Subject: [PATCH] Ignoring NONAME error from getaddrinfo so we have hostname
|
||||
set even without working network
|
||||
|
||||
---
|
||||
runtime/net.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/runtime/net.c b/runtime/net.c
|
||||
index 2d8de9429..edffc677a 100644
|
||||
--- a/runtime/net.c
|
||||
+++ b/runtime/net.c
|
||||
@@ -1188,7 +1188,11 @@ getLocalHostname(uchar **ppName)
|
||||
memset(&flags, 0, sizeof(flags));
|
||||
flags.ai_flags = AI_CANONNAME;
|
||||
int error = getaddrinfo((char*)hnbuf, NULL, &flags, &res);
|
||||
- if (error != 0) {
|
||||
+ if (error != 0 &&
|
||||
+ error != EAI_NONAME && error != EAI_AGAIN && error != EAI_FAIL) {
|
||||
+ /* If we get one of errors above, network is probably
|
||||
+ * not working yet, so we fall back to local hostname below
|
||||
+ */
|
||||
dbgprintf("getaddrinfo: %s\n", gai_strerror(error));
|
||||
ABORT_FINALIZE(RS_RET_IO_ERROR);
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1695,12 +1695,14 @@ AM_CONDITIONAL(ENABLE_KAFKA_TESTS, test x$enable_kafka_tests = xyes)
|
||||
|
||||
# omkafka works with older library
|
||||
if test "x$enable_omkafka" = "xyes"; then
|
||||
- PKG_CHECK_MODULES([LIBRDKAFKA], [librdkafka],, [
|
||||
- AC_CHECK_LIB([rdkafka], [rd_kafka_produce], [
|
||||
- AC_MSG_WARN([librdkafka is missing but library present, using -lrdkafka])
|
||||
- LIBRDKAFKA_LIBS=-lrdkafka
|
||||
- ], [
|
||||
- AC_MSG_ERROR([could not find rdkafka library])
|
||||
+ PKG_CHECK_MODULES([LIBRDKAFKA], [rdkafka],, [
|
||||
+ PKG_CHECK_MODULES([LIBRDKAFKA], [librdkafka],, [
|
||||
+ AC_CHECK_LIB([rdkafka], [rd_kafka_produce], [
|
||||
+ AC_MSG_WARN([librdkafka is missing but library present, using -lrdkafka])
|
||||
+ LIBRDKAFKA_LIBS=-lrdkafka
|
||||
+ ], [
|
||||
+ AC_MSG_ERROR([could not find rdkafka library])
|
||||
+ ])
|
||||
])
|
||||
])
|
||||
AC_CHECK_HEADERS([librdkafka/rdkafka.h])
|
||||
@@ -1708,12 +1710,13 @@ fi
|
||||
|
||||
# imkafka needs newer library
|
||||
if test "x$enable_imkafka" = "xyes"; then
|
||||
- PKG_CHECK_MODULES(LIBRDKAFKA, rdkafka >= 0.9.1)
|
||||
- AC_CHECK_LIB([rdkafka], [rd_kafka_produce], [
|
||||
- AC_MSG_WARN([librdkafka is missing but library present, using -lrdkafka])
|
||||
- LIBRDKAFKA_LIBS=-lrdkafka
|
||||
- ], [
|
||||
- AC_MSG_ERROR([could not find rdkafka library])
|
||||
+ PKG_CHECK_MODULES([LIBRDKAFKA], [rdkafka >= 0.9.1],, [
|
||||
+ AC_CHECK_LIB([rdkafka], [rd_kafka_produce], [
|
||||
+ AC_MSG_WARN([librdkafka is missing but library present, using -lrdkafka])
|
||||
+ LIBRDKAFKA_LIBS=-lrdkafka
|
||||
+ ], [
|
||||
+ AC_MSG_ERROR([could not find rdkafka library])
|
||||
+ ])
|
||||
])
|
||||
AC_CHECK_HEADERS([librdkafka/rdkafka.h])
|
||||
fi
|
@ -1,22 +0,0 @@
|
||||
https://github.com/rsyslog/rsyslog/issues/1838
|
||||
|
||||
--- a/plugins/imgssapi/imgssapi.c
|
||||
+++ b/plugins/imgssapi/imgssapi.c
|
||||
@@ -291,7 +291,7 @@ finalize_it:
|
||||
|
||||
|
||||
static rsRetVal
|
||||
-doRcvData(tcps_sess_t *pSess, char *buf, size_t lenBuf, ssize_t *piLenRcvd)
|
||||
+doRcvData(tcps_sess_t *pSess, char *buf, size_t lenBuf, ssize_t *piLenRcvd, int *const oserr)
|
||||
{
|
||||
DEFiRet;
|
||||
int allowedMethods;
|
||||
@@ -307,7 +307,7 @@ doRcvData(tcps_sess_t *pSess, char *buf, size_t lenBuf, ssize_t *piLenRcvd)
|
||||
CHKiRet(TCPSessGSSRecv(pSess, buf, lenBuf, piLenRcvd));
|
||||
} else {
|
||||
*piLenRcvd = lenBuf;
|
||||
- CHKiRet(netstrm.Rcv(pSess->pStrm, (uchar*) buf, piLenRcvd) != RS_RET_OK);
|
||||
+ CHKiRet(netstrm.Rcv(pSess->pStrm, (uchar*) buf, piLenRcvd, oserr));
|
||||
}
|
||||
|
||||
finalize_it:
|
@ -0,0 +1,13 @@
|
||||
https://github.com/rsyslog/rsyslog/issues/2612
|
||||
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -254,7 +254,7 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM(, return __builtin_expect(main != 0, 1))],
|
||||
# speeds up processig.
|
||||
# note that when automic operations are enabled but not available, they
|
||||
# will silently NOT be used!
|
||||
-AC_ARG_ENABLE(regexp,
|
||||
+AC_ARG_ENABLE(atomic_operations,
|
||||
[AS_HELP_STRING([--enable-atomic-operations],[Enable atomic operation support @<:@default=yes@:>@])],
|
||||
[case "${enableval}" in
|
||||
yes) enable_atomic_operations="yes" ;;
|
@ -1,444 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
inherit autotools eutils linux-info systemd
|
||||
|
||||
DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
|
||||
HOMEPAGE="http://www.rsyslog.com/"
|
||||
|
||||
BRANCH="8-stable"
|
||||
|
||||
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
|
||||
MY_PV=${PV%_rc*}
|
||||
MY_FILENAME="${PN}-${PV}.tar.gz"
|
||||
MY_FILENAME_DOCS="${PN}-docs-${PV}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
# Upstream URL schema:
|
||||
# RC: http://www.rsyslog.com/files/download/rsyslog/rc/rsyslog-8.18.0.tar.gz
|
||||
# http://www.rsyslog.com/files/download/rsyslog/rc2/rsyslog-8.18.0.tar.gz
|
||||
# Release: http://www.rsyslog.com/files/download/rsyslog/rsyslog-8.18.0.tar.gz
|
||||
|
||||
MY_URL_PREFIX=
|
||||
if [[ ${PV} = *_rc* ]]; then
|
||||
_tmp_last_index=$(($(get_last_version_component_index ${PV})+1))
|
||||
_tmp_suffix=$(get_version_component_range ${_tmp_last_index} ${PV})
|
||||
if [[ ${_tmp_suffix} = *rc* ]]; then
|
||||
MY_URL_PREFIX="${_tmp_suffix}/"
|
||||
fi
|
||||
|
||||
# Cleaning up temporary variables
|
||||
unset _tmp_last_index
|
||||
unset _tmp_suffix
|
||||
else
|
||||
KEYWORDS="amd64 arm ~arm64 hppa x86"
|
||||
fi
|
||||
|
||||
SRC_URI="
|
||||
http://www.rsyslog.com/files/download/${PN}/${MY_URL_PREFIX}${PN}-${MY_PV}.tar.gz -> ${MY_FILENAME}
|
||||
doc? ( http://www.rsyslog.com/files/download/${PN}/${MY_URL_PREFIX}${PN}-doc-${MY_PV}.tar.gz -> ${MY_FILENAME_DOCS} )
|
||||
"
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3 LGPL-3 Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="dbi debug doc elasticsearch +gcrypt grok jemalloc kafka kerberos libressl mongodb mysql normalize omhttpfs"
|
||||
IUSE+=" omudpspoof postgres rabbitmq redis relp rfc3195 rfc5424hmac snmp ssl systemd test usertools +uuid zeromq"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libfastjson-0.99.2:=
|
||||
>=dev-libs/libestr-0.1.9
|
||||
>=dev-libs/liblogging-1.0.1:=[stdlog]
|
||||
>=sys-libs/zlib-1.2.5
|
||||
dbi? ( >=dev-db/libdbi-0.8.3 )
|
||||
elasticsearch? ( >=net-misc/curl-7.35.0 )
|
||||
gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
|
||||
grok? ( >=dev-libs/grok-0.9.2 )
|
||||
jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
|
||||
kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
mongodb? ( >=dev-libs/libmongo-client-0.1.4 )
|
||||
mysql? ( virtual/mysql )
|
||||
normalize? (
|
||||
>=dev-libs/libee-0.4.0
|
||||
>=dev-libs/liblognorm-2.0.1:=
|
||||
)
|
||||
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.5:= )
|
||||
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? ( >=net-libs/gnutls-2.12.23:0= )
|
||||
systemd? ( >=sys-apps/systemd-208 )
|
||||
uuid? ( sys-apps/util-linux:0= )
|
||||
zeromq? (
|
||||
>=net-libs/zeromq-4.1.1:=
|
||||
>=net-libs/czmq-3.0.0
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
test? ( sys-libs/libfaketime )"
|
||||
|
||||
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!"
|
||||
|
||||
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 ${MY_FILENAME_DOCS}
|
||||
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
|
||||
$(use_enable test testbench)
|
||||
# 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-mmsequence
|
||||
--enable-mmutf8fix
|
||||
# Output Modification Plugins without dependencies
|
||||
--enable-mail
|
||||
--enable-omprog
|
||||
--enable-omruleset
|
||||
--enable-omstdout
|
||||
--enable-omuxsock
|
||||
# Misc
|
||||
--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 memcheck)
|
||||
$(use_enable debug rtinst)
|
||||
$(use_enable debug valgrind)
|
||||
# Misc
|
||||
$(use_enable elasticsearch)
|
||||
$(use_enable gcrypt libgcrypt)
|
||||
$(use_enable jemalloc)
|
||||
$(use_enable kafka omkafka)
|
||||
$(use_enable kerberos gssapi-krb5)
|
||||
$(use_enable normalize mmnormalize)
|
||||
$(use_enable grok mmgrok)
|
||||
$(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 ssl gnutls)
|
||||
$(use_enable systemd imjournal)
|
||||
$(use_enable systemd omjournal)
|
||||
$(use_enable usertools)
|
||||
$(use_enable uuid)
|
||||
$(use_enable zeromq imczmq)
|
||||
$(use_enable zeromq imzmq3)
|
||||
$(use_enable zeromq omczmq)
|
||||
$(use_enable zeromq omzmq3)
|
||||
--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}"/${BRANCH}/README.gentoo
|
||||
)
|
||||
|
||||
use doc && local HTML_DOCS=( "${S}/docs/build/." )
|
||||
|
||||
default
|
||||
|
||||
newconfd "${FILESDIR}/${BRANCH}/${PN}.confd-r1" ${PN}
|
||||
newinitd "${FILESDIR}/${BRANCH}/${PN}.initd-r1" ${PN}
|
||||
|
||||
keepdir /var/empty/dev
|
||||
keepdir /var/spool/${PN}
|
||||
keepdir /etc/ssl/${PN}
|
||||
keepdir /etc/${PN}.d
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}/${BRANCH}/${PN}.conf" ${PN}.conf
|
||||
|
||||
insinto /etc/rsyslog.d/
|
||||
doins "${FILESDIR}/${BRANCH}/50-default.conf"
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${BRANCH}/${PN}.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 " http://www.rsyslog.com/doc/rsyslog_tls.html"
|
||||
}
|
@ -1,448 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit autotools eutils linux-info systemd
|
||||
|
||||
DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
|
||||
HOMEPAGE="http://www.rsyslog.com/"
|
||||
|
||||
BRANCH="8-stable"
|
||||
|
||||
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
|
||||
MY_PV=${PV%_rc*}
|
||||
MY_FILENAME="${PN}-${PV}.tar.gz"
|
||||
MY_FILENAME_DOCS="${PN}-docs-${PV}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
# Upstream URL schema:
|
||||
# RC: http://www.rsyslog.com/files/download/rsyslog/rc/rsyslog-8.18.0.tar.gz
|
||||
# http://www.rsyslog.com/files/download/rsyslog/rc2/rsyslog-8.18.0.tar.gz
|
||||
# Release: http://www.rsyslog.com/files/download/rsyslog/rsyslog-8.18.0.tar.gz
|
||||
|
||||
MY_URL_PREFIX=
|
||||
if [[ ${PV} = *_rc* ]]; then
|
||||
_tmp_last_index=$(($(get_last_version_component_index ${PV})+1))
|
||||
_tmp_suffix=$(get_version_component_range ${_tmp_last_index} ${PV})
|
||||
if [[ ${_tmp_suffix} = *rc* ]]; then
|
||||
MY_URL_PREFIX="${_tmp_suffix}/"
|
||||
fi
|
||||
|
||||
# Cleaning up temporary variables
|
||||
unset _tmp_last_index
|
||||
unset _tmp_suffix
|
||||
else
|
||||
KEYWORDS="amd64 arm ~arm64 hppa x86"
|
||||
fi
|
||||
|
||||
SRC_URI="
|
||||
http://www.rsyslog.com/files/download/${PN}/${MY_URL_PREFIX}${PN}-${MY_PV}.tar.gz -> ${MY_FILENAME}
|
||||
doc? ( http://www.rsyslog.com/files/download/${PN}/${MY_URL_PREFIX}${PN}-doc-${MY_PV}.tar.gz -> ${MY_FILENAME_DOCS} )
|
||||
"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/8-stable/${PN}-8.24.0-fix-tcpflood-without-librelp-r1.patch )
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3 LGPL-3 Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="dbi debug doc elasticsearch +gcrypt grok jemalloc kafka kerberos libressl mongodb mysql normalize omhttpfs"
|
||||
IUSE+=" omudpspoof postgres rabbitmq redis relp rfc3195 rfc5424hmac snmp ssl systemd test usertools +uuid zeromq"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libfastjson-0.99.3:=
|
||||
>=dev-libs/libestr-0.1.9
|
||||
>=dev-libs/liblogging-1.0.1:=[stdlog]
|
||||
>=sys-libs/zlib-1.2.5
|
||||
dbi? ( >=dev-db/libdbi-0.8.3 )
|
||||
elasticsearch? ( >=net-misc/curl-7.35.0 )
|
||||
gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
|
||||
grok? ( >=dev-libs/grok-0.9.2 )
|
||||
jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
|
||||
kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
mongodb? ( >=dev-libs/libmongo-client-0.1.4 )
|
||||
mysql? ( virtual/mysql )
|
||||
normalize? (
|
||||
>=dev-libs/libee-0.4.0
|
||||
>=dev-libs/liblognorm-2.0.1:=
|
||||
)
|
||||
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.12:= )
|
||||
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? ( >=net-libs/gnutls-2.12.23:0= )
|
||||
systemd? ( >=sys-apps/systemd-208 )
|
||||
uuid? ( sys-apps/util-linux:0= )
|
||||
zeromq? (
|
||||
>=net-libs/zeromq-4.1.1:=
|
||||
>=net-libs/czmq-3.0.0
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-devel/autoconf-archive-2015.02.24
|
||||
virtual/pkgconfig
|
||||
test? ( sys-libs/libfaketime )"
|
||||
|
||||
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!"
|
||||
|
||||
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 ${MY_FILENAME_DOCS}
|
||||
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
|
||||
$(use_enable test testbench)
|
||||
# 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-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 memcheck)
|
||||
$(use_enable debug rtinst)
|
||||
$(use_enable debug valgrind)
|
||||
# Misc
|
||||
$(use_enable elasticsearch)
|
||||
$(use_enable gcrypt libgcrypt)
|
||||
$(use_enable jemalloc)
|
||||
$(use_enable kafka omkafka)
|
||||
$(use_enable kerberos gssapi-krb5)
|
||||
$(use_enable normalize mmnormalize)
|
||||
$(use_enable grok mmgrok)
|
||||
$(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 ssl gnutls)
|
||||
$(use_enable systemd imjournal)
|
||||
$(use_enable systemd omjournal)
|
||||
$(use_enable usertools)
|
||||
$(use_enable uuid)
|
||||
$(use_enable zeromq imczmq)
|
||||
$(use_enable zeromq imzmq3)
|
||||
$(use_enable zeromq omczmq)
|
||||
$(use_enable zeromq omzmq3)
|
||||
--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}"/${BRANCH}/README.gentoo
|
||||
)
|
||||
|
||||
use doc && local HTML_DOCS=( "${S}/docs/build/." )
|
||||
|
||||
default
|
||||
|
||||
newconfd "${FILESDIR}/${BRANCH}/${PN}.confd-r1" ${PN}
|
||||
newinitd "${FILESDIR}/${BRANCH}/${PN}.initd-r1" ${PN}
|
||||
|
||||
keepdir /var/empty/dev
|
||||
keepdir /var/spool/${PN}
|
||||
keepdir /etc/ssl/${PN}
|
||||
keepdir /etc/${PN}.d
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}/${BRANCH}/${PN}.conf" ${PN}.conf
|
||||
|
||||
insinto /etc/rsyslog.d/
|
||||
doins "${FILESDIR}/${BRANCH}/50-default.conf"
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${BRANCH}/${PN}.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 " http://www.rsyslog.com/doc/rsyslog_tls.html"
|
||||
}
|
@ -1,450 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit autotools eutils linux-info systemd
|
||||
|
||||
DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
|
||||
HOMEPAGE="http://www.rsyslog.com/"
|
||||
|
||||
BRANCH="8-stable"
|
||||
|
||||
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
|
||||
MY_PV=${PV%_rc*}
|
||||
MY_FILENAME="${PN}-${PV}.tar.gz"
|
||||
MY_FILENAME_DOCS="${PN}-docs-${PV}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
# Upstream URL schema:
|
||||
# RC: http://www.rsyslog.com/files/download/rsyslog/rc/rsyslog-8.18.0.tar.gz
|
||||
# http://www.rsyslog.com/files/download/rsyslog/rc2/rsyslog-8.18.0.tar.gz
|
||||
# Release: http://www.rsyslog.com/files/download/rsyslog/rsyslog-8.18.0.tar.gz
|
||||
|
||||
MY_URL_PREFIX=
|
||||
if [[ ${PV} = *_rc* ]]; then
|
||||
_tmp_last_index=$(($(get_last_version_component_index ${PV})+1))
|
||||
_tmp_suffix=$(get_version_component_range ${_tmp_last_index} ${PV})
|
||||
if [[ ${_tmp_suffix} = *rc* ]]; then
|
||||
MY_URL_PREFIX="${_tmp_suffix}/"
|
||||
fi
|
||||
|
||||
# Cleaning up temporary variables
|
||||
unset _tmp_last_index
|
||||
unset _tmp_suffix
|
||||
else
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~x86"
|
||||
fi
|
||||
|
||||
SRC_URI="
|
||||
http://www.rsyslog.com/files/download/${PN}/${MY_URL_PREFIX}${PN}-${MY_PV}.tar.gz -> ${MY_FILENAME}
|
||||
doc? ( http://www.rsyslog.com/files/download/${PN}/${MY_URL_PREFIX}${PN}-doc-${MY_PV}.tar.gz -> ${MY_FILENAME_DOCS} )
|
||||
"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/8-stable/${PN}-8.24.0-fix-tcpflood-without-librelp-r1.patch )
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3 LGPL-3 Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="dbi debug doc elasticsearch +gcrypt grok jemalloc kafka kerberos libressl mdblookup mongodb mysql normalize omhttpfs"
|
||||
IUSE+=" omudpspoof postgres rabbitmq redis relp rfc3195 rfc5424hmac snmp ssl systemd test usertools +uuid zeromq"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libfastjson-0.99.3:=
|
||||
>=dev-libs/libestr-0.1.9
|
||||
>=dev-libs/liblogging-1.0.1:=[stdlog]
|
||||
>=sys-libs/zlib-1.2.5
|
||||
dbi? ( >=dev-db/libdbi-0.8.3 )
|
||||
elasticsearch? ( >=net-misc/curl-7.35.0 )
|
||||
gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
|
||||
grok? ( >=dev-libs/grok-0.9.2 )
|
||||
jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
|
||||
kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
mdblookup? ( dev-libs/libmaxminddb:= )
|
||||
mongodb? ( >=dev-libs/libmongo-client-0.1.4 )
|
||||
mysql? ( virtual/mysql )
|
||||
normalize? (
|
||||
>=dev-libs/libee-0.4.0
|
||||
>=dev-libs/liblognorm-2.0.1:=
|
||||
)
|
||||
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.12:= )
|
||||
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? ( >=net-libs/gnutls-2.12.23:0= )
|
||||
systemd? ( >=sys-apps/systemd-208 )
|
||||
uuid? ( sys-apps/util-linux:0= )
|
||||
zeromq? (
|
||||
>=net-libs/zeromq-4.1.1:=
|
||||
>=net-libs/czmq-3.0.0
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-devel/autoconf-archive-2015.02.24
|
||||
virtual/pkgconfig
|
||||
test? ( sys-libs/libfaketime )"
|
||||
|
||||
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!"
|
||||
|
||||
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 ${MY_FILENAME_DOCS}
|
||||
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
|
||||
$(use_enable test testbench)
|
||||
# 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-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 memcheck)
|
||||
$(use_enable debug rtinst)
|
||||
$(use_enable debug valgrind)
|
||||
# Misc
|
||||
$(use_enable elasticsearch)
|
||||
$(use_enable gcrypt libgcrypt)
|
||||
$(use_enable jemalloc)
|
||||
$(use_enable kafka omkafka)
|
||||
$(use_enable kerberos gssapi-krb5)
|
||||
$(use_enable normalize mmnormalize)
|
||||
$(use_enable mdblookup mmdblookup)
|
||||
$(use_enable grok mmgrok)
|
||||
$(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 ssl gnutls)
|
||||
$(use_enable systemd imjournal)
|
||||
$(use_enable systemd omjournal)
|
||||
$(use_enable usertools)
|
||||
$(use_enable uuid)
|
||||
$(use_enable zeromq imczmq)
|
||||
$(use_enable zeromq imzmq3)
|
||||
$(use_enable zeromq omczmq)
|
||||
$(use_enable zeromq omzmq3)
|
||||
--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}"/${BRANCH}/README.gentoo
|
||||
)
|
||||
|
||||
use doc && local HTML_DOCS=( "${S}/docs/build/." )
|
||||
|
||||
default
|
||||
|
||||
newconfd "${FILESDIR}/${BRANCH}/${PN}.confd-r1" ${PN}
|
||||
newinitd "${FILESDIR}/${BRANCH}/${PN}.initd-r1" ${PN}
|
||||
|
||||
keepdir /var/empty/dev
|
||||
keepdir /var/spool/${PN}
|
||||
keepdir /etc/ssl/${PN}
|
||||
keepdir /etc/${PN}.d
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}/${BRANCH}/${PN}.conf" ${PN}.conf
|
||||
|
||||
insinto /etc/rsyslog.d/
|
||||
doins "${FILESDIR}/${BRANCH}/50-default.conf"
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${BRANCH}/${PN}.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 " http://www.rsyslog.com/doc/rsyslog_tls.html"
|
||||
}
|
@ -1,452 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit autotools eutils linux-info systemd
|
||||
|
||||
DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
|
||||
HOMEPAGE="http://www.rsyslog.com/"
|
||||
|
||||
BRANCH="8-stable"
|
||||
|
||||
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
|
||||
MY_PV=${PV%_rc*}
|
||||
MY_FILENAME="${PN}-${PV}.tar.gz"
|
||||
MY_FILENAME_DOCS="${PN}-docs-${PV}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
# Upstream URL schema:
|
||||
# RC: http://www.rsyslog.com/files/download/rsyslog/rc/rsyslog-8.18.0.tar.gz
|
||||
# http://www.rsyslog.com/files/download/rsyslog/rc2/rsyslog-8.18.0.tar.gz
|
||||
# Release: http://www.rsyslog.com/files/download/rsyslog/rsyslog-8.18.0.tar.gz
|
||||
|
||||
MY_URL_PREFIX=
|
||||
if [[ ${PV} = *_rc* ]]; then
|
||||
_tmp_last_index=$(($(get_last_version_component_index ${PV})+1))
|
||||
_tmp_suffix=$(get_version_component_range ${_tmp_last_index} ${PV})
|
||||
if [[ ${_tmp_suffix} = *rc* ]]; then
|
||||
MY_URL_PREFIX="${_tmp_suffix}/"
|
||||
fi
|
||||
|
||||
# Cleaning up temporary variables
|
||||
unset _tmp_last_index
|
||||
unset _tmp_suffix
|
||||
else
|
||||
KEYWORDS="amd64 ~arm ~arm64 hppa x86"
|
||||
fi
|
||||
|
||||
SRC_URI="
|
||||
http://www.rsyslog.com/files/download/${PN}/${MY_URL_PREFIX}${PN}-${MY_PV}.tar.gz -> ${MY_FILENAME}
|
||||
doc? ( http://www.rsyslog.com/files/download/${PN}/${MY_URL_PREFIX}${PN}-doc-${MY_PV}.tar.gz -> ${MY_FILENAME_DOCS} )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/8-stable/${PN}-8.26.0-fix-zmq3-format-security.patch
|
||||
)
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3 LGPL-3 Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="dbi debug doc elasticsearch +gcrypt grok jemalloc kafka kerberos libressl mdblookup mongodb mysql normalize omhttpfs"
|
||||
IUSE+=" omudpspoof postgres rabbitmq redis relp rfc3195 rfc5424hmac snmp ssl systemd test usertools +uuid zeromq"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libfastjson-0.99.3:=
|
||||
>=dev-libs/libestr-0.1.9
|
||||
>=dev-libs/liblogging-1.0.1:=[stdlog]
|
||||
>=sys-libs/zlib-1.2.5
|
||||
dbi? ( >=dev-db/libdbi-0.8.3 )
|
||||
elasticsearch? ( >=net-misc/curl-7.35.0 )
|
||||
gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
|
||||
grok? ( >=dev-libs/grok-0.9.2 )
|
||||
jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
|
||||
kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
mdblookup? ( dev-libs/libmaxminddb:= )
|
||||
mongodb? ( >=dev-libs/libmongo-client-0.1.4 )
|
||||
mysql? ( virtual/mysql )
|
||||
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.12:= )
|
||||
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? ( >=net-libs/gnutls-2.12.23:0= )
|
||||
systemd? ( >=sys-apps/systemd-208 )
|
||||
uuid? ( sys-apps/util-linux:0= )
|
||||
zeromq? (
|
||||
>=net-libs/zeromq-4.1.1:=
|
||||
>=net-libs/czmq-3.0.0
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-devel/autoconf-archive-2015.02.24
|
||||
virtual/pkgconfig
|
||||
test? ( sys-libs/libfaketime )"
|
||||
|
||||
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!"
|
||||
|
||||
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 ${MY_FILENAME_DOCS}
|
||||
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
|
||||
$(use_enable test testbench)
|
||||
# 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-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 memcheck)
|
||||
$(use_enable debug rtinst)
|
||||
$(use_enable debug valgrind)
|
||||
# Misc
|
||||
$(use_enable elasticsearch)
|
||||
$(use_enable gcrypt libgcrypt)
|
||||
$(use_enable jemalloc)
|
||||
$(use_enable kafka omkafka)
|
||||
$(use_enable kerberos gssapi-krb5)
|
||||
$(use_enable normalize mmnormalize)
|
||||
$(use_enable mdblookup mmdblookup)
|
||||
$(use_enable grok mmgrok)
|
||||
$(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 ssl gnutls)
|
||||
$(use_enable systemd imjournal)
|
||||
$(use_enable systemd omjournal)
|
||||
$(use_enable usertools)
|
||||
$(use_enable uuid)
|
||||
$(use_enable zeromq imczmq)
|
||||
$(use_enable zeromq imzmq3)
|
||||
$(use_enable zeromq omczmq)
|
||||
$(use_enable zeromq omzmq3)
|
||||
--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}"/${BRANCH}/README.gentoo
|
||||
)
|
||||
|
||||
use doc && local HTML_DOCS=( "${S}/docs/build/." )
|
||||
|
||||
default
|
||||
|
||||
newconfd "${FILESDIR}/${BRANCH}/${PN}.confd-r1" ${PN}
|
||||
newinitd "${FILESDIR}/${BRANCH}/${PN}.initd-r1" ${PN}
|
||||
|
||||
keepdir /var/empty/dev
|
||||
keepdir /var/spool/${PN}
|
||||
keepdir /etc/ssl/${PN}
|
||||
keepdir /etc/${PN}.d
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}/${BRANCH}/${PN}.conf" ${PN}.conf
|
||||
|
||||
insinto /etc/rsyslog.d/
|
||||
doins "${FILESDIR}/${BRANCH}/50-default.conf"
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${BRANCH}/${PN}.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 " http://www.rsyslog.com/doc/rsyslog_tls.html"
|
||||
}
|
@ -1,456 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit autotools eutils linux-info systemd
|
||||
|
||||
DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
|
||||
HOMEPAGE="http://www.rsyslog.com/"
|
||||
|
||||
BRANCH="8-stable"
|
||||
|
||||
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
|
||||
MY_PV=${PV%_rc*}
|
||||
MY_FILENAME="${PN}-${PV}.tar.gz"
|
||||
MY_FILENAME_DOCS="${PN}-docs-${PV}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
# Upstream URL schema:
|
||||
# RC: http://www.rsyslog.com/files/download/rsyslog/rc/rsyslog-8.18.0.tar.gz
|
||||
# http://www.rsyslog.com/files/download/rsyslog/rc2/rsyslog-8.18.0.tar.gz
|
||||
# Release: http://www.rsyslog.com/files/download/rsyslog/rsyslog-8.18.0.tar.gz
|
||||
|
||||
MY_URL_PREFIX=
|
||||
if [[ ${PV} = *_rc* ]]; then
|
||||
_tmp_last_index=$(($(get_last_version_component_index ${PV})+1))
|
||||
_tmp_suffix=$(get_version_component_range ${_tmp_last_index} ${PV})
|
||||
if [[ ${_tmp_suffix} = *rc* ]]; then
|
||||
MY_URL_PREFIX="${_tmp_suffix}/"
|
||||
fi
|
||||
|
||||
# Cleaning up temporary variables
|
||||
unset _tmp_last_index
|
||||
unset _tmp_suffix
|
||||
else
|
||||
KEYWORDS="amd64 ~arm ~arm64 ~hppa x86"
|
||||
fi
|
||||
|
||||
SRC_URI="
|
||||
http://www.rsyslog.com/files/download/${PN}/${MY_URL_PREFIX}${PN}-${MY_PV}.tar.gz -> ${MY_FILENAME}
|
||||
doc? ( http://www.rsyslog.com/files/download/${PN}/${MY_URL_PREFIX}${PN}-doc-${MY_PV}.tar.gz -> ${MY_FILENAME_DOCS} )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/8-stable/${PN}-8.26.0-fix-zmq3-format-security.patch
|
||||
"${FILESDIR}"/8-stable/${PN}-8.27.0-fix-librdkafka-detection.patch
|
||||
"${FILESDIR}"/8-stable/${PN}-8.27.0-fix-hostname-detection-when-getaddrinfo-fails.patch
|
||||
"${FILESDIR}"/8-stable/${PN}-8.27.0-fix-mmnormalize-tests.patch
|
||||
)
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3 LGPL-3 Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="dbi debug doc elasticsearch +gcrypt grok jemalloc kafka kerberos libressl mdblookup mongodb mysql normalize omhttpfs"
|
||||
IUSE+=" omudpspoof postgres rabbitmq redis relp rfc3195 rfc5424hmac snmp ssl systemd test usertools +uuid zeromq"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libfastjson-0.99.3:=
|
||||
>=dev-libs/libestr-0.1.9
|
||||
>=dev-libs/liblogging-1.0.1:=[stdlog]
|
||||
>=sys-libs/zlib-1.2.5
|
||||
dbi? ( >=dev-db/libdbi-0.8.3 )
|
||||
elasticsearch? ( >=net-misc/curl-7.35.0 )
|
||||
gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
|
||||
grok? ( >=dev-libs/grok-0.9.2 )
|
||||
jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
|
||||
kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
mdblookup? ( dev-libs/libmaxminddb:= )
|
||||
mongodb? ( >=dev-libs/libmongo-client-0.1.4 )
|
||||
mysql? ( virtual/mysql )
|
||||
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.12:= )
|
||||
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? ( >=net-libs/gnutls-2.12.23:0= )
|
||||
systemd? ( >=sys-apps/systemd-208 )
|
||||
uuid? ( sys-apps/util-linux:0= )
|
||||
zeromq? (
|
||||
>=net-libs/zeromq-4.1.1:=
|
||||
>=net-libs/czmq-3.0.0
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-devel/autoconf-archive-2015.02.24
|
||||
virtual/pkgconfig
|
||||
test? ( sys-libs/libfaketime )"
|
||||
|
||||
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!"
|
||||
|
||||
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 ${MY_FILENAME_DOCS}
|
||||
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
|
||||
$(use_enable test testbench)
|
||||
# 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-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 memcheck)
|
||||
$(use_enable debug rtinst)
|
||||
$(use_enable debug valgrind)
|
||||
# Misc
|
||||
$(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 normalize mmnormalize)
|
||||
$(use_enable mdblookup mmdblookup)
|
||||
$(use_enable grok mmgrok)
|
||||
$(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 ssl gnutls)
|
||||
$(use_enable systemd imjournal)
|
||||
$(use_enable systemd omjournal)
|
||||
$(use_enable usertools)
|
||||
$(use_enable uuid)
|
||||
$(use_enable zeromq imczmq)
|
||||
$(use_enable zeromq imzmq3)
|
||||
$(use_enable zeromq omczmq)
|
||||
$(use_enable zeromq omzmq3)
|
||||
--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}"/${BRANCH}/README.gentoo
|
||||
)
|
||||
|
||||
use doc && local HTML_DOCS=( "${S}/docs/build/." )
|
||||
|
||||
default
|
||||
|
||||
newconfd "${FILESDIR}/${BRANCH}/${PN}.confd-r1" ${PN}
|
||||
newinitd "${FILESDIR}/${BRANCH}/${PN}.initd-r1" ${PN}
|
||||
|
||||
keepdir /var/empty/dev
|
||||
keepdir /var/spool/${PN}
|
||||
keepdir /etc/ssl/${PN}
|
||||
keepdir /etc/${PN}.d
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}/${BRANCH}/${PN}.conf" ${PN}.conf
|
||||
|
||||
insinto /etc/rsyslog.d/
|
||||
doins "${FILESDIR}/${BRANCH}/50-default.conf"
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${BRANCH}/${PN}.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 " http://www.rsyslog.com/doc/rsyslog_tls.html"
|
||||
}
|
@ -1,451 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit autotools eutils linux-info systemd
|
||||
|
||||
DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
|
||||
HOMEPAGE="http://www.rsyslog.com/"
|
||||
|
||||
BRANCH="8-stable"
|
||||
|
||||
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
|
||||
MY_PV=${PV%_rc*}
|
||||
MY_FILENAME="${PN}-${PV}.tar.gz"
|
||||
MY_FILENAME_DOCS="${PN}-docs-${PV}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
# Upstream URL schema:
|
||||
# RC: http://www.rsyslog.com/files/download/rsyslog/rc/rsyslog-8.18.0.tar.gz
|
||||
# http://www.rsyslog.com/files/download/rsyslog/rc2/rsyslog-8.18.0.tar.gz
|
||||
# Release: http://www.rsyslog.com/files/download/rsyslog/rsyslog-8.18.0.tar.gz
|
||||
|
||||
MY_URL_PREFIX=
|
||||
if [[ ${PV} = *_rc* ]]; then
|
||||
_tmp_last_index=$(($(get_last_version_component_index ${PV})+1))
|
||||
_tmp_suffix=$(get_version_component_range ${_tmp_last_index} ${PV})
|
||||
if [[ ${_tmp_suffix} = *rc* ]]; then
|
||||
MY_URL_PREFIX="${_tmp_suffix}/"
|
||||
fi
|
||||
|
||||
# Cleaning up temporary variables
|
||||
unset _tmp_last_index
|
||||
unset _tmp_suffix
|
||||
else
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~x86"
|
||||
fi
|
||||
|
||||
SRC_URI="
|
||||
http://www.rsyslog.com/files/download/${PN}/${MY_URL_PREFIX}${PN}-${MY_PV}.tar.gz -> ${MY_FILENAME}
|
||||
doc? ( http://www.rsyslog.com/files/download/${PN}/${MY_URL_PREFIX}${PN}-doc-${MY_PV}.tar.gz -> ${MY_FILENAME_DOCS} )
|
||||
"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/8-stable/${PN}-8.27.0-fix-mmnormalize-tests.patch )
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3 LGPL-3 Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="dbi debug doc elasticsearch +gcrypt grok jemalloc kafka kerberos libressl mdblookup mongodb mysql normalize omhttpfs"
|
||||
IUSE+=" omudpspoof postgres rabbitmq redis relp rfc3195 rfc5424hmac snmp ssl systemd test usertools +uuid zeromq"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libfastjson-0.99.3:=
|
||||
>=dev-libs/libestr-0.1.9
|
||||
>=dev-libs/liblogging-1.0.1:=[stdlog]
|
||||
>=sys-libs/zlib-1.2.5
|
||||
dbi? ( >=dev-db/libdbi-0.8.3 )
|
||||
elasticsearch? ( >=net-misc/curl-7.35.0 )
|
||||
gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
|
||||
grok? ( >=dev-libs/grok-0.9.2 )
|
||||
jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
|
||||
kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
mdblookup? ( dev-libs/libmaxminddb:= )
|
||||
mongodb? ( >=dev-libs/libmongo-client-0.1.4 )
|
||||
mysql? ( virtual/mysql )
|
||||
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.14:= )
|
||||
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? ( >=net-libs/gnutls-2.12.23:0= )
|
||||
systemd? ( >=sys-apps/systemd-208 )
|
||||
uuid? ( sys-apps/util-linux:0= )
|
||||
zeromq? (
|
||||
>=net-libs/zeromq-4.1.1:=
|
||||
>=net-libs/czmq-3.0.0
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-devel/autoconf-archive-2015.02.24
|
||||
virtual/pkgconfig
|
||||
test? ( sys-libs/libfaketime )"
|
||||
|
||||
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!"
|
||||
|
||||
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 ${MY_FILENAME_DOCS}
|
||||
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
|
||||
$(use_enable test testbench)
|
||||
# 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-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 memcheck)
|
||||
$(use_enable debug rtinst)
|
||||
$(use_enable debug valgrind)
|
||||
# Misc
|
||||
$(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 normalize mmnormalize)
|
||||
$(use_enable mdblookup mmdblookup)
|
||||
$(use_enable grok mmgrok)
|
||||
$(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 ssl gnutls)
|
||||
$(use_enable systemd imjournal)
|
||||
$(use_enable systemd omjournal)
|
||||
$(use_enable usertools)
|
||||
$(use_enable uuid)
|
||||
$(use_enable zeromq imczmq)
|
||||
$(use_enable zeromq imzmq3)
|
||||
$(use_enable zeromq omczmq)
|
||||
$(use_enable zeromq omzmq3)
|
||||
--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}"/${BRANCH}/README.gentoo
|
||||
)
|
||||
|
||||
use doc && local HTML_DOCS=( "${S}/docs/build/." )
|
||||
|
||||
default
|
||||
|
||||
newconfd "${FILESDIR}/${BRANCH}/${PN}.confd-r1" ${PN}
|
||||
newinitd "${FILESDIR}/${BRANCH}/${PN}.initd-r1" ${PN}
|
||||
|
||||
keepdir /var/empty/dev
|
||||
keepdir /var/spool/${PN}
|
||||
keepdir /etc/ssl/${PN}
|
||||
keepdir /etc/${PN}.d
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}/${BRANCH}/${PN}.conf" ${PN}.conf
|
||||
|
||||
insinto /etc/rsyslog.d/
|
||||
newins "${FILESDIR}/${BRANCH}/50-default-r1.conf" 50-default.conf
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${BRANCH}/${PN}.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 " http://www.rsyslog.com/doc/rsyslog_tls.html"
|
||||
}
|
@ -1,451 +0,0 @@
|
||||
# Copyright 1999-2017 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
inherit autotools eutils linux-info systemd
|
||||
|
||||
DESCRIPTION="An enhanced multi-threaded syslogd with database support and more"
|
||||
HOMEPAGE="http://www.rsyslog.com/"
|
||||
|
||||
BRANCH="8-stable"
|
||||
|
||||
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
|
||||
MY_PV=${PV%_rc*}
|
||||
MY_FILENAME="${PN}-${PV}.tar.gz"
|
||||
MY_FILENAME_DOCS="${PN}-docs-${PV}.tar.gz"
|
||||
S="${WORKDIR}/${PN}-${MY_PV}"
|
||||
|
||||
# Upstream URL schema:
|
||||
# RC: http://www.rsyslog.com/files/download/rsyslog/rc/rsyslog-8.18.0.tar.gz
|
||||
# http://www.rsyslog.com/files/download/rsyslog/rc2/rsyslog-8.18.0.tar.gz
|
||||
# Release: http://www.rsyslog.com/files/download/rsyslog/rsyslog-8.18.0.tar.gz
|
||||
|
||||
MY_URL_PREFIX=
|
||||
if [[ ${PV} = *_rc* ]]; then
|
||||
_tmp_last_index=$(($(get_last_version_component_index ${PV})+1))
|
||||
_tmp_suffix=$(get_version_component_range ${_tmp_last_index} ${PV})
|
||||
if [[ ${_tmp_suffix} = *rc* ]]; then
|
||||
MY_URL_PREFIX="${_tmp_suffix}/"
|
||||
fi
|
||||
|
||||
# Cleaning up temporary variables
|
||||
unset _tmp_last_index
|
||||
unset _tmp_suffix
|
||||
else
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~x86"
|
||||
fi
|
||||
|
||||
SRC_URI="
|
||||
http://www.rsyslog.com/files/download/${PN}/${MY_URL_PREFIX}${PN}-${MY_PV}.tar.gz -> ${MY_FILENAME}
|
||||
doc? ( http://www.rsyslog.com/files/download/${PN}/${MY_URL_PREFIX}${PN}-doc-${MY_PV}.tar.gz -> ${MY_FILENAME_DOCS} )
|
||||
"
|
||||
|
||||
PATCHES=( "${FILESDIR}"/8-stable/${PN}-8.30.0-fix-kerberos.patch )
|
||||
fi
|
||||
|
||||
LICENSE="GPL-3 LGPL-3 Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="dbi debug doc elasticsearch +gcrypt grok jemalloc kafka kerberos libressl mdblookup mongodb mysql normalize omhttpfs"
|
||||
IUSE+=" omudpspoof postgres rabbitmq redis relp rfc3195 rfc5424hmac snmp ssl systemd test usertools +uuid zeromq"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/libfastjson-0.99.7:=
|
||||
>=dev-libs/libestr-0.1.9
|
||||
>=dev-libs/liblogging-1.0.1:=[stdlog]
|
||||
>=sys-libs/zlib-1.2.5
|
||||
dbi? ( >=dev-db/libdbi-0.8.3 )
|
||||
elasticsearch? ( >=net-misc/curl-7.35.0 )
|
||||
gcrypt? ( >=dev-libs/libgcrypt-1.5.3:= )
|
||||
grok? ( >=dev-libs/grok-0.9.2 )
|
||||
jemalloc? ( >=dev-libs/jemalloc-3.3.1:= )
|
||||
kafka? ( >=dev-libs/librdkafka-0.9.0.99:= )
|
||||
kerberos? ( virtual/krb5 )
|
||||
mdblookup? ( dev-libs/libmaxminddb:= )
|
||||
mongodb? ( >=dev-libs/libmongo-client-0.1.4 )
|
||||
mysql? ( virtual/mysql )
|
||||
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.14:= )
|
||||
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? ( >=net-libs/gnutls-2.12.23:0= )
|
||||
systemd? ( >=sys-apps/systemd-234 )
|
||||
uuid? ( sys-apps/util-linux:0= )
|
||||
zeromq? (
|
||||
>=net-libs/zeromq-4.1.1:=
|
||||
>=net-libs/czmq-3.0.0
|
||||
)"
|
||||
DEPEND="${RDEPEND}
|
||||
>=sys-devel/autoconf-archive-2015.02.24
|
||||
virtual/pkgconfig
|
||||
test? ( sys-libs/libfaketime )"
|
||||
|
||||
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!"
|
||||
|
||||
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 ${MY_FILENAME_DOCS}
|
||||
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
|
||||
$(use_enable test testbench)
|
||||
# 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-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 memcheck)
|
||||
$(use_enable debug rtinst)
|
||||
$(use_enable debug valgrind)
|
||||
# Misc
|
||||
$(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 normalize mmnormalize)
|
||||
$(use_enable mdblookup mmdblookup)
|
||||
$(use_enable grok mmgrok)
|
||||
$(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 ssl gnutls)
|
||||
$(use_enable systemd imjournal)
|
||||
$(use_enable systemd omjournal)
|
||||
$(use_enable usertools)
|
||||
$(use_enable uuid)
|
||||
$(use_enable zeromq imczmq)
|
||||
$(use_enable zeromq imzmq3)
|
||||
$(use_enable zeromq omczmq)
|
||||
$(use_enable zeromq omzmq3)
|
||||
--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}"/${BRANCH}/README.gentoo
|
||||
)
|
||||
|
||||
use doc && local HTML_DOCS=( "${S}/docs/build/." )
|
||||
|
||||
default
|
||||
|
||||
newconfd "${FILESDIR}/${BRANCH}/${PN}.confd-r1" ${PN}
|
||||
newinitd "${FILESDIR}/${BRANCH}/${PN}.initd-r1" ${PN}
|
||||
|
||||
keepdir /var/empty/dev
|
||||
keepdir /var/spool/${PN}
|
||||
keepdir /etc/ssl/${PN}
|
||||
keepdir /etc/${PN}.d
|
||||
|
||||
insinto /etc
|
||||
newins "${FILESDIR}/${BRANCH}/${PN}.conf" ${PN}.conf
|
||||
|
||||
insinto /etc/rsyslog.d/
|
||||
newins "${FILESDIR}/${BRANCH}/50-default-r1.conf" 50-default.conf
|
||||
|
||||
insinto /etc/logrotate.d/
|
||||
newins "${FILESDIR}/${BRANCH}/${PN}.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 " http://www.rsyslog.com/doc/rsyslog_tls.html"
|
||||
}
|
@ -1,104 +0,0 @@
|
||||
diff --git a/tests/unit/pydsl_test.py b/tests/unit/pydsl_test.py
|
||||
index 57ba81e..b26154e 100644
|
||||
--- a/tests/unit/pydsl_test.py
|
||||
+++ b/tests/unit/pydsl_test.py
|
||||
@@ -298,99 +298,6 @@ class PyDSLRendererTestCase(TestCase):
|
||||
finally:
|
||||
shutil.rmtree(dirpath, ignore_errors=True)
|
||||
|
||||
- def test_rendering_includes(self):
|
||||
- dirpath = tempfile.mkdtemp(dir=integration.SYS_TMP_DIR)
|
||||
- if not os.path.isdir(dirpath):
|
||||
- self.skipTest(
|
||||
- 'The temporary directory {0!r} was not created'.format(
|
||||
- dirpath
|
||||
- )
|
||||
- )
|
||||
- output = os.path.join(dirpath, 'output')
|
||||
- try:
|
||||
- write_to(os.path.join(dirpath, 'aaa.sls'), textwrap.dedent('''\
|
||||
- #!pydsl|stateconf -ps
|
||||
-
|
||||
- include('xxx')
|
||||
- yyy = include('yyy')
|
||||
-
|
||||
- # ensure states in xxx are run first, then those in yyy and then those in aaa last.
|
||||
- extend(state('yyy::start').stateconf.require(stateconf='xxx::goal'))
|
||||
- extend(state('.start').stateconf.require(stateconf='yyy::goal'))
|
||||
-
|
||||
- extend(state('yyy::Y2').cmd.run('echo Y2 extended >> {0}'))
|
||||
-
|
||||
- __pydsl__.set(ordered=True)
|
||||
-
|
||||
- yyy.hello('red', 1)
|
||||
- yyy.hello('green', 2)
|
||||
- yyy.hello('blue', 3)
|
||||
- '''.format(output)))
|
||||
-
|
||||
- write_to(os.path.join(dirpath, 'xxx.sls'), textwrap.dedent('''\
|
||||
- #!stateconf -os yaml . jinja
|
||||
-
|
||||
- include:
|
||||
- - yyy
|
||||
-
|
||||
- extend:
|
||||
- yyy::start:
|
||||
- stateconf.set:
|
||||
- - require:
|
||||
- - stateconf: .goal
|
||||
-
|
||||
- yyy::Y1:
|
||||
- cmd.run:
|
||||
- - name: 'echo Y1 extended >> {0}'
|
||||
-
|
||||
- .X1:
|
||||
- cmd.run:
|
||||
- - name: echo X1 >> {1}
|
||||
- - cwd: /
|
||||
- .X2:
|
||||
- cmd.run:
|
||||
- - name: echo X2 >> {2}
|
||||
- - cwd: /
|
||||
- .X3:
|
||||
- cmd.run:
|
||||
- - name: echo X3 >> {3}
|
||||
- - cwd: /
|
||||
-
|
||||
- '''.format(output, output, output, output)))
|
||||
-
|
||||
- write_to(os.path.join(dirpath, 'yyy.sls'), textwrap.dedent('''\
|
||||
- #!pydsl|stateconf -ps
|
||||
-
|
||||
- include('xxx')
|
||||
- __pydsl__.set(ordered=True)
|
||||
-
|
||||
- state('.Y1').cmd.run('echo Y1 >> {0}', cwd='/')
|
||||
- state('.Y2').cmd.run('echo Y2 >> {1}', cwd='/')
|
||||
- state('.Y3').cmd.run('echo Y3 >> {2}', cwd='/')
|
||||
-
|
||||
- def hello(color, number):
|
||||
- state(color).cmd.run('echo hello '+color+' '+str(number)+' >> {3}', cwd='/')
|
||||
- '''.format(output, output, output, output)))
|
||||
-
|
||||
- state_highstate({'base': ['aaa']}, dirpath)
|
||||
- expected = textwrap.dedent('''\
|
||||
- X1
|
||||
- X2
|
||||
- X3
|
||||
- Y1 extended
|
||||
- Y2 extended
|
||||
- Y3
|
||||
- hello red 1
|
||||
- hello green 2
|
||||
- hello blue 3
|
||||
- ''')
|
||||
-
|
||||
- with salt.utils.fopen(output, 'r') as f:
|
||||
- self.assertEqual(sorted(f.read()), sorted(expected))
|
||||
-
|
||||
- finally:
|
||||
- shutil.rmtree(dirpath, ignore_errors=True)
|
||||
-
|
||||
def test_compile_time_state_execution(self):
|
||||
if not sys.stdin.isatty():
|
||||
self.skipTest('Not attached to a TTY')
|
@ -1,38 +0,0 @@
|
||||
diff --git a/tests/unit/modules/boto_vpc_test.py b/tests/unit/modules/boto_vpc_test.py
|
||||
index 82dfe28..ced9ee5 100644
|
||||
--- a/tests/unit/modules/boto_vpc_test.py
|
||||
+++ b/tests/unit/modules/boto_vpc_test.py
|
||||
@@ -441,9 +441,9 @@ class BotoVpcTestCase(BotoVpcTestCaseBase):
|
||||
describe_vpc = boto_vpc.describe(vpc_id=vpc.id, **conn_parameters)
|
||||
|
||||
vpc_properties = dict(cidr_block=unicode(cidr_block),
|
||||
- is_default=None,
|
||||
+ is_default=False,
|
||||
state=u'available',
|
||||
- tags={'Name': 'test', 'test': 'testvalue'},
|
||||
+ tags={u'Name': u'test', u'test': u'testvalue'},
|
||||
dhcp_options_id=u'dopt-7a8b9c2d',
|
||||
instance_tenancy=u'default')
|
||||
|
||||
diff --git a/tests/unit/states/pip_test.py b/tests/unit/states/pip_test.py
|
||||
index 6e7d083..9a83951 100644
|
||||
--- a/tests/unit/states/pip_test.py
|
||||
+++ b/tests/unit/states/pip_test.py
|
||||
@@ -37,17 +37,6 @@ class PipStateTest(TestCase, integration.SaltReturnAssertsMixIn):
|
||||
def test_install_requirements_parsing(self):
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.3'})
|
||||
- with patch.dict(pip_state.__salt__, {'cmd.run_all': mock,
|
||||
- 'pip.list': pip_list}):
|
||||
- with patch.dict(pip_state.__opts__, {'test': True}):
|
||||
- ret = pip_state.installed('pep8=1.3.2')
|
||||
- self.assertSaltFalseReturn({'test': ret})
|
||||
- self.assertInSaltComment(
|
||||
- 'Invalid version specification in package pep8=1.3.2. '
|
||||
- '\'=\' is not supported, use \'==\' instead.',
|
||||
- {'test': ret}
|
||||
- )
|
||||
-
|
||||
mock = MagicMock(return_value={'retcode': 0, 'stdout': ''})
|
||||
pip_list = MagicMock(return_value={'pep8': '1.3.3'})
|
||||
pip_install = MagicMock(return_value={'retcode': 0})
|
@ -1,34 +0,0 @@
|
||||
diff --git a/tests/unit/auth_test.py b/tests/unit/auth_test.py
|
||||
index 10b77e9..c40f439 100644
|
||||
--- a/tests/unit/auth_test.py
|
||||
+++ b/tests/unit/auth_test.py
|
||||
@@ -38,12 +38,12 @@ class LoadAuthTestCase(TestCase):
|
||||
|
||||
# Test a case with valid params
|
||||
with patch('salt.utils.format_call') as format_call_mock:
|
||||
- expected_ret = call('fake_func_str', {
|
||||
+ expected_ret = [call('fake_func_str', {
|
||||
'username': 'test_user',
|
||||
'test_password': '',
|
||||
'show_timeout': False,
|
||||
'eauth': 'pam'
|
||||
- }, expected_extra_kws=auth.AUTH_INTERNAL_KEYWORDS)
|
||||
+ }, expected_extra_kws=auth.AUTH_INTERNAL_KEYWORDS)]
|
||||
ret = self.lauth.load_name(valid_eauth_load)
|
||||
format_call_mock.assert_has_calls(expected_ret)
|
||||
|
||||
@@ -53,12 +53,12 @@ class LoadAuthTestCase(TestCase):
|
||||
'test_password': '',
|
||||
'eauth': 'pam'}
|
||||
with patch('salt.utils.format_call') as format_call_mock:
|
||||
- expected_ret = call('fake_groups_function_str', {
|
||||
+ expected_ret = [call('fake_groups_function_str', {
|
||||
'username': 'test_user',
|
||||
'test_password': '',
|
||||
'show_timeout': False,
|
||||
'eauth': 'pam'
|
||||
- }, expected_extra_kws=auth.AUTH_INTERNAL_KEYWORDS)
|
||||
+ }, expected_extra_kws=auth.AUTH_INTERNAL_KEYWORDS)]
|
||||
self.lauth.get_groups(valid_eauth_load)
|
||||
format_call_mock.assert_has_calls(expected_ret)
|
||||
|
@ -1,17 +0,0 @@
|
||||
diff --git a/tests/unit/modules/cron_test.py b/tests/unit/modules/cron_test.py
|
||||
index 017eabd..dac0122 100644
|
||||
--- a/tests/unit/modules/cron_test.py
|
||||
+++ b/tests/unit/modules/cron_test.py
|
||||
@@ -573,10 +573,10 @@ class PsTestCase(TestCase):
|
||||
@patch('salt.modules.cron._write_cron_lines')
|
||||
@patch('salt.modules.cron.list_tab', new=MagicMock(return_value=STUB_SIMPLE_CRON_DICT))
|
||||
def test_set_special(self, write_cron_lines_mock):
|
||||
- expected_write_call = call('DUMMY_USER',
|
||||
+ expected_write_call = [call('DUMMY_USER',
|
||||
['5 0 * * * /tmp/no_script.sh\n',
|
||||
'# Lines below here are managed by Salt, do not edit\n',
|
||||
- '@hourly echo Hi!\n'])
|
||||
+ '@hourly echo Hi!\n'])]
|
||||
ret = cron.set_special('DUMMY_USER', '@hourly', 'echo Hi!')
|
||||
write_cron_lines_mock.assert_has_calls(expected_write_call)
|
||||
|
@ -1,46 +0,0 @@
|
||||
diff --git a/tests/unit/modules/darwin_sysctl_test.py b/tests/unit/modules/darwin_sysctl_test.py
|
||||
index 51e8f23..36d005f 100644
|
||||
--- a/tests/unit/modules/darwin_sysctl_test.py
|
||||
+++ b/tests/unit/modules/darwin_sysctl_test.py
|
||||
@@ -64,18 +64,6 @@ class DarwinSysctlTestCase(TestCase):
|
||||
'net.inet.icmp.icmplim', 50), ret)
|
||||
|
||||
@patch('os.path.isfile', MagicMock(return_value=False))
|
||||
- def test_persist_no_conf_failure(self):
|
||||
- '''
|
||||
- Tests adding of config file failure
|
||||
- '''
|
||||
- with patch('salt.utils.fopen', mock_open()) as m_open:
|
||||
- helper_open = m_open()
|
||||
- helper_open.write.assertRaises(CommandExecutionError,
|
||||
- darwin_sysctl.persist,
|
||||
- 'net.inet.icmp.icmplim',
|
||||
- 50, config=None)
|
||||
-
|
||||
- @patch('os.path.isfile', MagicMock(return_value=False))
|
||||
def test_persist_no_conf_success(self):
|
||||
'''
|
||||
Tests successful add of config file when previously not one
|
||||
diff --git a/tests/unit/modules/linux_sysctl_test.py b/tests/unit/modules/linux_sysctl_test.py
|
||||
index 08fc80f..c6e40b8 100644
|
||||
--- a/tests/unit/modules/linux_sysctl_test.py
|
||||
+++ b/tests/unit/modules/linux_sysctl_test.py
|
||||
@@ -82,18 +82,6 @@ class LinuxSysctlTestCase(TestCase):
|
||||
'net.ipv4.ip_forward', 1), ret)
|
||||
|
||||
@patch('os.path.isfile', MagicMock(return_value=False))
|
||||
- def test_persist_no_conf_failure(self):
|
||||
- '''
|
||||
- Tests adding of config file failure
|
||||
- '''
|
||||
- with patch('salt.utils.fopen', mock_open()) as m_open:
|
||||
- helper_open = m_open()
|
||||
- helper_open.write.assertRaises(CommandExecutionError,
|
||||
- linux_sysctl.persist,
|
||||
- 'net.ipv4.ip_forward',
|
||||
- 1, config=None)
|
||||
-
|
||||
- @patch('os.path.isfile', MagicMock(return_value=False))
|
||||
def test_persist_no_conf_success(self):
|
||||
'''
|
||||
Tests successful add of config file when previously not one
|
@ -1,37 +0,0 @@
|
||||
diff --git a/tests/unit/modules/grains_test.py b/tests/unit/modules/grains_test.py
|
||||
index 3473c03..ea37d66 100644
|
||||
--- a/tests/unit/modules/grains_test.py
|
||||
+++ b/tests/unit/modules/grains_test.py
|
||||
@@ -1,6 +1,8 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import copy
|
||||
+import os.path
|
||||
+import tempfile
|
||||
|
||||
# Import Salt Testing libs
|
||||
from salttesting import TestCase, skipIf
|
||||
@@ -20,8 +22,8 @@ from salt.modules import grains as grainsmod
|
||||
from salt.utils import dictupdate
|
||||
|
||||
grainsmod.__opts__ = {
|
||||
- 'conf_file': '/tmp/__salt_test_grains',
|
||||
- 'cachedir': '/tmp/__salt_test_grains_cache_dir'
|
||||
+ 'conf_file': os.path.join(tempfile.gettempdir(), '__salt_test_grains'),
|
||||
+ 'cachedir': os.path.join(tempfile.gettempdir(), '__salt_test_grains_cache_dir')
|
||||
}
|
||||
|
||||
grainsmod.__salt__ = {}
|
||||
diff --git a/tests/unit/states/archive_test.py b/tests/unit/states/archive_test.py
|
||||
index 3cfb2f0..b3f3bee 100644
|
||||
--- a/tests/unit/states/archive_test.py
|
||||
+++ b/tests/unit/states/archive_test.py
|
||||
@@ -69,7 +69,7 @@ class ArchiveTest(TestCase):
|
||||
'cmd.run_all': mock_run}):
|
||||
filename = os.path.join(
|
||||
tmp_dir,
|
||||
- 'files/test/_tmp_test_archive_.tar'
|
||||
+ 'files/test/' + tempfile.gettempdir().replace('/', '_') + '_test_archive_.tar'
|
||||
)
|
||||
for test_opts, ret_opts in zip(test_tar_opts, ret_tar_opts):
|
||||
ret = archive.extracted(tmp_dir,
|
@ -1,56 +0,0 @@
|
||||
diff --git a/tests/unit/modules/mount_test.py b/tests/unit/modules/mount_test.py
|
||||
index 282539d..c88a7a8 100644
|
||||
--- a/tests/unit/modules/mount_test.py
|
||||
+++ b/tests/unit/modules/mount_test.py
|
||||
@@ -103,12 +103,6 @@ class MountTestCase(TestCase):
|
||||
self.assertTrue(mount.rm_fstab('name', 'device'))
|
||||
|
||||
mock = MagicMock(return_value={'name': 'name'})
|
||||
- with patch.object(mount, 'fstab', mock):
|
||||
- with patch('salt.utils.fopen', mock_open()) as m_open:
|
||||
- helper_open = m_open()
|
||||
- helper_open.write.assertRaises(CommandExecutionError,
|
||||
- mount.rm_fstab,
|
||||
- config=None)
|
||||
|
||||
def test_set_fstab(self):
|
||||
'''
|
||||
@@ -143,12 +137,6 @@ class MountTestCase(TestCase):
|
||||
self.assertTrue(mount.rm_automaster('name', 'device'))
|
||||
|
||||
mock = MagicMock(return_value={'name': 'name'})
|
||||
- with patch.object(mount, 'fstab', mock):
|
||||
- with patch('salt.utils.fopen', mock_open()) as m_open:
|
||||
- helper_open = m_open()
|
||||
- helper_open.write.assertRaises(CommandExecutionError,
|
||||
- mount.rm_automaster,
|
||||
- 'name', 'device')
|
||||
|
||||
def test_set_automaster(self):
|
||||
'''
|
||||
diff --git a/tests/unit/modules/puppet_test.py b/tests/unit/modules/puppet_test.py
|
||||
index 6a43fd4..3be039c 100644
|
||||
--- a/tests/unit/modules/puppet_test.py
|
||||
+++ b/tests/unit/modules/puppet_test.py
|
||||
@@ -91,10 +91,6 @@ class PuppetTestCase(TestCase):
|
||||
with patch('salt.utils.fopen', mock_open()):
|
||||
self.assertTrue(puppet.disable())
|
||||
|
||||
- with patch('salt.utils.fopen', mock_open()) as m_open:
|
||||
- helper_open = m_open()
|
||||
- helper_open.write.assertRaises(CommandExecutionError,
|
||||
- puppet.disable)
|
||||
|
||||
def test_status(self):
|
||||
'''
|
||||
@@ -154,10 +150,6 @@ class PuppetTestCase(TestCase):
|
||||
mock_open(read_data="resources: 1")):
|
||||
self.assertDictEqual(puppet.summary(), {'resources': 1})
|
||||
|
||||
- with patch('salt.utils.fopen', mock_open()) as m_open:
|
||||
- helper_open = m_open()
|
||||
- helper_open.write.assertRaises(CommandExecutionError,
|
||||
- puppet.summary)
|
||||
|
||||
def test_plugin_sync(self):
|
||||
'''
|
@ -1,35 +0,0 @@
|
||||
diff --git a/tests/unit/modules/boto_secgroup_test.py b/tests/unit/modules/boto_secgroup_test.py
|
||||
index f1c6bb1..07fd8ec 100644
|
||||
--- a/tests/unit/modules/boto_secgroup_test.py
|
||||
+++ b/tests/unit/modules/boto_secgroup_test.py
|
||||
@@ -192,30 +192,6 @@ class BotoSecgroupTestCase(TestCase):
|
||||
**conn_parameters)
|
||||
self.assertEqual(group_vpc.id, retrieved_group_id)
|
||||
|
||||
- @mock_ec2
|
||||
- def test_get_config_single_rule_group_name(self):
|
||||
- '''
|
||||
- tests return of 'config' when given group name. get_config returns an OrderedDict.
|
||||
- '''
|
||||
- group_name = _random_group_name()
|
||||
- ip_protocol = u'tcp'
|
||||
- from_port = 22
|
||||
- to_port = 22
|
||||
- cidr_ip = u'0.0.0.0/0'
|
||||
- rules_egress = [{'to_port': -1, 'from_port': -1, 'ip_protocol': u'-1', 'cidr_ip': u'0.0.0.0/0'}]
|
||||
-
|
||||
- conn = boto.ec2.connect_to_region(region, **boto_conn_parameters)
|
||||
- group = conn.create_security_group(name=group_name, description=group_name)
|
||||
- group.authorize(ip_protocol=ip_protocol, from_port=from_port, to_port=to_port, cidr_ip=cidr_ip)
|
||||
- # setup the expected get_config result
|
||||
- expected_get_config_result = OrderedDict([('name', group.name), ('group_id', group.id), ('owner_id', u'111122223333'),
|
||||
- ('description', group.description),
|
||||
- ('rules', [{'to_port': to_port, 'from_port': from_port,
|
||||
- 'ip_protocol': ip_protocol, 'cidr_ip': cidr_ip}]),
|
||||
- ('rules_egress', rules_egress)])
|
||||
- secgroup_get_config_result = boto_secgroup.get_config(group_id=group.id, **conn_parameters)
|
||||
- self.assertEqual(expected_get_config_result, secgroup_get_config_result)
|
||||
-
|
||||
@skipIf(True, 'test skipped due to error in moto return - fixed in '
|
||||
'https://github.com/spulec/moto/commit/cc0166964371f7b5247a49d45637a8f936ccbe6f')
|
||||
@mock_ec2
|
@ -1,69 +0,0 @@
|
||||
diff --git a/tests/unit/states/boto_vpc_test.py b/tests/unit/states/boto_vpc_test.py
|
||||
index 53b6a24e4d..96b5630627 100644
|
||||
--- a/tests/unit/states/boto_vpc_test.py
|
||||
+++ b/tests/unit/states/boto_vpc_test.py
|
||||
@@ -179,16 +179,6 @@ class BotoVpcResourceTestCaseMixin(BotoVpcTestCaseMixin):
|
||||
self.assertTrue(exists)
|
||||
|
||||
@mock_ec2
|
||||
- def test_present_when_resource_exists(self):
|
||||
- vpc = self._create_vpc(name='test')
|
||||
- resource = self._create_resource(vpc_id=vpc.id, name='test')
|
||||
- with patch.dict('salt.utils.boto.__salt__', funcs):
|
||||
- resource_present_result = salt_states['boto_vpc.{0}_present'.format(self.resource_type)](
|
||||
- name='test', vpc_name='test', **self.extra_kwargs)
|
||||
- self.assertTrue(resource_present_result['result'])
|
||||
- self.assertEqual(resource_present_result['changes'], {})
|
||||
-
|
||||
- @mock_ec2
|
||||
@skipIf(True, 'Disabled pending https://github.com/spulec/moto/issues/493')
|
||||
def test_present_with_failure(self):
|
||||
vpc = self._create_vpc(name='test')
|
||||
@@ -210,18 +200,6 @@ class BotoVpcResourceTestCaseMixin(BotoVpcTestCaseMixin):
|
||||
self.assertEqual(resource_absent_result['changes'], {})
|
||||
|
||||
@mock_ec2
|
||||
- def test_absent_when_resource_exists(self):
|
||||
- vpc = self._create_vpc(name='test')
|
||||
- self._create_resource(vpc_id=vpc.id, name='test')
|
||||
-
|
||||
- with patch.dict('salt.utils.boto.__salt__', funcs):
|
||||
- resource_absent_result = salt_states['boto_vpc.{0}_absent'.format(self.resource_type)]('test')
|
||||
- self.assertTrue(resource_absent_result['result'])
|
||||
- self.assertEqual(resource_absent_result['changes']['new'][self.resource_type], None)
|
||||
- exists = funcs['boto_vpc.resource_exists'](self.resource_type, 'test').get('exists')
|
||||
- self.assertFalse(exists)
|
||||
-
|
||||
- @mock_ec2
|
||||
@skipIf(True, 'Disabled pending https://github.com/spulec/moto/issues/493')
|
||||
def test_absent_with_failure(self):
|
||||
vpc = self._create_vpc(name='test')
|
||||
@@ -293,28 +271,3 @@ class BotoVpcRouteTableTestCase(BotoVpcStateTestCaseBase, BotoVpcResourceTestCas
|
||||
|
||||
new_subnets = changes['new']['subnets_associations']
|
||||
self.assertEqual(new_subnets[0]['subnet_id'], subnet2.id)
|
||||
-
|
||||
- @mock_ec2
|
||||
- def test_present_with_routes(self):
|
||||
- vpc = self._create_vpc(name='test')
|
||||
- igw = self._create_internet_gateway(name='test', vpc_id=vpc.id)
|
||||
-
|
||||
- route_table_present_result = salt_states['boto_vpc.route_table_present'](
|
||||
- name='test', vpc_name='test', routes=[{'destination_cidr_block': '0.0.0.0/0',
|
||||
- 'gateway_id': igw.id},
|
||||
- {'destination_cidr_block': '10.0.0.0/24',
|
||||
- 'gateway_id': 'local'}])
|
||||
- routes = [x['gateway_id'] for x in route_table_present_result['changes']['new']['routes']]
|
||||
-
|
||||
- self.assertEqual(set(routes), set(['local', igw.id]))
|
||||
-
|
||||
- route_table_present_result = salt_states['boto_vpc.route_table_present'](
|
||||
- name='test', vpc_name='test', routes=[{'destination_cidr_block': '10.0.0.0/24',
|
||||
- 'gateway_id': 'local'}])
|
||||
-
|
||||
- changes = route_table_present_result['changes']
|
||||
-
|
||||
- old_routes = [x['gateway_id'] for x in changes['old']['routes']]
|
||||
- self.assertEqual(set(routes), set(old_routes))
|
||||
-
|
||||
- self.assertEqual(changes['new']['routes'][0]['gateway_id'], 'local')
|
@ -1,36 +0,0 @@
|
||||
From aa87d67258a5b6742fc53d06c7bdac0f643bc9f1 Mon Sep 17 00:00:00 2001
|
||||
From: Ch3LL <megan.wilhite@gmail.com>
|
||||
Date: Tue, 1 Aug 2017 13:44:32 -0400
|
||||
Subject: [PATCH] Add clean_id function to salt.utils.verify.py
|
||||
|
||||
---
|
||||
salt/utils/verify.py | 11 ++++++++++-
|
||||
1 file changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/salt/utils/verify.py b/salt/utils/verify.py
|
||||
index 5cac0fa651b..a3dc67db336 100644
|
||||
--- a/salt/utils/verify.py
|
||||
+++ b/salt/utils/verify.py
|
||||
@@ -484,12 +484,21 @@ def clean_path(root, path, subdir=False):
|
||||
return ''
|
||||
|
||||
|
||||
+def clean_id(id_):
|
||||
+ '''
|
||||
+ Returns if the passed id is clean.
|
||||
+ '''
|
||||
+ if re.search(r'\.\.{sep}'.format(sep=os.sep), id_):
|
||||
+ return False
|
||||
+ return True
|
||||
+
|
||||
+
|
||||
def valid_id(opts, id_):
|
||||
'''
|
||||
Returns if the passed id is valid
|
||||
'''
|
||||
try:
|
||||
- return bool(clean_path(opts['pki_dir'], id_))
|
||||
+ return bool(clean_path(opts['pki_dir'], id_)) and clean_id(id_)
|
||||
except (AttributeError, KeyError) as e:
|
||||
return False
|
||||
|
@ -1,56 +0,0 @@
|
||||
diff --git a/tests/unit/modules/qemu_nbd_test.py b/tests/unit/modules/qemu_nbd_test.py
|
||||
index 615e6b5..fbd24aa 100644
|
||||
--- a/tests/unit/modules/qemu_nbd_test.py
|
||||
+++ b/tests/unit/modules/qemu_nbd_test.py
|
||||
@@ -77,6 +77,7 @@ class QemuNbdTestCase(TestCase):
|
||||
Test if it mount the named image via qemu-nbd
|
||||
and return the mounted roots
|
||||
'''
|
||||
+ tmpdir = os.environ.get('TMPDIR', '/tmp')
|
||||
mock = MagicMock(return_value=True)
|
||||
with patch.dict(qemu_nbd.__salt__, {'cmd.run': mock}):
|
||||
self.assertEqual(qemu_nbd.init('/srv/image.qcow2'), '')
|
||||
@@ -89,7 +90,7 @@ class QemuNbdTestCase(TestCase):
|
||||
'mount.mount': mock,
|
||||
'cmd.retcode': MagicMock(side_effect=[1, 0])}):
|
||||
self.assertDictEqual(qemu_nbd.init('/srv/image.qcow2'),
|
||||
- {'/tmp/nbd/nbd0/nbd0': '/dev/nbd0'})
|
||||
+ {os.path.join(tmpdir, 'nbd/nbd0/nbd0'): '/dev/nbd0'})
|
||||
|
||||
# 'clear' function tests: 1
|
||||
|
||||
diff --git a/tests/unit/states/archive_test.py b/tests/unit/states/archive_test.py
|
||||
index 63e4a53..20b196f 100644
|
||||
--- a/tests/unit/states/archive_test.py
|
||||
+++ b/tests/unit/states/archive_test.py
|
||||
@@ -26,7 +26,7 @@ from salt.ext.six.moves import zip # pylint: disable=import-error,redefined-bui
|
||||
|
||||
# Globals
|
||||
archive.__salt__ = {}
|
||||
-archive.__opts__ = {"cachedir": "/tmp", "test": False}
|
||||
+archive.__opts__ = {"cachedir": os.environ.get('TMPDIR', "/tmp"), "test": False}
|
||||
archive.__env__ = 'test'
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ class ArchiveTestCase(TestCase):
|
||||
'cmd.run_all': mock_run}):
|
||||
filename = os.path.join(
|
||||
tmp_dir,
|
||||
- 'files/test/_tmp_test_archive_.tar'
|
||||
+ 'files/test/' + tempfile.gettempdir().replace('/', '_') + '_test_archive_.tar'
|
||||
)
|
||||
for test_opts, ret_opts in zip(test_tar_opts, ret_tar_opts):
|
||||
ret = archive.extracted(tmp_dir,
|
||||
diff --git a/tests/unit/utils/context_test.py b/tests/unit/utils/context_test.py
|
||||
index 71e4330..d6f3f30 100644
|
||||
--- a/tests/unit/utils/context_test.py
|
||||
+++ b/tests/unit/utils/context_test.py
|
||||
@@ -18,7 +18,7 @@ import salt.payload
|
||||
import salt.utils
|
||||
|
||||
__context__ = {'a': 'b'}
|
||||
-__opts__ = {'cachedir': '/tmp'}
|
||||
+__opts__ = {'cachedir': os.environ.get('TMPDIR', '/tmp')}
|
||||
|
||||
|
||||
@skipIf(NO_MOCK, NO_MOCK_REASON)
|
@ -1,33 +0,0 @@
|
||||
diff --git a/tests/unit/modules/inspect_collector_test.py b/tests/unit/modules/inspect_collector_test.py
|
||||
index 9d2fa3ada7..710bbd75a5 100644
|
||||
--- a/tests/unit/modules/inspect_collector_test.py
|
||||
+++ b/tests/unit/modules/inspect_collector_test.py
|
||||
@@ -36,28 +36,6 @@ class InspectorCollectorTestCase(TestCase):
|
||||
self.assertEqual(inspector.dbfile, '/foo/cache/_minion_collector.db')
|
||||
self.assertEqual(inspector.pidfile, '/foo/pid/bar.pid')
|
||||
|
||||
- def test_file_tree(self):
|
||||
- '''
|
||||
- Test file tree.
|
||||
-
|
||||
- :return:
|
||||
- '''
|
||||
-
|
||||
- inspector = Inspector(cachedir='/test', piddir='/test', pidfilename='bar.pid')
|
||||
- tree_root = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'inspectlib', 'tree_test')
|
||||
- expected_tree = (['/a/a/dummy.a', '/a/b/dummy.b', '/b/b.1', '/b/b.2', '/b/b.3'],
|
||||
- ['/a', '/a/a', '/a/b', '/a/c', '/b', '/c'],
|
||||
- ['/a/a/dummy.ln.a', '/a/b/dummy.ln.b', '/a/c/b.1', '/b/b.4',
|
||||
- '/b/b.5', '/c/b.1', '/c/b.2', '/c/b.3'])
|
||||
- tree_result = []
|
||||
- for chunk in inspector._get_all_files(tree_root):
|
||||
- buff = []
|
||||
- for pth in chunk:
|
||||
- buff.append(pth.replace(tree_root, ''))
|
||||
- tree_result.append(buff)
|
||||
- tree_result = tuple(tree_result)
|
||||
- self.assertEqual(expected_tree, tree_result)
|
||||
-
|
||||
def test_get_unmanaged_files(self):
|
||||
'''
|
||||
Test get_unmanaged_files.
|
@ -1,47 +0,0 @@
|
||||
diff --git a/tests/unit/modules/qemu_nbd_test.py b/tests/unit/modules/qemu_nbd_test.py
|
||||
index 615e6b5670..fbd24aab86 100644
|
||||
--- a/tests/unit/modules/qemu_nbd_test.py
|
||||
+++ b/tests/unit/modules/qemu_nbd_test.py
|
||||
@@ -77,6 +77,7 @@ class QemuNbdTestCase(TestCase):
|
||||
Test if it mount the named image via qemu-nbd
|
||||
and return the mounted roots
|
||||
'''
|
||||
+ tmpdir = os.environ.get('TMPDIR', '/tmp')
|
||||
mock = MagicMock(return_value=True)
|
||||
with patch.dict(qemu_nbd.__salt__, {'cmd.run': mock}):
|
||||
self.assertEqual(qemu_nbd.init('/srv/image.qcow2'), '')
|
||||
@@ -89,7 +90,7 @@ class QemuNbdTestCase(TestCase):
|
||||
'mount.mount': mock,
|
||||
'cmd.retcode': MagicMock(side_effect=[1, 0])}):
|
||||
self.assertDictEqual(qemu_nbd.init('/srv/image.qcow2'),
|
||||
- {'/tmp/nbd/nbd0/nbd0': '/dev/nbd0'})
|
||||
+ {os.path.join(tmpdir, 'nbd/nbd0/nbd0'): '/dev/nbd0'})
|
||||
|
||||
# 'clear' function tests: 1
|
||||
|
||||
diff --git a/tests/unit/states/archive_test.py b/tests/unit/states/archive_test.py
|
||||
index e699362d8a..c7c7e8a965 100644
|
||||
--- a/tests/unit/states/archive_test.py
|
||||
+++ b/tests/unit/states/archive_test.py
|
||||
@@ -25,7 +25,7 @@ from salt.ext.six.moves import zip # pylint: disable=import-error,redefined-bui
|
||||
|
||||
# Globals
|
||||
archive.__salt__ = {}
|
||||
-archive.__opts__ = {"cachedir": "/tmp", "test": False}
|
||||
+archive.__opts__ = {"cachedir": os.environ.get('TMPDIR', "/tmp"), "test": False}
|
||||
archive.__env__ = 'test'
|
||||
|
||||
|
||||
diff --git a/tests/unit/utils/context_test.py b/tests/unit/utils/context_test.py
|
||||
index 5249d56747..a27ee9ab61 100644
|
||||
--- a/tests/unit/utils/context_test.py
|
||||
+++ b/tests/unit/utils/context_test.py
|
||||
@@ -18,7 +18,7 @@ import salt.payload
|
||||
import salt.utils
|
||||
|
||||
__context__ = {'a': 'b'}
|
||||
-__opts__ = {'cachedir': '/tmp'}
|
||||
+__opts__ = {'cachedir': os.environ.get('TMPDIR', '/tmp')}
|
||||
|
||||
|
||||
@skipIf(NO_MOCK, NO_MOCK_REASON)
|
@ -1,149 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
|
||||
inherit eutils systemd distutils-r1
|
||||
|
||||
DESCRIPTION="Salt is a remote execution and configuration manager"
|
||||
HOMEPAGE="https://saltstack.com/community/"
|
||||
|
||||
if [[ ${PV} == 9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://github.com/${PN}stack/${PN}.git"
|
||||
EGIT_BRANCH="develop"
|
||||
SRC_URI=""
|
||||
KEYWORDS=""
|
||||
else
|
||||
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
|
||||
KEYWORDS="~x86 ~amd64"
|
||||
fi
|
||||
|
||||
LICENSE="Apache-2.0"
|
||||
SLOT="0"
|
||||
IUSE="cherrypy ldap libcloud libvirt gnupg keyring mako mongodb mysql neutron nova"
|
||||
IUSE+=" openssl portage profile redis selinux test timelib raet +zeromq vim-syntax"
|
||||
|
||||
RDEPEND="sys-apps/pciutils
|
||||
dev-python/jinja[${PYTHON_USEDEP}]
|
||||
>=dev-python/msgpack-0.3[${PYTHON_USEDEP}]
|
||||
dev-python/pyyaml[${PYTHON_USEDEP}]
|
||||
dev-python/markupsafe[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-1.0.0[${PYTHON_USEDEP}]
|
||||
dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
>=www-servers/tornado-4.2.1[${PYTHON_USEDEP}]
|
||||
virtual/python-futures[${PYTHON_USEDEP}]
|
||||
libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
|
||||
mako? ( dev-python/mako[${PYTHON_USEDEP}] )
|
||||
ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )
|
||||
libvirt? ( dev-python/libvirt-python[${PYTHON_USEDEP}] )
|
||||
openssl? (
|
||||
dev-libs/openssl:*[-bindist]
|
||||
dev-python/pyopenssl[${PYTHON_USEDEP}]
|
||||
)
|
||||
raet? (
|
||||
>=dev-python/libnacl-1.0.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/ioflo-1.1.7[${PYTHON_USEDEP}]
|
||||
>=dev-python/raet-0.6.0[${PYTHON_USEDEP}]
|
||||
)
|
||||
zeromq? (
|
||||
>=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/pycrypto-2.6.1[${PYTHON_USEDEP}]
|
||||
)
|
||||
cherrypy? ( >=dev-python/cherrypy-3.2.2[${PYTHON_USEDEP}] )
|
||||
mongodb? ( dev-python/pymongo[${PYTHON_USEDEP}] )
|
||||
portage? ( sys-apps/portage[${PYTHON_USEDEP}] )
|
||||
keyring? ( dev-python/keyring[${PYTHON_USEDEP}] )
|
||||
mysql? ( dev-python/mysql-python[${PYTHON_USEDEP}] )
|
||||
redis? ( dev-python/redis-py[${PYTHON_USEDEP}] )
|
||||
selinux? ( sec-policy/selinux-salt )
|
||||
timelib? ( dev-python/timelib[${PYTHON_USEDEP}] )
|
||||
nova? ( >=dev-python/python-novaclient-2.17.0[${PYTHON_USEDEP}] )
|
||||
neutron? ( >=dev-python/python-neutronclient-2.3.6[${PYTHON_USEDEP}] )
|
||||
gnupg? ( dev-python/python-gnupg[${PYTHON_USEDEP}] )
|
||||
profile? ( dev-python/yappi[${PYTHON_USEDEP}] )
|
||||
vim-syntax? ( app-vim/salt-vim )"
|
||||
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]
|
||||
test? (
|
||||
dev-python/psutil[${PYTHON_USEDEP}]
|
||||
dev-python/pip[${PYTHON_USEDEP}]
|
||||
dev-python/virtualenv[${PYTHON_USEDEP}]
|
||||
dev-python/mock[${PYTHON_USEDEP}]
|
||||
dev-python/timelib[${PYTHON_USEDEP}]
|
||||
>=dev-python/boto-2.32.1[${PYTHON_USEDEP}]
|
||||
!x86? ( dev-python/boto3[${PYTHON_USEDEP}] )
|
||||
>=dev-python/moto-0.3.6[${PYTHON_USEDEP}]
|
||||
>=dev-python/SaltTesting-2016.5.11[${PYTHON_USEDEP}]
|
||||
>=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
|
||||
${RDEPEND}
|
||||
)"
|
||||
|
||||
DOCS=( README.rst AUTHORS )
|
||||
|
||||
REQUIRED_USE="|| ( raet zeromq )"
|
||||
RESTRICT="x86? ( test )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-2016.11.0-tmpdir.patch"
|
||||
"${FILESDIR}/${PN}-2016.3.1-dont-realpath-tmpdir.patch"
|
||||
"${FILESDIR}/${PN}-2016.3.4-test-nonexist-dirs.patch"
|
||||
"${FILESDIR}/${PN}-2016.11.0-remove-file-tree-test.patch"
|
||||
"${FILESDIR}/${PN}-2016.11.0-broken-tests.patch"
|
||||
)
|
||||
|
||||
python_prepare() {
|
||||
# this test fails because it trys to "pip install distribute"
|
||||
rm tests/unit/{modules,states}/zcbuildout_test.py \
|
||||
tests/unit/modules/{rh_ip,win_network,random_org}_test.py || die
|
||||
|
||||
# https://github.com/saltstack/salt/issues/39095
|
||||
rm tests/unit/utils/parsers_test.py
|
||||
|
||||
# apparently libcloud does not know about this?
|
||||
rm tests/unit/cloud/clouds/dimensiondata_test.py || die
|
||||
|
||||
# seriously? "ValueError: Missing (or not readable) key file: '/home/dany/PRIVKEY.pem'"
|
||||
rm tests/unit/cloud/clouds/gce_test.py || die
|
||||
|
||||
# allow the use of the renamed msgpack
|
||||
sed -i '/^msgpack/d' requirements/base.txt || die
|
||||
}
|
||||
|
||||
python_install_all() {
|
||||
local svc
|
||||
USE_SETUPTOOLS=1 distutils-r1_python_install_all
|
||||
|
||||
for svc in minion master syndic api; do
|
||||
newinitd "${FILESDIR}"/${svc}-initd-4 salt-${svc}
|
||||
newconfd "${FILESDIR}"/${svc}-confd-1 salt-${svc}
|
||||
systemd_dounit "${FILESDIR}"/salt-${svc}.service
|
||||
done
|
||||
|
||||
insinto /etc/${PN}
|
||||
doins -r conf/*
|
||||
}
|
||||
|
||||
python_test() {
|
||||
local tempdir
|
||||
# testsuite likes lots of files
|
||||
ulimit -n 3072 || die
|
||||
|
||||
# ${T} is too long a path for the tests to work
|
||||
tempdir="$(mktemp -dup /tmp salt-XXX)"
|
||||
mkdir "${T}/$(basename "${tempdir}")"
|
||||
|
||||
(
|
||||
cleanup() { rm -f "${tempdir}"; }
|
||||
trap cleanup EXIT
|
||||
|
||||
addwrite "${tempdir}"
|
||||
ln -s "$(realpath --relative-to=/tmp "${T}/$(basename "${tempdir}")")" "${tempdir}"
|
||||
|
||||
USE_SETUPTOOLS=1 SHELL="/bin/bash" \
|
||||
TMPDIR="${tempdir}" \
|
||||
${EPYTHON} tests/runtests.py \
|
||||
--unit-tests --no-report --verbose
|
||||
|
||||
) || die "testing failed"
|
||||
}
|
@ -0,0 +1,61 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
DESCRIPTION="The .iso image of SystemRescueCD rescue disk, x86 (+ amd64) variant"
|
||||
HOMEPAGE="http://www.sysresccd.org/"
|
||||
# Large ISO mirroring explicitly approved by infra in bug #588766
|
||||
SRC_URI="mirror://sourceforge/systemrescuecd/sysresccd-${PN#*-}/${PV}/${P}.iso"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="${PV}"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="+isohybrid"
|
||||
|
||||
DEPEND="isohybrid? ( >=sys-boot/syslinux-4 )"
|
||||
|
||||
S=${WORKDIR}
|
||||
|
||||
src_install() {
|
||||
insinto "/usr/share/${PN%-*}"
|
||||
doins "${DISTDIR}/${P}.iso"
|
||||
|
||||
if use isohybrid; then
|
||||
set -- isohybrid -u "${ED}usr/share/${PN%-*}/${P}.iso"
|
||||
echo "${@}"
|
||||
"${@}" || die "${*} failed"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
local f=${EROOT%/}/usr/share/${PN%-*}/${PN}-newest.iso
|
||||
|
||||
# no version newer than ours? we're the newest!
|
||||
if ! has_version ">${CATEGORY}/${PF}"; then
|
||||
ln -f -s -v "${P}.iso" "${f}" || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
local f=${EROOT%/}/usr/share/${PN%-*}/${PN}-newest.iso
|
||||
|
||||
# if there is no version newer than ours installed
|
||||
if ! has_version ">${CATEGORY}/${PF}"; then
|
||||
# and we are truly and completely uninstalled...
|
||||
if [[ ! ${REPLACED_BY_VERSION} ]]; then
|
||||
# then find an older version to set the symlink to
|
||||
local newest_version=$(best_version "<${CATEGORY}/${PF}")
|
||||
|
||||
if [[ ${newest_version} ]]; then
|
||||
# update the symlink
|
||||
ln -f -s -v "${newest_version%-r*}.iso" "${f}" || die
|
||||
else
|
||||
# last version removed? clean up the symlink
|
||||
rm -v "${f}" || die
|
||||
# and the parent directory
|
||||
rmdir "${f%/*}" || die
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,4 +1,6 @@
|
||||
DIST backintime-1.1.24.tar.gz 658961 BLAKE2B 88255ea138f31c4540f54d2053616d4c8ce35f7c969b15a9c46422bfed4f0fd2cabb01e0cd4d1505fb84eee31daacb9da36c6bf71225f5b9a1d47d6941e571b2 SHA512 d16b6d3a710154ca8bddf80a8f06835efe84dd2f2435102e06a732f7e6e291b1954864298542658bab2b7bc42d5a6bf1d9338a98c66fd3f888c450b9685cc011
|
||||
DIST backintime-1.2.0_pre20180221.tar.gz 712330 BLAKE2B 9ba40c5f89b9fbdf0b1c381bf2e3edce13553b2c301792627fc037bd2de181804b2dc6cad6e78a02844f8835dcd6415a35590125e832d55187fa2ed1a5fa864b SHA512 ad1bb11ea411904027952809c577de1a5317f40430af9b91b16a2c157d560c72b65c879bb880b557e9b5e333e76a44977a26486f4ed4f45281a5e8b0d4583c2a
|
||||
EBUILD backintime-1.1.24.ebuild 1813 BLAKE2B 60766b823aa74012c76716da47e526b1b46889a4b536c1cc9414a99535cb922419bf5b3266e30d452bd34ea99da32cc591cf14b4ea5374050d746d5b7479719e SHA512 d4b76c90a12c31741dbaec30c881fee6458970921aa54465b0bd503e2bbca3f1801e2bc2cbffc1df7ad58a7a306d6fa0a7957c0f7e79dbe806a66801d2da7a37
|
||||
EBUILD backintime-9999.ebuild 1780 BLAKE2B 04c66c0db49c28cabc939192dbee09272533f13a4ef3f975cda5c8c58a3dbf1b35b9b6cdf8c2994a32d1a331238f42916cd70dfd17d0803e10867506ebc4e9c2 SHA512 6c037745cd124111a1f823512b8e34a84aa15568a52aa44e30375e5a2d3e2ca5265f33a9a268d2a9ff706d536b2a56d1ee2cd7070a2379703d46531c35dafa10
|
||||
EBUILD backintime-1.2.0_pre20180221.ebuild 1835 BLAKE2B d017cea7a86598f04f151c449c67426d76d592452f8ac855986fceda0a1053e966003299c321709826da3e33184307ebb87287ba24b063d56ab104ad58a6c211 SHA512 c6b5475bc8c8ef9095db09e7c5263e2ac8cd0fdadf8271f83b4df461b9969120ac296fdf53a0f2680516d575ded7380ab5091a2be05a2dae64b30293c9881cc8
|
||||
EBUILD backintime-9999.ebuild 1742 BLAKE2B 2f898508c8297374a05f3c5a69bd5cdc1ca306729a1ee79fed8d60d319b2f4ff788a882bc789fd1be6c9a8d61413a84b2b055b55dead2845f68c317960065867 SHA512 acbbee1a19b0c627cfe7268770e1c51d41059c375ed022d94983b530d06f83e5d05f53a189a0a3e844d8baf77fb1df2ef62312e583dcd94245215ae3ae6b2015
|
||||
MISC metadata.xml 716 BLAKE2B 469a4318ff5607d74bb1d2166feba52686891921e59c117e15d54057eeafc1d5d3a2c9232e434c3783b04716b8784fcd092bc2d77553e1e56d27939ffb89dd50 SHA512 377471e000a0cb8f034f7c6a20596e48f7fe380c7910f0a97b6a47b779eb466efb6a02b4eef10569a9b9baf7e3eca03d6e22f87e36e4f11836ffb05fa38f7f0a
|
||||
|
@ -0,0 +1,88 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
PYTHON_COMPAT=( python3_{4,5,6} )
|
||||
|
||||
COMMIT=45ec81c185789b2dbafd7348d1af039b5183c9ff
|
||||
inherit python-single-r1 gnome2-utils vcs-snapshot
|
||||
|
||||
DESCRIPTION="Backup system inspired by TimeVault and FlyBack"
|
||||
HOMEPAGE="https://backintime.readthedocs.io/ https://github.com/bit-team/backintime/"
|
||||
SRC_URI="https://github.com/bit-team/${PN}/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="qt5"
|
||||
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
dev-python/dbus-python[${PYTHON_USEDEP}]
|
||||
dev-python/keyring[${PYTHON_USEDEP}]
|
||||
net-misc/openssh
|
||||
net-misc/rsync[xattr,acl]"
|
||||
RDEPEND="${DEPEND}
|
||||
qt5? ( dev-python/PyQt5 )"
|
||||
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
|
||||
|
||||
src_prepare() {
|
||||
#fix doc install location
|
||||
sed -e "s:/doc/${PN}-common:/doc/${PF}:g" \
|
||||
-i common/configure || die
|
||||
sed -e "s:/doc/${PN}-qt:/doc/${PF}:g" \
|
||||
-i qt/configure || die
|
||||
sed -e "/addInstallFile \"..\/VERSION/d" \
|
||||
-e "/addInstallFile \"..\/LICENSE/d" \
|
||||
-e "/addInstallFile \"..\/debian\/copyright/d" \
|
||||
-i {qt,common}/configure || die
|
||||
|
||||
if [ -n ${LINGUAS+x} ] ; then
|
||||
cd common/po || die
|
||||
for po in *.po ; do
|
||||
if ! has ${po/.po} ${LINGUAS} ; then
|
||||
rm ${po} || die
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
cd "${S}"/common || die
|
||||
./configure --python3 --no-fuse-group || die
|
||||
if use qt5 ; then
|
||||
cd "${S}"/qt || die
|
||||
./configure --python3 || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cd "${S}"/common || die
|
||||
emake
|
||||
if use qt5 ; then
|
||||
cd "${S}"/qt || die
|
||||
emake
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
cd "${S}"/common || die
|
||||
emake DESTDIR="${D}" install
|
||||
if use qt5 ; then
|
||||
cd "${S}"/qt || die
|
||||
emake DESTDIR="${D}" install
|
||||
fi
|
||||
|
||||
python_optimize "${D}"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
gnome2_icon_cache_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
gnome2_icon_cache_update
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,9 +1,12 @@
|
||||
AUX veracrypt-1.19-execstack-fix.patch 1682 BLAKE2B ce050f900ac6504242941322b910c74c79128d132a372b89070cf6939b5b55c6853617a8c2e49019d4cc4bc1eb872b0753c9287b3e500613bef63f74ef5ba48e SHA512 df7e64a7badfdf97447991cba7c7f87c291c89735b1ffc72b2cc882da05b2df2e2c31ee9aef4415c4d0316bc6e0a9c6c10e01406c00bd0f032931e55cd6465bc
|
||||
AUX veracrypt-1.19-makefile-archdetect.patch 743 BLAKE2B 3eda2de96eb095cf51a806d7a8b06a79edeb03425ad6106a6ec72de0d76da8988dd953e58b4b5b321ee64d3d810ff8d312efddaabea0c8083b858430525a7ae0 SHA512 aa805312c5e3782452ac936a3772a0877e866e1116f2da56747b72a6f585538fd1e45a7c7531c426ff0245b5b3ac4964065e1196874aea4c11e91ac59bd6fffd
|
||||
AUX veracrypt-1.19-remove-packaging-from-makefile.patch 2098 BLAKE2B 7588a0de42a5e561dea67c04b0056bd483ffdac0e407a640440d0b7d2723a66368c1eeebaf10c95e31a0114acd013e4d24d138a4aebc876fae51b2da0c9bcffe SHA512 e6485ce39ca009cfabe5656b3ed81cd72ca0207d9b1c310738be60705e3c94f2364cacf393b7f1d0d3e79a1ee58794dfda1d01aaa03778597c149a9dfc5634dc
|
||||
AUX veracrypt-1.22-sysmacros-fix.patch 1190 BLAKE2B 33130133b9bf3708eed0d2fa304850e216db9918c326be1aa78d06fa6ace1566fb03928731b096948a5dd9ee47accd10698496f6b1f1626acf2c6eceeefad9df SHA512 fbb1d411755669849fc343c8dd729cb804ec70f0ff1736faf864850e496628b6697dc3e4a821f31e31462e833391c30ff7c8883d014cb5b4ff3b853c6769fc15
|
||||
AUX veracrypt.init 387 BLAKE2B 7f16dee40bceed81ca092a3be6a2cd71f24f5cc8b4e4b143bd6ddde046e1ecce0cd674f52e7adb406893ef57c5b73462157832ff279114a2079c0ff84839e0dc SHA512 986b52c454abd9a64a6e8eb93247983c48d9524c396f253bc16f68894fed0abe87614343ce9c9127f8fb180f12912b21f57063f8f3b43bdca5344c130eb6c72d
|
||||
DIST VeraCrypt_1.19.tar.gz 23235780 BLAKE2B 0d02b3c6783d233f7cc64956eef58077e8a125fd5db28c1374921d8f2ca6dc9e1cde5402917c1ed4e4a626901e24c566ee834a12e41b6bcd150b8d64851f1ebc SHA512 ebce681099e04d938ff0dc10a1af848c82dafd80b165b2431ec355d64e29be4e60d1d63f0d5c9fd1182394080d00f0f573e3ae90f3e2167533dea2b895bd0164
|
||||
DIST VeraCrypt_1.21.tar.gz 24106162 BLAKE2B 5afe48830bde81d91d16f0bdf16010bdbdb885df84b9cd3e48191e468be51a485dfb3fc4f95da71d6d973a2f22dfbb92ee2b912dcf019921b37e1d4479c8c8d8 SHA512 5186d339f8fb0d88acfc35b1e7a916f797e30be93e8f252cca542b6d5c1cd916110111ef7b859d66b1790ce05d7d02bc72def26857eb003ea114a911fcec6c41
|
||||
DIST VeraCrypt_1.22.tar.gz 24820384 BLAKE2B 52fb822d07af96a9f47c17f8aacf13a949fb5a7c5d064a720e003e6d1bfbb5f221a5823720527e1f2c82f08547d77349cc90bc839336a622efcf1836dd97bb88 SHA512 83cdaf673bc9cdeadeb70b2beeabf87a2a9a65d3b0b0cc7fdf9c87671714af1e207ddd1db716302919e2d14414f5d4dd9d8f5203847d72834f53544a04c1a62a
|
||||
EBUILD veracrypt-1.19.ebuild 1988 BLAKE2B 20e3a4725dc5b8d319a11cb44d5865afcdcc6f956ff8c3390ed225f605e01b01537db1af5aa1c82deb7c236b27eea69cbc0c29b2f2f4b770fae4514360c45a2d SHA512 b9829bad13c5ba781d9ec2e8353ed72f30a23459d3e9eaa7384a5718be051f1eeff70c3c097225c8f557c57634d7b14b5db83bb189671630c673568667e67da0
|
||||
EBUILD veracrypt-1.21.ebuild 1921 BLAKE2B 1adf1a612afa33dc2cdbed7f0bc971e84e3ec45236ee6d7d7bf317c00a6b03a57eda5b30c85f8aeb4684abbd9879b9dab40b9dc2ceb6cffe36946a74ba1544dd SHA512 1766b6db76015cc6fb6f147a8ba1f75795b7038d402c38129c60cbdb09831dd0aed2241d4ec9d403cffa8dfe38f3481085c64ae653a49362be39c08f462de1dc
|
||||
EBUILD veracrypt-1.22.ebuild 2066 BLAKE2B f092deec3e48e6b0dfe50d8c5768770b1aaca5e2a65adffd8ac4a7f86ff458f8927267f36b53b7a3e2878920b3f1e393476f9b3bed7bd52cdcce9fa5cc19d09a SHA512 1a455b646f8ebe271f8e5493113a82007562e1cd7f7fca6ec984da95229674a9dee068b4778f2f07a399a491f2272ac20953d82edb574d4c767903a8332a4fd9
|
||||
MISC metadata.xml 726 BLAKE2B f70a62997301172fd3e6928dd694720fe1e7a8a41a2eb842800a220bed3531828423e2b4bcbb6c6d7f2d1d8ec96f74d1a987fac64390323662028efe57fe5d72 SHA512 7898d7a419ba57600609578ae308d558d2aacf6b7dcc625adb6adfadca9b6f580123650d63ed8a618131459f71fc9a1b2b367745e2f07da75cbdf6ef9c1595bb
|
||||
|
@ -0,0 +1,90 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
inherit eutils linux-info pax-utils toolchain-funcs wxwidgets
|
||||
|
||||
DESCRIPTION="Disk encryption with strong security based on TrueCrypt"
|
||||
HOMEPAGE="https://www.veracrypt.fr/en/Home.html"
|
||||
SRC_URI="https://github.com/${PN}/VeraCrypt/archive/VeraCrypt_${PV}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0 truecrypt-3.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="+asm cpu_flags_x86_sse4_1 cpu_flags_x86_ssse3 +doc X"
|
||||
RESTRICT="bindist mirror"
|
||||
|
||||
WX_GTK_VER="3.0"
|
||||
|
||||
RDEPEND="
|
||||
sys-fs/lvm2
|
||||
sys-fs/fuse:0
|
||||
x11-libs/wxGTK:${WX_GTK_VER}[X?]
|
||||
app-admin/sudo
|
||||
dev-libs/pkcs11-helper
|
||||
"
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
virtual/pkgconfig
|
||||
asm? ( dev-lang/yasm )
|
||||
"
|
||||
|
||||
S="${WORKDIR}/VeraCrypt-VeraCrypt_${PV}/src"
|
||||
HTML_DOCS=( "${S}"/../doc/html/. )
|
||||
DOCS=( Readme.txt )
|
||||
PATCHES=( "${FILESDIR}"/${PN}-1.22-sysmacros-fix.patch )
|
||||
|
||||
pkg_setup() {
|
||||
local CONFIG_CHECK="~BLK_DEV_DM ~CRYPTO ~CRYPTO_XTS ~DM_CRYPT ~FUSE_FS"
|
||||
linux-info_pkg_setup
|
||||
|
||||
setup-wxwidgets
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local myemakeargs=(
|
||||
NOSTRIP=1
|
||||
NOTEST=1
|
||||
VERBOSE=1
|
||||
CC="$(tc-getCC)"
|
||||
CXX="$(tc-getCXX)"
|
||||
AR="$(tc-getAR)"
|
||||
RANLIB="$(tc-getRANLIB)"
|
||||
TC_EXTRA_CFLAGS="${CFLAGS}"
|
||||
TC_EXTRA_CXXFLAGS="${CXXFLAGS}"
|
||||
TC_EXTRA_LFLAGS="${LDFLAGS}"
|
||||
WX_CONFIG="${WX_CONFIG}"
|
||||
$(usex X "" "NOGUI=1")
|
||||
$(usex asm "" "NOASM=1")
|
||||
$(usex cpu_flags_x86_sse4_1 "SSE41=1" "")
|
||||
$(usex cpu_flags_x86_ssse3 "SSSE3=1" "")
|
||||
)
|
||||
|
||||
emake "${myemakeargs[@]}"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
"${S}/Main/veracrypt" --text --test || die "tests failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin Main/veracrypt
|
||||
use doc && einstalldocs
|
||||
|
||||
newinitd "${FILESDIR}/${PN}.init" ${PN}
|
||||
|
||||
if use X; then
|
||||
local s
|
||||
for s in 16 48 128 256; do
|
||||
newicon -s ${s} Resources/Icons/VeraCrypt-${s}x${s}.xpm veracrypt.xpm
|
||||
done
|
||||
make_desktop_entry ${PN} "VeraCrypt" ${PN} "Utility;Security"
|
||||
fi
|
||||
|
||||
pax-mark -m "${D%/}/usr/bin/veracrypt"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
ewarn "VeraCrypt has a very restrictive license. Please be explicitly aware"
|
||||
ewarn "of the limitations on redistribution of binaries or modified source."
|
||||
}
|
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
DIST jargon-4.4.7.tar.gz 9061260 BLAKE2B f2e29464d0ed946a5a2f0529eba3110f55ae068796522c05402ff2addc626501a43cbc633aecee15d6289e7a5236ce196f065ab782e4686142c51ba21658b517 SHA512 afc8c44994f22de3fbae325e315fa101c04a5db2ef6af7c5592b4c072cc0e94a2bc523042ab9c894977c34f8321aea77c8208ae57040a4e3419cd240ce169803
|
||||
EBUILD jargon-4.4.7-r1.ebuild 598 BLAKE2B 03e77ee4760ffdf7942f8d2ac90dcece35f9e9ba9c531b11172dce62003fa7a5fa31caa2e65d33047356179ffcb62b9314d67d988c5dd4f1f808e09a3837835a SHA512 f28344985b4a14bc8a73ed0516c25fa7c18e731ad14088a9720df1a694185ddc2702c93f43096da1aabaf72b7583a049f4e107d1ef26c7ca6db18b21cb3481c3
|
||||
EBUILD jargon-4.4.7-r1.ebuild 597 BLAKE2B 95c8e31e573e5a7f590f153b160e16b2bfb26c61e6bd16fbf12532a3ee1a86dffa4b576023ba13ae2ea805e4da3624c36c8b5cd92178f409c9a5ce5e9a1c3387 SHA512 ab2ce7706e6c8917e34eb89c1dd8d33fc17d8f9bc61e0ad002afc9d894782e2494dee40c42e5468eff531458b81c0d5f40f682958f9eee630220d4788f875683
|
||||
EBUILD jargon-4.4.7.ebuild 602 BLAKE2B 977b6df3fd38534acc879fcb567d3488a88a3c344eca8b4517636a767b346cba46b64203bcf63d69a18dcee6a159897ee34543bbb2458d6a6f597dddefbdfd8e SHA512 ef9f1e5cee8130882ae2c02bb0af1245c2e2ae1d89c20ac6d726249d254d686e36bf560cf2e99ea5c4e98fbbd25baa45c57c9470c4a9ebdd9200712cf2600204
|
||||
MISC metadata.xml 166 BLAKE2B c254f1fb642881aba57637be14fb0a89b10384f91a128feaec3a8c870d76efc2cbacb92caccc0dee2dd19a5ac5eaf8643080dafa05c4e2ac96a68568927e5afd SHA512 a56648c974a1d14dd4c18237532773c72057a13ab90c58b5da04f185e3c12a8bd8d5c21fb06053507f31766291a82dc7d87b34cd65fd94cfe2af7295c813ef84
|
||||
|
@ -1,5 +1,5 @@
|
||||
DIST lkn_pdf.tar.bz2 3533339 BLAKE2B d67708c7b100707b6a74f1a983bc396f1068e60d74c63eb2ed99830f0ea4b37b4260504d45f27ceae70e9c01b92b65d9e5076476466eade84f9dbe8d1b384fbf SHA512 5a0815148b379347675e2c8f71476e8e950a8028fd625044457773c4e7b62fb886edc7151a46a9dd0cba47729c99317f779974e395149d87c4c9483c7404ede0
|
||||
DIST lkn_xml.tar.bz2 1058278 BLAKE2B f85cc277e7f313e00d26f53218d315c6b741b584a597b2b0adf3a9bf3dc13ddaa2203b1d6976e4189aa8dbeb167709f7ed3522a7c9cf8111e62b6f8d0425de2e SHA512 831b19f67b50f897f93720c19b7bbf90673c420c2b1ce257de3c656a01cb12ebee8499dc86c673cba9c14fb6fc50e644fbf84156d9d2580127affeabda87a83c
|
||||
EBUILD linux-kernel-in-a-nutshell-1-r1.ebuild 664 BLAKE2B dc7d9ff8e80e47fdd0cdd9a48532555ca27349e8fc4ee3e6f53c59b9e2b9ff754c956a0cbaa87035913c0bf2b058146f966b2346efebfcca72b0a322eb9f2cba SHA512 4496ffd2aa066865856a7f6d82871674f66a996d8bdf3d0b0066c3eeb40c3ddd00b4fb7741d83919314265c727b6addb567fe496e8faba08bf989d55a5f166ef
|
||||
EBUILD linux-kernel-in-a-nutshell-1-r1.ebuild 663 BLAKE2B 8aff176a9164daaf568327a48feed7ff38e5b551bfc3c6111d4d0f963a5cad05d6e161c2297c986aaf10fb1db6e61d32c1f6fcd9fb7253e4d528a9e5175ade4b SHA512 802e77c2bd54c6653f9af2714d4367cf89fdac26b903d573efdbf6a74f6924c2a3ec9741ee39d8807ed5eccd414de6b94c002c734d4ec82c93a920447495f652
|
||||
EBUILD linux-kernel-in-a-nutshell-1.ebuild 644 BLAKE2B 228bce01ce5ecf7c8bc8c441e5b1a9722c056d6e02004c6de56dd597c058d4baf7885b321e82c320a25eae14e2c78801b273eee7f17e8e202c03ee900e8daeac SHA512 de7e025ebefe5fbfd920411948524ad3261f7460c6f0eb1ef7f6bdb07f9f04f3383692de514a09ed6858f273ce5156eab51a5f90a98319a36f6103c11814e1b6
|
||||
MISC metadata.xml 139 BLAKE2B b4a59c22790dfec3fbcfaea41ef363401766736b68a85bedae00e1944d0a848aa97104c2f34244c0fe7b6363029281f965fc1b3545301d341cda371eaa976274 SHA512 8be912ace7468a4396eb1da00a9785030a8ce35da4357a01591876a1056fd45e44da65de2af3e1eb0506ce6551714962c40c3ae5a3aefa2ad231de35af2519be
|
||||
|
Binary file not shown.
@ -1,5 +1,5 @@
|
||||
AUX leafpad-0.8.18.1-fdo.patch 553 BLAKE2B 5ff80867ce1e325adfdbf08aa4be605842fd5db7ea74b91e9a6ff677d7882239245b8f876d46f284f5a968fb93a597f795ae4418ebc13831cf5844e36e782b03 SHA512 b22900988573d962068d4e328e208aac2495c1b463151ec43f5fe1d7159a69a317f3ba1d882bf8d471908951852631bdecbbfee3c2eea5ca4ef1072e3c411268
|
||||
AUX leafpad-0.8.18.1-format-security.patch 813 BLAKE2B 2f9eb76f90ed1e17b4958d369631234a83f809160b8142ea418db60712f268b59b35780bcdea3e484ab7091583d8559ca12eb92622ff08ac1085dce7e355c238 SHA512 934c29cab4684fa9d33a6028d7edbf5b15bdf4591ea2ae5f9d071d2252a32670a8fda3ec44d55e026b0897814113234942423d886c2d479e73aa45c96272a99b
|
||||
AUX leafpad-0.8.18.1-fdo.patch 557 BLAKE2B be91b5e3c6159701303254d6c7c753dce3b19eb05046f097470b83ac0f21c52bc05da4862dedb05f658fd47efa8d349a4ee5b3361192076abe6ed451497ae7e3 SHA512 db3badb11cb1244035f988c7a512a0fc2559fdd0afa4c7fe432e3d600648526f9f19d42c939466325931819e229eecafb49b4c75837a01d122eac214fd66de32
|
||||
AUX leafpad-0.8.18.1-format-security.patch 821 BLAKE2B 2b26cdc2ddc6cd0047c40fcf0b4c1f4bab4aedd422169ccfcf88c58db60320f7fa75367ba6a6d46ba9fa28c6d7275f79dbadafb393e0e7e8f78352ebc7574c03 SHA512 d8a39dc2412055a41eeb7966ff7e3884489d584726501233f67d8d56bded6e50467bcc60a4c2d0be972c0eb6732d9bdc7d00f69845737b049e8b0cc046f87a64
|
||||
DIST leafpad-0.8.18.1.tar.gz 289117 BLAKE2B 41f01f9b9e031c749a4b1a06d32edbcf9b0f0a694141c79bb462fce29d59f87efa52bc4a7faf270ce28f04697deb6350fe4e26317d28450d7d785a01007c06c2 SHA512 1caad712967f634f585ab32e406534b5ce2c5621008c1eb5b2b48f17ca0f48cd834ea2ea1c67eda4053fa84e8727ff0e708e99d3b5dad838dcf0701389788257
|
||||
EBUILD leafpad-0.8.18.1.ebuild 940 BLAKE2B b8f35e9ed93ebae4bbc2a134243a0abfdd18f0993dc0a4e4f97035d0c64703a20a57fb9fa448c3d7617ace31eefeeea25d84be5d13fcc65f49fa0a5da3e5eb95 SHA512 c69c9dd650f368ef0525b971ae51f9e760b5abeb04d95e0e7b862b0f4428ed12b894cac2e2523644f040d10b09981eae693799f7ec2acbe79acf83f5e18931ca
|
||||
EBUILD leafpad-0.8.18.1.ebuild 826 BLAKE2B 51a19dda328c9d214a88a45f1df00462730fcfc758cf29650c4e587d2e8b2e0c6371f556f2aec9150ad6eb2dec2d6534122d63cfeed4701d7e9a0c2e9cef075b SHA512 08dc550cdec48dc11200f548341120674c6f81c17808dd99792f14d9b67191335a60d6b28b7ef80b86434d11fc3dbc7a7382944228bfed678e74f1b769a6e840
|
||||
MISC metadata.xml 205 BLAKE2B 14c07c010c87fb27c21a84c8c1a03a4f7a145a8de84571b9a112a7bbf9f0677a8cb7e02a61d9d9dc322174839e0f5e6c721a07988a835b189ac6fb97c39527ce SHA512 e94eb3d2eec0ffa8543112e75899eb7f2c582d2e5615a82b568e907e488f0a8b400946550ae39c7d278a8fa8c8912e6221e3013868ce7e218abbcf76b57cb693
|
||||
|
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
AUX 50magit-popup-gentoo.el 38 BLAKE2B e96c6cf48d1522d89450e11d339c76210c672377208b56951791b83c6ef22b2c872d313084e199dd5d7b533a99106a87dbc7f15b5ee6126f71bf5f2e84165ffa SHA512 5c00bcabe2d7cc03013dc7a54b2c653940c08098ca5646d7c73624cb1ca04376ae9dcf88a7166b1925c69f0c5d192d90f6bd790fdef8ed8c3b0f9d163c987da5
|
||||
DIST magit-popup-2.12.3.tar.gz 40195 BLAKE2B a351e949207b674c734f66b0431fa4c137293ccff880e3f457dfb825d7a36afd37f59197170a86d52606d371c181cd8a23be54d74aeee192a2d1a56588a55b3d SHA512 50620ce1d364ae28f30658dedd8f235bb1055be5cf4320142b7648e2ff6137f84cf865ea8f41e34ad7fb42612ff5d36fc0c4f6caa0aa0d2071bf775c15be5833
|
||||
EBUILD magit-popup-2.12.3.ebuild 593 BLAKE2B 80350ddfae333109b8ec89b58c5381bd10303c79e0ffa9171216d8f7792202571088848ca9ac3e1b7758ec442c96afba1e744689dcce3e4828389c4b8cdb4726 SHA512 ad170abb5727e6f5155514ef5f2c48c8554be31a037f88915f4790d8bb1749adc53a54c34e9d5bdc86238733c61360dcf699455524ad883fffdacef5b2b387fa
|
||||
EBUILD magit-popup-2.12.3.ebuild 596 BLAKE2B 39e54e5f14d5648c2e8d1c30f2da09cfb7345d1cf80650a4fd226dc7dbbdb0560ca24761ed46a4910a47bc46bd6a5a403edab90afc051b7ea60c5af813106191 SHA512 60cf12225cf6a27a5ecbe0afe7ff6d3e6c20b351aae312518a150bd8bfbb485e7310b2a17ab4743f413f3cb7da35aef5ccc00d3a99fa23ee675eeb11e181a204
|
||||
MISC metadata.xml 1147 BLAKE2B 68fe5e7240434621fe4d1148e8f05d162771f8c90123790d757fec03d3c54dd686630860eec299371bf2f5356e0b8880a8ec46e1c7bff3d697d477fc095f58e1 SHA512 1e1aac2080140c50012bb3e35cb62c53fb782f9ac3041df3b7d1f8c86822bd7eba2f773c65205a58c65c791a095fc82bd39265dd05cdff52ace51e38a58666e0
|
||||
|
Binary file not shown.
@ -1,805 +0,0 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="6"
|
||||
|
||||
PYTHON_COMPAT=( python2_7 )
|
||||
PYTHON_REQ_USE="ncurses,readline"
|
||||
|
||||
PLOCALES="bg de_DE fr_FR hu it tr zh_CN"
|
||||
|
||||
FIRMWARE_ABI_VERSION="2.9.0-r52"
|
||||
|
||||
inherit eutils flag-o-matic linux-info toolchain-funcs multilib python-r1 \
|
||||
user udev fcaps readme.gentoo-r1 pax-utils l10n
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
EGIT_REPO_URI="git://git.qemu.org/qemu.git"
|
||||
inherit git-r3
|
||||
SRC_URI=""
|
||||
else
|
||||
SRC_URI="http://wiki.qemu-project.org/download/${P}.tar.bz2"
|
||||
KEYWORDS="amd64 ~arm64 ~ppc ~ppc64 x86 ~x86-fbsd"
|
||||
|
||||
# Gentoo specific patchsets:
|
||||
SRC_URI+=" https://dev.gentoo.org/~tamiko/distfiles/${P}-patches-r0.tar.xz"
|
||||
fi
|
||||
|
||||
DESCRIPTION="QEMU + Kernel-based Virtual Machine userland tools"
|
||||
HOMEPAGE="http://www.qemu.org http://www.linux-kvm.org"
|
||||
|
||||
LICENSE="GPL-2 LGPL-2 BSD-2"
|
||||
SLOT="0"
|
||||
IUSE="accessibility +aio alsa bluetooth bzip2 +caps +curl debug +fdt
|
||||
glusterfs gnutls gtk gtk2 infiniband iscsi +jpeg kernel_linux
|
||||
kernel_FreeBSD lzo ncurses nfs nls numa opengl +pin-upstream-blobs +png
|
||||
pulseaudio python rbd sasl +seccomp sdl sdl2 selinux smartcard snappy
|
||||
spice ssh static static-user systemtap tci test usb usbredir vde
|
||||
+vhost-net virgl virtfs +vnc vte xattr xen xfs"
|
||||
|
||||
COMMON_TARGETS="aarch64 alpha arm cris i386 m68k microblaze microblazeel
|
||||
mips mips64 mips64el mipsel nios2 or1k ppc ppc64 s390x sh4 sh4eb sparc
|
||||
sparc64 x86_64"
|
||||
IUSE_SOFTMMU_TARGETS="${COMMON_TARGETS}
|
||||
lm32 moxie ppcemb tricore unicore32 xtensa xtensaeb"
|
||||
IUSE_USER_TARGETS="${COMMON_TARGETS}
|
||||
armeb hppa mipsn32 mipsn32el ppc64abi32 ppc64le sparc32plus tilegx"
|
||||
|
||||
use_softmmu_targets=$(printf ' qemu_softmmu_targets_%s' ${IUSE_SOFTMMU_TARGETS})
|
||||
use_user_targets=$(printf ' qemu_user_targets_%s' ${IUSE_USER_TARGETS})
|
||||
IUSE+=" ${use_softmmu_targets} ${use_user_targets}"
|
||||
|
||||
# Allow no targets to be built so that people can get a tools-only build.
|
||||
# Block USE flag configurations known to not work.
|
||||
REQUIRED_USE="${PYTHON_REQUIRED_USE}
|
||||
gtk2? ( gtk )
|
||||
qemu_softmmu_targets_arm? ( fdt )
|
||||
qemu_softmmu_targets_microblaze? ( fdt )
|
||||
qemu_softmmu_targets_mips64el? ( fdt )
|
||||
qemu_softmmu_targets_ppc? ( fdt )
|
||||
qemu_softmmu_targets_ppc64? ( fdt )
|
||||
sdl2? ( sdl )
|
||||
static? ( static-user !alsa !bluetooth !gtk !gtk2 !opengl !pulseaudio )
|
||||
virtfs? ( xattr )
|
||||
vte? ( gtk )"
|
||||
|
||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
||||
# and user/softmmu targets (qemu-*, qemu-system-*).
|
||||
#
|
||||
# Yep, you need both libcap and libcap-ng since virtfs only uses libcap.
|
||||
#
|
||||
# The attr lib isn't always linked in (although the USE flag is always
|
||||
# respected). This is because qemu supports using the C library's API
|
||||
# when available rather than always using the extranl library.
|
||||
ALL_DEPEND="
|
||||
>=dev-libs/glib-2.0[static-libs(+)]
|
||||
sys-libs/zlib[static-libs(+)]
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
systemtap? ( dev-util/systemtap )
|
||||
xattr? ( sys-apps/attr[static-libs(+)] )"
|
||||
|
||||
# Dependencies required for qemu tools (qemu-nbd, qemu-img, qemu-io, ...)
|
||||
# softmmu targets (qemu-system-*).
|
||||
SOFTMMU_TOOLS_DEPEND="
|
||||
>=x11-libs/pixman-0.28.0[static-libs(+)]
|
||||
accessibility? (
|
||||
app-accessibility/brltty[api]
|
||||
app-accessibility/brltty[static-libs(+)]
|
||||
)
|
||||
aio? ( dev-libs/libaio[static-libs(+)] )
|
||||
alsa? ( >=media-libs/alsa-lib-1.0.13 )
|
||||
bluetooth? ( net-wireless/bluez )
|
||||
bzip2? ( app-arch/bzip2[static-libs(+)] )
|
||||
caps? ( sys-libs/libcap-ng[static-libs(+)] )
|
||||
curl? ( >=net-misc/curl-7.15.4[static-libs(+)] )
|
||||
fdt? ( >=sys-apps/dtc-1.4.2[static-libs(+)] )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.0[static-libs(+)] )
|
||||
gnutls? (
|
||||
dev-libs/nettle:=[static-libs(+)]
|
||||
>=net-libs/gnutls-3.0:=[static-libs(+)]
|
||||
)
|
||||
gtk? (
|
||||
gtk2? (
|
||||
x11-libs/gtk+:2
|
||||
vte? ( x11-libs/vte:0 )
|
||||
)
|
||||
!gtk2? (
|
||||
x11-libs/gtk+:3
|
||||
vte? ( x11-libs/vte:2.91 )
|
||||
)
|
||||
)
|
||||
infiniband? ( sys-fabric/librdmacm:=[static-libs(+)] )
|
||||
iscsi? ( net-libs/libiscsi )
|
||||
jpeg? ( virtual/jpeg:0=[static-libs(+)] )
|
||||
lzo? ( dev-libs/lzo:2[static-libs(+)] )
|
||||
ncurses? (
|
||||
sys-libs/ncurses:0=[unicode]
|
||||
sys-libs/ncurses:0=[static-libs(+)]
|
||||
)
|
||||
nfs? ( >=net-fs/libnfs-1.9.3:=[static-libs(+)] )
|
||||
numa? ( sys-process/numactl[static-libs(+)] )
|
||||
opengl? (
|
||||
virtual/opengl
|
||||
media-libs/libepoxy[static-libs(+)]
|
||||
media-libs/mesa[static-libs(+)]
|
||||
media-libs/mesa[egl,gbm]
|
||||
)
|
||||
png? ( media-libs/libpng:0=[static-libs(+)] )
|
||||
pulseaudio? ( media-sound/pulseaudio )
|
||||
rbd? ( sys-cluster/ceph[static-libs(+)] )
|
||||
sasl? ( dev-libs/cyrus-sasl[static-libs(+)] )
|
||||
sdl? (
|
||||
!sdl2? (
|
||||
media-libs/libsdl[X]
|
||||
>=media-libs/libsdl-1.2.11[static-libs(+)]
|
||||
)
|
||||
sdl2? (
|
||||
media-libs/libsdl2[X]
|
||||
media-libs/libsdl2[static-libs(+)]
|
||||
)
|
||||
)
|
||||
seccomp? ( >=sys-libs/libseccomp-2.1.0[static-libs(+)] )
|
||||
smartcard? ( >=app-emulation/libcacard-2.5.0[static-libs(+)] )
|
||||
snappy? ( app-arch/snappy:=[static-libs(+)] )
|
||||
spice? (
|
||||
>=app-emulation/spice-protocol-0.12.3
|
||||
>=app-emulation/spice-0.12.0[static-libs(+)]
|
||||
)
|
||||
ssh? ( >=net-libs/libssh2-1.2.8[static-libs(+)] )
|
||||
usb? ( >=virtual/libusb-1-r2[static-libs(+)] )
|
||||
usbredir? ( >=sys-apps/usbredir-0.6[static-libs(+)] )
|
||||
vde? ( net-misc/vde[static-libs(+)] )
|
||||
virgl? ( media-libs/virglrenderer[static-libs(+)] )
|
||||
virtfs? ( sys-libs/libcap )
|
||||
xen? ( app-emulation/xen-tools:= )
|
||||
xfs? ( sys-fs/xfsprogs[static-libs(+)] )"
|
||||
|
||||
X86_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/edk2-ovmf-2017_pre20170505[binary]
|
||||
~sys-firmware/ipxe-1.0.0_p20160620
|
||||
~sys-firmware/seabios-1.10.2[binary,seavgabios]
|
||||
~sys-firmware/sgabios-0.1_pre8
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
sys-firmware/edk2-ovmf
|
||||
sys-firmware/ipxe
|
||||
>=sys-firmware/seabios-1.10.2[seavgabios]
|
||||
sys-firmware/sgabios
|
||||
)"
|
||||
PPC64_FIRMWARE_DEPEND="
|
||||
pin-upstream-blobs? (
|
||||
~sys-firmware/seabios-1.10.2[binary,seavgabios]
|
||||
)
|
||||
!pin-upstream-blobs? (
|
||||
>=sys-firmware/seabios-1.10.2[seavgabios]
|
||||
)
|
||||
"
|
||||
|
||||
CDEPEND="
|
||||
!static? (
|
||||
${ALL_DEPEND//\[static-libs(+)]}
|
||||
${SOFTMMU_TOOLS_DEPEND//\[static-libs(+)]}
|
||||
)
|
||||
qemu_softmmu_targets_i386? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_x86_64? ( ${X86_FIRMWARE_DEPEND} )
|
||||
qemu_softmmu_targets_ppc64? ( ${PPC64_FIRMWARE_DEPEND} )
|
||||
"
|
||||
DEPEND="${CDEPEND}
|
||||
dev-lang/perl
|
||||
=dev-lang/python-2*
|
||||
sys-apps/texinfo
|
||||
virtual/pkgconfig
|
||||
kernel_linux? ( >=sys-kernel/linux-headers-2.6.35 )
|
||||
gtk? ( nls? ( sys-devel/gettext ) )
|
||||
static? (
|
||||
${ALL_DEPEND}
|
||||
${SOFTMMU_TOOLS_DEPEND}
|
||||
)
|
||||
static-user? ( ${ALL_DEPEND} )
|
||||
test? (
|
||||
dev-libs/glib[utils]
|
||||
sys-devel/bc
|
||||
)"
|
||||
RDEPEND="${CDEPEND}
|
||||
selinux? ( sec-policy/selinux-qemu )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.5.0-cflags.patch
|
||||
"${FILESDIR}"/${PN}-2.5.0-sysmacros.patch
|
||||
"${FILESDIR}"/${PN}-2.11.0-glibc-2.27.patch
|
||||
"${WORKDIR}"/patches
|
||||
)
|
||||
|
||||
STRIP_MASK="/usr/share/qemu/palcode-clipper"
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/share/qemu/openbios-ppc
|
||||
usr/share/qemu/openbios-sparc64
|
||||
usr/share/qemu/openbios-sparc32
|
||||
usr/share/qemu/palcode-clipper
|
||||
usr/share/qemu/s390-ccw.img
|
||||
usr/share/qemu/s390-netboot.img
|
||||
usr/share/qemu/u-boot.e500"
|
||||
|
||||
QA_WX_LOAD="usr/bin/qemu-i386
|
||||
usr/bin/qemu-x86_64
|
||||
usr/bin/qemu-alpha
|
||||
usr/bin/qemu-arm
|
||||
usr/bin/qemu-cris
|
||||
usr/bin/qemu-m68k
|
||||
usr/bin/qemu-microblaze
|
||||
usr/bin/qemu-microblazeel
|
||||
usr/bin/qemu-mips
|
||||
usr/bin/qemu-mipsel
|
||||
usr/bin/qemu-or1k
|
||||
usr/bin/qemu-ppc
|
||||
usr/bin/qemu-ppc64
|
||||
usr/bin/qemu-ppc64abi32
|
||||
usr/bin/qemu-sh4
|
||||
usr/bin/qemu-sh4eb
|
||||
usr/bin/qemu-sparc
|
||||
usr/bin/qemu-sparc64
|
||||
usr/bin/qemu-armeb
|
||||
usr/bin/qemu-sparc32plus
|
||||
usr/bin/qemu-s390x
|
||||
usr/bin/qemu-unicore32"
|
||||
|
||||
DOC_CONTENTS="If you don't have kvm compiled into the kernel, make sure you have the
|
||||
kernel module loaded before running kvm. The easiest way to ensure that the
|
||||
kernel module is loaded is to load it on boot.
|
||||
For AMD CPUs the module is called 'kvm-amd'.
|
||||
For Intel CPUs the module is called 'kvm-intel'.
|
||||
Please review /etc/conf.d/modules for how to load these.
|
||||
|
||||
Make sure your user is in the 'kvm' group. Just run
|
||||
$ gpasswd -a <USER> kvm
|
||||
then have <USER> re-login.
|
||||
|
||||
For brand new installs, the default permissions on /dev/kvm might not let
|
||||
you access it. You can tell udev to reset ownership/perms:
|
||||
$ udevadm trigger -c add /dev/kvm
|
||||
|
||||
If you want to register binfmt handlers for qemu user targets:
|
||||
For openrc:
|
||||
# rc-update add qemu-binfmt
|
||||
For systemd:
|
||||
# ln -s /usr/share/qemu/binfmt.d/qemu.conf /etc/binfmt.d/qemu.conf"
|
||||
|
||||
pkg_pretend() {
|
||||
if use kernel_linux && kernel_is lt 2 6 25; then
|
||||
eerror "This version of KVM requres a host kernel of 2.6.25 or higher."
|
||||
elif use kernel_linux; then
|
||||
if ! linux_config_exists; then
|
||||
eerror "Unable to check your kernel for KVM support"
|
||||
else
|
||||
CONFIG_CHECK="~KVM ~TUN ~BRIDGE"
|
||||
ERROR_KVM="You must enable KVM in your kernel to continue"
|
||||
ERROR_KVM_AMD="If you have an AMD CPU, you must enable KVM_AMD in"
|
||||
ERROR_KVM_AMD+=" your kernel configuration."
|
||||
ERROR_KVM_INTEL="If you have an Intel CPU, you must enable"
|
||||
ERROR_KVM_INTEL+=" KVM_INTEL in your kernel configuration."
|
||||
ERROR_TUN="You will need the Universal TUN/TAP driver compiled"
|
||||
ERROR_TUN+=" into your kernel or loaded as a module to use the"
|
||||
ERROR_TUN+=" virtual network device if using -net tap."
|
||||
ERROR_BRIDGE="You will also need support for 802.1d"
|
||||
ERROR_BRIDGE+=" Ethernet Bridging for some network configurations."
|
||||
use vhost-net && CONFIG_CHECK+=" ~VHOST_NET"
|
||||
ERROR_VHOST_NET="You must enable VHOST_NET to have vhost-net"
|
||||
ERROR_VHOST_NET+=" support"
|
||||
|
||||
if use amd64 || use x86 || use amd64-linux || use x86-linux; then
|
||||
if grep -q AuthenticAMD /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_AMD"
|
||||
elif grep -q GenuineIntel /proc/cpuinfo; then
|
||||
CONFIG_CHECK+=" ~KVM_INTEL"
|
||||
fi
|
||||
fi
|
||||
|
||||
use python && CONFIG_CHECK+=" ~DEBUG_FS"
|
||||
ERROR_DEBUG_FS="debugFS support required for kvm_stat"
|
||||
|
||||
# Now do the actual checks setup above
|
||||
check_extra_config
|
||||
fi
|
||||
fi
|
||||
|
||||
if grep -qs '/usr/bin/qemu-kvm' "${EROOT}"/etc/libvirt/qemu/*.xml; then
|
||||
eerror "The kvm/qemu-kvm wrappers no longer exist, but your libvirt"
|
||||
eerror "instances are still pointing to it. Please update your"
|
||||
eerror "configs in /etc/libvirt/qemu/ to use the -enable-kvm flag"
|
||||
eerror "and the right system binary (e.g. qemu-system-x86_64)."
|
||||
die "update your virt configs to not use qemu-kvm"
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_setup() {
|
||||
enewgroup kvm 78
|
||||
}
|
||||
|
||||
# Sanity check to make sure target lists are kept up-to-date.
|
||||
check_targets() {
|
||||
local var=$1 mak=$2
|
||||
local detected sorted
|
||||
|
||||
pushd "${S}"/default-configs >/dev/null || die
|
||||
|
||||
# Force C locale until glibc is updated. #564936
|
||||
detected=$(echo $(printf '%s\n' *-${mak}.mak | sed "s:-${mak}.mak::" | LC_COLLATE=C sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${!var} | LC_COLLATE=C sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "${var}: ${sorted}"
|
||||
eerror "$(printf '%-*s' ${#var} configure): ${detected}"
|
||||
die "sync ${var} to the list of targets"
|
||||
fi
|
||||
|
||||
popd >/dev/null
|
||||
}
|
||||
|
||||
handle_locales() {
|
||||
# Make sure locale list is kept up-to-date.
|
||||
local detected sorted
|
||||
detected=$(echo $(cd po && printf '%s\n' *.po | grep -v messages.po | sed 's:.po$::' | sort -u))
|
||||
sorted=$(echo $(printf '%s\n' ${PLOCALES} | sort -u))
|
||||
if [[ ${sorted} != "${detected}" ]] ; then
|
||||
eerror "The ebuild needs to be kept in sync."
|
||||
eerror "PLOCALES: ${sorted}"
|
||||
eerror " po/*.po: ${detected}"
|
||||
die "sync PLOCALES"
|
||||
fi
|
||||
|
||||
# Deal with selective install of locales.
|
||||
if use nls ; then
|
||||
# Delete locales the user does not want. #577814
|
||||
rm_loc() { rm po/$1.po || die; }
|
||||
l10n_for_each_disabled_locale_do rm_loc
|
||||
else
|
||||
# Cheap hack to disable gettext .mo generation.
|
||||
rm -f po/*.po
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
check_targets IUSE_SOFTMMU_TARGETS softmmu
|
||||
check_targets IUSE_USER_TARGETS linux-user
|
||||
|
||||
# Alter target makefiles to accept CFLAGS set via flag-o
|
||||
sed -i -r \
|
||||
-e 's/^(C|OP_C|HELPER_C)FLAGS=/\1FLAGS+=/' \
|
||||
Makefile Makefile.target || die
|
||||
|
||||
default
|
||||
|
||||
# Fix ld and objcopy being called directly
|
||||
tc-export AR LD OBJCOPY
|
||||
|
||||
# Verbose builds
|
||||
MAKEOPTS+=" V=1"
|
||||
|
||||
# Run after we've applied all patches.
|
||||
handle_locales
|
||||
|
||||
# Remove bundled copy of libfdt
|
||||
rm -r dtc || die
|
||||
}
|
||||
|
||||
##
|
||||
# configures qemu based on the build directory and the build type
|
||||
# we are using.
|
||||
#
|
||||
qemu_src_configure() {
|
||||
debug-print-function ${FUNCNAME} "$@"
|
||||
|
||||
local buildtype=$1
|
||||
local builddir="${S}/${buildtype}-build"
|
||||
|
||||
mkdir "${builddir}"
|
||||
|
||||
local conf_opts=(
|
||||
--prefix=/usr
|
||||
--sysconfdir=/etc
|
||||
--libdir=/usr/$(get_libdir)
|
||||
--docdir=/usr/share/doc/${PF}/html
|
||||
--disable-bsd-user
|
||||
--disable-guest-agent
|
||||
--disable-strip
|
||||
--disable-werror
|
||||
# We support gnutls/nettle for crypto operations. It is possible
|
||||
# to use gcrypt when gnutls/nettle are disabled (but not when they
|
||||
# are enabled), but it's not really worth the hassle. Disable it
|
||||
# all the time to avoid automatically detecting it. #568856
|
||||
--disable-gcrypt
|
||||
--python="${PYTHON}"
|
||||
--cc="$(tc-getCC)"
|
||||
--cxx="$(tc-getCXX)"
|
||||
--host-cc="$(tc-getBUILD_CC)"
|
||||
$(use_enable debug debug-info)
|
||||
$(use_enable debug debug-tcg)
|
||||
--enable-docs
|
||||
$(use_enable tci tcg-interpreter)
|
||||
$(use_enable xattr attr)
|
||||
)
|
||||
|
||||
# Disable options not used by user targets. This simplifies building
|
||||
# static user targets (USE=static-user) considerably.
|
||||
conf_notuser() {
|
||||
if [[ ${buildtype} == "user" ]] ; then
|
||||
echo "--disable-${2:-$1}"
|
||||
else
|
||||
use_enable "$@"
|
||||
fi
|
||||
}
|
||||
conf_opts+=(
|
||||
$(conf_notuser accessibility brlapi)
|
||||
$(conf_notuser aio linux-aio)
|
||||
$(conf_notuser bzip2)
|
||||
$(conf_notuser bluetooth bluez)
|
||||
$(conf_notuser caps cap-ng)
|
||||
$(conf_notuser curl)
|
||||
$(conf_notuser fdt)
|
||||
$(conf_notuser glusterfs)
|
||||
$(conf_notuser gnutls)
|
||||
$(conf_notuser gnutls nettle)
|
||||
$(conf_notuser gtk)
|
||||
$(conf_notuser infiniband rdma)
|
||||
$(conf_notuser iscsi libiscsi)
|
||||
$(conf_notuser jpeg vnc-jpeg)
|
||||
$(conf_notuser kernel_linux kvm)
|
||||
$(conf_notuser lzo)
|
||||
$(conf_notuser ncurses curses)
|
||||
$(conf_notuser nfs libnfs)
|
||||
$(conf_notuser numa)
|
||||
$(conf_notuser opengl)
|
||||
$(conf_notuser png vnc-png)
|
||||
$(conf_notuser rbd)
|
||||
$(conf_notuser sasl vnc-sasl)
|
||||
$(conf_notuser sdl)
|
||||
$(conf_notuser seccomp)
|
||||
$(conf_notuser smartcard)
|
||||
$(conf_notuser snappy)
|
||||
$(conf_notuser spice)
|
||||
$(conf_notuser ssh libssh2)
|
||||
$(conf_notuser usb libusb)
|
||||
$(conf_notuser usbredir usb-redir)
|
||||
$(conf_notuser vde)
|
||||
$(conf_notuser vhost-net)
|
||||
$(conf_notuser virgl virglrenderer)
|
||||
$(conf_notuser virtfs)
|
||||
$(conf_notuser vnc)
|
||||
$(conf_notuser vte)
|
||||
$(conf_notuser xen)
|
||||
$(conf_notuser xen xen-pci-passthrough)
|
||||
$(conf_notuser xfs xfsctl)
|
||||
)
|
||||
|
||||
if [[ ! ${buildtype} == "user" ]] ; then
|
||||
# audio options
|
||||
local audio_opts="oss"
|
||||
use alsa && audio_opts="alsa,${audio_opts}"
|
||||
use sdl && audio_opts="sdl,${audio_opts}"
|
||||
use pulseaudio && audio_opts="pa,${audio_opts}"
|
||||
conf_opts+=(
|
||||
--audio-drv-list="${audio_opts}"
|
||||
)
|
||||
use gtk && conf_opts+=( --with-gtkabi=$(usex gtk2 2.0 3.0) )
|
||||
use sdl && conf_opts+=( --with-sdlabi=$(usex sdl2 2.0 1.2) )
|
||||
fi
|
||||
|
||||
case ${buildtype} in
|
||||
user)
|
||||
conf_opts+=(
|
||||
--enable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--disable-tools
|
||||
)
|
||||
local static_flag="static-user"
|
||||
;;
|
||||
softmmu)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--enable-system
|
||||
--disable-tools
|
||||
)
|
||||
local static_flag="static"
|
||||
;;
|
||||
tools)
|
||||
conf_opts+=(
|
||||
--disable-linux-user
|
||||
--disable-system
|
||||
--disable-blobs
|
||||
--enable-tools
|
||||
)
|
||||
local static_flag="static"
|
||||
;;
|
||||
esac
|
||||
|
||||
local targets="${buildtype}_targets"
|
||||
[[ -n ${targets} ]] && conf_opts+=( --target-list="${!targets}" )
|
||||
|
||||
# Add support for SystemTAP
|
||||
use systemtap && conf_opts+=( --enable-trace-backend=dtrace )
|
||||
|
||||
# We always want to attempt to build with PIE support as it results
|
||||
# in a more secure binary. But it doesn't work with static or if
|
||||
# the current GCC doesn't have PIE support.
|
||||
if use ${static_flag}; then
|
||||
conf_opts+=( --static --disable-pie )
|
||||
else
|
||||
tc-enables-pie && conf_opts+=( --enable-pie )
|
||||
fi
|
||||
|
||||
#bug #647570
|
||||
conf_opts+=( --disable-capstone )
|
||||
|
||||
echo "../configure ${conf_opts[*]}"
|
||||
cd "${builddir}"
|
||||
../configure "${conf_opts[@]}" || die "configure failed"
|
||||
|
||||
# FreeBSD's kernel does not support QEMU assigning/grabbing
|
||||
# host USB devices yet
|
||||
use kernel_FreeBSD && \
|
||||
sed -i -E -e "s|^(HOST_USB=)bsd|\1stub|" "${S}"/config-host.mak
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local target
|
||||
|
||||
python_setup
|
||||
|
||||
softmmu_targets= softmmu_bins=()
|
||||
user_targets= user_bins=()
|
||||
|
||||
for target in ${IUSE_SOFTMMU_TARGETS} ; do
|
||||
if use "qemu_softmmu_targets_${target}"; then
|
||||
softmmu_targets+=",${target}-softmmu"
|
||||
softmmu_bins+=( "qemu-system-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
for target in ${IUSE_USER_TARGETS} ; do
|
||||
if use "qemu_user_targets_${target}"; then
|
||||
user_targets+=",${target}-linux-user"
|
||||
user_bins+=( "qemu-${target}" )
|
||||
fi
|
||||
done
|
||||
|
||||
softmmu_targets=${softmmu_targets#,}
|
||||
user_targets=${user_targets#,}
|
||||
|
||||
[[ -n ${softmmu_targets} ]] && qemu_src_configure "softmmu"
|
||||
[[ -n ${user_targets} ]] && qemu_src_configure "user"
|
||||
qemu_src_configure "tools"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
default
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
default
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build"
|
||||
default
|
||||
}
|
||||
|
||||
src_test() {
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
pax-mark m */qemu-system-* #515550
|
||||
emake -j1 check
|
||||
emake -j1 check-report.html
|
||||
fi
|
||||
}
|
||||
|
||||
qemu_python_install() {
|
||||
python_domodule "${S}/scripts/qmp/qmp.py"
|
||||
|
||||
python_doscript "${S}/scripts/kvm/vmxcap"
|
||||
python_doscript "${S}/scripts/qmp/qmp-shell"
|
||||
python_doscript "${S}/scripts/qmp/qemu-ga-client"
|
||||
}
|
||||
|
||||
# Generate binfmt support files.
|
||||
# - /etc/init.d/qemu-binfmt script which registers the user handlers (openrc)
|
||||
# - /usr/share/qemu/binfmt.d/qemu.conf (for use with systemd-binfmt)
|
||||
generate_initd() {
|
||||
local out="${T}/qemu-binfmt"
|
||||
local out_systemd="${T}/qemu.conf"
|
||||
local d="${T}/binfmt.d"
|
||||
|
||||
einfo "Generating qemu binfmt scripts and configuration files"
|
||||
|
||||
# Generate the debian fragments first.
|
||||
mkdir -p "${d}"
|
||||
"${S}"/scripts/qemu-binfmt-conf.sh \
|
||||
--debian \
|
||||
--exportdir "${d}" \
|
||||
--qemu-path "${EPREFIX}/usr/bin" \
|
||||
|| die
|
||||
# Then turn the fragments into a shell script we can source.
|
||||
sed -E -i \
|
||||
-e 's:^([^ ]+) (.*)$:\1="\2":' \
|
||||
"${d}"/* || die
|
||||
|
||||
# Generate the init.d script by assembling the fragments from above.
|
||||
local f qcpu package interpreter magic mask
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.head >"${out}" || die
|
||||
for f in "${d}"/qemu-* ; do
|
||||
source "${f}"
|
||||
|
||||
# Normalize the cpu logic like we do in the init.d for the native cpu.
|
||||
qcpu=${package#qemu-}
|
||||
case ${qcpu} in
|
||||
arm*) qcpu="arm";;
|
||||
mips*) qcpu="mips";;
|
||||
ppc*) qcpu="ppc";;
|
||||
s390*) qcpu="s390";;
|
||||
sh*) qcpu="sh";;
|
||||
sparc*) qcpu="sparc";;
|
||||
esac
|
||||
|
||||
cat <<EOF >>"${out}"
|
||||
if [ "\${cpu}" != "${qcpu}" -a -x "${interpreter}" ] ; then
|
||||
echo ':${package}:M::${magic}:${mask}:${interpreter}:'"\${QEMU_BINFMT_FLAGS}" >/proc/sys/fs/binfmt_misc/register
|
||||
fi
|
||||
EOF
|
||||
|
||||
echo ":${package}:M::${magic}:${mask}:${interpreter}:OC" >>"${out_systemd}"
|
||||
|
||||
done
|
||||
cat "${FILESDIR}"/qemu-binfmt.initd.tail >>"${out}" || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
if [[ -n ${user_targets} ]]; then
|
||||
cd "${S}/user-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Install binfmt handler init script for user targets.
|
||||
generate_initd
|
||||
doinitd "${T}/qemu-binfmt"
|
||||
|
||||
# Install binfmt/qemu.conf.
|
||||
insinto "/usr/share/qemu/binfmt.d"
|
||||
doins "${T}/qemu.conf"
|
||||
fi
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
cd "${S}/softmmu-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# This might not exist if the test failed. #512010
|
||||
[[ -e check-report.html ]] && dohtml check-report.html
|
||||
|
||||
if use kernel_linux; then
|
||||
udev_newrules "${FILESDIR}"/65-kvm.rules-r1 65-kvm.rules
|
||||
fi
|
||||
|
||||
if use python; then
|
||||
python_foreach_impl qemu_python_install
|
||||
fi
|
||||
fi
|
||||
|
||||
cd "${S}/tools-build"
|
||||
emake DESTDIR="${ED}" install
|
||||
|
||||
# Disable mprotect on the qemu binaries as they use JITs to be fast #459348
|
||||
pushd "${ED}"/usr/bin >/dev/null
|
||||
pax-mark mr "${softmmu_bins[@]}" "${user_bins[@]}" # bug 575594
|
||||
popd >/dev/null
|
||||
|
||||
# Install config file example for qemu-bridge-helper
|
||||
insinto "/etc/qemu"
|
||||
doins "${FILESDIR}/bridge.conf"
|
||||
|
||||
cd "${S}"
|
||||
dodoc Changelog MAINTAINERS docs/specs/pci-ids.txt
|
||||
newdoc pc-bios/README README.pc-bios
|
||||
|
||||
if [[ -n ${softmmu_targets} ]]; then
|
||||
# Remove SeaBIOS since we're using the SeaBIOS packaged one
|
||||
rm "${ED}/usr/share/qemu/bios.bin"
|
||||
rm "${ED}/usr/share/qemu/bios-256k.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../seabios/bios.bin /usr/share/qemu/bios.bin
|
||||
dosym ../seabios/bios-256k.bin /usr/share/qemu/bios-256k.bin
|
||||
fi
|
||||
|
||||
# Remove vgabios since we're using the seavgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/vgabios.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-cirrus.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-qxl.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-stdvga.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-virtio.bin"
|
||||
rm "${ED}/usr/share/qemu/vgabios-vmware.bin"
|
||||
# PPC64 loads vgabios-stdvga
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386 || use qemu_softmmu_targets_ppc64; then
|
||||
dosym ../seavgabios/vgabios-isavga.bin /usr/share/qemu/vgabios.bin
|
||||
dosym ../seavgabios/vgabios-cirrus.bin /usr/share/qemu/vgabios-cirrus.bin
|
||||
dosym ../seavgabios/vgabios-qxl.bin /usr/share/qemu/vgabios-qxl.bin
|
||||
dosym ../seavgabios/vgabios-stdvga.bin /usr/share/qemu/vgabios-stdvga.bin
|
||||
dosym ../seavgabios/vgabios-virtio.bin /usr/share/qemu/vgabios-virtio.bin
|
||||
dosym ../seavgabios/vgabios-vmware.bin /usr/share/qemu/vgabios-vmware.bin
|
||||
fi
|
||||
|
||||
# Remove sgabios since we're using the sgabios packaged one
|
||||
rm "${ED}/usr/share/qemu/sgabios.bin"
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../sgabios/sgabios.bin /usr/share/qemu/sgabios.bin
|
||||
fi
|
||||
|
||||
# Remove iPXE since we're using the iPXE packaged one
|
||||
rm "${ED}"/usr/share/qemu/pxe-*.rom
|
||||
if use qemu_softmmu_targets_x86_64 || use qemu_softmmu_targets_i386; then
|
||||
dosym ../ipxe/8086100e.rom /usr/share/qemu/pxe-e1000.rom
|
||||
dosym ../ipxe/80861209.rom /usr/share/qemu/pxe-eepro100.rom
|
||||
dosym ../ipxe/10500940.rom /usr/share/qemu/pxe-ne2k_pci.rom
|
||||
dosym ../ipxe/10222000.rom /usr/share/qemu/pxe-pcnet.rom
|
||||
dosym ../ipxe/10ec8139.rom /usr/share/qemu/pxe-rtl8139.rom
|
||||
dosym ../ipxe/1af41000.rom /usr/share/qemu/pxe-virtio.rom
|
||||
fi
|
||||
fi
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
firmware_abi_change() {
|
||||
local pv
|
||||
for pv in ${REPLACING_VERSIONS}; do
|
||||
if ! version_is_at_least ${FIRMWARE_ABI_VERSION} ${pv}; then
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -n ${softmmu_targets} ]] && use kernel_linux; then
|
||||
udev_reload
|
||||
fi
|
||||
|
||||
fcaps cap_net_admin /usr/libexec/qemu-bridge-helper
|
||||
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_print_elog
|
||||
|
||||
if use pin-upstream-blobs && firmware_abi_change; then
|
||||
ewarn "This version of qemu pins new versions of firmware blobs:"
|
||||
ewarn " $(best_version sys-firmware/edk2-ovmf)"
|
||||
ewarn " $(best_version sys-firmware/ipxe)"
|
||||
ewarn " $(best_version sys-firmware/seabios)"
|
||||
ewarn " $(best_version sys-firmware/sgabios)"
|
||||
ewarn "This might break resume of hibernated guests (started with a different"
|
||||
ewarn "firmware version) and live migration to/from qemu versions with different"
|
||||
ewarn "firmware. Please (cold) restart all running guests. For functional"
|
||||
ewarn "guest migration ensure that all"
|
||||
ewarn "hosts run at least"
|
||||
ewarn " app-emulation/qemu-${FIRMWARE_ABI_VERSION}."
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_info() {
|
||||
echo "Using:"
|
||||
echo " $(best_version app-emulation/spice-protocol)"
|
||||
echo " $(best_version sys-firmware/edk2-ovmf)"
|
||||
if has_version 'sys-firmware/edk2-ovmf[binary]'; then
|
||||
echo " USE=binary"
|
||||
else
|
||||
echo " USE=''"
|
||||
fi
|
||||
echo " $(best_version sys-firmware/ipxe)"
|
||||
echo " $(best_version sys-firmware/seabios)"
|
||||
if has_version 'sys-firmware/seabios[binary]'; then
|
||||
echo " USE=binary"
|
||||
else
|
||||
echo " USE=''"
|
||||
fi
|
||||
echo " $(best_version sys-firmware/sgabios)"
|
||||
}
|
Binary file not shown.
@ -0,0 +1,229 @@
|
||||
# Copyright 1999-2018 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
|
||||
JAVA_PKG_BSFIX_NAME="build.xml build-unix.xml"
|
||||
inherit autotools java-pkg-opt-2 java-ant-2
|
||||
|
||||
DESCRIPTION="A collection of file system and media management forensic analysis tools"
|
||||
HOMEPAGE="https://www.sleuthkit.org/sleuthkit/"
|
||||
# TODO: sqlite-jdbc does not exist in the tree, we bundle it for now
|
||||
# TODO: Upstream uses a very specific version of libewf which is not in
|
||||
# the tree anymore. So we statically compile and link to sleuthkit.
|
||||
# Hopefully upstream will figure something out in the future.
|
||||
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.tar.gz
|
||||
java? ( http://repo1.maven.org/maven2/org/xerial/sqlite-jdbc/3.8.11/sqlite-jdbc-3.8.11.jar )
|
||||
ewf? ( https://dev.gentoo.org/~gokturk/distfiles/app-forensics/libewf/libewf-20130128.tar.gz )"
|
||||
|
||||
LICENSE="BSD CPL-1.0 GPL-2+ IBM java? ( Apache-2.0 )"
|
||||
SLOT="0/13" # subslot = major soname version
|
||||
KEYWORDS="~amd64 ~hppa ~ppc ~x86"
|
||||
IUSE="aff doc ewf java static-libs test +threads zlib"
|
||||
|
||||
DEPEND="
|
||||
dev-db/sqlite:3
|
||||
dev-lang/perl:*
|
||||
aff? ( app-forensics/afflib )
|
||||
ewf? ( sys-libs/zlib )
|
||||
java? (
|
||||
>=virtual/jdk-1.8:*
|
||||
>=dev-java/c3p0-0.9.5:0
|
||||
>=dev-java/jdbc-postgresql-9.4:0
|
||||
)
|
||||
zlib? ( sys-libs/zlib )
|
||||
"
|
||||
RDEPEND="${DEPEND}
|
||||
java? ( >=virtual/jre-1.8:= )
|
||||
"
|
||||
DEPEND="${DEPEND}
|
||||
doc? ( app-doc/doxygen )
|
||||
test? ( >=dev-util/cppunit-1.2.1 )
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-4.1.0-tools-shared-libs.patch
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
local f
|
||||
|
||||
unpack ${P}.tar.gz
|
||||
|
||||
# Ick, the upstream is stuck at libewf-20130128 which is
|
||||
# not even in the tree anymore. So we have to bundle it.
|
||||
if use ewf; then
|
||||
pushd "${T}" &>/dev/null || die
|
||||
unpack libewf-20130128.tar.gz
|
||||
export TSK_LIBEWF_SRCDIR="${T}"/libewf-20130128
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
# Copy the jar files that don't exist in the tree yet
|
||||
if use java; then
|
||||
TSK_JAR_DIR="${S}/bindings/java/lib"
|
||||
mkdir "${TSK_JAR_DIR}" || die
|
||||
for f in ${A}; do
|
||||
if [[ ${f} =~ .jar$ ]]; then
|
||||
cp "${DISTDIR}"/"${f}" "${TSK_JAR_DIR}" || die
|
||||
fi
|
||||
done
|
||||
export TSK_JAR_DIR
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if use ewf; then
|
||||
# Yeah, libewf-20130128 obviously doesn't just nicely compile
|
||||
sed -e 's/LIBUNA_INLINE inline/LIBUNA_INLINE/' \
|
||||
-i "${TSK_LIBEWF_SRCDIR}"/libuna/libuna_inline.h || die
|
||||
fi
|
||||
|
||||
if use java; then
|
||||
pushd "${S}"/bindings/java &>/dev/null || die
|
||||
|
||||
# Prevent "make install" from installing
|
||||
# jar files under /usr/share/java
|
||||
# We'll use the java eclasses for this
|
||||
sed -e '/^jar_DATA/ d;' -i Makefile.am || die
|
||||
|
||||
# Disable dependency retrieval using ivy
|
||||
# We will handle it ourselves
|
||||
sed -e '/name="compile"/ s/, retrieve-deps//' \
|
||||
-e '/name="dist-/ s/, init-ivy//g' \
|
||||
-i build.xml || die
|
||||
|
||||
java-pkg-opt-2_src_prepare
|
||||
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
# Override the doxygen output directories
|
||||
if use doc; then
|
||||
sed -e "/^OUTPUT_DIRECTORY/ s|=.*$|= ${T}/doc|" \
|
||||
-i tsk/docs/Doxyfile \
|
||||
-i bindings/java/doxygen/Doxyfile || die
|
||||
fi
|
||||
|
||||
# It's safe to call this even after java-pkg-opt-2_src_prepare
|
||||
# because future calls to eapply_user do nothing and return 0
|
||||
default
|
||||
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
tsk_compile_libewf() {
|
||||
local myeconfargs=(
|
||||
--prefix=/
|
||||
--libdir=/lib
|
||||
--enable-static
|
||||
--disable-shared
|
||||
--disable-winapi
|
||||
--without-libbfio
|
||||
--with-zlib
|
||||
--without-bzip2
|
||||
--without-libhmac
|
||||
--without-openssl
|
||||
--without-libuuid
|
||||
--without-libfuse
|
||||
)
|
||||
# We want to contain our build flags
|
||||
local CFLAGS="${CFLAGS}"
|
||||
local LDFLAGS="${LDFLAGS}"
|
||||
|
||||
pushd "${TSK_LIBEWF_SRCDIR}" &>/dev/null || die
|
||||
|
||||
# Produce relocatable code
|
||||
CFLAGS+=" -fPIC"
|
||||
LDFLAGS+=" -fPIC"
|
||||
econf "${myeconfargs[@]}"
|
||||
|
||||
# Do not waste CPU cycles on building ewftools
|
||||
sed -e '/ewftools/ d' -i Makefile || die
|
||||
emake
|
||||
|
||||
# Only install the headers and the library
|
||||
emake -C libewf DESTDIR="${T}"/image install
|
||||
emake -C include DESTDIR="${T}"/image install
|
||||
|
||||
popd &>/dev/null || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myeconfargs=(
|
||||
$(use_enable java)
|
||||
$(use_enable static-libs static)
|
||||
$(use_enable threads multithreading)
|
||||
$(use_with aff afflib)
|
||||
$(use_with ewf libewf)
|
||||
$(use_with zlib)
|
||||
)
|
||||
|
||||
if use ewf; then
|
||||
tsk_compile_libewf
|
||||
myeconfargs+=( $(use_with ewf libewf "${T}"/image) )
|
||||
fi
|
||||
|
||||
if use java; then
|
||||
pushd "${S}"/bindings/java &>/dev/null || die
|
||||
java-ant-2_src_configure
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
econf "${myeconfargs[@]}"
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Create symlinks of jars for the required dependencies
|
||||
if use java; then
|
||||
pushd "${S}"/bindings/java &>/dev/null || die
|
||||
|
||||
java-pkg_jar-from --into "${TSK_JAR_DIR}" c3p0
|
||||
java-pkg_jar-from --into "${TSK_JAR_DIR}" jdbc-postgresql
|
||||
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
# Create the doc output dirs if requested
|
||||
if use doc; then
|
||||
mkdir -p "${T}"/doc/{api-docs,jni-docs} || die
|
||||
fi
|
||||
|
||||
emake all $(usex doc api-docs "")
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local f
|
||||
|
||||
if use java; then
|
||||
pushd "${S}"/bindings/java &>/dev/null || die
|
||||
|
||||
java-pkg_dojar dist/${P}.jar
|
||||
|
||||
# Install the bundled jar files
|
||||
pushd "${TSK_JAR_DIR}" &>/dev/null || die
|
||||
for f in *; do
|
||||
# Skip the symlinks java-pkg_jar-from created
|
||||
[[ -f ${f} ]] || continue
|
||||
|
||||
# Strip the version numbers as per eclass recommendation
|
||||
[[ ${f} =~ -([0-9].)+.jar$ ]] || continue
|
||||
|
||||
java-pkg_newjar "${f}" "${f/${BASH_REMATCH[0]}/.jar}"
|
||||
done
|
||||
popd &>/dev/null || die
|
||||
|
||||
popd &>/dev/null || die
|
||||
fi
|
||||
|
||||
default
|
||||
|
||||
# It unconditionally builds both api and jni docs
|
||||
# We install conditionally based on the provided use flags
|
||||
if use doc; then
|
||||
dodoc -r "${T}"/doc/api-docs
|
||||
use java && dodoc -r "${T}"/doc/jni-docs
|
||||
fi
|
||||
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
}
|
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue