Split the Repos

This commit is contained in:
Andreas Billmeier 2018-09-21 12:45:50 +02:00
commit 64f10d16d9
158 changed files with 58752 additions and 0 deletions

0
README.md Normal file
View File

View File

@ -0,0 +1,15 @@
AUX clamav-0.99.3-bytecode_api.patch 1531 SHA256 b0619bca555a8069289bb7299e0708cfdc86b566197b2c2e780619bfdf26aa0d SHA512 05d5d9ce0aa64a178a1dfce0e37e2648f42a31a78b89c6d54203899a8334d0ef5a0f1484803932e9a09745bed3f11865c9ccedf175e7e09fcb4f3d621aa6f029 WHIRLPOOL 151d2a5545d923ec4bbe29347db4f9c2d6f84fdd1a89467d2d21b14b2a1e78ebb405c2b3e871406408c0b1463ea0d395393d66e3a33a0472ea0f56e5e35b5a58
AUX clamav-0.99.3-gcc-6.patch 3438 SHA256 8da02e24c963c066dc9035c40637062ad214e5cc466666f7e3c102c55b3a4550 SHA512 37789921ad39493a5d8f7798fd42d3307c1e3fcee32436f93032b73f280301395f0aa1f478230eefbc45d9325cbcffb08cb25fd4b50126007f6162a11b4249a7 WHIRLPOOL 02f11840ddd21b8f674e47948c78dac6c8522f14bcbf559955b371982400f897f77cfd549f328ccfa0829898456b2624a0408855c4962bc74983897953df9fb9
AUX clamav-0.99.3-pcre2-compile-erroffset.patch 540 SHA256 17a7e7bb7e2abad63a3525a908aa8b20647fd0747838be55c73a5c2ea075531d SHA512 6f2dd207accbc409c7e7155e3c04cf50255d4b6683ada24a559c23375ec4fa333f93118a25c8275cd8d6be7f950200c3730fd8174cc4a0450fe2160f2b86b536 WHIRLPOOL 9afd68a77f4d75a0615fd61c9dcf930b34cb7d8d30c6b107abd5b64c779d52dac9db7eb8c8acc937e78f120e21537d649aca0a4e286014d616f9bed3d44fecf1
AUX clamav-milter.README.gentoo 1124 SHA256 5e7b142b68964bc3463b077e5698fa77cace45ea9612258b1e1849cee944dd11 SHA512 1c6160e48eddd28f83ec5f24757f788781cef55789d1934dfccc12c7c5e5635a226d26b0983cab7344c142f5a2f1db172640b1d0e6c840a6fa83abed9be1211a WHIRLPOOL f85b17448fd93205e2f38d024b96410cc8d143d077201e0a1b8f4cda95ae2447a70eded4cb90968a593ad2637229300fa04bfe5dba96d3d68c2d09c105ee3f16
AUX clamav-milter.service 284 SHA256 b371725acfd102b6b7ee15ab0059e8795b7d3716d041d0dc11d0fe8f7454d5a9 SHA512 442148ac3c42ecbb893de5c6edde337b72a745d20f6c5ffa33131f9a0b2daadcffac39b686ada986a5ab500ea7b9153c448abc1b819e15fef488da1812bb0cee WHIRLPOOL 56b4ed79e06c764df37022f0638ceddb5fe8185c54b2e460b076a46ed4f5a68b67fb7966d424dabe836bfd7d6b9d770eb60cad4633ee17083baa50ad2c0a89cd
AUX clamav-milter.service-r1 303 SHA256 c1e553156c14bfb007df467c13be0b3885ea79b4777711b6417fac5371461d90 SHA512 5dc30e3c57d9bff6595155e8299336c579c713aed429ab770f10d7678dd74691a135aa2070a825ddb726fdabcb001c19caeb993c1cd9a6fcf95d1d47f7160540 WHIRLPOOL d2cb6e8caa83845d2f9ca7ffd7f2d0382a633a34463599515d46dcfde87fadfffdeed62f4763b5f519268bd03b99c49c19c3196359eab06062866ca38f96d680
AUX clamav.logrotate 391 SHA256 ed58224e76d6555e737780dc3985e2b29267328458302f116eae9ebfdc3cd11f SHA512 ef54facfa0ad830ea6eef499b92a1ffb37e719940385621dacd17062e556aa0d1f24104b3130a9a263f23621ab53f39283c10870a355ed6d505cc0e511b57224 WHIRLPOOL e6195dd3c51c27c437ff88a1283cb9eb12a9bad3266261e9d26cbc33d0b4e3afa2d9c624898ba2bf6557ac46de74c09a7b210de8bd1189babd4d0fcbd6ba84ed
AUX clamd.conf 234 SHA256 17bf4fe3596dc5b145e4163d85181e2edcaa214df3cf9072d852ba0e7a569891 SHA512 ec069cf7aaf10b42a701938b57e1fde1ee15afd1d4af928edfa7e5d505ba8b3edaaceac449da0f4ac6beea09a3fb73453526ba0cd3a04e13259c1a2720f42f78 WHIRLPOOL 667ad1567bb398a20785096f2c2c7c72be4853ee3b0674c4fcc20eb2c9123815c273f40938961e348252e3376c4402a3f952b2a72d3bb3f0907aadb7ab77b8ed
AUX clamd.conf-r1 129 SHA256 28ebd47810b0568fc7692218867d6804a1df70290681462f5555e230ca817732 SHA512 b85fd99c80242fb66380dfdef34387a2eff9326a1cb726940ab4bc450308e4942e57d1eb1cad979348f8aac685b53e2fa722cef0dab1f2ea2c958f2a5f818918 WHIRLPOOL 44f1e0b678855db44123261402c4e82e0493a60869bcf0a7ebcc5c4db23072efba3f550ee115b5c49a688895b67e1d012defb36c4aa0564732a2642d78f72695
AUX clamd.initd-r6 3253 SHA256 7b502b8ca6672ee85d67e6c2e210118b05cee8170ebab4308df192f0f8064de3 SHA512 cf2bda1e12af495d1a3d05fb4b92da4e2ccf0369f1b33382cc6cc21f31c68fa74a1f95ff098bdc6ebfb994aad1e72173437a80bd0e0e7c3223add26a824d9b6b WHIRLPOOL e26ed038b16cae246b53754d01622463d579cf1a4802b0d8aedf4ee7beb6eed6ce42518538835c15603a0c9bc96872a0edf2a19d3303375ab4ec3f6287986a95
AUX clamd.service 202 SHA256 5d82b056a82d0b677ebb803c3580ef035686a095e2322c7e81ec17bff64b7061 SHA512 799d3f33ca69841882f86f6853dd0dc6d8af73db8cfa5ce6dd6c873c5e7bc07d29bfe0f85cfb77edf2b0d8c05de73988d06148b993996ce639c5d0eeac908647 WHIRLPOOL 77face4c80d71a53015bb9658bd5a78558125bccb4ff9c10a43503afe4cdb738efcb20f80dd3f2718c8af352ba64923f34b366a7c57707b8c1da36bc5f4aa6d1
AUX clamd_at.service 228 SHA256 c3c552a663be5506794720c216b567c86c184c8127d1bb064d1541ac6bbfa77c SHA512 69a0ca31a7288b5494d8c85ce5ff859a8f34b8a93f573eded90c270099ecac30e01d8549a07a160d74bfdc3c5401c3fd625b178080ea2c02520aab91252739e7 WHIRLPOOL ad22ebbc1fcca467b507cb4da18a3b80f5b516fd505b8cd3df0181e912b818c57e74922e7835f24b83ea7d5d5316d415d1fda9d6889c6620e88ef143bafe4aad
AUX freshclamd.service 191 SHA256 dd5ff6c79ee360da5f2221c4d9110a2a8886d86293f6c93c16bf74fdb126593c SHA512 aaf78e763d2aa9c17fc95edb1550547b6681a91fd239a86535e5193d36ff0e152c51c3a3957542f80d5b170805f296159958ac347886981ddd324bec4237da92 WHIRLPOOL f3d5273151e6cc0b2a245db07ea526b9a7d051efcfa902924ca63529618318524c359fb638b10caed38313f93fc283175ae9d2ec9314556593d818518931512c
DIST clamav-0.99.3.tar.gz 16082645 SHA256 00fa5292a6e00a3a4035b826267748965d5d2c4943d8ff417d740238263e8e84 SHA512 0d3c75d571ed4aa4937ef2b743a39a9a144f5adfd6f56f71046e5a8387b8ed7c3c4d9a4196aa85750f9ec4dc545720fdd659289d0cce086ab13a7cc505a0ab3e WHIRLPOOL 543392a94a7a8f2ef0f8657531aa349fdd1192cbeb1f7eac19a333c35bbe95fef758aabf7584177a5bba6e58cf5416cd11cc1d3c8da0f90ac7b93de56beccc34
EBUILD clamav-0.99.3.ebuild 5113 SHA256 5e959f3350477d1d4842fa975e475575db37c59920b1ae628fd158d21842c7c8 SHA512 d358f928559c82b164e7e53536cea62b1aa08a45e7e8edf8d52916e62a3f8bd965d0cb730922be625c91daa58f8f9125ec5784e8f3b4e9b6ad558b159197a7f3 WHIRLPOOL 767db1ffd3f07acc4bf90b7854a0279090ad7eb1cc50235cbeaf0f66c375ab5fe8055ce95dabfda03771b2b51dab0599731f4fcfb433605b54cfeb160633fb0c

View File

@ -0,0 +1,157 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
inherit autotools eutils flag-o-matic user systemd
DESCRIPTION="Clam Anti-Virus Scanner"
HOMEPAGE="http://www.clamav.net/"
SRC_URI="https://www.clamav.net/downloads/production/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris"
IUSE="bzip2 clamdtop iconv ipv6 libressl milter metadata-analysis-api selinux static-libs uclibc"
CDEPEND="bzip2? ( app-arch/bzip2 )
clamdtop? ( sys-libs/ncurses:0 )
iconv? ( virtual/libiconv )
metadata-analysis-api? ( dev-libs/json-c:= )
milter? ( || ( mail-filter/libmilter mail-mta/sendmail ) )
dev-libs/libtommath
>=sys-libs/zlib-1.2.2
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
sys-devel/libtool
|| ( dev-libs/libpcre2 >dev-libs/libpcre-6 )
!!<app-antivirus/clamav-0.99"
# hard block clamav < 0.99 due to linking problems Bug #567680
# openssl is now *required* see this link as to why
# http://blog.clamav.net/2014/02/introducing-openssl-as-dependency-to.html
DEPEND="${CDEPEND}
virtual/pkgconfig"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-clamav )"
DOCS=( AUTHORS BUGS ChangeLog FAQ INSTALL NEWS README UPGRADE )
PATCHES=(
"${FILESDIR}"/${P}-bytecode_api.patch
"${FILESDIR}"/${P}-pcre2-compile-erroffset.patch
"${FILESDIR}"/${P}-gcc-6.patch
)
pkg_setup() {
enewgroup clamav
enewuser clamav -1 -1 /dev/null clamav
}
src_prepare() {
default
eautoconf
}
src_configure() {
use ppc64 && append-flags -mminimal-toc
use uclibc && export ac_cv_type_error_t=yes
econf \
$(use_enable bzip2) \
$(use_enable clamdtop) \
$(use_enable ipv6) \
$(use_enable milter) \
$(use_enable static-libs static) \
$(use_with iconv) \
$(use_with metadata-analysis-api libjson /usr) \
--cache-file="${S}"/config.cache \
--disable-experimental \
--disable-gcc-vcheck \
--disable-zlib-vcheck \
--enable-id-check \
--with-dbdir="${EPREFIX}"/var/lib/clamav \
--with-system-tommath \
--with-zlib="${EPREFIX}"/usr
}
src_install() {
default
rm -rf "${ED}"/var/lib/clamav
newinitd "${FILESDIR}"/clamd.initd-r6 clamd
newconfd "${FILESDIR}"/clamd.conf-r1 clamd
systemd_dotmpfilesd "${FILESDIR}/tmpfiles.d/clamav.conf"
systemd_newunit "${FILESDIR}/clamd_at.service" "clamd@.service"
systemd_dounit "${FILESDIR}/clamd.service"
systemd_dounit "${FILESDIR}/freshclamd.service"
keepdir /var/lib/clamav
fowners clamav:clamav /var/lib/clamav
keepdir /var/log/clamav
fowners clamav:clamav /var/log/clamav
dodir /etc/logrotate.d
insinto /etc/logrotate.d
newins "${FILESDIR}"/clamav.logrotate clamav
# Modify /etc/{clamd,freshclam}.conf to be usable out of the box
sed -i -e "s:^\(Example\):\# \1:" \
-e "s:.*\(PidFile\) .*:\1 ${EPREFIX}/var/run/clamav/clamd.pid:" \
-e "s:.*\(LocalSocket\) .*:\1 ${EPREFIX}/var/run/clamav/clamd.sock:" \
-e "s:.*\(User\) .*:\1 clamav:" \
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamd.log:" \
-e "s:^\#\(LogTime\).*:\1 yes:" \
-e "s:^\#\(AllowSupplementaryGroups\).*:\1 yes:" \
"${ED}"/etc/clamd.conf.sample || die
sed -i -e "s:^\(Example\):\# \1:" \
-e "s:.*\(PidFile\) .*:\1 ${EPREFIX}/var/run/clamav/freshclam.pid:" \
-e "s:.*\(DatabaseOwner\) .*:\1 clamav:" \
-e "s:^\#\(UpdateLogFile\) .*:\1 ${EPREFIX}/var/log/clamav/freshclam.log:" \
-e "s:^\#\(NotifyClamd\).*:\1 ${EPREFIX}/etc/clamd.conf:" \
-e "s:^\#\(ScriptedUpdates\).*:\1 yes:" \
-e "s:^\#\(AllowSupplementaryGroups\).*:\1 yes:" \
"${ED}"/etc/freshclam.conf.sample || die
if use milter ; then
# MilterSocket one to include ' /' because there is a 2nd line for
# inet: which we want to leave
dodoc "${FILESDIR}"/clamav-milter.README.gentoo
sed -i -e "s:^\(Example\):\# \1:" \
-e "s:.*\(PidFile\) .*:\1 ${EPREFIX}/var/run/clamav/clamav-milter.pid:" \
-e "s+^\#\(ClamdSocket\) .*+\1 unix:${EPREFIX}/var/run/clamav/clamd.sock+" \
-e "s:.*\(User\) .*:\1 clamav:" \
-e "s+^\#\(MilterSocket\) /.*+\1 unix:${EPREFIX}/var/run/clamav/clamav-milter.sock+" \
-e "s:^\#\(AllowSupplementaryGroups\).*:\1 yes:" \
-e "s:^\#\(LogFile\) .*:\1 ${EPREFIX}/var/log/clamav/clamav-milter.log:" \
"${ED}"/etc/clamav-milter.conf.sample || die
cat >> "${ED}"/etc/conf.d/clamd <<-EOF
MILTER_NICELEVEL=19
START_MILTER=no
EOF
systemd_newunit "${FILESDIR}/clamav-milter.service-r1" clamav-milter.service
fi
for i in clamd freshclam clamav-milter
do
[[ -f "${D}"/etc/"${i}".conf.sample ]] && mv "${D}"/etc/"${i}".conf{.sample,}
done
prune_libtool_files --all
}
src_test() {
emake quick-check
}
pkg_postinst() {
if use milter ; then
elog "For simple instructions how to setup the clamav-milter read the"
elog "clamav-milter.README.gentoo in /usr/share/doc/${PF}"
fi
if test -z $(find "${ROOT}"var/lib/clamav -maxdepth 1 -name 'main.c*' -print -quit) ; then
ewarn "You must run freshclam manually to populate the virus database files"
ewarn "before starting clamav for the first time.\n"
fi
}

View File

@ -0,0 +1,50 @@
Description: fix compatibility with zlib 1.2.9 and newer
Author: Marc Deslauriers <marc.deslauriers@canonical.com>
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/clamav/+bug/1692073
--- a/libclamav/bytecode_api.c 2017-08-08 15:20:06.651685637 -0400
+++ b/libclamav/bytecode_api.c 2017-08-15 15:45:14.645714766 -0400
@@ -811,8 +811,20 @@ int32_t cli_bcapi_inflate_init(struct cl
cli_dbgmsg("bytecode api: inflate_init: invalid buffers!\n");
return -1;
}
- memset(&stream, 0, sizeof(stream));
- ret = inflateInit2(&stream, windowBits);
+
+ b = cli_realloc(ctx->inflates, sizeof(*ctx->inflates)*n);
+ if (!b) {
+ return -1;
+ }
+ ctx->inflates = b;
+ ctx->ninflates = n;
+ b = &b[n-1];
+
+ b->from = from;
+ b->to = to;
+ b->needSync = 0;
+ memset(&b->stream, 0, sizeof(stream));
+ ret = inflateInit2(&b->stream, windowBits);
switch (ret) {
case Z_MEM_ERROR:
cli_dbgmsg("bytecode api: inflateInit2: out of memory!\n");
@@ -829,20 +841,6 @@ int32_t cli_bcapi_inflate_init(struct cl
cli_dbgmsg("bytecode api: inflateInit2: unknown error %d\n", ret);
return -1;
}
-
- b = cli_realloc(ctx->inflates, sizeof(*ctx->inflates)*n);
- if (!b) {
- inflateEnd(&stream);
- return -1;
- }
- ctx->inflates = b;
- ctx->ninflates = n;
- b = &b[n-1];
-
- b->from = from;
- b->to = to;
- b->needSync = 0;
- memcpy(&b->stream, &stream, sizeof(stream));
return n-1;
}

View File

@ -0,0 +1,63 @@
diff --git a/libclamav/c++/llvm/include/llvm/ADT/StringMap.h b/libclamav/c++/llvm/include/llvm/ADT/StringMap.h
index 59ff6aa..1325394 100644
--- a/libclamav/c++/llvm/include/llvm/ADT/StringMap.h
+++ b/libclamav/c++/llvm/include/llvm/ADT/StringMap.h
@@ -169,3 +169,3 @@ public:
KeyLength+1;
- unsigned Alignment = alignof<StringMapEntry>();
+ unsigned Alignment = alignOf<StringMapEntry>();
diff --git a/libclamav/c++/llvm/include/llvm/Support/AlignOf.h b/libclamav/c++/llvm/include/llvm/Support/AlignOf.h
index 6a7a1a6..979e597 100644
--- a/libclamav/c++/llvm/include/llvm/Support/AlignOf.h
+++ b/libclamav/c++/llvm/include/llvm/Support/AlignOf.h
@@ -51,8 +51,8 @@ struct AlignOf {
-/// alignof - A templated function that returns the mininum alignment of
+/// alignOf - A templated function that returns the mininum alignment of
/// of a type. This provides no extra functionality beyond the AlignOf
/// class besides some cosmetic cleanliness. Example usage:
-/// alignof<int>() returns the alignment of an int.
+/// alignOf<int>() returns the alignment of an int.
template <typename T>
-static inline unsigned alignof() { return AlignOf<T>::Alignment; }
+static inline unsigned alignOf() { return AlignOf<T>::Alignment; }
diff --git a/libclamav/c++/llvm/include/llvm/Support/Allocator.h b/libclamav/c++/llvm/include/llvm/Support/Allocator.h
index 4a7251f..17caf5e 100644
--- a/libclamav/c++/llvm/include/llvm/Support/Allocator.h
+++ b/libclamav/c++/llvm/include/llvm/Support/Allocator.h
@@ -203,3 +203,3 @@ public:
for (char *Ptr = (char*)(Slab+1); Ptr < End; Ptr += sizeof(T)) {
- Ptr = Allocator.AlignPtr(Ptr, alignof<T>());
+ Ptr = Allocator.AlignPtr(Ptr, alignOf<T>());
if (Ptr + sizeof(T) <= End)
diff --git a/libclamav/c++/llvm/include/llvm/CodeGen/SlotIndexes.h b/libclamav/c++/llvm/include/llvm/CodeGen/SlotIndexes.h
index 88044c7..86b0f40 100644
--- a/libclamav/c++/llvm/include/llvm/CodeGen/SlotIndexes.h
+++ b/libclamav/c++/llvm/include/llvm/CodeGen/SlotIndexes.h
@@ -417,3 +417,3 @@ namespace llvm {
ileAllocator.Allocate(sizeof(IndexListEntry),
- alignof<IndexListEntry>()));
+ alignOf<IndexListEntry>()));
diff --git a/libclamav/c++/llvm/lib/Target/X86/X86CodeEmitter.cpp b/libclamav/c++/llvm/lib/Target/X86/X86CodeEmitter.cpp
index 824021c..757ca50 100644
--- a/libclamav/c++/llvm/lib/Target/X86/X86CodeEmitter.cpp
+++ b/libclamav/c++/llvm/lib/Target/X86/X86CodeEmitter.cpp
@@ -569,3 +569,3 @@ void Emitter<CodeEmitter>::emitMemModRMByte(const MachineInstr &MI,
// Calculate what the SS field value should be...
- static const unsigned SSTable[] = { ~0, 0, 1, ~0, 2, ~0, ~0, ~0, 3 };
+ static const unsigned SSTable[] = { ~0u, 0u, 1u, ~0u, 2u, ~0u, ~0u, ~0u, 3u };
unsigned SS = SSTable[Scale.getImm()];
diff --git a/libclamav/c++/llvm/lib/Target/X86/X86MCCodeEmitter.cpp b/libclamav/c++/llvm/lib/Target/X86/X86MCCodeEmitter.cpp
index 9564fe0..b2b7986 100644
--- a/libclamav/c++/llvm/lib/Target/X86/X86MCCodeEmitter.cpp
+++ b/libclamav/c++/llvm/lib/Target/X86/X86MCCodeEmitter.cpp
@@ -332,3 +332,3 @@ void X86MCCodeEmitter::EmitMemModRMByte(const MCInst &MI, unsigned Op,
// Calculate what the SS field value should be...
- static const unsigned SSTable[] = { ~0, 0, 1, ~0, 2, ~0, ~0, ~0, 3 };
+ static const unsigned SSTable[] = { ~0u, 0u, 1u, ~0u, 2u, ~0u, ~0u, ~0u, 3u };
unsigned SS = SSTable[Scale.getImm()];

View File

@ -0,0 +1,12 @@
--- clamav-0.99.2/libclamav/regex_pcre.c~ 2017-11-28 14:40:56.484208243 +0100
+++ clamav-0.99.2/libclamav/regex_pcre.c 2017-11-28 14:41:07.301207800 +0100
@@ -112,7 +112,8 @@ int cli_pcre_addoptions(struct cli_pcre_
#if USING_PCRE2
int cli_pcre_compile(struct cli_pcre_data *pd, long long unsigned match_limit, long long unsigned match_limit_recursion, unsigned int options, int opt_override)
{
- int errornum, erroffset;
+ int errornum;
+ size_t erroffset;
pcre2_general_context *gctx;
pcre2_compile_context *cctx;

View File

@ -0,0 +1,44 @@
Nick Hadaway <raker@gentoo.org>
Updated by Andrea Barisani <lcars@gentoo.org>
18/05/2004
Setting up clamav-milter on Gentoo Linux
Step 1 - Configure clamd
Check /etc/clamd.conf, default values should work out of the box but
read and understand all the options especially if you are going to
use it on production boxes.
Step 2 - Tell the init script to start clamd as well as freshclam and the
milter itself.
nano -w /etc/conf.d/clamd
START_CLAMD=yes
START_FRESHCLAM=yes
START_MILTER=yes
Step 3 - Edit sendmail.mc
Add these lines to sendmail.mc before any any other
INPUT_MAIL_FILTER lines and before MAILER(local)
NOTE: ANY INPUT_MAIL_FILTER definitions put before these lines
will be discarded due to the use of confINPUT_MAIL_FILTERS
Make this your first mail filter. :)
INPUT_MAIL_FILTER(`clmilter',`S=local:/var/run/clamav/clmilter.sock, F=, T=S:4m;R:4m')dnl
define(`confINPUT_MAIL_FILTERS', `clmilter')dnl
Step 4 - Rebuild sendmail.cf
cd /etc/mail
m4 sendmail.mc > sendmail.cf
Step 5 - Start clamad
/etc/init.d/clamd start
Step 6 - Restart sendmail
/etc/init.d/sendmail restart

View File

@ -0,0 +1,12 @@
[Unit]
Description=Milter module for the ClamAV scanner
After=nss-lookup.target network.target
Before=sendmail.service
Before=postfix.service
[Service]
ExecStart=/usr/sbin/clamav-milter -c /etc/clamav-milter.conf --nofork=yes
Restart=on-failure
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,13 @@
[Unit]
Description=Milter module for the ClamAV scanner
After=nss-lookup.target network.target
Before=sendmail.service
Before=postfix.service
[Service]
Type=forking
PIDFile=/run/clamav/clamav-milter.pid
ExecStart=/usr/sbin/clamav-milter -c /etc/clamav-milter.conf
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,17 @@
/var/log/clamav/clamd.log {
su clamav clamav
missingok
postrotate
/etc/init.d/clamd logfix
/bin/kill -HUP `cat /var/run/clamav/clamd.pid 2> /dev/null` 2>/dev/null || true
endscript
}
/var/log/clamav/freshclam.log {
su clamav clamav
missingok
postrotate
/etc/init.d/clamd logfix
/bin/kill -HUP `cat /var/run/clamav/freshclam.pid 2> /dev/null` 2>/dev/null || true
endscript
}

View File

@ -0,0 +1,9 @@
# Config file for /etc/init.d/clamd
# NOTICE: Since clamav-0.85-r1, only START_CLAMD and START_FRESHCLAM settings
# are used, other are silently ignored
START_CLAMD=yes
START_FRESHCLAM=yes
CLAMD_NICELEVEL=3
FRESHCLAM_NICELEVEL=19

View File

@ -0,0 +1,7 @@
# Config file for /etc/init.d/clamd
START_CLAMD=yes
START_FRESHCLAM=yes
CLAMD_NICELEVEL=3
FRESHCLAM_NICELEVEL=19
IONICE_LEVEL=2

View File

@ -0,0 +1,128 @@
#!/sbin/openrc-run
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
daemon_clamd="/usr/sbin/clamd"
daemon_freshclam="/usr/bin/freshclam"
daemon_milter="/usr/sbin/clamav-milter"
extra_commands="logfix"
depend() {
use net
provide antivirus
}
get_config() {
clamconf | sed 's/["=]//g' | \
awk "{
if(\$0==\"Config file: $1.conf\") S=1
if(S==1&&\$0==\"\") {
print \"$3\"
exit
}
if(S==1&&\$1~\"^$2\$\") {
print \$2!=\"disabled\"?\$2:\"$3\"
exit
}
}"
}
start() {
# populate variables and fix log file permissions
logfix
if [ "${START_CLAMD}" = "yes" ]; then
checkpath --quiet --mode 755 \
--owner "${clamd_user}":"${clamd_user}" \
--directory `dirname ${clamd_socket}`
if [ -S "${clamd_socket}" ]; then
rm -f ${clamd_socket}
fi
ebegin "Starting clamd"
start-stop-daemon --start --quiet \
--nicelevel ${CLAMD_NICELEVEL:-0} \
--ionice ${IONICE_LEVEL:-0} \
--exec ${daemon_clamd}
eend $? "Failed to start clamd"
fi
if [ "${START_FRESHCLAM}" = "yes" ]; then
checkpath --quiet --mode 755 \
--owner "${clamd_user}":"${clamd_user}" \
--directory `dirname ${clamd_socket}`
ebegin "Starting freshclam"
start-stop-daemon --start --quiet \
--nicelevel ${FRESHCLAM_NICELEVEL:-0} \
--ionice ${IONICE_LEVEL:-0} \
--exec ${daemon_freshclam} -- -d
retcode=$?
if [ ${retcode} = 1 ]; then
eend 0
einfo "Virus databases are already up to date."
else
eend ${retcode} "Failed to start freshclam"
fi
fi
if [ "${START_MILTER}" = "yes" ]; then
if [ -z "${MILTER_CONF_FILE}" ]; then
MILTER_CONF_FILE="/etc/clamav-milter.conf"
fi
ebegin "Starting clamav-milter"
start-stop-daemon --start --quiet \
--nicelevel ${MILTER_NICELEVEL:-0} \
--ionice ${IONICE_LEVEL:-0} \
--exec ${daemon_milter} -- -c ${MILTER_CONF_FILE}
eend $? "Failed to start clamav-milter"
fi
}
stop() {
if [ "${START_CLAMD}" = "yes" ]; then
ebegin "Stopping clamd"
start-stop-daemon --stop --quiet --name clamd
eend $? "Failed to stop clamd"
fi
if [ "${START_FRESHCLAM}" = "yes" ]; then
ebegin "Stopping freshclam"
start-stop-daemon --stop --quiet --name freshclam
eend $? "Failed to stop freshclam"
fi
if [ "${START_MILTER}" = "yes" ]; then
ebegin "Stopping clamav-milter"
start-stop-daemon --stop --quiet --name clamav-milter
eend $? "Failed to stop clamav-milter"
fi
}
logfix() {
clamd_socket=$(get_config clamd LocalSocket /run/clamav/clamd.sock)
clamd_user=$(get_config clamd User clamav)
freshclam_user=$(get_config freshclam DatabaseOwner clamav)
if [ "${START_CLAMD}" = "yes" ]; then
# fix clamd log permissions
# (might be clobbered by logrotate or something)
local logfile=$(get_config clamd LogFile)
if [ -n "${logfile}" ]; then
checkpath --quiet \
--owner "${clamd_user}":"${clamd_user}" \
--mode 640 \
--file ${logfile}
fi
fi
if [ "${START_FRESHCLAM}" = "yes" ]; then
# fix freshclam log permissions
# (might be clobbered by logrotate or something)
local logfile=$(get_config freshclam UpdateLogFile)
if [ -n "${logfile}" ]; then
checkpath --quiet \
--owner "${freshclam_user}":"${freshclam_user}" \
--mode 640 \
--file ${logfile}
fi
fi
}

View File

@ -0,0 +1,12 @@
[Unit]
Description=clamd scanner daemon
After=nss-lookup.target network.target
[Service]
Type=forking
ExecStart=/usr/sbin/clamd
Restart=on-failure
PrivateTmp=true
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,12 @@
[Unit]
Description=clamd scanner (%i) daemon
After=nss-lookup.target network.target
[Service]
Type=forking
ExecStart=/usr/sbin/clamd -c /etc/clamd%i.conf
Restart=on-failure
PrivateTmp=true
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,10 @@
[Unit]
Description=clamav updater
[Service]
Type=forking
PIDFile=/run/clamav/freshclam.pid
ExecStart=/usr/bin/freshclam -d -p /run/clamav/freshclam.pid
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,5 @@
AUX makefile.patch 1128 SHA256 6c700f94685f7a6a273528fbabb1770ad550af92a0c72aa62bb3302cffac442a SHA512 7cbb1d118d905d63817984ea5b18828c32e2af796ce69b2b244caf31b2c8456d25ac9109eb69381b2baf281dd11b25e91f3c82ea64af2854aaf62b16f6b5b902 WHIRLPOOL 556d55e63b8be28a02ed3d958179b0c7d7dae7a595097ac812027c75adde03f8b4ba31c005a4a4adfb3627d9b73c7a44febb19a999ec92ad547eb3122d65d6df
DIST VMware-vSphere-CLI-5.5.0-2043780.x86_64.tar.gz 26894969 SHA256 23e4ae5fdab120ff73bb1163297c6c98b0b3d14e8134ed7fad7e21204d902003 SHA512 0b6674c6c720860870fd22ea488ae38512e3c0c0880244edd862100678178daf5bd175ae9932d318dc4082384af7959177555b12527e1e9d2c91e34ae6746dfc WHIRLPOOL 9a67e5aa48fd9cd4fb37f1bc6b9a5e76eda320321e6582ec7ddedfe8bdc1d36b7df4bd7a8af5dccca7f4e597e22f1685261b2281e08f4c70bafe413228d153d5
DIST VMware-vSphere-CLI-6.5.0-4566394.x86_64.tar.gz 53518799 SHA256 c41be99106f819c7661b3902c268036b59e9aa6618dbf7cedb1949bff55c8438 SHA512 e20ca55509a9f14084686b79f98c29486d5c0ff8ef26df01b454dedd65088998fb6bfcb6f178d74e7b9b64b63d185e30c9bfc2f802f149f499a2c8ec017bd1af WHIRLPOOL 10d96cf5ab30883ff32176a970daca88295ec677385d9358693c759f07994c0af6ed7de4fb32e6608f21851e26f605a4daf38a2de8cc3d50f0d880a2f3b51944
EBUILD vmware-vsphere-cli-5.5.0.2043780.ebuild 3012 SHA256 726ad7d15c6a82a1e28d334e301637cc795cd3b60c701f51c8d3625310ae3237 SHA512 0d02f091ac7afea0f6e6502bd3e4fc7894f5a6a2a14625ecaec3f9802b8edb18443cee03ab07525b14a024073935bc2c10da3ab829dd3a8239c71d67f554c92a WHIRLPOOL d17b0284094d7ce2264dcc97db4c5de0de07ea38374bdc63340f18711d302069491bbf178b85e0279a49548ca9be32d440e477f5f881cb97ec3047729c1fdb40
EBUILD vmware-vsphere-cli-6.5.0.4566394.ebuild 2944 SHA256 4f517ef206852b141a7ecbd7e185684d9aca1749200c1c5590f2af73ab588134 SHA512 3e9de243f0e31f01e35ab22106a921f94fb08a3eaa4308d59df41eff9680df34c1cbe76b626594d2669489cd343ba6fbd56601cfe61371d58aa680fdd08c193d WHIRLPOOL 3ddc9254f681b46be8f34dd85d0518cfa5a7e99ee52d3b7d47efbd48f6584ed5fd140bffff6097701ed0ef19c361423b30fd9d40e0740b8caa53698245fdc414

View File

@ -0,0 +1,48 @@
diff --git a/Makefile.PL b/Makefile.PL
index 046e794..429dc42 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -81,43 +81,5 @@ WriteMakefile(
# /usr/bin/perl, and attempt to find a reasonable spot if you
# are running some other perl.
#
- macro => {
- # vmware apps
- INST_VMWARE_APPS => 'apps',
- DEST_VMWARE_APPS => (
- $Config{perlpath} eq '/usr/bin/perl' ?
- '/usr/lib/vmware-viperl/apps' :
- '$(INSTALLSITESCRIPT)/apps'
- ),
- # vmware docs
- INST_VMWARE_DOC => 'doc',
- DEST_VMWARE_DOC => (
- $Config{perlpath} eq '/usr/bin/perl' ?
- '/usr/share/doc/vmware-viperl/doc' :
- '$(SITEPREFIX)/doc'
- ),
- },
);
-#
-# Additional targets for installing apps and doc.
-#
-sub MY::postamble {
- return <<'MAKE';
-install :: install_vmware_apps install_vmware_doc
- $(NOECHO) $(NOOP)
-
-install_vmware_apps :
- $(NOECHO) $(MOD_INSTALL) \
- $(INST_VMWARE_APPS) $(DEST_VMWARE_APPS)
-
-install_vmware_doc :
- $(NOECHO) $(MOD_INSTALL) \
- $(INST_VMWARE_DOC) $(DEST_VMWARE_DOC)
-
-clean ::
- $(RM_RF) VMware WSMan
-
-MAKE
-}
-

View File

@ -0,0 +1,140 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
# Unlike many other binary packages the user doesn't need to agree to a licence
# to download VMWare. The agreeing to a licence is part of the configure step
# which the user must run manually.
# TODO https://communities.vmware.com/thread/488747?start=0&tstart=0
EAPI=5
inherit eutils perl-module versionator
MY_PV=$(replace_version_separator 3 '-' )
MY_PN="VMware-vSphere-CLI-${MY_PV}"
DESCRIPTION="VMware vSphere Command-Line Interface"
HOMEPAGE="http://www.vmware.com/"
SRC_URI=" amd64? ( https://gentoorepo.in.edevau.net/edevau/2017/${MY_PN}.x86_64.tar.gz ) "
LICENSE="vmware"
IUSE=""
SLOT="0"
KEYWORDS="-* x86 amd64"
RESTRICT="strip"
DEPEND="
>=dev-lang/perl-5
dev-libs/expat
dev-libs/glib:2
dev-libs/libxml2
dev-libs/openssl:0.9.8
dev-perl/Archive-Zip
dev-perl/Class-MethodMaker
dev-perl/Crypt-SSLeay
dev-perl/Data-Dump
dev-perl/Data-Dumper-Concise
dev-perl/HTML-Parser
dev-perl/SOAP-Lite
dev-perl/URI
dev-perl/Data-UUID
dev-perl/XML-LibXML
dev-perl/XML-NamespaceSupport
dev-perl/XML-SAX
dev-perl/libwww-perl
dev-perl/libxml-perl
virtual/perl-Compress-Raw-Zlib
virtual/perl-IO-Compress
virtual/perl-version
sys-fs/e2fsprogs
sys-libs/zlib"
# !app-emulation/vmware-server
# !app-emulation/vmware-vix
# !app-emulation/vmware-workstation"
RDEPEND="${DEPEND}"
S=${WORKDIR}/${PN}-distrib
pkg_setup() {
if use x86; then
MY_P="${MY_PN}.i386"
elif use amd64; then
MY_P="${MY_PN}.x86_64"
fi
}
src_prepare() {
VMWARE_GROUP=${VMWARE_GROUP:-vmware}
VMWARE_INSTALL_DIR=/opt/${PN//-//}
shortname="vcli"
product="vmware-vcli"
config_dir="/etc/vmware-vcli"
product_name="vSphere CLI"
enewgroup ${VMWARE_GROUP}
# We won't want any perl scripts from VMware
rm -f *.pl bin/*.pl
rm -f etc/installer.sh
epatch "${FILESDIR}"/makefile.patch
perl-module_src_prepare
}
src_install() {
# We loop through our directories and copy everything to our system.
for x in apps bin
do
if [[ -e "${S}"/${x} ]]
then
dodir "${VMWARE_INSTALL_DIR}"/${x}
cp -pPR "${S}"/${x}/* "${D}""${VMWARE_INSTALL_DIR}"/${x} || die "copying ${x}"
fi
done
perl-module_src_install
# init script
if [[ -e "${FILESDIR}/${PN}.rc" ]]
then
newinitd "${FILESDIR}"/${PN}.rc ${product}
fi
# create the environment
local envd="${T}/90vmware-cli"
cat > "${envd}" <<-EOF
PATH='${VMWARE_INSTALL_DIR}/bin'
ROOTPATH='${VMWARE_INSTALL_DIR}/bin'
EOF
doenvd "${envd}"
# Last, we check for any mime files.
if [[ -e "${FILESDIR}/${PN}.xml" ]]
then
insinto /usr/share/mime/packages
doins "${FILESDIR}"/${PN}.xml
fi
if [[ -e doc/EULA ]]
then
insinto "${VMWARE_INSTALL_DIR}"/doc
doins doc/EULA
fi
doman man/*
# create the configuration
#dodir "${config_dir}"
}
pkg_postinst() {
[[ -d "${config_dir}" ]] && chown -R root:${VMWARE_GROUP} ${config_dir}
ewarn "In order to run ${product_name}, you have to"
ewarn "be in the '${VMWARE_GROUP}' group."
}

View File

@ -0,0 +1,138 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
# Unlike many other binary packages the user doesn't need to agree to a licence
# to download VMWare. The agreeing to a licence is part of the configure step
# which the user must run manually.
EAPI=5
inherit eutils perl-module versionator
MY_PV=$(replace_version_separator 3 '-' )
MY_PN="VMware-vSphere-CLI-${MY_PV}"
DESCRIPTION="VMware vSphere Command-Line Interface"
HOMEPAGE="http://www.vmware.com/"
SRC_URI=" amd64? ( https://gentoorepo.in.edevau.net/edevau/2017/${MY_PN}.x86_64.tar.gz ) "
LICENSE="vmware"
IUSE=""
SLOT="0"
KEYWORDS="-* ~x86 ~amd64"
RESTRICT="strip"
DEPEND="
>=dev-lang/perl-5
dev-libs/expat
dev-libs/glib:2
dev-libs/libxml2
dev-libs/openssl:0.9.8
dev-perl/Archive-Zip
dev-perl/Class-MethodMaker
dev-perl/Crypt-SSLeay
dev-perl/Data-Dump
dev-perl/Data-Dumper-Concise
dev-perl/HTML-Parser
dev-perl/SOAP-Lite
dev-perl/URI
dev-perl/Data-UUID
dev-perl/XML-LibXML
dev-perl/XML-NamespaceSupport
dev-perl/XML-SAX
dev-perl/libwww-perl
dev-perl/libxml-perl
virtual/perl-Compress-Raw-Zlib
virtual/perl-IO-Compress
virtual/perl-version
sys-fs/e2fsprogs
sys-libs/zlib"
# !app-emulation/vmware-server
# !app-emulation/vmware-vix
# !app-emulation/vmware-workstation"
RDEPEND="${DEPEND}"
S=${WORKDIR}/${PN}-distrib
pkg_setup() {
if use x86; then
MY_P="${MY_PN}.i386"
elif use amd64; then
MY_P="${MY_PN}.x86_64"
fi
}
src_prepare() {
VMWARE_GROUP=${VMWARE_GROUP:-vmware}
VMWARE_INSTALL_DIR=/opt/${PN//-//}
shortname="vcli"
product="vmware-vcli"
config_dir="/etc/vmware-vcli"
product_name="vSphere CLI"
enewgroup ${VMWARE_GROUP}
# We won't want any perl scripts from VMware
rm -f *.pl bin/*.pl
rm -f etc/installer.sh
epatch "${FILESDIR}"/makefile.patch
perl-module_src_prepare
}
src_install() {
# We loop through our directories and copy everything to our system.
for x in apps bin
do
if [[ -e "${S}"/${x} ]]
then
dodir "${VMWARE_INSTALL_DIR}"/${x}
cp -pPR "${S}"/${x}/* "${D}""${VMWARE_INSTALL_DIR}"/${x} || die "copying ${x}"
fi
done
perl-module_src_install
# init script
if [[ -e "${FILESDIR}/${PN}.rc" ]]
then
newinitd "${FILESDIR}"/${PN}.rc ${product}
fi
# create the environment
local envd="${T}/90vmware-cli"
cat > "${envd}" <<-EOF
PATH='${VMWARE_INSTALL_DIR}/bin'
ROOTPATH='${VMWARE_INSTALL_DIR}/bin'
EOF
doenvd "${envd}"
# Last, we check for any mime files.
if [[ -e "${FILESDIR}/${PN}.xml" ]]
then
insinto /usr/share/mime/packages
doins "${FILESDIR}"/${PN}.xml
fi
if [[ -e doc/EULA ]]
then
insinto "${VMWARE_INSTALL_DIR}"/doc
doins doc/EULA
fi
doman man/*
# create the configuration
#dodir "${config_dir}"
}
pkg_postinst() {
[[ -d "${config_dir}" ]] && chown -R root:${VMWARE_GROUP} ${config_dir}
ewarn "In order to run ${product_name}, you have to"
ewarn "be in the '${VMWARE_GROUP}' group."
}

View File

@ -0,0 +1,8 @@
AUX homeassistant.conf.d 16428 BLAKE2B f11391c5c3dcc75a209a8b31bb74da92626c1b17da01c48e7b53b07a194f6ccb16b82bd8cf91ac274fd448ee4fdbcadb051cd5de1737b6a734936b80803de1ee SHA512 c51f3ac9ab67b55abfe3b5267e008c0283023ab066d1bf454bcb8b43212d76ae2b939b2320a4fd065c02a98fb755315c3a20a60a04287ef2a4937bd6129d8aa7
AUX homeassistant.init.d 893 BLAKE2B 6726ad973f667de85c95bb0a50cda88b13a59eef3adc14cd3cdd77d76410f97ad4d5d614dba2163933f30600f45f7879fdee81e19b98d91bfdfc91e5465f8182 SHA512 ffc124f546734ec46a0fb8049f1f293d69269c54fe25f12e0ccc3baaff4563e612ad2c36d345c9b4d99fcb9b91f44cfb786c752e21799b582d7604e4e996ce2d
AUX homeassistant.logrotate 280 BLAKE2B a1e5ecf35df38b4928415af19c72bb3012fa8ea8f39d71c63c4efbc91df76aa644ecea6d66a6cefac80ef03678f6fbf918b7f9efd5651128c4961e578a822f58 SHA512 9aa3305c605ae2deccac9b69d43cdf50c9dd67bc0abfe5a576cbd866bdc3ba92bdcc824b3e5990d903bad3685abdfec66b4a8bae122a7ea79dabb5f6e8b08613
AUX homeassistant.service 261 BLAKE2B 54819aa30aa5564aca693fa2dd70ad4a9831929a33f1042542e2555fa1ec2cb5cefd746b6abc308bc970f627803279dc3caf5fbf3de5c94b3fd73760e1343a38 SHA512 83f6ba1782f844c290f349ff50bdea8d8d88d41e2f39f3f7d5a015a0f463a4c8f7328acbd3838380cf6ca78090b39ebdbeb5e3f39607b5e307c0e53ff55ee697
AUX recorder.yaml 114 BLAKE2B af04840805aa13124208584e7f1d40335905a083ee7deead5c0e4324c969f2a231c801c23e42075782950aba7535496d92747bf03efd73a80b0d07e8492d18f6 SHA512 cb4e353e54fb6dc7034569b8d62ddcdca92680c23c2c4e1ce707d21cf95e93f41a0c44521d8c3ee90b68c830f6b8e65dab82ae64bfa09727ae384550f7de0c94
AUX update-homeassistant 1326 BLAKE2B 917bdd332c4e5dea5177eecd11a7f8d72b911fddfdc8e5eb54960c526fe8c735e20d44e570cf7aeb99669d2a9670c70da1c5fbc30efb284d1f0f330799de6e24 SHA512 3c05f0d6d1bde0e1526c3e679568794c07091e7856dfd8793e13feec6f22725ddaa3163ca2c81d9df86cf73573f932e561743f05de420b350a0b68f6a9582aca
EBUILD homeassistant-bin-0.76.0.ebuild 2873 BLAKE2B 8bcbcfff6b2613a00714c06588b4292268d84feca3f34a665243dc541e57322a5754b1fb71a3841e7d35aafb6b3acdf3d3dfd3b468caec159408016b4a2dd22a SHA512 452fce27032fb1e60309663b85285ee8baaad1b0665c9121a149fda8a9ac72e9fa7d2ee4d477b4346debd3feb961824e7bb4d90a58f4c504eb89b8b5f8fa6643
EBUILD homeassistant-bin-0.76.2.ebuild 2873 BLAKE2B 8bcbcfff6b2613a00714c06588b4292268d84feca3f34a665243dc541e57322a5754b1fb71a3841e7d35aafb6b3acdf3d3dfd3b468caec159408016b4a2dd22a SHA512 452fce27032fb1e60309663b85285ee8baaad1b0665c9121a149fda8a9ac72e9fa7d2ee4d477b4346debd3feb961824e7bb4d90a58f4c504eb89b8b5f8fa6643

View File

@ -0,0 +1,241 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<title>homeassistant.conf.d\files\homeassistant-bin\app-misc - user/lmiphay.git - Personal overlay of Paul Healy</title>
<meta name='generator' content='cgit v1.2.1'/>
<meta name='robots' content='index,follow'/>
<link rel='stylesheet' type='text/css' href='/cgit.css'/>
<link rel='shortcut icon' href='//www.gentoo.org/favicon.ico'/>
<link rel='alternate' title='Atom feed' href='https://gitweb.gentoo.org/user/lmiphay.git/atom/app-misc/homeassistant-bin/files/homeassistant.conf.d?h=master' type='application/atom+xml'/>
<link rel='vcs-git' href='git://anongit.gentoo.org/user/lmiphay.git' title='user/lmiphay.git Git repository'/>
<link rel='vcs-git' href='https://anongit.gentoo.org/git/user/lmiphay.git' title='user/lmiphay.git Git repository'/>
<link rel='vcs-git' href='http://anongit.gentoo.org/git/user/lmiphay.git' title='user/lmiphay.git Git repository'/>
<link rel='vcs-git' href='git+ssh://git@git.gentoo.org/user/lmiphay.git' title='user/lmiphay.git Git repository'/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="theme-color" content="#54487a">
<meta name="description" content="Browse the Gentoo Git repositories">
<link href="https://assets.gentoo.org/tyrian/bootstrap.min.css" rel="stylesheet" media="screen">
<link href="https://assets.gentoo.org/tyrian/tyrian.min.css" rel="stylesheet" media="screen">
</head>
<body>
<header>
<div class="site-title">
<div class="container">
<div class="row">
<div class="site-title-buttons">
<div class="btn-group btn-group-sm">
<a href="https://get.gentoo.org/" role="button" class="btn get-gentoo"><span class="fa fa-fw fa-download"></span> <strong>Get Gentoo!</strong></a>
<div class="btn-group btn-group-sm">
<a class="btn gentoo-org-sites dropdown-toggle" data-toggle="dropdown" data-target="#" href="#">
<span class="fa fa-fw fa-map-o"></span> <span class="hidden-xs">gentoo.org sites</span> <span class="caret"></span>
</a>
<ul class="dropdown-menu dropdown-menu-right">
<li><a href="https://www.gentoo.org/" title="Main Gentoo website"><span class="fa fa-home fa-fw"></span> gentoo.org</a></li>
<li><a href="https://wiki.gentoo.org/" title="Find and contribute documentation"><span class="fa fa-file-text-o fa-fw"></span> Wiki</a></li>
<li><a href="https://bugs.gentoo.org/" title="Report issues and find common issues"><span class="fa fa-bug fa-fw"></span> Bugs</a></li>
<li><a href="https://forums.gentoo.org/" title="Discuss with the community"><span class="fa fa-comments-o fa-fw"></span> Forums</a></li>
<li><a href="https://packages.gentoo.org/" title="Find software for your Gentoo"><span class="fa fa-hdd-o fa-fw"></span> Packages</a></li>
<li class="divider"></li>
<li><a href="https://planet.gentoo.org/" title="Find out what's going on in the developer community"><span class="fa fa-rss fa-fw"></span> Planet</a></li>
<li><a href="https://archives.gentoo.org/" title="Read up on past discussions"><span class="fa fa-archive fa-fw"></span> Archives</a></li>
<li><a href="https://sources.gentoo.org/" title="Browse our source code"><span class="fa fa-code fa-fw"></span> Sources</a></li>
<li class="divider"></li>
<li><a href="https://infra-status.gentoo.org/" title="Get updates on the services provided by Gentoo"><span class="fa fa-server fa-fw"></span> Infra Status</a></li>
</ul>
</div>
</div>
</div>
<div class="logo">
<a href="/" title="Back to the homepage" class="site-logo">
<object data="https://assets.gentoo.org/tyrian/site-logo.svg" type="image/svg+xml">
<img src="https://assets.gentoo.org/tyrian/site-logo.png" alt="Gentoo Linux Logo">
</object>
</a>
<span class="site-label">GitWeb</span>
</div>
</div>
</div>
</div>
<nav class="tyrian-navbar" role="navigation">
<div class="container">
<div class="row">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-main-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse navbar-main-collapse">
<ul class="nav navbar-nav">
<li><a href="/">Home</a></li>
<li><a href="/repo/gentoo.git">Gentoo Repository</a></li>
<li><a href="/repo/">Repositories</a></li>
<li><a href="/proj/">Projects</a></li>
<li><a href="/dev/">Developer Overlays</a></li>
<li><a href="/user/">User Overlays</a></li>
<li><a href="/data/">Data</a></li>
<li><a href="/sites/">Websites</a></li>
</ul>
</div>
</div>
</div>
</nav>
</header>
<div class="container">
<div class="row">
<div class="col-md-12">
<div id='cgit'><table id='header'>
<tr>
<td class='logo' rowspan='2'><a href='/'><img src='/cgit.png' alt='cgit logo'/></a></td>
<td class='main'><a href='/'>index</a> : <a title='user/lmiphay.git' href='/user/lmiphay.git/'>user/lmiphay.git</a></td><td class='form'><form method='get'>
<select name='h' onchange='this.form.submit();'>
<option value='master' selected='selected'>master</option>
</select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>Personal overlay of Paul Healy</td><td class='sub right'>Paul Healy &lt;lmiphay@gmail.com&gt;</td></tr></table>
<table class='tabs'><tr><td>
<a href='/user/lmiphay.git/about/'>about</a><a href='/user/lmiphay.git/'>summary</a><a href='/user/lmiphay.git/refs/'>refs</a><a href='/user/lmiphay.git/log/app-misc/homeassistant-bin/files/homeassistant.conf.d'>log</a><a class='active' href='/user/lmiphay.git/tree/app-misc/homeassistant-bin/files/homeassistant.conf.d'>tree</a><a href='/user/lmiphay.git/commit/app-misc/homeassistant-bin/files/homeassistant.conf.d'>commit</a><a href='/user/lmiphay.git/diff/app-misc/homeassistant-bin/files/homeassistant.conf.d'>diff</a></td><td class='form'><form class='right' method='get' action='/user/lmiphay.git/log/app-misc/homeassistant-bin/files/homeassistant.conf.d'>
<select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/user/lmiphay.git/tree/'>root</a>/<a href='/user/lmiphay.git/tree/app-misc'>app-misc</a>/<a href='/user/lmiphay.git/tree/app-misc/homeassistant-bin'>homeassistant-bin</a>/<a href='/user/lmiphay.git/tree/app-misc/homeassistant-bin/files'>files</a>/<a href='/user/lmiphay.git/tree/app-misc/homeassistant-bin/files/homeassistant.conf.d'>homeassistant.conf.d</a></div><div class='content'>blob: 401cb10f0827753cf6ef48b95d4c923234195029 (<a href='/user/lmiphay.git/plain/app-misc/homeassistant-bin/files/homeassistant.conf.d'>plain</a>)
<table summary='blob content' class='blob'>
<tr><td class='linenumbers'><pre><a id='n1' href='#n1'>1</a>
<a id='n2' href='#n2'>2</a>
<a id='n3' href='#n3'>3</a>
<a id='n4' href='#n4'>4</a>
<a id='n5' href='#n5'>5</a>
<a id='n6' href='#n6'>6</a>
<a id='n7' href='#n7'>7</a>
<a id='n8' href='#n8'>8</a>
<a id='n9' href='#n9'>9</a>
</pre></td>
<td class='lines'><pre><code><style>.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */</style><div class="highlight"><pre><span></span><span class="err">#</span> <span class="n">Copyright</span> <span class="mi">1999</span><span class="p">-</span><span class="mi">2018</span> <span class="n">Gentoo</span> <span class="n">Foundation</span>
<span class="err">#</span> <span class="n">Distributed</span> <span class="n">under</span> <span class="n">the</span> <span class="n">terms</span> <span class="n">of</span> <span class="n">the</span> <span class="n">GNU</span> <span class="n">General</span> <span class="n">Public</span> <span class="n">License</span> <span class="n">v2</span>
<span class="err">#</span> <span class="p">/</span><span class="n">etc</span><span class="p">/</span><span class="n">conf</span><span class="p">.</span><span class="n">d</span><span class="p">/</span><span class="n">homeassistant</span><span class="p">:</span> <span class="n">configuration</span> <span class="k">for</span> <span class="p">/</span><span class="n">etc</span><span class="p">/</span><span class="n">init</span><span class="p">.</span><span class="n">d</span><span class="p">/</span><span class="n">homeassistant</span>
<span class="err">#</span> <span class="n">Switches</span> <span class="n">to</span> <span class="n">pass</span> <span class="n">to</span> <span class="n">hass</span><span class="p">.</span> <span class="n">See</span> <span class="err">&#39;</span><span class="n">hass</span> <span class="p">--</span><span class="n">help</span><span class="err">&#39;</span> <span class="k">for</span>
<span class="err">#</span> <span class="n">a</span> <span class="n">description</span> <span class="n">of</span> <span class="n">the</span> <span class="n">possible</span> <span class="n">switches</span><span class="p">.</span>
<span class="err">#</span>
<span class="n">HASS_OPTS</span><span class="p">=</span><span class="s">&quot;&quot;</span>
</pre></div>
</code></pre></td></tr></table>
</div> <!-- class=content -->
</div>
</div>
</div>
</div>
<footer>
<div class="container">
<div class="row">
<div class="col-xs-12 col-md-offset-2 col-md-7">
&nbsp;
</div>
<div class="col-xs-12 col-md-3">
<h3 class="footerhead">Questions or comments?</h3>
Please feel free to <a href="https://www.gentoo.org/inside-gentoo/contact/">contact us</a>.
</div>
</div>
<div class="row">
<div class="col-xs-2 col-sm-3 col-md-2">
<ul class="footerlinks three-icons">
<li><a href="https://twitter.com/gentoo" title="@Gentoo on Twitter"><span class="fa fa-twitter fa-fw"></span></a></li>
<li><a href="https://plus.google.com/+Gentoo" title="+Gentoo on Google+"><span class="fa fa-google-plus fa-fw"></span></a></li>
<li><a href="https://www.facebook.com/gentoo.org" title="Gentoo on Facebook"><span class="fa fa-facebook fa-fw"></span></a></li>
</ul>
</div>
<div class="col-xs-10 col-sm-9 col-md-10">
<strong>&copy; 2001&ndash;2018 Gentoo Foundation, Inc.</strong><br>
<small>
Gentoo is a trademark of the Gentoo Foundation, Inc.
The contents of this document, unless otherwise expressly stated, are licensed under the
<a href="https://creativecommons.org/licenses/by-sa/3.0/" rel="license">CC-BY-SA-3.0</a> license.
The <a href="https://www.gentoo.org/inside-gentoo/foundation/name-logo-guidelines.html">Gentoo Name and Logo Usage Guidelines</a> apply.
</small>
</div>
</div>
</div>
</footer>
<script src="https://assets.gentoo.org/tyrian/jquery.min.js"></script>
<script src="https://assets.gentoo.org/tyrian/bootstrap.min.js"></script>
</div> <!-- id=cgit -->
</body>
</html>

View File

@ -0,0 +1,35 @@
#!/sbin/openrc-run
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
description="Open-source home automation platform"
user="homeassistant:homeassistant"
stdoutlog="/var/log/homeassistant/stdout.log"
serverlog="/var/log/homeassistant/server.log"
warningslog="/var/log/homeassistant/warnings.log"
start_stop_daemon_args="--user $user --stdout $stdoutlog --stderr $serverlog --retry 10"
command="/opt/homeassistant/bin/hass"
command_args="
--config /etc/homeassistant
--log-file $warningslog
--log-rotate-days 9
${HASS_OPTS}
"
command_background=yes
pidfile=/run/homeassistant.pid
depend() {
need net
after bootmisc
}
start_pre() {
checkpath --file --owner $user --mode 0644 $stdoutlog
checkpath --file --owner $user --mode 0644 $serverlog
checkpath --file --owner $user --mode 0644 $warningslog
}

View File

@ -0,0 +1,13 @@
# logrotate script for homeassistant
/var/log/homeassistant/stdout.log /var/log/homeassistant/server.log {
daily
missingok
copytruncate
rotate 9
compress
notifempty
su root root
olddir /var/log/homeassistant/old
}

View File

@ -0,0 +1,12 @@
[Unit]
Description=Home Assistant
After=network-online.target
[Service]
Type=simple
User=homeassistant
ExecStart=/opt/homeassistant/bin/hass --log-file /var/log/homeassistant/homeassistant.log --config /etc/homeassistant
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,4 @@
recorder:
purge_interval: 2
purge_keep_days: 10
db_url: sqlite:///var/db/homeassistant/home-assistant_v2.db

View File

@ -0,0 +1,48 @@
#!/bin/bash
# This script will:
# 1. stop homeassistant if it is running (wait/kill it if it fails to stop)
# 2. backs up /opt/homeassistant (moves it to: /opt/homeassistant-OLD_VERSION)
# 3. merges the new version of homeassistant
# 4. re-starts homeassistant if the merge was successful
prog="homeassistant"
atom="app-misc/${prog}-bin"
if /etc/init.d/${prog} --ifstarted stop ; then
echo "${prog} stopped"
else
echo "failed to stop, sleeping/killing: ${prog}"
sleep 10
pkill -9 -f "/opt/${prog}/bin/python3"
/etc/init.d/${prog} zap
fi
installed_version()
{
equery --no-color list -F '$fullversion' "${atom}" | tail -1
}
version=$(installed_version)
if [ -d "/opt/${prog}" ] ; then
if [ ! -d "/opt/${prog}-v${version}" ] ; then
echo "backing up previous version as v${version}"
echo "rollback by: mv /opt/${prog}-v${version} /opt/${prog}"
mv "/opt/${prog}" "/opt/${prog}-v${version}"
else
echo "Previous backup found - (re-)move it manually and run the script again"
exit 2
fi
fi
if emerge -v1 "${atom}" ; then
echo "${atom} $(installed_version) merge successful"
/etc/init.d/${prog} --ifstopped start
echo "now check the logs in /var/log/${prog}; e.g."
echo " tail -f /var/log/${prog}/server.log"
exit 0
else
echo "${atom} merge failed"
exit 1
fi

View File

@ -0,0 +1,113 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python3_5 python3_6 )
inherit user readme.gentoo-r1 eutils distutils-r1 systemd
MY_PN="${PN/-bin/}"
DESCRIPTION="Home automation platform (Python 3 required)"
HOMEPAGE="https://home-assistant.io"
SRC_URI="" # pip installs HA version $PV from PyPI
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="maint"
DEPEND="
${PYTHON_DEPS}
!app-misc/homeassistant
>=dev-lang/python-3.5.4
dev-python/pip[${PYTHON_USEDEP}]
dev-python/virtualenv[${PYTHON_USEDEP}]
"
RDEPEND="
${DEPEND}
app-admin/logrotate
maint? (
app-crypt/certbot
app-crypt/ssl-cert-check
net-misc/dropbox-uploader
virtual/logger
)
"
INSTALL_DIR="/opt/${MY_PN}"
DISABLE_AUTOFORMATTING=1
DOC_CONTENTS="
The HA interface listens on port 8123 - this _will_ take a minute or two to appear
hass configuration is in: /etc/${MY_PN}
For openrc daemon command line arguments are configured in: /etc/conf.d/${MY_PN}
logging is to: /var/log/${MY_PN}/{server,errors,stdout}.log
The sqlite db is by default in: /etc/${MY_PN}
To move it after ${MY_PN} has run once and while ${MY_PN} is stopped:
- add /etc/${MY_PN}/recorder.yaml to /etc/${MY_PN}/configuration.yaml
- mv /etc/${MY_PN}/home-assistant_v2.db /var/db/${MY_PN}
support thread at:
https://community.home-assistant.io/t/gentoo-homeassistant-0-59-2-ebuild/35577
The script /usr/bin/update-homeassistant can be used to update homeassistant-bin (it keeps
a backup of the previous virtualenv under /opt). The script is for openrc only at the moment.
"
S="${WORKDIR}"
pkg_setup() {
enewgroup "${MY_PN}"
enewuser "${MY_PN}" -1 -1 "$INSTALL_DIR" "${MY_PN}"
}
src_compile() {
true
}
src_install() {
dobin "${FILESDIR}/update-homeassistant"
keepdir "$INSTALL_DIR"
keepdir "/etc/${MY_PN}"
insinto "/etc/${MY_PN}"
doins "${FILESDIR}/recorder.yaml"
fowners -R "${MY_PN}:${MY_PN}" "/etc/${MY_PN}"
python3.5 -m venv "${D}/$INSTALL_DIR"
# for no output from pip add: --quiet
# note the venv has a python3, but no python3.5
VIRTUAL_ENV="$INSTALL_DIR" "${D}/$INSTALL_DIR/bin/python3" -m pip --no-cache-dir install "${MY_PN}==${PV}"
sed -i "1c#!$INSTALL_DIR/bin/python3" "${D}/$INSTALL_DIR/bin/hass"
fowners -R "${MY_PN}:${MY_PN}" "$INSTALL_DIR"
newconfd "${FILESDIR}/${MY_PN}.conf.d" "${MY_PN}"
newinitd "${FILESDIR}/${MY_PN}.init.d" "${MY_PN}"
insinto /etc/logrotate.d
newins "${FILESDIR}/${MY_PN}.logrotate" "${MY_PN}"
keepdir "/var/log/${MY_PN}/old"
fowners -R "${MY_PN}:${MY_PN}" "/var/log/${MY_PN}"
keepdir "/var/db/${MY_PN}"
fowners -R "${MY_PN}:${MY_PN}" "/var/db/${MY_PN}"
systemd_dounit "${FILESDIR}"/${MY_PN}.service
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}
pkg_config() {
"${INSTALL_DIR}/bin/hass" --script ensure_config
}

View File

@ -0,0 +1,113 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python3_5 python3_6 )
inherit user readme.gentoo-r1 eutils distutils-r1 systemd
MY_PN="${PN/-bin/}"
DESCRIPTION="Home automation platform (Python 3 required)"
HOMEPAGE="https://home-assistant.io"
SRC_URI="" # pip installs HA version $PV from PyPI
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64"
IUSE="maint"
DEPEND="
${PYTHON_DEPS}
!app-misc/homeassistant
>=dev-lang/python-3.5.4
dev-python/pip[${PYTHON_USEDEP}]
dev-python/virtualenv[${PYTHON_USEDEP}]
"
RDEPEND="
${DEPEND}
app-admin/logrotate
maint? (
app-crypt/certbot
app-crypt/ssl-cert-check
net-misc/dropbox-uploader
virtual/logger
)
"
INSTALL_DIR="/opt/${MY_PN}"
DISABLE_AUTOFORMATTING=1
DOC_CONTENTS="
The HA interface listens on port 8123 - this _will_ take a minute or two to appear
hass configuration is in: /etc/${MY_PN}
For openrc daemon command line arguments are configured in: /etc/conf.d/${MY_PN}
logging is to: /var/log/${MY_PN}/{server,errors,stdout}.log
The sqlite db is by default in: /etc/${MY_PN}
To move it after ${MY_PN} has run once and while ${MY_PN} is stopped:
- add /etc/${MY_PN}/recorder.yaml to /etc/${MY_PN}/configuration.yaml
- mv /etc/${MY_PN}/home-assistant_v2.db /var/db/${MY_PN}
support thread at:
https://community.home-assistant.io/t/gentoo-homeassistant-0-59-2-ebuild/35577
The script /usr/bin/update-homeassistant can be used to update homeassistant-bin (it keeps
a backup of the previous virtualenv under /opt). The script is for openrc only at the moment.
"
S="${WORKDIR}"
pkg_setup() {
enewgroup "${MY_PN}"
enewuser "${MY_PN}" -1 -1 "$INSTALL_DIR" "${MY_PN}"
}
src_compile() {
true
}
src_install() {
dobin "${FILESDIR}/update-homeassistant"
keepdir "$INSTALL_DIR"
keepdir "/etc/${MY_PN}"
insinto "/etc/${MY_PN}"
doins "${FILESDIR}/recorder.yaml"
fowners -R "${MY_PN}:${MY_PN}" "/etc/${MY_PN}"
python3.5 -m venv "${D}/$INSTALL_DIR"
# for no output from pip add: --quiet
# note the venv has a python3, but no python3.5
VIRTUAL_ENV="$INSTALL_DIR" "${D}/$INSTALL_DIR/bin/python3" -m pip --no-cache-dir install "${MY_PN}==${PV}"
sed -i "1c#!$INSTALL_DIR/bin/python3" "${D}/$INSTALL_DIR/bin/hass"
fowners -R "${MY_PN}:${MY_PN}" "$INSTALL_DIR"
newconfd "${FILESDIR}/${MY_PN}.conf.d" "${MY_PN}"
newinitd "${FILESDIR}/${MY_PN}.init.d" "${MY_PN}"
insinto /etc/logrotate.d
newins "${FILESDIR}/${MY_PN}.logrotate" "${MY_PN}"
keepdir "/var/log/${MY_PN}/old"
fowners -R "${MY_PN}:${MY_PN}" "/var/log/${MY_PN}"
keepdir "/var/db/${MY_PN}"
fowners -R "${MY_PN}:${MY_PN}" "/var/db/${MY_PN}"
systemd_dounit "${FILESDIR}"/${MY_PN}.service
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}
pkg_config() {
"${INSTALL_DIR}/bin/hass" --script ensure_config
}

View File

@ -0,0 +1,14 @@
AUX homeassistant.conf.d 289 BLAKE2B f4a85e5a451a254a8ef39ae481275eb93b52df645d5b5c5801fee30aa548b9ccc0eacc9fb5256793d819dabe7b53f6ff5809798d0cf771464d56aae5a58332d2 SHA512 db860c0c66d0ea66eae08e62befc07d06ccea37a2ab89280328faa54ef6cc0623a65257e7806c72b1afe608e502566ca4ee8ac7de3547705ee6394184b5da110
AUX homeassistant.init.d 878 BLAKE2B 368782d452a12bc7d069c4b345c753f736ca395c765b93a835a0723a2f07706b34cf53eef6290ea5b0e658ade0d2337726f249801a3f700b29dea6043a3f783b SHA512 d2075519e3adb9c71942dd6849d74a5e99c6b23cb76d1c652c73cd1c74b1d5069b5eeefa6f15499eae97b96af884a8f2622250aea952e898a78ab67b02646a88
AUX homeassistant.logrotate 280 BLAKE2B a1e5ecf35df38b4928415af19c72bb3012fa8ea8f39d71c63c4efbc91df76aa644ecea6d66a6cefac80ef03678f6fbf918b7f9efd5651128c4961e578a822f58 SHA512 9aa3305c605ae2deccac9b69d43cdf50c9dd67bc0abfe5a576cbd866bdc3ba92bdcc824b3e5990d903bad3685abdfec66b4a8bae122a7ea79dabb5f6e8b08613
AUX homeassistant.service 261 BLAKE2B 54819aa30aa5564aca693fa2dd70ad4a9831929a33f1042542e2555fa1ec2cb5cefd746b6abc308bc970f627803279dc3caf5fbf3de5c94b3fd73760e1343a38 SHA512 83f6ba1782f844c290f349ff50bdea8d8d88d41e2f39f3f7d5a015a0f463a4c8f7328acbd3838380cf6ca78090b39ebdbeb5e3f39607b5e307c0e53ff55ee697
AUX recorder.yaml 114 BLAKE2B af04840805aa13124208584e7f1d40335905a083ee7deead5c0e4324c969f2a231c801c23e42075782950aba7535496d92747bf03efd73a80b0d07e8492d18f6 SHA512 cb4e353e54fb6dc7034569b8d62ddcdca92680c23c2c4e1ce707d21cf95e93f41a0c44521d8c3ee90b68c830f6b8e65dab82ae64bfa09727ae384550f7de0c94
AUX update-homeassistant 1326 BLAKE2B 917bdd332c4e5dea5177eecd11a7f8d72b911fddfdc8e5eb54960c526fe8c735e20d44e570cf7aeb99669d2a9670c70da1c5fbc30efb284d1f0f330799de6e24 SHA512 3c05f0d6d1bde0e1526c3e679568794c07091e7856dfd8793e13feec6f22725ddaa3163ca2c81d9df86cf73573f932e561743f05de420b350a0b68f6a9582aca
DIST homeassistant-0.77.2.tar.gz 2836847 BLAKE2B 22781084751bd92a59a3cbc44992495130ed24106b0d729d5ac4c7be0587b07e01cd50aa624d863fe606866d765618d071d00983e8764fe17afccaaa36bc7a97 SHA512 fdb67a0501e973c6d7548f62cc88acac686671be5fc728c1128f6bb8ed099f004c513bd867da493bcd7442567df388e66f6b7791f89269fb26bfcb6727b725af
DIST homeassistant-0.77.3.tar.gz 2837685 BLAKE2B 98d8f36477695aff9b9c0b0216f651a85c31463d4a727abc125b794afbda21dc6c6e40edd4ad3a5299306d01d983d11cca5aba9ad8b5d84bd5016d88d1195a09 SHA512 40c3046f88101e52e2ea3fe4b258833b5974227cf92b537d595e537dfe0030904ef19826d9f783d4c2c6e8b10bfa9ced97c006baeef28d31409c4c756e957657
DIST homeassistant-0.78.0.tar.gz 2863439 BLAKE2B f207d82795309ff484fb52133de6574d5ccb59a75c4ca6ce45dc13c673dad9d150fbb24e3c84bd5ada0317534795b966cea301a630d3e3315a756c9de7719dd3 SHA512 1ee645e0d816cf92d0843563396c52e9547b3810f238f840079f93638feb3e84d8b61f0b84d12bd716d007614a0c70b6f0cc2c7f2751910fd8d0aeeb5eb4f185
DIST homeassistant-0.78.1.tar.gz 2863516 BLAKE2B 92e1ffb46db0c0756be24d069169ff342e266600a2076ad988be34b19093d1020f1854bb6c3d2810a75b46c4b38000214462d4362ac1e8914165a95bfbcaed5a SHA512 f39f06396bf8758fff90df44a4f28114ad343ac6a0fd1c361c3277d1cd959cd1b7495bc51aafbeda25b6eb234214680732f974b6349e063cb649b2781c7fc8e0
EBUILD homeassistant-0.77.2.ebuild 2814 BLAKE2B 79f83a94173802e5026fab45e3d544fa15e896aeed85bcb0c52364411f4c6a83b5a922fe834569629d2b557e8ecf3df375b0142de0ac943938a584c71945ca46 SHA512 84491521b703ae12e2433914898e82f9318c34999dd6113c99ca9745e895c5dc2bc3dab4221cb3238f2ef23c34b93f2999ae1fe54afa89692d682bd89de29cee
EBUILD homeassistant-0.77.3.ebuild 2814 BLAKE2B 79f83a94173802e5026fab45e3d544fa15e896aeed85bcb0c52364411f4c6a83b5a922fe834569629d2b557e8ecf3df375b0142de0ac943938a584c71945ca46 SHA512 84491521b703ae12e2433914898e82f9318c34999dd6113c99ca9745e895c5dc2bc3dab4221cb3238f2ef23c34b93f2999ae1fe54afa89692d682bd89de29cee
EBUILD homeassistant-0.78.0.ebuild 2814 BLAKE2B 79f83a94173802e5026fab45e3d544fa15e896aeed85bcb0c52364411f4c6a83b5a922fe834569629d2b557e8ecf3df375b0142de0ac943938a584c71945ca46 SHA512 84491521b703ae12e2433914898e82f9318c34999dd6113c99ca9745e895c5dc2bc3dab4221cb3238f2ef23c34b93f2999ae1fe54afa89692d682bd89de29cee
EBUILD homeassistant-0.78.1.ebuild 3558 BLAKE2B ca5277a8d61eef124d916ac88a07bc579416ea34ce9d49653fc759e21572beb3bf1f4bc9638fa7ee28d2540cf0c1bd774c7a6039609c8e0f7e4d68534ae98c5e SHA512 c3e22ad19760e14776139c23b74392ef5643f19b76f7df95cf7335b479542b61157502189e083b71dc769b53ff791a24540853f99aa629dc2e559ca36df43d45

View File

@ -0,0 +1,9 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# /etc/conf.d/homeassistant: configuration for /etc/init.d/homeassistant
# Switches to pass to hass. See 'hass --help' for
# a description of the possible switches.
#
HASS_OPTS=""

View File

@ -0,0 +1,35 @@
#!/sbin/openrc-run
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
description="Open-source home automation platform"
user="homeassistant:homeassistant"
stdoutlog="/var/log/homeassistant/stdout.log"
serverlog="/var/log/homeassistant/server.log"
warningslog="/var/log/homeassistant/warnings.log"
start_stop_daemon_args="--user $user --stdout $stdoutlog --stderr $serverlog --wait 10"
command="/usr/bin/hass"
command_args="
--config /etc/homeassistant
--log-file $warningslog
--log-rotate-days 9
${HASS_OPTS}
"
command_background=yes
pidfile=/run/homeassistant.pid
depend() {
need net
after bootmisc
}
start_pre() {
checkpath --file --owner $user --mode 0644 $stdoutlog
checkpath --file --owner $user --mode 0644 $serverlog
checkpath --file --owner $user --mode 0644 $warningslog
}

View File

@ -0,0 +1,13 @@
# logrotate script for homeassistant
/var/log/homeassistant/stdout.log /var/log/homeassistant/server.log {
daily
missingok
copytruncate
rotate 9
compress
notifempty
su root root
olddir /var/log/homeassistant/old
}

View File

@ -0,0 +1,12 @@
[Unit]
Description=Home Assistant
After=network-online.target
[Service]
Type=simple
User=homeassistant
ExecStart=/opt/homeassistant/bin/hass --log-file /var/log/homeassistant/homeassistant.log --config /etc/homeassistant
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,4 @@
recorder:
purge_interval: 2
purge_keep_days: 10
db_url: sqlite:///var/db/homeassistant/home-assistant_v2.db

View File

@ -0,0 +1,48 @@
#!/bin/bash
# This script will:
# 1. stop homeassistant if it is running (wait/kill it if it fails to stop)
# 2. backs up /opt/homeassistant (moves it to: /opt/homeassistant-OLD_VERSION)
# 3. merges the new version of homeassistant
# 4. re-starts homeassistant if the merge was successful
prog="homeassistant"
atom="app-misc/${prog}-bin"
if /etc/init.d/${prog} --ifstarted stop ; then
echo "${prog} stopped"
else
echo "failed to stop, sleeping/killing: ${prog}"
sleep 10
pkill -9 -f "/opt/${prog}/bin/python3"
/etc/init.d/${prog} zap
fi
installed_version()
{
equery --no-color list -F '$fullversion' "${atom}" | tail -1
}
version=$(installed_version)
if [ -d "/opt/${prog}" ] ; then
if [ ! -d "/opt/${prog}-v${version}" ] ; then
echo "backing up previous version as v${version}"
echo "rollback by: mv /opt/${prog}-v${version} /opt/${prog}"
mv "/opt/${prog}" "/opt/${prog}-v${version}"
else
echo "Previous backup found - (re-)move it manually and run the script again"
exit 2
fi
fi
if emerge -v1 "${atom}" ; then
echo "${atom} $(installed_version) merge successful"
/etc/init.d/${prog} --ifstopped start
echo "now check the logs in /var/log/${prog}; e.g."
echo " tail -f /var/log/${prog}/server.log"
exit 0
else
echo "${atom} merge failed"
exit 1
fi

View File

@ -0,0 +1,106 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python3_5 python3_6 )
inherit user readme.gentoo-r1 eutils distutils-r1
DESCRIPTION="Open-source home automation platform running on Python 3.6"
HOMEPAGE="https://home-assistant.io"
SRC_URI="https://github.com/home-assistant/home-assistant/archive/${PV}.tar.gz -> ${P}.tar.gz"
RESTRICT="mirror"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64"
IUSE="atv hs100 maint tradfri wemo"
DEPEND="
${PYTHON_DEPS}
!app-misc/homeassistant-bin
>=dev-python/requests-2.18.4[${PYTHON_USEDEP}]
>=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
>=dev-python/pytz-2017.02[${PYTHON_USEDEP}]
>=dev-python/pip-9.0.1[${PYTHON_USEDEP}]
>=dev-python/jinja-2.10[${PYTHON_USEDEP}]
>=dev-python/voluptuous-0.11.1[${PYTHON_USEDEP}]
>=dev-python/aiohttp-2.3.10[${PYTHON_USEDEP}]
>=dev-python/yarl-1.1.0[${PYTHON_USEDEP}]
>=dev-python/async_timeout-2.0.0[${PYTHON_USEDEP}]
>=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
>=dev-python/certifi-2017.4.17[${PYTHON_USEDEP}]
>=dev-python/attrs-17.4.0[${PYTHON_USEDEP}]
atv? ( >=dev-python/pyatv-0.3.9[${PYTHON_USEDEP}] )
hs100? ( >=dev-python/pyhs100-0.3.0[${PYTHON_USEDEP}] )
tradfri? ( >=dev-python/pytradfri-4.1.0[${PYTHON_USEDEP}] )
wemo? ( >=dev-python/pywemo-0.4.25[${PYTHON_USEDEP}] )
"
# >=dev-python/typing-3.5.3.0[${PYTHON_USEDEP}]
RDEPEND="
${DEPEND}
app-admin/logrotate
maint? (
app-crypt/certbot
app-crypt/ssl-cert-check
net-misc/dropbox-uploader
)
"
INSTALL_DIR="/opt/${PN}"
DISABLE_AUTOFORMATTING=1
DOC_CONTENTS="
The HA interface listens on port 8123 - this _will_ take a minute or two to appear
hass configuration is in: /etc/${MY_PN}
daemon command line arguments are configured in: /etc/conf.d/${MY_PN}
logging is to: /var/log/${MY_PN}/{server,errors,stdout}.log
The sqlite db is by default in: /etc/${MY_PN}
To move it after ${MY_PN} has run once and while ${MY_PN} is stopped:
- add /etc/${MY_PN}/recorder.yaml to /etc/${MY_PN}/configuration.yaml
- mv /etc/${MY_PN}/home-assistant_v2.db /var/db/${MY_PN}
support thread at:
https://community.home-assistant.io/t/gentoo-homeassistant-0-59-2-ebuild/35577
"
S="${WORKDIR}/home-assistant-${PV}"
DOCS="README.rst"
pkg_setup() {
enewgroup "${PN}"
enewuser "${PN}" -1 -1 "$INSTALL_DIR" "${PN}"
}
src_prepare() {
sed -e 's;astral==1.5;astral>=1.5;' \
-i "setup.py" \
-i homeassistant/package_constraints.txt
eapply_user
}
python_install_all() {
dodoc ${DOCS}
distutils-r1_python_install_all
keepdir "$INSTALL_DIR"
keepdir "/etc/${PN}"
fowners -R "${PN}:${PN}" "/etc/${PN}"
newconfd "${FILESDIR}/${PN}.conf.d" "${PN}"
newinitd "${FILESDIR}/${PN}.init.d" "${PN}"
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}

View File

@ -0,0 +1,106 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python3_5 python3_6 )
inherit user readme.gentoo-r1 eutils distutils-r1
DESCRIPTION="Open-source home automation platform running on Python 3.6"
HOMEPAGE="https://home-assistant.io"
SRC_URI="https://github.com/home-assistant/home-assistant/archive/${PV}.tar.gz -> ${P}.tar.gz"
RESTRICT="mirror"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64"
IUSE="atv hs100 maint tradfri wemo"
DEPEND="
${PYTHON_DEPS}
!app-misc/homeassistant-bin
>=dev-python/requests-2.18.4[${PYTHON_USEDEP}]
>=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
>=dev-python/pytz-2017.02[${PYTHON_USEDEP}]
>=dev-python/pip-9.0.1[${PYTHON_USEDEP}]
>=dev-python/jinja-2.10[${PYTHON_USEDEP}]
>=dev-python/voluptuous-0.11.1[${PYTHON_USEDEP}]
>=dev-python/aiohttp-2.3.10[${PYTHON_USEDEP}]
>=dev-python/yarl-1.1.0[${PYTHON_USEDEP}]
>=dev-python/async_timeout-2.0.0[${PYTHON_USEDEP}]
>=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
>=dev-python/certifi-2017.4.17[${PYTHON_USEDEP}]
>=dev-python/attrs-17.4.0[${PYTHON_USEDEP}]
atv? ( >=dev-python/pyatv-0.3.9[${PYTHON_USEDEP}] )
hs100? ( >=dev-python/pyhs100-0.3.0[${PYTHON_USEDEP}] )
tradfri? ( >=dev-python/pytradfri-4.1.0[${PYTHON_USEDEP}] )
wemo? ( >=dev-python/pywemo-0.4.25[${PYTHON_USEDEP}] )
"
# >=dev-python/typing-3.5.3.0[${PYTHON_USEDEP}]
RDEPEND="
${DEPEND}
app-admin/logrotate
maint? (
app-crypt/certbot
app-crypt/ssl-cert-check
net-misc/dropbox-uploader
)
"
INSTALL_DIR="/opt/${PN}"
DISABLE_AUTOFORMATTING=1
DOC_CONTENTS="
The HA interface listens on port 8123 - this _will_ take a minute or two to appear
hass configuration is in: /etc/${MY_PN}
daemon command line arguments are configured in: /etc/conf.d/${MY_PN}
logging is to: /var/log/${MY_PN}/{server,errors,stdout}.log
The sqlite db is by default in: /etc/${MY_PN}
To move it after ${MY_PN} has run once and while ${MY_PN} is stopped:
- add /etc/${MY_PN}/recorder.yaml to /etc/${MY_PN}/configuration.yaml
- mv /etc/${MY_PN}/home-assistant_v2.db /var/db/${MY_PN}
support thread at:
https://community.home-assistant.io/t/gentoo-homeassistant-0-59-2-ebuild/35577
"
S="${WORKDIR}/home-assistant-${PV}"
DOCS="README.rst"
pkg_setup() {
enewgroup "${PN}"
enewuser "${PN}" -1 -1 "$INSTALL_DIR" "${PN}"
}
src_prepare() {
sed -e 's;astral==1.5;astral>=1.5;' \
-i "setup.py" \
-i homeassistant/package_constraints.txt
eapply_user
}
python_install_all() {
dodoc ${DOCS}
distutils-r1_python_install_all
keepdir "$INSTALL_DIR"
keepdir "/etc/${PN}"
fowners -R "${PN}:${PN}" "/etc/${PN}"
newconfd "${FILESDIR}/${PN}.conf.d" "${PN}"
newinitd "${FILESDIR}/${PN}.init.d" "${PN}"
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}

View File

@ -0,0 +1,106 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python3_5 python3_6 )
inherit user readme.gentoo-r1 eutils distutils-r1
DESCRIPTION="Open-source home automation platform running on Python 3.6"
HOMEPAGE="https://home-assistant.io"
SRC_URI="https://github.com/home-assistant/home-assistant/archive/${PV}.tar.gz -> ${P}.tar.gz"
RESTRICT="mirror"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64"
IUSE="atv hs100 maint tradfri wemo"
DEPEND="
${PYTHON_DEPS}
!app-misc/homeassistant-bin
>=dev-python/requests-2.18.4[${PYTHON_USEDEP}]
>=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
>=dev-python/pytz-2017.02[${PYTHON_USEDEP}]
>=dev-python/pip-9.0.1[${PYTHON_USEDEP}]
>=dev-python/jinja-2.10[${PYTHON_USEDEP}]
>=dev-python/voluptuous-0.11.1[${PYTHON_USEDEP}]
>=dev-python/aiohttp-2.3.10[${PYTHON_USEDEP}]
>=dev-python/yarl-1.1.0[${PYTHON_USEDEP}]
>=dev-python/async_timeout-2.0.0[${PYTHON_USEDEP}]
>=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
>=dev-python/certifi-2017.4.17[${PYTHON_USEDEP}]
>=dev-python/attrs-17.4.0[${PYTHON_USEDEP}]
atv? ( >=dev-python/pyatv-0.3.9[${PYTHON_USEDEP}] )
hs100? ( >=dev-python/pyhs100-0.3.0[${PYTHON_USEDEP}] )
tradfri? ( >=dev-python/pytradfri-4.1.0[${PYTHON_USEDEP}] )
wemo? ( >=dev-python/pywemo-0.4.25[${PYTHON_USEDEP}] )
"
# >=dev-python/typing-3.5.3.0[${PYTHON_USEDEP}]
RDEPEND="
${DEPEND}
app-admin/logrotate
maint? (
app-crypt/certbot
app-crypt/ssl-cert-check
net-misc/dropbox-uploader
)
"
INSTALL_DIR="/opt/${PN}"
DISABLE_AUTOFORMATTING=1
DOC_CONTENTS="
The HA interface listens on port 8123 - this _will_ take a minute or two to appear
hass configuration is in: /etc/${MY_PN}
daemon command line arguments are configured in: /etc/conf.d/${MY_PN}
logging is to: /var/log/${MY_PN}/{server,errors,stdout}.log
The sqlite db is by default in: /etc/${MY_PN}
To move it after ${MY_PN} has run once and while ${MY_PN} is stopped:
- add /etc/${MY_PN}/recorder.yaml to /etc/${MY_PN}/configuration.yaml
- mv /etc/${MY_PN}/home-assistant_v2.db /var/db/${MY_PN}
support thread at:
https://community.home-assistant.io/t/gentoo-homeassistant-0-59-2-ebuild/35577
"
S="${WORKDIR}/home-assistant-${PV}"
DOCS="README.rst"
pkg_setup() {
enewgroup "${PN}"
enewuser "${PN}" -1 -1 "$INSTALL_DIR" "${PN}"
}
src_prepare() {
sed -e 's;astral==1.5;astral>=1.5;' \
-i "setup.py" \
-i homeassistant/package_constraints.txt
eapply_user
}
python_install_all() {
dodoc ${DOCS}
distutils-r1_python_install_all
keepdir "$INSTALL_DIR"
keepdir "/etc/${PN}"
fowners -R "${PN}:${PN}" "/etc/${PN}"
newconfd "${FILESDIR}/${PN}.conf.d" "${PN}"
newinitd "${FILESDIR}/${PN}.init.d" "${PN}"
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}

View File

@ -0,0 +1,122 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python3_5 python3_6 )
inherit user readme.gentoo-r1 eutils distutils-r1
DESCRIPTION="Open-source home automation platform running on Python 3.6"
HOMEPAGE="https://home-assistant.io"
SRC_URI="https://github.com/home-assistant/home-assistant/archive/${PV}.tar.gz -> ${P}.tar.gz"
RESTRICT="mirror"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64"
IUSE="atv hs100 maint tradfri wemo mysql musiccast"
DEPEND="
${PYTHON_DEPS}
!app-misc/homeassistant-bin
>=dev-python/requests-2.19.1-r1[${PYTHON_USEDEP}]
>=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
>=dev-python/pytz-2018.04[${PYTHON_USEDEP}]
>=dev-python/pip-9.0.1[${PYTHON_USEDEP}]
>=dev-python/jinja-2.10[${PYTHON_USEDEP}]
>=dev-python/voluptuous-0.11.5[${PYTHON_USEDEP}]
>=dev-python/voluptuous-serialize-2.0.0[${PYTHON_USEDEP}]
>=dev-python/aiohttp-3.4.4[${PYTHON_USEDEP}]
>=dev-python/yarl-1.1.1[${PYTHON_USEDEP}]
>=dev-python/async_timeout-3.0.0[${PYTHON_USEDEP}]
>=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
>=dev-python/certifi-2018.4.16[${PYTHON_USEDEP}]
>=dev-python/attrs-18.2.0[${PYTHON_USEDEP}]
>=dev-python/beautifulsoup-4.5.1[${PYTHON_USEDEP}]
>=dev-python/bcrypt-3.1.4[${PYTHON_USEDEP}]
>=dev-python/colorlog-3.1.4[${PYTHON_USEDEP}]
>=dev-python/aiohttp-cors-0.7.0[${PYTHON_USEDEP}]
>=dev-python/astral-1.6.1[${PYTHON_USEDEP}]
>=dev-python/cryptography-2.3.1[${PYTHON_USEDEP}]
>=dev-libs/openssl-1.0.2o-r6
>=dev-python/urllib3-1.22[${PYTHON_USEDEP}]
>=dev-python/attrs-18.2.0[${PYTHON_USEDEP}]
>=dev-python/idna-ssl-1.0.1[${PYTHON_USEDEP}]
>=dev-python/typing-3.5.3.0[${PYTHON_USEDEP}]
>=dev-python/websocket-client-0.40.0[${PYTHON_USEDEP}]
musiccast? ( >=dev-python/pymusiccast-0.1.6[${PYTHON_USEDEP}] )
mysql? ( dev-python/mysqlclient[${PYTHON_USEDEP}] )
atv? ( >=dev-python/pyatv-0.3.9[${PYTHON_USEDEP}] )
hs100? ( >=dev-python/pyhs100-0.3.0[${PYTHON_USEDEP}] )
tradfri? ( >=dev-python/pytradfri-4.1.0[${PYTHON_USEDEP}] )
wemo? ( >=dev-python/pywemo-0.4.25[${PYTHON_USEDEP}] )
dev-db/sqlite
dev-libs/libfastjson
"
RDEPEND="
${DEPEND}
app-admin/logrotate
maint? (
app-crypt/certbot
app-crypt/ssl-cert-check
net-misc/dropbox-uploader
)
"
INSTALL_DIR="/opt/${PN}"
DISABLE_AUTOFORMATTING=1
DOC_CONTENTS="
The HA interface listens on port 8123 - this _will_ take a minute or two to appear
hass configuration is in: /etc/${MY_PN}
daemon command line arguments are configured in: /etc/conf.d/${MY_PN}
logging is to: /var/log/${MY_PN}/{server,errors,stdout}.log
The sqlite db is by default in: /etc/${MY_PN}
To move it after ${MY_PN} has run once and while ${MY_PN} is stopped:
- add /etc/${MY_PN}/recorder.yaml to /etc/${MY_PN}/configuration.yaml
- mv /etc/${MY_PN}/home-assistant_v2.db /var/db/${MY_PN}
support thread at:
https://community.home-assistant.io/t/gentoo-homeassistant-0-59-2-ebuild/35577
"
S="${WORKDIR}/home-assistant-${PV}"
DOCS="README.rst"
pkg_setup() {
enewgroup "${PN}"
enewuser "${PN}" -1 -1 "$INSTALL_DIR" "${PN}"
}
src_prepare() {
sed -e 's;astral==1.5;astral>=1.5;' \
-i "setup.py" \
-i homeassistant/package_constraints.txt
eapply_user
}
python_install_all() {
dodoc ${DOCS}
distutils-r1_python_install_all
keepdir "$INSTALL_DIR"
keepdir "/etc/${PN}"
fowners -R "${PN}:${PN}" "/etc/${PN}"
newconfd "${FILESDIR}/${PN}.conf.d" "${PN}"
newinitd "${FILESDIR}/${PN}.init.d" "${PN}"
readme.gentoo_create_doc
}
pkg_postinst() {
readme.gentoo_print_elog
}

View File

@ -0,0 +1,216 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $
EAPI=5
inherit git-r3 user
DESCRIPTION="The open Home Automation Bus (openHAB)"
HOMEPAGE="http://www.openhab.org"
SRC_URI=""
EGIT_REPO_URI="https://github.com/openhab/openhab.git"
LICENSE="EPL-1.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
IUSE_OPENHAB_ACTION=(
homematic
mail
nma
openwebif
prowl
pushover
squeezebox
twitter
xbmc
xmpp
xpl
)
IUSE+=" ${IUSE_OPENHAB_ACTION[@]/#/openhab_action_}"
IUSE_OPENHAB_BINDING=(
alarmdecoder
anel
asterisk
astro
benqprojector
bluetooth
bticino
comfoair
configadmin
cups
daikin
davis
digitalstrom
dmx
dmx_artnet
dmx_lib485
dmx_ola
dscalarm
ecotouch
ehealth
ekey
em
energenie
enigma2
enocean
epsonprojector
exec
fht
freebox
freeswitch
fritzaha
fritzbox
fs20
gpio
hdanywhere
heatmiser
homematic
http
hue
iec6205621meter
ihc
insteonhub
insteonplm
intertechno
irtrans
jointspace
k8055
knx
koubachi
lgtv
maxcube
maxcul
milight
mios
modbus
mpd
mqtt
mqttitude
neohub
netatmo
networkhealth
nibeheatpump
nikobus
novelanheatpump
ntp
oceanic
omnilink
onewire
onkyo
openenergymonitor
openpaths
opensprinkler
owserver
piface
pilight
pioneeravr
plcbus
plugwise
pulseaudio
rfxcom
rme
s300th
samsungac
samsungtv
serial
snmp
sonos
squeezebox
swegonventilation
systeminfo
tcp
tellstick
tinkerforge
tivo
urtsi
vdr
weather
wemo
withings
wol
xbmc
xpl
yamahareceiver
zwave
)
IUSE+=" ${IUSE_OPENHAB_BINDING[@]/#/openhab_binding_}"
IUSE_OPENHAB_IO=(
cv
dropbox
gcal
gpio
multimedia_tts_freetts
multimedia_tts_macintalk
multimedia_tts_marytts
multimedia_tts_speechdispatcher
squeezeserver
transport_cul
transport_xpl
)
IUSE+=" ${IUSE_OPENHAB_IO[@]/#/openhab_io_}"
IUSE_OPENHAB_PERSISTENCE=(
cosm
db4o
exec
gcal
influxdb
jpa
logging
mongodb
mqtt
mysql
rrd4j
sense
)
IUSE+=" ${IUSE_OPENHAB_PERSISTENCE[@]/#/openhab_persistence_}"
DEPEND="dev-java/maven-bin
app-arch/unzip
>=virtual/jdk-1.7"
RDEPEND=">=virtual/jre-1.7"
OPENHAB_HOME="/opt/openhab"
install_openhab_component() {
local component_type=$1
shift
local use_flags=("$@")
for use_flag in ${use_flags[@]}; do
use_flag=openhab_${component_type}_${use_flag}
if ! use $use_flag; then
continue
fi
local component_dir=org.${use_flag//_/.}
local component_path=$(ls bundles/${component_type}/${component_dir}/target/*.jar)
doins $component_path
done
}
pkg_setup() {
enewgroup openhab
enewuser oipenhab -1 -1 $OPENHAB_HOME
}
src_compile() {
mvn install
}
src_install() {
dodir $OPENHAB_HOME
unzip $(ls distribution/target/distribution-*-runtime.zip) -d "${ED}/${OPENHAB_HOME}" || die
# TODO fix server (and subdirectories) permissions being 777
insinto "${OPENHAB_HOME}/addons"
install_openhab_component action "${IUSE_OPENHAB_ACTION[@]}"
install_openhab_component binding "${IUSE_OPENHAB_BINDING[@]}"
install_openhab_component io "${IUSE_OPENHAB_IO[@]}"
install_openhab_component persistence "${IUSE_OPENHAB_PERSISTENCE[@]}"
newinitd "${FILESDIR}/openhab.initd" openhab
newconfd "${FILESDIR}/openhab.confd" openhab
}

11
dev-lang/php/Manifest Normal file
View File

@ -0,0 +1,11 @@
AUX 20php5-envd 145 BLAKE2B 06476b8fc04d1e835496b417ac752f0834ddbe8584e4fddc6db0aa5e6845b82cdea0a1355c77125375dcdd0f0a3c19de5f3a8a64ee93950f96c437a16f971567 SHA512 581aa86479e3cd584ee1bc6dc6d4a135fe8ec343fe5519566d728d81f7018cfb23658bd0c0368951d380982c75adbb4f45acf3c146868aaf4e4ec8e9f2fad1ce
AUX bison_any_version.patch 569 BLAKE2B 120b567396bce5ef2604c050a3e4140756967b23557cd455860a52419776d922c5aba6dd4d4ae926320038bf4bdb6f3076a5674b5a0356802a6986bac48f5c7b SHA512 de8a39d84f67f3787dfa52fbdb17e2d32ef23be2a6f910c046640be3208a58cba9352bc0235f7c67a103e1bb5012806341b914fe8a456c90ec4b7c6608a9068d
AUX bison_build_2a.patch 584 BLAKE2B d735334641f8eb0fa47e087d585d6a755bf46cd9a09b17556384ef8c3af39297bf37c1064693d7dc487fd48d073f5ad385af257c493a9690efd02cd78c201679 SHA512 fb3c1a7ce77b8f0241dd519fc5de97a193c195e0a04f82f56444d6822298bf049f9232eceff678816f480d184e2a02d0161bdc2cf42f42c1b88c462833b3ce28
AUX fix-libstdc++-underlinking.patch 264 BLAKE2B d22a522ab596312f2f089372984d1205de3402f0647a180d41226119708cc92512970b064fd75f67bb2124fffb0e53f3480e4bbb0f1ed9e528d0b7d8e4165407 SHA512 3b91b6917c8d452cbeaf98c445b989f1e0d2c86a02598b5e6647625289868eaf51eee253db8909fb5faada3b588f22b3bfee44b679d6257bcc00c067a80938d6
AUX freetype-2.5.1-linking-fix.patch 2513 BLAKE2B 3e21ff20fe8dd7191a6fa45f86b8f044727ab04c3391438689e40db19b0da6701b0241e48ac363e88a2d9017278d8991753a091635ad6fed1cffdbd45bba14fa SHA512 b1f94d5bbc42c6b321bfb5160820ec6e71a04e6ed38f482edf446d5d0988f2154a4f43e11443b5123960b49d9a00e29a3d62e3558cd2ebe271a7520f303e677d
AUX missing-openssl-include.patch 456 BLAKE2B d0e5efe6ba1684b2b4e76abc503f26c565e9c8ccd562ef9b901db46402ffcf243e4bb92f886c55d85f43e36d230e7cff4a0b3315358881520cbe125c9e99e57f SHA512 e6c663e508772e403e540fc900f752f18d12eef35526154716728da0ba89a8eb48f12bbb7611c0672f22a1d0b6814365e90ecabb8b8e78411816b8b8889f03ea
AUX php-fpm_at-simple.service 316 BLAKE2B 0ba10f3e3b004fbf14956e1e4f04f59b8a127e6717fe6b92c09b9f931033a11551c75fbbee9010f6b694c5a8758ca0eec9eed457ae304ba0dea8f2c256c3b8d4 SHA512 7367a3f8d3874f8e0c76f331ba613a0250db02f60ad9f87affaf448dcb5bc34bcecb91d88f415764a12b24b46ae3d1b738a002af9f77a4b707e916e83a0021fd
DIST php-5.3.29.tar.bz2 11396771 BLAKE2B d8cebe94379f5a1985be893e641e107f9ffdb28ed928006b2b1e0509908a55d17e0422774194de5d7d01f49aac234dd511fdf54c214102a9a0a5a28b76c40945 SHA512 c22c463df7371bbd97beb258f0a9b9d77ec5c3c733fc565091e2bfcda3da2f1d2ab406047afcc70a6da2331acd2698885328d5a334c9922fa7591852eefda5f7
DIST php-patchset-5.3-r0.tar.bz2 7368 BLAKE2B acfc797b398c5d1c963f77db43dacf4659615dd907ef24339e4772b3f68ad143cb699d37194f0c078b6e406914feaf9965c44b878329b6177be36460c7b519b4 SHA512 765b0cf56a3e63ded4ad1d1ba67567881ad06bdc2814cc07004fa338f38fd69078819c7463d2c55e00805c8f33fa925b94228bf7bc3d223acc33c6cff540024c
EBUILD php-5.3.29-r1.ebuild 22328 BLAKE2B 0d1c4539b5e6d0731866ac46e224cdbbe89d0ee0ef781fe32a1063b6e974b153bb5f54329035cbcb7d8e49cfe038719b09d46659094d16858f43b6da1904f4e6 SHA512 7c177dcb902a54bec4de58e582c8276e5f31fb1287cd2bd7a069a3f378e50129504d8e8177c997ea6b79c42412e5273ce07f2ec75ba78e2d25a99a5773790948
EBUILD php-5.3.29.ebuild 22319 BLAKE2B 175252caf7ba43e85b0b416f62b76699a22d803a88cd2a604b450c683f4752f8a70ead9d5935bc49615da6cfb09abc7dbfb9d97ebbed0a9de2b971c8e87e4a43 SHA512 b71b53c31b80b003ee8dce25326afda8750592abe1f51693b3385ff5bd60c65ee9da8ab15aecb2fd66a7566f504ed46a5f14914689f0c5a8534f2db804c9ef70

View File

@ -0,0 +1,2 @@
MANPATH="/usr/lib/php5/man/"
CONFIG_PROTECT_MASK="/etc/php/cli-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/apache2-php5/ext-active/"

View File

@ -0,0 +1,16 @@
--- ./Zend/acinclude.m4 2013-03-20 15:09:27.000000000 +0100
+++ ./Zend/acinclude.m4.new 2013-03-25 21:35:27.654016588 +0100
@@ -17,12 +17,7 @@
if test -n "$bison_version_vars"; then
set $bison_version_vars
bison_version="${1}.${2}"
- for bison_check_version in $bison_version_list; do
- if test "$bison_version" = "$bison_check_version"; then
- php_cv_bison_version="$bison_check_version (ok)"
- break
- fi
- done
+ php_cv_bison_version="$bison_version (ok)"
fi
])
fi

View File

@ -0,0 +1,30 @@
Gentoo bug: #494240
Upstream: #64503
--- Zend/zend_language_parser.y.orig 2013-12-14 12:25:43.528989017 +0100
+++ Zend/zend_language_parser.y 2013-12-14 12:26:30.088988957 +0100
@@ -38,10 +38,6 @@
#define YYERROR_VERBOSE
#define YYSTYPE znode
-#ifdef ZTS
-# define YYPARSE_PARAM tsrm_ls
-# define YYLEX_PARAM tsrm_ls
-#endif
%}
@@ -49,6 +45,13 @@
%pure_parser
%expect 2
+%code requires {
+#ifdef ZTS
+# define YYPARSE_PARAM tsrm_ls
+# define YYLEX_PARAM tsrm_ls
+#endif
+}
+
%left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE
%left ','
%left T_LOGICAL_OR

View File

@ -0,0 +1,10 @@
--- acinclude.m4 2013-04-02 09:58:33.069274096 +0200
+++ acinclude.m4.new 2013-04-02 09:58:25.221240142 +0200
@@ -762,6 +762,7 @@
if test -z "$php_cxx_done"; then
AC_PROG_CXX
AC_PROG_CXXCPP
+ PHP_ADD_LIBRARY(stdc++)
php_cxx_done=yes
fi
])

View File

@ -0,0 +1,64 @@
From a0955f351c7eb1022da7ae36970ffef3b00c8aff Mon Sep 17 00:00:00 2001
From: Adam Harvey <aharvey@php.net>
Date: Sat, 7 Dec 2013 19:39:40 -0800
Subject: [PATCH] Switch to using freetype-config for freetype detection.
This fixes GD compilation against libfreetype 2.5.1 and later after they made
the rather interesting decision to change their include directory layout in a
point release.
The original suggestion in the bug was to use pkg-config, but my inclination is
to use freetype-config instead: we should be able to get the same configuration
information without actually needing pkg-config installed, since pkg-config is
by no means guaranteed to exist on many Unices and distros, whereas
freetype-config should always be present if a libfreetype build environment is
installed. Let's try it out and see what happens.
Fixes bug #64405 (Use freetype-config for determining freetype2 dir(s)).
diff --git a/ext/gd/config.m4 b/ext/gd/config.m4
index 0e35ece..732e14c 100644
--- a/ext/gd/config.m4
+++ b/ext/gd/config.m4
@@ -193,30 +193,25 @@ AC_DEFUN([PHP_GD_FREETYPE2],[
if test "$PHP_FREETYPE_DIR" != "no"; then
for i in $PHP_FREETYPE_DIR /usr/local /usr; do
- if test -f "$i/include/freetype2/freetype/freetype.h"; then
+ if test -f "$i/bin/freetype-config"; then
FREETYPE2_DIR=$i
- FREETYPE2_INC_DIR=$i/include/freetype2
+ FREETYPE2_CONFIG="$i/bin/freetype-config"
break
fi
done
if test -z "$FREETYPE2_DIR"; then
- AC_MSG_ERROR([freetype.h not found.])
+ AC_MSG_ERROR([freetype-config not found.])
fi
- PHP_CHECK_LIBRARY(freetype, FT_New_Face,
- [
- PHP_ADD_LIBRARY_WITH_PATH(freetype, $FREETYPE2_DIR/$PHP_LIBDIR, GD_SHARED_LIBADD)
- PHP_ADD_INCLUDE($FREETYPE2_DIR/include)
- PHP_ADD_INCLUDE($FREETYPE2_INC_DIR)
- AC_DEFINE(USE_GD_IMGSTRTTF, 1, [ ])
- AC_DEFINE(HAVE_LIBFREETYPE,1,[ ])
- AC_DEFINE(ENABLE_GD_TTF,1,[ ])
- ],[
- AC_MSG_ERROR([Problem with freetype.(a|so). Please check config.log for more information.])
- ],[
- -L$FREETYPE2_DIR/$PHP_LIBDIR
- ])
+ FREETYPE2_CFLAGS=`$FREETYPE2_CONFIG --cflags`
+ FREETYPE2_LIBS=`$FREETYPE2_CONFIG --libs`
+
+ PHP_EVAL_INCLINE($FREETYPE2_CFLAGS)
+ PHP_EVAL_LIBLINE($FREETYPE2_LIBS, GD_SHARED_LIBADD)
+ AC_DEFINE(USE_GD_IMGSTRTTF, 1, [ ])
+ AC_DEFINE(HAVE_LIBFREETYPE,1,[ ])
+ AC_DEFINE(ENABLE_GD_TTF,1,[ ])
else
AC_MSG_RESULT([If configure fails try --with-freetype-dir=<DIR>])
fi

View File

@ -0,0 +1,14 @@
--- acinclude.m4 2012-11-17 21:53:06.346408695 +0100
+++ acinclude.m4.new 2013-03-18 11:37:09.253432820 +0100
@@ -2331,8 +2331,10 @@
AC_MSG_ERROR([OpenSSL version 0.9.6 or greater required.])
fi
- if test -n "$OPENSSL_LIBS" && test -n "$OPENSSL_INCS"; then
+ if test -n "$OPENSSL_LIBS" ; then
PHP_EVAL_LIBLINE($OPENSSL_LIBS, $1)
+ fi
+ if test -n "$OPENSSL_INCS" ; then
PHP_EVAL_INCLINE($OPENSSL_INCS)
fi
fi

View File

@ -0,0 +1,13 @@
[Unit]
Description=The PHP FastCGI Process Manager
After=network.target
[Service]
Type=simple
PIDFile=/run/php-fpm/php-fpm-%I.pid
ExecStart=/usr/libexec/php-fpm-launcher php%I -y /etc/php/fpm-php%I/php-fpm.conf --nodaemonize
ExecReload=/bin/kill -USR2 $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

View File

@ -0,0 +1,813 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/Attic/php-5.3.29.ebuild,v 1.16 2015/05/05 02:45:24 grknight dead $
EAPI=5
inherit eutils autotools flag-o-matic versionator depend.apache apache-module db-use libtool systemd
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd"
function php_get_uri ()
{
echo "php_get_uri: ${1} ${2}">/tmp/debug
case "${1}" in
"php-pre")
echo "http://downloads.php.net/johannes/${2}"
;;
"php")
echo "https://gentoorepo.in.edevau.net/edevau/php/${2}"
;;
"gentoo")
echo "https://gentoorepo.in.edevau.net/edevau/php/${2}"
;;
*)
die "unhandled case in php_get_uri"
;;
esac
}
PHP_MV="$(get_major_version)"
SLOT="$(get_version_component_range 1-2)"
# alias, so we can handle different types of releases (finals, rcs, alphas,
# betas, ...) w/o changing the whole ebuild
PHP_PV="${PV/_rc/RC}"
PHP_PV="${PHP_PV/_alpha/alpha}"
PHP_PV="${PHP_PV/_beta/beta}"
PHP_RELEASE="php"
[[ ${PV} == ${PV/_alpha/} ]] || PHP_RELEASE="php-pre"
[[ ${PV} == ${PV/_beta/} ]] || PHP_RELEASE="php-pre"
[[ ${PV} == ${PV/_rc/} ]] || PHP_RELEASE="php-pre"
PHP_P="${PN}-${PHP_PV}"
PHP_SRC_URI="https://gentoorepo.in.edevau.net/edevau/2017/php-5.3/${PN}-${PHP_PV}.tar.bz2"
PHP_PATCHSET="0"
PHP_PATCHSET_URI="https://gentoorepo.in.edevau.net/edevau/2017/php-5.3/php-patchset-${SLOT}-r${PHP_PATCHSET}.tar.bz2"
PHP_FPM_INIT_VER="4"
PHP_FPM_CONF_VER="1"
SRC_URI="
${PHP_SRC_URI}
${PHP_PATCHSET_URI}"
DESCRIPTION="The PHP language runtime engine: CLI, CGI, FPM/FastCGI, Apache2 and embed SAPIs"
HOMEPAGE="http://php.net/"
LICENSE="PHP-3"
S="${WORKDIR}/${PHP_P}"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk
crypt +ctype curl curlwrappers debug
enchant exif +fileinfo +filter firebird
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit mhash
mssql mysql mysqlnd mysqli nls
oci8-instant-client odbc pcntl pdo +phar +posix postgres qdbm
readline recode selinux +session sharedmem
+simplexml snmp soap sockets spell sqlite2 sqlite ssl
sybase-ct sysvipc tidy +tokenizer truetype unicode wddx
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
DEPEND="
>=app-eselect/eselect-php-0.7.1-r3[apache2?,fpm?]
>=dev-libs/libpcre-8.32[unicode]
apache2? ( www-servers/apache[threads=] )
berkdb? ( =sys-libs/db-4* )
bzip2? ( app-arch/bzip2 )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
cjk? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
crypt? ( >=dev-libs/libmcrypt-2.4 )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( app-text/enchant )
exif? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
firebird? ( dev-db/firebird )
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
gdbm? ( >=sys-libs/gdbm-1.8.0 )
gmp? ( >=dev-libs/gmp-4.1.2 )
iconv? ( virtual/libiconv )
imap? ( virtual/imap-c-client[ssl=] )
intl? ( dev-libs/icu:= )
iodbc? ( dev-db/libiodbc )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
mssql? ( dev-db/freetds[mssql] )
!mysqlnd? (
mysql? ( virtual/mysql )
mysqli? ( >=virtual/mysql-4.1 )
)
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
odbc? ( >=dev-db/unixODBC-1.8.13 )
postgres? ( dev-db/postgresql )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline )
recode? ( app-text/recode )
sharedmem? ( dev-libs/mm )
simplexml? ( >=dev-libs/libxml2-2.6.8 )
snmp? ( >=net-analyzer/net-snmp-5.2 )
soap? ( >=dev-libs/libxml2-2.6.8 )
spell? ( >=app-text/aspell-0.50 )
sqlite2? ( =dev-db/sqlite-2* )
sqlite? ( >=dev-db/sqlite-3.7.7.1 )
ssl? ( >=dev-libs/openssl-0.9.7 )
sybase-ct? ( dev-db/freetds )
tidy? ( app-text/htmltidy )
truetype? (
=media-libs/freetype-2*
>=media-libs/t1lib-5.0.0
!gd? (
virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
)
unicode? ( <dev-libs/oniguruma-6.8.0:= )
wddx? ( >=dev-libs/libxml2-2.6.8 )
xml? ( >=dev-libs/libxml2-2.6.8 )
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
xpm? (
x11-libs/libXpm
virtual/jpeg:0
media-libs/libpng:0= sys-libs/zlib
)
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
zip? ( sys-libs/zlib )
zlib? ( sys-libs/zlib )
virtual/mta
"
php="=${CATEGORY}/${PF}"
REQUIRED_USE="
truetype? ( gd )
cjk? ( gd )
exif? ( gd )
xpm? ( gd )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
wddx? ( xml )
xmlrpc? ( || ( xml iconv ) )
xmlreader? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
mhash? ( hash )
phar? ( hash )
mysqlnd? ( || (
mysql
mysqli
pdo
) )
qdbm? ( !gdbm )
readline? ( !libedit )
recode? ( !imap !mysql !mysqli )
sharedmem? ( !threads )
!cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
RDEPEND="${DEPEND}"
RDEPEND="${RDEPEND} fpm? ( selinux? ( sec-policy/selinux-phpfpm ) )"
DEPEND="${DEPEND}
sys-devel/flex
>=sys-devel/m4-1.4.3
>=sys-devel/libtool-1.5.18"
# Allow users to install production version if they want to
case "${PHP_INI_VERSION}" in
production|development)
;;
*)
PHP_INI_VERSION="development"
;;
esac
PHP_INI_UPSTREAM="php.ini-${PHP_INI_VERSION}"
PHP_INI_FILE="php.ini"
want_apache
pkg_setup() {
depend.apache_pkg_setup
}
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
local phpinisrc="${PHP_INI_UPSTREAM}-${phpsapi}"
cp "${PHP_INI_UPSTREAM}" "${phpinisrc}"
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}"
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}"
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}"
if use_if_iuse opcache; then
elog "Adding opcache to ${phpinisrc}"
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> ${phpinisrc}
fi
dodir "${PHP_INI_DIR#${EPREFIX}}"
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${phpinisrc}" "${PHP_INI_FILE}"
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
elog
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
# SAPI-specific handling
if [[ "${sapi}" == "fpm" ]] ; then
[[ -z ${PHP_FPM_CONF_VER} ]] && PHP_FPM_CONF_VER=0
einfo "Installing FPM CGI config file php-fpm.conf"
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${FILESDIR}/php-fpm-r${PHP_FPM_CONF_VER}.conf" php-fpm.conf
# Remove bogus /etc/php-fpm.conf.default (bug 359906)
[[ -f "${ED}/etc/php-fpm.conf.default" ]] && rm "${ED}/etc/php-fpm.conf.default"
fi
# Install PHP ini files into /usr/share/php
dodoc php.ini-development
dodoc php.ini-production
}
php_set_ini_dir() {
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
}
src_prepare() {
# USE=sharedmem (session/mod_mm to be exact) tries to mmap() this path
# ([empty session.save_path]/session_mm_[sapi][gid].sem)
# there is no easy way to circumvent that, all php calls during
# install use -n, so no php.ini file will be used.
# As such, this is the easiest way to get around
addpredict /session_mm_cli250.sem
addpredict /session_mm_cli0.sem
# Change PHP branding
sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \
-i configure.in || die "Unable to change PHP branding"
# Apply generic PHP patches
EPATCH_SOURCE="${WORKDIR}/patches/generic" EPATCH_SUFFIX="patch" \
EPATCH_FORCE="yes" \
EPATCH_MULTI_MSG="Applying generic patches and fixes from upstream..." epatch
#Fix bug 463498
epatch "${FILESDIR}/fix-libstdc++-underlinking.patch"
# Patch for pkg-config-0.28 (Bug 455040)
epatch "${FILESDIR}"/missing-openssl-include.patch
epatch "${FILESDIR}"/bison_build_2a.patch
epatch "${FILESDIR}"/bison_any_version.patch
rm Zend/zend_{language,ini}_parser.[ch]
# Fix for freetype-2.5.1 bug #494272
epatch "${FILESDIR}"/freetype-2.5.1-linking-fix.patch
# Patch PHP to show Gentoo as the server platform
sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
-i configure.in || die "Failed to fix server platform name"
# Prevent PHP from activating the Apache config,
# as we will do that ourselves
sed -i \
-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4
# Patch PHP to support heimdal instead of mit-krb5
if has_version "app-crypt/heimdal" ; then
sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
|| die "Failed to fix heimdal libname"
sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \
|| die "Failed to fix heimdal crypt library reference"
fi
#Add user patches #357637
epatch_user
#force rebuilding aclocal.m4
rm aclocal.m4
# work around divert() issues with newer autoconf, bug #281697
if has_version '>=sys-devel/autoconf-2.64' ; then
sed -i -r \
-e 's:^((m4_)?divert)[(]([0-9]*)[)]:\1(600\3):' \
$(grep -l divert $(find . -name '*.m4') configure.in) || die
fi
eautoreconf --force -W no-cross
}
src_configure() {
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
PHP_DESTDIR="/usr/$(get_libdir)/php${SLOT}"
# This is a global variable and should be in caps. It isn't because the
# phpconfutils eclass relies on exactly this name...
# for --with-libdir see bug #327025
my_conf="--prefix=${PHP_DESTDIR}
--mandir=${PHP_DESTDIR}/man
--infodir=${PHP_DESTDIR}/info
--libdir=${PHP_DESTDIR}/lib
--with-libdir=$(get_libdir)
--without-pear
$(use_enable threads maintainer-zts)"
# extension USE flag shared
my_conf+="
$(use_enable bcmath bcmath )
$(use_with bzip2 bz2 )
$(use_enable calendar calendar )
$(use_enable ctype ctype )
$(use_with curl curl )
$(use_with curlwrappers curlwrappers )
$(use_enable xml dom )
$(use_with enchant enchant /usr)
$(use_enable exif exif )
$(use_enable fileinfo fileinfo )
$(use_enable filter filter )
$(use_enable ftp ftp )
$(use_with nls gettext )
$(use_with gmp gmp )
$(use_enable hash hash )
$(use_with mhash mhash )
$(use_with iconv iconv )
$(use_enable intl intl )
$(use_enable ipv6 ipv6 )
$(use_enable json json )
$(use_with kerberos kerberos /usr)
$(use_enable xml libxml )
$(use_enable unicode mbstring )
$(use_with crypt mcrypt )
$(use_with mssql mssql )
$(use_with unicode onig /usr)
$(use_with ssl openssl )
$(use_with ssl openssl-dir /usr)
$(use_enable pcntl pcntl )
$(use_enable phar phar )
$(use_enable pdo pdo )
$(use_with postgres pgsql )
$(use_enable posix posix )
$(use_with spell pspell )
$(use_with recode recode )
$(use_enable simplexml simplexml )
$(use_enable sharedmem shmop )
$(use_with snmp snmp )
$(use_enable soap soap )
$(use_enable sockets sockets )"
if version_is_at_least 5.3.16-r2; then
my_conf+=" $(use_with sqlite2 sqlite /usr) "
use sqlite2 && my_conf+=" $(use_enable unicode sqlite-utf8)"
else
my_conf+=" $(use_with sqlite sqlite /usr) "
use sqlite && my_conf+=" $(use_enable unicode sqlite-utf8)"
fi
my_conf+="
$(use_with sqlite sqlite3 /usr)
$(use_with sybase-ct sybase-ct /usr)
$(use_enable sysvipc sysvmsg )
$(use_enable sysvipc sysvsem )
$(use_enable sysvipc sysvshm )
$(use_with tidy tidy )
$(use_enable tokenizer tokenizer )
$(use_enable wddx wddx )
$(use_enable xml xml )
$(use_enable xmlreader xmlreader )
$(use_enable xmlwriter xmlwriter )
$(use_with xmlrpc xmlrpc )
$(use_with xslt xsl )
$(use_enable zip zip )
$(use_with zlib zlib )
$(use_enable debug debug )"
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm ; then
my_conf="${my_conf} --enable-dba${shared}"
fi
# DBA drivers support
my_conf+="
$(use_with cdb cdb )
$(use_with berkdb db4 )
$(use_enable flatfile flatfile )
$(use_with gdbm gdbm )
$(use_enable inifile inifile )
$(use_with qdbm qdbm )"
# Support for the GD graphics library
my_conf+="
$(use_with truetype freetype-dir /usr)
$(use_with truetype t1lib /usr)
$(use_enable cjk gd-jis-conv )
$(use_with gd jpeg-dir /usr)
$(use_with gd png-dir /usr)
$(use_with xpm xpm-dir /usr)"
# enable gd last, so configure can pick up the previous settings
my_conf+="
$(use_with gd gd )"
# IMAP support
if use imap ; then
my_conf+="
$(use_with imap imap )
$(use_with ssl imap-ssl )"
fi
# Interbase/firebird support
if use firebird ; then
my_conf+="
$(use_with firebird interbase /usr)"
fi
# LDAP support
if use ldap ; then
my_conf+="
$(use_with ldap ldap )
$(use_with ldap-sasl ldap-sasl )"
fi
# MySQL support
if use mysql ; then
if use mysqlnd ; then
my_conf+="
$(use_with mysqlnd mysql mysqlnd)"
else
my_conf+="
$(use_with mysql mysql /usr)"
fi
my_conf+="
$(use_with mysql mysql-sock /var/run/mysqld/mysqld.sock)"
fi
# MySQLi support
if use mysqlnd ; then
my_conf+="
$(use_with mysqli mysqli mysqlnd)"
else
my_conf+="
$(use_with mysqli mysqli /usr/bin/mysql_config)"
fi
# ODBC support
if use odbc ; then
my_conf+="
$(use_with odbc unixODBC /usr)"
fi
if use iodbc ; then
my_conf+="
$(use_with iodbc iodbc /usr)"
fi
# Oracle support
if use oci8-instant-client ; then
my_conf+="
$(use_with oci8-instant-client oci8)"
fi
# PDO support
if use pdo ; then
my_conf+="
$(use_with mssql pdo-dblib )"
if use mysqlnd ; then
my_conf+="
$(use_with mysql pdo-mysql mysqlnd)"
else
my_conf+="
$(use_with mysql pdo-mysql /usr)"
fi
my_conf+="
$(use_with postgres pdo-pgsql )
$(use_with sqlite pdo-sqlite /usr)
$(use_with odbc pdo-odbc unixODBC,/usr)"
if use oci8-instant-client ; then
my_conf+="
$(use_with oci8-instant-client pdo-oci)"
fi
fi
# readline/libedit support
my_conf+="
$(use_with readline readline )
$(use_with libedit libedit )"
# Session support
if use session ; then
my_conf+="
$(use_with sharedmem mm )"
else
my_conf+="
$(use_enable session session )"
fi
# Use pic for shared modules such as apache2's mod_php
my_conf="${my_conf} --with-pic"
# we use the system copy of pcre
# --with-pcre-regex affects ext/pcre
# --with-pcre-dir affects ext/filter and ext/zip
my_conf="${my_conf} --with-pcre-regex=/usr --with-pcre-dir=/usr"
# Catch CFLAGS problems
# Fixes bug #14067.
# Changed order to run it in reverse for bug #32022 and #12021.
replace-cpu-flags "k6*" "i586"
# Support user-passed configuration parameters
my_conf="${my_conf} ${EXTRA_ECONF:-}"
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
mkdir -p "${WORKDIR}/sapis-build"
for one_sapi in $SAPIS ; do
use "${one_sapi}" || continue
php_set_ini_dir "${one_sapi}"
cp -r "${S}" "${WORKDIR}/sapis-build/${one_sapi}"
cd "${WORKDIR}/sapis-build/${one_sapi}"
sapi_conf="${my_conf} --with-config-file-path=${PHP_INI_DIR}
--with-config-file-scan-dir=${PHP_EXT_INI_DIR_ACTIVE}"
for sapi in $SAPIS ; do
case "$sapi" in
cli|cgi|embed|fpm)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf="${sapi_conf} --enable-${sapi}"
else
sapi_conf="${sapi_conf} --disable-${sapi}"
fi
;;
apache2)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf="${sapi_conf} --with-apxs2=/usr/sbin/apxs"
else
sapi_conf="${sapi_conf} --without-apxs2"
fi
;;
esac
done
econf ${sapi_conf}
done
}
src_compile() {
# snmp seems to run during src_compile, too (bug #324739)
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
for sapi in ${SAPIS} ; do
if use "${sapi}"; then
cd "${WORKDIR}/sapis-build/$sapi" || "Failed to change dir to ${WORKDIR}/sapis-build/$1"
emake || die "emake failed"
fi
done
}
src_install() {
# see bug #324739 for what happens when we don't have that
addpredict /usr/share/snmp/mibs/.index
# grab the first SAPI that got built and install common files from there
local first_sapi=""
for sapi in $SAPIS ; do
if use $sapi ; then
first_sapi=$sapi
break
fi
done
# Makefile forgets to create this before trying to write to it...
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
# Install php environment (without any sapis)
cd "${WORKDIR}/sapis-build/$first_sapi"
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs \
|| die "emake install failed"
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
# Create the directory where we'll put version-specific php scripts
keepdir /usr/share/php${PHP_MV}
local sapi="", file=""
local sapi_list=""
for sapi in ${SAPIS}; do
if use "${sapi}" ; then
einfo "Installing SAPI: ${sapi}"
cd "${WORKDIR}/sapis-build/${sapi}"
if [[ "${sapi}" == "apache2" ]] ; then
# We're specifically not using emake install-sapi as libtool
# may cause unnecessary relink failures (see bug #351266)
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
newins ".libs/libphp5$(get_libname)" "libphp${PHP_MV}$(get_libname)"
keepdir "/usr/$(get_libdir)/apache2/modules"
else
# needed each time, php_install_ini would reset it
local dest="${PHP_DESTDIR#${EPREFIX}}"
into "${dest}"
case "$sapi" in
cli)
source="sapi/cli/php"
;;
cgi)
source="sapi/cgi/php-cgi"
;;
fpm)
source="sapi/fpm/php-fpm"
;;
embed)
source="libs/libphp${PHP_MV}$(get_libname)"
;;
*)
die "unhandled sapi in src_install"
;;
esac
if [[ "${source}" == *"$(get_libname)" ]]; then
dolib.so "${source}" || die "Unable to install ${sapi} sapi"
else
dobin "${source}" || die "Unable to install ${sapi} sapi"
local name="$(basename ${source})"
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
fi
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Installing opcache module
if use_if_iuse opcache ; then
dolib.so "modules/opcache$(get_libname)" || die "Unable to install opcache module"
fi
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" \
"20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i \
"${ED}/etc/env.d/20php${SLOT}"
sed -e "s|php5|php${SLOT}|g" -i \
"${ED}/etc/env.d/20php${SLOT}"
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config"
use fpm && systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" "php-fpm@${SLOT}.service"
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
if [[ ! -x "${PHP_BIN}" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
fi
if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d "session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d "session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
APACHE2_MOD_DEFINE="PHP5"
APACHE2_MOD_CONF="70_mod_php5" # actually provided by app-eselect/eselect-php
apache-module_pkg_postinst
fi
# Create the symlinks for php
for m in ${SAPIS}; do
[[ ${m} == 'embed' ]] && continue;
if use $m ; then
local ci=$(eselect php show $m)
if [[ -z $ci ]]; then
eselect php set $m php${SLOT}
einfo "Switched ${m} to use php:${SLOT}"
einfo
elif [[ $ci != "php${SLOT}" ]] ; then
elog "To switch $m to use php:${SLOT}, run"
elog " eselect php set $m php${SLOT}"
elog
fi
fi
done
elog "Make sure that PHP_TARGETS in /etc/make.conf includes php${SLOT/./-} in order"
elog "to compile extensions for the ${SLOT} ABI"
elog
if ! use readline && use cli ; then
ewarn "Note that in order to use php interactivly, you need to enable"
ewarn "the readline USE flag or php -a will hang"
fi
elog
elog "This ebuild installed a version of php.ini based on php.ini-${PHP_INI_VERSION} version."
elog "You can chose which version of php.ini to install by default by setting PHP_INI_VERSION to either"
elog "'production' or 'development' in /etc/make.conf"
ewarn "Both versions of php.ini can be found in /usr/share/doc/${PF}"
elog
elog "For more details on how minor version slotting works (PHP_TARGETS) please read the upgrade guide:"
elog "http://www.gentoo.org/proj/en/php/php-upgrading.xml"
elog
}
pkg_prerm() {
eselect php cleanup
}

View File

@ -0,0 +1,813 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/dev-lang/php/Attic/php-5.3.29.ebuild,v 1.16 2015/05/05 02:45:24 grknight dead $
EAPI=5
inherit eutils autotools flag-o-matic versionator depend.apache apache-module db-use libtool systemd
KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd"
function php_get_uri ()
{
echo "php_get_uri: ${1} ${2}">/tmp/debug
case "${1}" in
"php-pre")
echo "http://downloads.php.net/johannes/${2}"
;;
"php")
echo "https://gentoorepo.in.edevau.net/edevau/php/${2}"
;;
"gentoo")
echo "https://gentoorepo.in.edevau.net/edevau/php/${2}"
;;
*)
die "unhandled case in php_get_uri"
;;
esac
}
PHP_MV="$(get_major_version)"
SLOT="$(get_version_component_range 1-2)"
# alias, so we can handle different types of releases (finals, rcs, alphas,
# betas, ...) w/o changing the whole ebuild
PHP_PV="${PV/_rc/RC}"
PHP_PV="${PHP_PV/_alpha/alpha}"
PHP_PV="${PHP_PV/_beta/beta}"
PHP_RELEASE="php"
[[ ${PV} == ${PV/_alpha/} ]] || PHP_RELEASE="php-pre"
[[ ${PV} == ${PV/_beta/} ]] || PHP_RELEASE="php-pre"
[[ ${PV} == ${PV/_rc/} ]] || PHP_RELEASE="php-pre"
PHP_P="${PN}-${PHP_PV}"
PHP_SRC_URI="https://gentoorepo.in.edevau.net/edevau/2017/php-5.3/${PN}-${PHP_PV}.tar.bz2"
PHP_PATCHSET="0"
PHP_PATCHSET_URI="https://gentoorepo.in.edevau.net/edevau/2017/php-5.3/php-patchset-${SLOT}-r${PHP_PATCHSET}.tar.bz2"
PHP_FPM_INIT_VER="4"
PHP_FPM_CONF_VER="1"
SRC_URI="
${PHP_SRC_URI}
${PHP_PATCHSET_URI}"
DESCRIPTION="The PHP language runtime engine: CLI, CGI, FPM/FastCGI, Apache2 and embed SAPIs"
HOMEPAGE="http://php.net/"
LICENSE="PHP-3"
S="${WORKDIR}/${PHP_P}"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2"
# SAPIs and SAPI-specific USE flags (cli SAPI is default on):
IUSE="${IUSE}
${SAPIS/cli/+cli}
threads"
IUSE="${IUSE} bcmath berkdb bzip2 calendar cdb cjk
crypt +ctype curl curlwrappers debug
enchant exif +fileinfo +filter firebird
flatfile ftp gd gdbm gmp +hash +iconv imap inifile
intl iodbc ipv6 +json kerberos ldap ldap-sasl libedit mhash
mssql mysql mysqlnd mysqli nls
oci8-instant-client odbc pcntl pdo +phar +posix postgres qdbm
readline recode selinux +session sharedmem
+simplexml snmp soap sockets spell sqlite2 sqlite ssl
sybase-ct sysvipc tidy +tokenizer truetype unicode wddx
+xml xmlreader xmlwriter xmlrpc xpm xslt zip zlib"
DEPEND="
>=app-eselect/eselect-php-0.7.1-r3[apache2?,fpm?]
>=dev-libs/libpcre-8.32[unicode]
apache2? ( www-servers/apache[threads=] )
berkdb? ( =sys-libs/db-4* )
bzip2? ( app-arch/bzip2 )
cdb? ( || ( dev-db/cdb dev-db/tinycdb ) )
cjk? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
crypt? ( >=dev-libs/libmcrypt-2.4 )
curl? ( >=net-misc/curl-7.10.5 )
enchant? ( app-text/enchant )
exif? ( !gd? (
virtual/jpeg:0
media-libs/libpng:0=
sys-libs/zlib
) )
firebird? ( dev-db/firebird )
gd? ( virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
gdbm? ( >=sys-libs/gdbm-1.8.0 )
gmp? ( >=dev-libs/gmp-4.1.2 )
iconv? ( virtual/libiconv )
imap? ( virtual/imap-c-client[ssl=] )
intl? ( dev-libs/icu:= )
iodbc? ( dev-db/libiodbc )
kerberos? ( virtual/krb5 )
ldap? ( >=net-nds/openldap-1.2.11 )
ldap-sasl? ( dev-libs/cyrus-sasl >=net-nds/openldap-1.2.11 )
libedit? ( || ( sys-freebsd/freebsd-lib dev-libs/libedit ) )
mssql? ( dev-db/freetds[mssql] )
!mysqlnd? (
mysql? ( virtual/mysql )
mysqli? ( >=virtual/mysql-4.1 )
)
nls? ( sys-devel/gettext )
oci8-instant-client? ( dev-db/oracle-instantclient-basic )
odbc? ( >=dev-db/unixODBC-1.8.13 )
postgres? ( dev-db/postgresql )
qdbm? ( dev-db/qdbm )
readline? ( sys-libs/readline )
recode? ( app-text/recode )
sharedmem? ( dev-libs/mm )
simplexml? ( >=dev-libs/libxml2-2.6.8 )
snmp? ( >=net-analyzer/net-snmp-5.2 )
soap? ( >=dev-libs/libxml2-2.6.8 )
spell? ( >=app-text/aspell-0.50 )
sqlite2? ( =dev-db/sqlite-2* )
sqlite? ( >=dev-db/sqlite-3.7.7.1 )
ssl? ( >=dev-libs/openssl-0.9.7 )
sybase-ct? ( dev-db/freetds )
tidy? ( app-text/htmltidy )
truetype? (
=media-libs/freetype-2*
>=media-libs/t1lib-5.0.0
!gd? (
virtual/jpeg:0 media-libs/libpng:0= sys-libs/zlib )
)
unicode? ( dev-libs/oniguruma )
wddx? ( >=dev-libs/libxml2-2.6.8 )
xml? ( >=dev-libs/libxml2-2.6.8 )
xmlrpc? ( >=dev-libs/libxml2-2.6.8 virtual/libiconv )
xmlreader? ( >=dev-libs/libxml2-2.6.8 )
xmlwriter? ( >=dev-libs/libxml2-2.6.8 )
xpm? (
x11-libs/libXpm
virtual/jpeg:0
media-libs/libpng:0= sys-libs/zlib
)
xslt? ( dev-libs/libxslt >=dev-libs/libxml2-2.6.8 )
zip? ( sys-libs/zlib )
zlib? ( sys-libs/zlib )
virtual/mta
"
php="=${CATEGORY}/${PF}"
REQUIRED_USE="
truetype? ( gd )
cjk? ( gd )
exif? ( gd )
xpm? ( gd )
gd? ( zlib )
simplexml? ( xml )
soap? ( xml )
wddx? ( xml )
xmlrpc? ( || ( xml iconv ) )
xmlreader? ( xml )
xslt? ( xml )
ldap-sasl? ( ldap )
mhash? ( hash )
phar? ( hash )
mysqlnd? ( || (
mysql
mysqli
pdo
) )
qdbm? ( !gdbm )
readline? ( !libedit )
recode? ( !imap !mysql !mysqli )
sharedmem? ( !threads )
!cli? ( !cgi? ( !fpm? ( !apache2? ( !embed? ( cli ) ) ) ) )"
RDEPEND="${DEPEND}"
RDEPEND="${RDEPEND} fpm? ( selinux? ( sec-policy/selinux-phpfpm ) )"
DEPEND="${DEPEND}
sys-devel/flex
>=sys-devel/m4-1.4.3
>=sys-devel/libtool-1.5.18"
# Allow users to install production version if they want to
case "${PHP_INI_VERSION}" in
production|development)
;;
*)
PHP_INI_VERSION="development"
;;
esac
PHP_INI_UPSTREAM="php.ini-${PHP_INI_VERSION}"
PHP_INI_FILE="php.ini"
want_apache
pkg_setup() {
depend.apache_pkg_setup
}
php_install_ini() {
local phpsapi="${1}"
# work out where we are installing the ini file
php_set_ini_dir "${phpsapi}"
local phpinisrc="${PHP_INI_UPSTREAM}-${phpsapi}"
cp "${PHP_INI_UPSTREAM}" "${phpinisrc}"
# default to /tmp for save_path, bug #282768
sed -e 's|^;session.save_path .*$|session.save_path = "'"${EPREFIX}"'/tmp"|g' -i "${phpinisrc}"
# Set the extension dir
sed -e "s|^extension_dir .*$|extension_dir = ${extension_dir}|g" -i "${phpinisrc}"
# Set the include path to point to where we want to find PEAR packages
sed -e 's|^;include_path = ".:/php/includes".*|include_path = ".:'"${EPREFIX}"'/usr/share/php'${PHP_MV}':'"${EPREFIX}"'/usr/share/php"|' -i "${phpinisrc}"
if use_if_iuse opcache; then
elog "Adding opcache to ${phpinisrc}"
echo "zend_extension=${PHP_DESTDIR}/$(get_libdir)/opcache.so" >> ${phpinisrc}
fi
dodir "${PHP_INI_DIR#${EPREFIX}}"
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${phpinisrc}" "${PHP_INI_FILE}"
elog "Installing php.ini for ${phpsapi} into ${PHP_INI_DIR#${EPREFIX}}"
elog
dodir "${PHP_EXT_INI_DIR#${EPREFIX}}"
dodir "${PHP_EXT_INI_DIR_ACTIVE#${EPREFIX}}"
# SAPI-specific handling
if [[ "${sapi}" == "fpm" ]] ; then
[[ -z ${PHP_FPM_CONF_VER} ]] && PHP_FPM_CONF_VER=0
einfo "Installing FPM CGI config file php-fpm.conf"
insinto "${PHP_INI_DIR#${EPREFIX}}"
newins "${FILESDIR}/php-fpm-r${PHP_FPM_CONF_VER}.conf" php-fpm.conf
# Remove bogus /etc/php-fpm.conf.default (bug 359906)
[[ -f "${ED}/etc/php-fpm.conf.default" ]] && rm "${ED}/etc/php-fpm.conf.default"
fi
# Install PHP ini files into /usr/share/php
dodoc php.ini-development
dodoc php.ini-production
}
php_set_ini_dir() {
PHP_INI_DIR="${EPREFIX}/etc/php/${1}-php${SLOT}"
PHP_EXT_INI_DIR="${PHP_INI_DIR}/ext"
PHP_EXT_INI_DIR_ACTIVE="${PHP_INI_DIR}/ext-active"
}
src_prepare() {
# USE=sharedmem (session/mod_mm to be exact) tries to mmap() this path
# ([empty session.save_path]/session_mm_[sapi][gid].sem)
# there is no easy way to circumvent that, all php calls during
# install use -n, so no php.ini file will be used.
# As such, this is the easiest way to get around
addpredict /session_mm_cli250.sem
addpredict /session_mm_cli0.sem
# Change PHP branding
sed -re "s|^(PHP_EXTRA_VERSION=\").*(\")|\1-pl${PR/r/}-gentoo\2|g" \
-i configure.in || die "Unable to change PHP branding"
# Apply generic PHP patches
EPATCH_SOURCE="${WORKDIR}/patches/generic" EPATCH_SUFFIX="patch" \
EPATCH_FORCE="yes" \
EPATCH_MULTI_MSG="Applying generic patches and fixes from upstream..." epatch
#Fix bug 463498
epatch "${FILESDIR}/fix-libstdc++-underlinking.patch"
# Patch for pkg-config-0.28 (Bug 455040)
epatch "${FILESDIR}"/missing-openssl-include.patch
epatch "${FILESDIR}"/bison_build_2a.patch
epatch "${FILESDIR}"/bison_any_version.patch
rm Zend/zend_{language,ini}_parser.[ch]
# Fix for freetype-2.5.1 bug #494272
epatch "${FILESDIR}"/freetype-2.5.1-linking-fix.patch
# Patch PHP to show Gentoo as the server platform
sed -e 's/PHP_UNAME=`uname -a | xargs`/PHP_UNAME=`uname -s -n -r -v | xargs`/g' \
-i configure.in || die "Failed to fix server platform name"
# Prevent PHP from activating the Apache config,
# as we will do that ourselves
sed -i \
-e "s,-i -a -n php${PHP_MV},-i -n php${PHP_MV},g" \
-e "s,-i -A -n php${PHP_MV},-i -n php${PHP_MV},g" \
configure sapi/apache2filter/config.m4 sapi/apache2handler/config.m4
# Patch PHP to support heimdal instead of mit-krb5
if has_version "app-crypt/heimdal" ; then
sed -e 's|gssapi_krb5|gssapi|g' -i acinclude.m4 \
|| die "Failed to fix heimdal libname"
sed -e 's|PHP_ADD_LIBRARY(k5crypto, 1, $1)||g' -i acinclude.m4 \
|| die "Failed to fix heimdal crypt library reference"
fi
#Add user patches #357637
epatch_user
#force rebuilding aclocal.m4
rm aclocal.m4
# work around divert() issues with newer autoconf, bug #281697
if has_version '>=sys-devel/autoconf-2.64' ; then
sed -i -r \
-e 's:^((m4_)?divert)[(]([0-9]*)[)]:\1(600\3):' \
$(grep -l divert $(find . -name '*.m4') configure.in) || die
fi
eautoreconf --force -W no-cross
}
src_configure() {
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
PHP_DESTDIR="/usr/$(get_libdir)/php${SLOT}"
# This is a global variable and should be in caps. It isn't because the
# phpconfutils eclass relies on exactly this name...
# for --with-libdir see bug #327025
my_conf="--prefix=${PHP_DESTDIR}
--mandir=${PHP_DESTDIR}/man
--infodir=${PHP_DESTDIR}/info
--libdir=${PHP_DESTDIR}/lib
--with-libdir=$(get_libdir)
--without-pear
$(use_enable threads maintainer-zts)"
# extension USE flag shared
my_conf+="
$(use_enable bcmath bcmath )
$(use_with bzip2 bz2 )
$(use_enable calendar calendar )
$(use_enable ctype ctype )
$(use_with curl curl )
$(use_with curlwrappers curlwrappers )
$(use_enable xml dom )
$(use_with enchant enchant /usr)
$(use_enable exif exif )
$(use_enable fileinfo fileinfo )
$(use_enable filter filter )
$(use_enable ftp ftp )
$(use_with nls gettext )
$(use_with gmp gmp )
$(use_enable hash hash )
$(use_with mhash mhash )
$(use_with iconv iconv )
$(use_enable intl intl )
$(use_enable ipv6 ipv6 )
$(use_enable json json )
$(use_with kerberos kerberos /usr)
$(use_enable xml libxml )
$(use_enable unicode mbstring )
$(use_with crypt mcrypt )
$(use_with mssql mssql )
$(use_with unicode onig /usr)
$(use_with ssl openssl )
$(use_with ssl openssl-dir /usr)
$(use_enable pcntl pcntl )
$(use_enable phar phar )
$(use_enable pdo pdo )
$(use_with postgres pgsql )
$(use_enable posix posix )
$(use_with spell pspell )
$(use_with recode recode )
$(use_enable simplexml simplexml )
$(use_enable sharedmem shmop )
$(use_with snmp snmp )
$(use_enable soap soap )
$(use_enable sockets sockets )"
if version_is_at_least 5.3.16-r2; then
my_conf+=" $(use_with sqlite2 sqlite /usr) "
use sqlite2 && my_conf+=" $(use_enable unicode sqlite-utf8)"
else
my_conf+=" $(use_with sqlite sqlite /usr) "
use sqlite && my_conf+=" $(use_enable unicode sqlite-utf8)"
fi
my_conf+="
$(use_with sqlite sqlite3 /usr)
$(use_with sybase-ct sybase-ct /usr)
$(use_enable sysvipc sysvmsg )
$(use_enable sysvipc sysvsem )
$(use_enable sysvipc sysvshm )
$(use_with tidy tidy )
$(use_enable tokenizer tokenizer )
$(use_enable wddx wddx )
$(use_enable xml xml )
$(use_enable xmlreader xmlreader )
$(use_enable xmlwriter xmlwriter )
$(use_with xmlrpc xmlrpc )
$(use_with xslt xsl )
$(use_enable zip zip )
$(use_with zlib zlib )
$(use_enable debug debug )"
# DBA support
if use cdb || use berkdb || use flatfile || use gdbm || use inifile \
|| use qdbm ; then
my_conf="${my_conf} --enable-dba${shared}"
fi
# DBA drivers support
my_conf+="
$(use_with cdb cdb )
$(use_with berkdb db4 )
$(use_enable flatfile flatfile )
$(use_with gdbm gdbm )
$(use_enable inifile inifile )
$(use_with qdbm qdbm )"
# Support for the GD graphics library
my_conf+="
$(use_with truetype freetype-dir /usr)
$(use_with truetype t1lib /usr)
$(use_enable cjk gd-jis-conv )
$(use_with gd jpeg-dir /usr)
$(use_with gd png-dir /usr)
$(use_with xpm xpm-dir /usr)"
# enable gd last, so configure can pick up the previous settings
my_conf+="
$(use_with gd gd )"
# IMAP support
if use imap ; then
my_conf+="
$(use_with imap imap )
$(use_with ssl imap-ssl )"
fi
# Interbase/firebird support
if use firebird ; then
my_conf+="
$(use_with firebird interbase /usr)"
fi
# LDAP support
if use ldap ; then
my_conf+="
$(use_with ldap ldap )
$(use_with ldap-sasl ldap-sasl )"
fi
# MySQL support
if use mysql ; then
if use mysqlnd ; then
my_conf+="
$(use_with mysqlnd mysql mysqlnd)"
else
my_conf+="
$(use_with mysql mysql /usr)"
fi
my_conf+="
$(use_with mysql mysql-sock /var/run/mysqld/mysqld.sock)"
fi
# MySQLi support
if use mysqlnd ; then
my_conf+="
$(use_with mysqli mysqli mysqlnd)"
else
my_conf+="
$(use_with mysqli mysqli /usr/bin/mysql_config)"
fi
# ODBC support
if use odbc ; then
my_conf+="
$(use_with odbc unixODBC /usr)"
fi
if use iodbc ; then
my_conf+="
$(use_with iodbc iodbc /usr)"
fi
# Oracle support
if use oci8-instant-client ; then
my_conf+="
$(use_with oci8-instant-client oci8)"
fi
# PDO support
if use pdo ; then
my_conf+="
$(use_with mssql pdo-dblib )"
if use mysqlnd ; then
my_conf+="
$(use_with mysql pdo-mysql mysqlnd)"
else
my_conf+="
$(use_with mysql pdo-mysql /usr)"
fi
my_conf+="
$(use_with postgres pdo-pgsql )
$(use_with sqlite pdo-sqlite /usr)
$(use_with odbc pdo-odbc unixODBC,/usr)"
if use oci8-instant-client ; then
my_conf+="
$(use_with oci8-instant-client pdo-oci)"
fi
fi
# readline/libedit support
my_conf+="
$(use_with readline readline )
$(use_with libedit libedit )"
# Session support
if use session ; then
my_conf+="
$(use_with sharedmem mm )"
else
my_conf+="
$(use_enable session session )"
fi
# Use pic for shared modules such as apache2's mod_php
my_conf="${my_conf} --with-pic"
# we use the system copy of pcre
# --with-pcre-regex affects ext/pcre
# --with-pcre-dir affects ext/filter and ext/zip
my_conf="${my_conf} --with-pcre-regex=/usr --with-pcre-dir=/usr"
# Catch CFLAGS problems
# Fixes bug #14067.
# Changed order to run it in reverse for bug #32022 and #12021.
replace-cpu-flags "k6*" "i586"
# Support user-passed configuration parameters
my_conf="${my_conf} ${EXTRA_ECONF:-}"
# Support the Apache2 extras, they must be set globally for all
# SAPIs to work correctly, especially for external PHP extensions
mkdir -p "${WORKDIR}/sapis-build"
for one_sapi in $SAPIS ; do
use "${one_sapi}" || continue
php_set_ini_dir "${one_sapi}"
cp -r "${S}" "${WORKDIR}/sapis-build/${one_sapi}"
cd "${WORKDIR}/sapis-build/${one_sapi}"
sapi_conf="${my_conf} --with-config-file-path=${PHP_INI_DIR}
--with-config-file-scan-dir=${PHP_EXT_INI_DIR_ACTIVE}"
for sapi in $SAPIS ; do
case "$sapi" in
cli|cgi|embed|fpm)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf="${sapi_conf} --enable-${sapi}"
else
sapi_conf="${sapi_conf} --disable-${sapi}"
fi
;;
apache2)
if [[ "${one_sapi}" == "${sapi}" ]] ; then
sapi_conf="${sapi_conf} --with-apxs2=/usr/sbin/apxs"
else
sapi_conf="${sapi_conf} --without-apxs2"
fi
;;
esac
done
econf ${sapi_conf}
done
}
src_compile() {
# snmp seems to run during src_compile, too (bug #324739)
addpredict /usr/share/snmp/mibs/.index
addpredict /var/lib/net-snmp/mib_indexes
for sapi in ${SAPIS} ; do
if use "${sapi}"; then
cd "${WORKDIR}/sapis-build/$sapi" || "Failed to change dir to ${WORKDIR}/sapis-build/$1"
emake || die "emake failed"
fi
done
}
src_install() {
# see bug #324739 for what happens when we don't have that
addpredict /usr/share/snmp/mibs/.index
# grab the first SAPI that got built and install common files from there
local first_sapi=""
for sapi in $SAPIS ; do
if use $sapi ; then
first_sapi=$sapi
break
fi
done
# Makefile forgets to create this before trying to write to it...
dodir "${PHP_DESTDIR#${EPREFIX}}/bin"
# Install php environment (without any sapis)
cd "${WORKDIR}/sapis-build/$first_sapi"
emake INSTALL_ROOT="${D}" \
install-build install-headers install-programs \
|| die "emake install failed"
local extension_dir="$("${ED}/${PHP_DESTDIR#${EPREFIX}}/bin/php-config" --extension-dir)"
# Create the directory where we'll put version-specific php scripts
keepdir /usr/share/php${PHP_MV}
local sapi="", file=""
local sapi_list=""
for sapi in ${SAPIS}; do
if use "${sapi}" ; then
einfo "Installing SAPI: ${sapi}"
cd "${WORKDIR}/sapis-build/${sapi}"
if [[ "${sapi}" == "apache2" ]] ; then
# We're specifically not using emake install-sapi as libtool
# may cause unnecessary relink failures (see bug #351266)
insinto "${PHP_DESTDIR#${EPREFIX}}/apache2/"
newins ".libs/libphp5$(get_libname)" "libphp${PHP_MV}$(get_libname)"
keepdir "/usr/$(get_libdir)/apache2/modules"
else
# needed each time, php_install_ini would reset it
local dest="${PHP_DESTDIR#${EPREFIX}}"
into "${dest}"
case "$sapi" in
cli)
source="sapi/cli/php"
;;
cgi)
source="sapi/cgi/php-cgi"
;;
fpm)
source="sapi/fpm/php-fpm"
;;
embed)
source="libs/libphp${PHP_MV}$(get_libname)"
;;
*)
die "unhandled sapi in src_install"
;;
esac
if [[ "${source}" == *"$(get_libname)" ]]; then
dolib.so "${source}" || die "Unable to install ${sapi} sapi"
else
dobin "${source}" || die "Unable to install ${sapi} sapi"
local name="$(basename ${source})"
dosym "${dest}/bin/${name}" "/usr/bin/${name}${SLOT}"
fi
fi
php_install_ini "${sapi}"
# construct correct SAPI string for php-config
# thanks to ferringb for the bash voodoo
if [[ "${sapi}" == "apache2" ]]; then
sapi_list="${sapi_list:+${sapi_list} }apache2handler"
else
sapi_list="${sapi_list:+${sapi_list} }${sapi}"
fi
fi
done
# Installing opcache module
if use_if_iuse opcache ; then
dolib.so "modules/opcache$(get_libname)" || die "Unable to install opcache module"
fi
# Install env.d files
newenvd "${FILESDIR}/20php5-envd" \
"20php${SLOT}"
sed -e "s|/lib/|/$(get_libdir)/|g" -i \
"${ED}/etc/env.d/20php${SLOT}"
sed -e "s|php5|php${SLOT}|g" -i \
"${ED}/etc/env.d/20php${SLOT}"
# set php-config variable correctly (bug #278439)
sed -e "s:^\(php_sapis=\)\".*\"$:\1\"${sapi_list}\":" -i \
"${ED}/usr/$(get_libdir)/php${SLOT}/bin/php-config"
use fpm && systemd_newunit "${FILESDIR}/php-fpm_at-simple.service" "php-fpm@${SLOT}.service"
}
src_test() {
echo ">>> Test phase [test]: ${CATEGORY}/${PF}"
PHP_BIN="${WORKDIR}/sapis-build/cli/sapi/cli/php"
if [[ ! -x "${PHP_BIN}" ]] ; then
ewarn "Test phase requires USE=cli, skipping"
return
else
export TEST_PHP_EXECUTABLE="${PHP_BIN}"
fi
if [[ -x "${WORKDIR}/sapis/cgi/php-cgi" ]] ; then
export TEST_PHP_CGI_EXECUTABLE="${WORKDIR}/sapis/cgi/php-cgi"
fi
REPORT_EXIT_STATUS=1 "${TEST_PHP_EXECUTABLE}" -n -d "session.save_path=${T}" \
"${WORKDIR}/sapis-build/cli/run-tests.php" -n -q -d "session.save_path=${T}"
for name in ${EXPECTED_TEST_FAILURES}; do
mv "${name}.out" "${name}.out.orig" 2>/dev/null
done
local failed="$(find -name '*.out')"
if [[ ${failed} != "" ]] ; then
ewarn "The following test cases failed unexpectedly:"
for name in ${failed}; do
ewarn " ${name/.out/}"
done
else
einfo "No unexpected test failures, all fine"
fi
if [[ ${PHP_SHOW_UNEXPECTED_TEST_PASS} == "1" ]] ; then
local passed=""
for name in ${EXPECTED_TEST_FAILURES}; do
[[ -f "${name}.diff" ]] && continue
passed="${passed} ${name}"
done
if [[ ${passed} != "" ]] ; then
einfo "The following test cases passed unexpectedly:"
for name in ${passed}; do
ewarn " ${passed}"
done
else
einfo "None of the known-to-fail tests passed, all fine"
fi
fi
}
pkg_postinst() {
# Output some general info to the user
if use apache2 ; then
APACHE2_MOD_DEFINE="PHP5"
APACHE2_MOD_CONF="70_mod_php5" # actually provided by app-eselect/eselect-php
apache-module_pkg_postinst
fi
# Create the symlinks for php
for m in ${SAPIS}; do
[[ ${m} == 'embed' ]] && continue;
if use $m ; then
local ci=$(eselect php show $m)
if [[ -z $ci ]]; then
eselect php set $m php${SLOT}
einfo "Switched ${m} to use php:${SLOT}"
einfo
elif [[ $ci != "php${SLOT}" ]] ; then
elog "To switch $m to use php:${SLOT}, run"
elog " eselect php set $m php${SLOT}"
elog
fi
fi
done
elog "Make sure that PHP_TARGETS in /etc/make.conf includes php${SLOT/./-} in order"
elog "to compile extensions for the ${SLOT} ABI"
elog
if ! use readline && use cli ; then
ewarn "Note that in order to use php interactivly, you need to enable"
ewarn "the readline USE flag or php -a will hang"
fi
elog
elog "This ebuild installed a version of php.ini based on php.ini-${PHP_INI_VERSION} version."
elog "You can chose which version of php.ini to install by default by setting PHP_INI_VERSION to either"
elog "'production' or 'development' in /etc/make.conf"
ewarn "Both versions of php.ini can be found in /usr/share/doc/${PF}"
elog
elog "For more details on how minor version slotting works (PHP_TARGETS) please read the upgrade guide:"
elog "http://www.gentoo.org/proj/en/php/php-upgrading.xml"
elog
}
pkg_prerm() {
eselect php cleanup
}

View File

@ -0,0 +1,2 @@
DIST aiohttp-cors-0.7.0.tar.gz 39728 BLAKE2B 747499856272f551cf8e2e0911ff7cbb2c7cb8a1f3159327dd8f0d40cabbbd9713a1a9e30ef9c99f3f9642567c99025e049db837c89f907d6698a27005ac2632 SHA512 72e0b365b952c08a02c1123d7672cfea01063e2ff01743a71e10f804d22178edc0f1c6b7f87b7ed484ca7c24e89a32de90d0d279f2f5c060427319182f9bdd3b
EBUILD aiohttp-cors-0.7.0.ebuild 1189 BLAKE2B d65e97ff6a550be7ce563182e09e19de5b3e120dd2bc1046fba3cfd032072162090606ec951a7aa4320fde3cedbbbf7d28fb6aac204396b966e3cece4501fa16 SHA512 6cd255d7989b7250f74516938d71ec6b9aa1c383734af09a0801083cd0408d6815ce829a1a6204df2d2b6dbb32e292949239d3219e7b8a8864e54bd75f902195

View File

@ -0,0 +1,42 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python3_{4,5,6} )
inherit distutils-r1
DESCRIPTION="Implements CORS support for aiohttp asyncio-powered asynchronous HTTP server"
HOMEPAGE="https://github.com/aio-libs/aiohttp-cors"
SRC_URI="https://github.com/aio-libs/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
EGIT_REPO_URI="https://github.com/aio-libs/aiohttp-cors"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RDEPEND=">=dev-python/aiohttp-1.1.1[${PYTHON_USEDEP}]
$(python_gen_cond_dep 'dev-python/typing[${PYTHON_USEDEP}]' python3_4)"
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
dev-python/pylint[${PYTHON_USEDEP}]
dev-python/pytest[${PYTHON_USEDEP}]
dev-python/pytest-cov[${PYTHON_USEDEP}]
dev-python/pytest-pylint[${PYTHON_USEDEP}]
dev-python/pytest-runner[${PYTHON_USEDEP}]
dev-python/selenium[${PYTHON_USEDEP}]
)"
python_prepare_all() {
# for some reason, it is installed by 'setup.py test' on py!=3.4
# TODO: investigate
sed -i -e '/typing/d' setup.py || die
distutils-r1_python_prepare_all
}
python_test() {
esetup.py test
}

View File

@ -0,0 +1,5 @@
AUX aiohttp-3.0.5-tests.patch 294 BLAKE2B c535d85c0ad73394897db4db2743e3e6c09faa98a5a8a013b5b5b7af79adffaaa30f20a4cdff65760911c8f3ff373318e144d7ace6a7de6b0fa7b6cf9b8bf352 SHA512 0e5871efad3d360757fdd1ef723b741669a1e0b98728f58fe689b66b765dd4607e05a72cb618ac55b6a61cd53247916f9d497ca147eb7c8c86b8473a298a4b38
DIST aiohttp-3.3.2.tar.gz 771414 BLAKE2B 3934f7ef3719a809fc7656c11cc3af604816e6971e403fbcd58645ec109f37daa42c245f2b2d35c789f76efa5abb824938c07c1060d2956a0a70ced41d0dc583 SHA512 abc031b5cd96c59886913582e7226f3c7b9ce4101d11d380f732d16776b990082b18b0c5f91bc098f17f72cbadcf499dfa93069323a8668755c1ce5d06f37f1e
DIST aiohttp-3.4.0.tar.gz 821067 BLAKE2B af87cd0f36950b01724d0c7add16e18125d82501241511fc2976b2b0318ffc1316c1c07085b1757efbf2dbcf175ff04e0718a6465d3f7c1995e64c4c03ac6ac0 SHA512 34d5a9c29feca5654c94c4526c26a122c7dfcd3983ccfce746d4cd993f320f19e548f95f88304eb87468d5fbba24b674ae2fcea33170fb6298e9a2c803b54277
EBUILD aiohttp-3.3.2.ebuild 1839 BLAKE2B 2aada2a2652596ef0f55d0d56d7ab1f4e75e5eef6c611ed7758673356e7f3ccfc3c347390710a571ac4f6fbf4b0f681485f6d7771105ee14dec20686105450dc SHA512 52c41ee3ee7ce55f63bdfec3acab193dd26dec6a6f13d13d52a36e5eb7078e1817bd96808178986b96da4ea800cecfaca6ad67db5411b77445a14ddbbf861d2e
EBUILD aiohttp-3.4.0.ebuild 2093 BLAKE2B 22a833dbf2bb8c145182bda1fb8784854bddc986e2b4c25f83561e5f577d6796e3aa4444281b44cfbd6858b40e5088e586ca4cbdea15a31642f7134249cabde7 SHA512 8fa78bfbc9b4faeee586b19d5686baf93575d863303924097cb6488264942e7c6f0ebc81599c6e32791f68cb0e9257581d663ed1efb6b7d822d498aa5d454fbd

View File

@ -0,0 +1,70 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python3_5 python3_6 )
inherit distutils-r1
DESCRIPTION="http client/server for asyncio"
HOMEPAGE="https://pypi.org/project/aiohttp/"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc test"
CDEPEND="
>=dev-python/async_timeout-3.0.0[${PYTHON_USEDEP}]
>=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
dev-python/chardet[${PYTHON_USEDEP}]
>=dev-python/multidict-4.0.0[${PYTHON_USEDEP}]
>=dev-python/yarl-1.0[${PYTHON_USEDEP}]
dev-python/idna-ssl[${PYTHON_USEDEP}]
"
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/cython[${PYTHON_USEDEP}]
doc? (
>=dev-python/alabaster-0.6.2[${PYTHON_USEDEP}]
dev-python/sphinxcontrib-asyncio[${PYTHON_USEDEP}]
dev-python/sphinxcontrib-newsfeed[${PYTHON_USEDEP}]
dev-python/sphinxcontrib-spelling[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
)
test? (
${CDEPEND}
>=dev-python/pytest-3.4.0[${PYTHON_USEDEP}]
dev-python/pytest-mock[${PYTHON_USEDEP}]
dev-python/pytest-timeout[${PYTHON_USEDEP}]
www-servers/gunicorn[${PYTHON_USEDEP}]
)
"
RDEPEND="${CDEPEND}"
DOCS=( CHANGES.rst CONTRIBUTING.rst CONTRIBUTORS.txt HISTORY.rst README.rst )
PATCHES=( "${FILESDIR}"/${PN}-3.0.5-tests.patch )
python_prepare_all() {
# skip failing tests until cause is determined
rm tests/{test_pytest_plugin.py,test_worker.py} || die
distutils-r1_python_prepare_all
}
python_compile_all() {
use doc && emake -C docs html
}
python_test() {
#PYTHONPATH="${PWD}:${PYTHONPATH}" py.test -v tests || die "Tests failed under ${EPYTHON}"
esetup.py test
}
python_install_all() {
use doc && local HTML_DOCS=( docs/_build/html/. )
distutils-r1_python_install_all
}

View File

@ -0,0 +1,76 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="6"
PYTHON_COMPAT=( python3_{5,6} )
inherit distutils-r1
DESCRIPTION="http client/server for asyncio"
HOMEPAGE="https://pypi.org/project/aiohttp/"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="doc test"
CDEPEND="
>=dev-python/async_timeout-3.0.0[${PYTHON_USEDEP}]
>=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
dev-python/chardet[${PYTHON_USEDEP}]
>=dev-python/multidict-4.0.0[${PYTHON_USEDEP}]
>=dev-python/yarl-1.0[${PYTHON_USEDEP}]
dev-python/idna-ssl[${PYTHON_USEDEP}]
"
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
dev-python/cython[${PYTHON_USEDEP}]
doc? (
>=dev-python/alabaster-0.6.2[${PYTHON_USEDEP}]
dev-python/sphinxcontrib-asyncio[${PYTHON_USEDEP}]
dev-python/sphinxcontrib-blockdiag[${PYTHON_USEDEP}]
dev-python/sphinxcontrib-newsfeed[${PYTHON_USEDEP}]
dev-python/sphinxcontrib-spelling[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
dev-python/sphinx-aiohttp-theme[${PYTHON_USEDEP}]
)
test? (
${CDEPEND}
dev-python/async_generator[${PYTHON_USEDEP}]
>=dev-python/pytest-3.4.0[${PYTHON_USEDEP}]
dev-python/pytest-mock[${PYTHON_USEDEP}]
dev-python/pytest-timeout[${PYTHON_USEDEP}]
www-servers/gunicorn[${PYTHON_USEDEP}]
)
"
RDEPEND="${CDEPEND}"
DOCS=( CHANGES.rst CONTRIBUTING.rst CONTRIBUTORS.txt HISTORY.rst README.rst )
PATCHES=( "${FILESDIR}"/${PN}-3.0.5-tests.patch )
python_prepare_all() {
# skip failing tests until cause is determined
rm tests/{test_pytest_plugin.py,test_worker.py} || die
# AttributeError: 'brotli.Decompressor' object has no attribute 'flush'
sed -e 's:test_compression_brotli:_\0:' \
-e 's:test_feed_eof_no_err_brotli:_\0:' \
-i tests/test_http_parser.py || die
distutils-r1_python_prepare_all
}
python_compile_all() {
use doc && emake -C docs html
}
python_test() {
esetup.py test
}
python_install_all() {
use doc && local HTML_DOCS=( docs/_build/html/. )
distutils-r1_python_install_all
}

View File

@ -0,0 +1,10 @@
--- aiohttp-3.0.5/tests/test_test_utils.py
+++ aiohttp-3.0.5/tests/test_test_utils.py
@@ -243,6 +243,7 @@
make_url(URL('http://foo.com'))
+@pytest.mark.skip("running via external test file fails")
def test_testcase_no_app(testdir, loop):
testdir.makepyfile(
"""

View File

@ -0,0 +1,2 @@
DIST astral-1.6.1.tar.gz 32071 BLAKE2B bed3dec35b4dbf4877a98265186168c429fe19b126c6c399d61e56cba65d5b0c1dde7cf633f0389f7e6493d6bb359c37b204f6d2a1c59859f75c391ca792dcb5 SHA512 1f0f68da911f0ba905ce551eef77295d74fc7169e31cb9d8ef6359392b503615330f167a30319018e3e828d500c9392f27563006908f2abc2aece92326eddf17
EBUILD astral-1.6.1.ebuild 461 BLAKE2B 16f62deff17023b0e15b243029c99f8a3d2793051e90178e01837410b13c452cbfccbbadc9e1ecccc93227cd9731afe511f730e077af52f7a057b476271cea7e SHA512 a3cdf8ef26353e569318640915942b9f21c1cf4ffd3f4a5ad5c9eba5ea42d21e580c12190fe3c4a9c0ab01e185eb1c7944d85d9e5e6d327b82f10d7f89e073f1

View File

@ -0,0 +1,21 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( pypy3 python2_7 python3_{4,5,6} )
inherit distutils-r1
DESCRIPTION="Calculations for the position of the sun and moon."
HOMEPAGE="https://github.com/sffjunkie/astral"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
DEPEND=""
RDEPEND="${DEPEND}"
RESTRICT="test"

View File

@ -0,0 +1,2 @@
DIST attrs-18.2.0.tar.gz 116817 BLAKE2B 79d50c9b49956bbc1e04084eed36a5f65f2dda8e954b23f15650cb881d6f77a8325e042c6d1a77dcad43661d4524a4d253d96bd0053464ef03091779636e6d0b SHA512 58c26579d6dfcacbe9e3f770a125861e0625d435f1293eebe0d62efc9b8aa9572be2b312d73037a647163bffb0a13b240fb157aff7ed35196f637ae945d61d22
EBUILD attrs-18.2.0.ebuild 888 BLAKE2B 8cc377f4fbd672a52828c293fc9c5d2afb2674560bd87a99eb3ac3533e9f2e60367b61a6711a8dbd44dcc5423a2b76ec6869bf213e77fc5715b1fe420359c377 SHA512 6024a95222e50e6af69d77178f77318424f2617e3b9a48b236e128b35635e3acefe9785b7011257fba04d46e3b6a861fa7045a1355787e83d81b8625452b70a9

View File

@ -0,0 +1,36 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} pypy{,3} )
inherit distutils-r1
DESCRIPTION="Attributes without boilerplate"
HOMEPAGE="
https://github.com/hynek/attrs
https://attrs.readthedocs.org/
https://pypi.org/project/attrs/"
SRC_URI="mirror://pypi/${P:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
IUSE="test"
RDEPEND="
dev-python/zope-interface[${PYTHON_USEDEP}]"
DEPEND="
${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
$(python_gen_impl_dep sqlite)
>=dev-python/hypothesis-3.6.0[${PYTHON_USEDEP}]
dev-python/pytest[${PYTHON_USEDEP}]
)"
python_test() {
py.test -v || die "tests failed with ${EPYTHON}"
}

View File

@ -0,0 +1,6 @@
AUX CVE-2018-10903.patch 3641 BLAKE2B a426705cfcbc9ba4e3ffd662610b7a27c7afe52dff71d1c7248c03524369faa763196eb018b7ea94b8ac87cc5cb5dd5bf172f5cdedadb54be62dbe4e0819ed82 SHA512 94c56586ae1649b29959d855235af8e84bc9dd927b412e0e0a62cb47bb52580a919bacefe4be6d0b75318be05afccb950dbff3d7f6ec1cb44c111a4bbc2e6a99
AUX cryptography-1.7.1-libressl251.patch 948 BLAKE2B cfb192c89d714093f366a75245911de165a3cab7062737df7b949a928927a5b6f0000b9fa7efa416798c62c803b406b14d2888afef87f8e63759fd3ff74c8da9 SHA512 5660bd82498ec2bd17ad4dcbd8d3ffd8a2a1364dc5584736e4cff278bbeb4644138336385fa2bc16261fe4712481c6cffba227aaa09c841df3081709f8ec7187
AUX cryptography-2.1.4-libressl-2.7-x509.patch 1005 BLAKE2B 9c01fe0f9c3c8c598388db68f68470b953b4a8e79dba8c1d3c6ce56486a93f340101a58db8771fa1adeaabe430d78acbb6723da597b8b114416d676022b989d4 SHA512 fc58993b3dc86990194e03c7cc4554d83260b243913d77b3743fe1f9fd0d21985ee849c6b7f7fc158c48b75505e8e8a9adf090b9c7ba40e12b09b3c020e50afe
AUX cryptography-2.1.4-libressl-2.7-x509_vfy.patch 3419 BLAKE2B 89642459484d42958aec818c4196eff35991ba415c76ee1f43c0765b1a9687c6b405f31322227eb132309439aa8d7ee5ed6df7ed07f640e4eea21c6e97fde858 SHA512 e941b89924d68b1d1dfe8e64a4f7ae363ccb53fd232a3853d9ddba0a7aed1dc27fb8d699e9197bdd7ff0b1780c1f12edd2edd4133f08e2f7f13348b170985a4c
DIST cryptography-2.3.1.tar.gz 449577 BLAKE2B 66a94f68a6f5c14ff1e3316ea740bda8c34135bc4614a6a36880d4970d54cb72d69374555a6a89dd9a6794e35feed8fc4598ad071cce33b9515da1ada4c38d53 SHA512 384581238b5669dbf31fd1b1385ec2ff9c6d76e2b7612efb15f255e17a11a38474f84668e62ceaa39a146260f46cac743575c0a8ffedc1e40c7b2f90d7cb00b1
EBUILD cryptography-2.3.1.ebuild 2162 BLAKE2B b7b99f45e7cae87e2f286e1edc07fd96d79bed983642e2f08500b89ca8f6102596b79a000d1de33316b3ae56e4fab1ebc632db974ba3f4c0a23637e8a53552f5 SHA512 5999a1de82114e5da46ab9bcea4de62e6552c1323e410fe1d829c1ab962153b3b14befc6a60fb6f748c03a4926a332e5e084bea67597503914f0e28283546cc2

View File

@ -0,0 +1,67 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} pypy{,3} )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1 flag-o-matic
DESCRIPTION="Library providing cryptographic recipes and primitives"
HOMEPAGE="https://github.com/pyca/cryptography/ https://pypi.org/project/cryptography/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="|| ( Apache-2.0 BSD )"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="libressl test"
# the openssl 1.0.2l-r1 needs to be updated again :(
# It'd theb be able to go into the || section again
#=dev-libs/openssl-1.0.2l-r1:0
# the following is the original section, disallowing bindist entirely
#!libressl? ( >=dev-libs/openssl-1.0.2:0=[-bindist(-)] )
RDEPEND="
!libressl? (
dev-libs/openssl:0= (
|| (
dev-libs/openssl:0[-bindist(-)]
>=dev-libs/openssl-1.0.2o-r6:0
)
)
)
libressl? ( dev-libs/libressl:0= )
$(python_gen_cond_dep 'dev-python/enum34[${PYTHON_USEDEP}]' python2_7 pypy{,3})
>=dev-python/idna-2.1[${PYTHON_USEDEP}]
>=dev-python/asn1crypto-0.21.0[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
>=dev-python/six-1.4.1[${PYTHON_USEDEP}]
virtual/python-ipaddress[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}
>=dev-python/setuptools-1.0[${PYTHON_USEDEP}]
$(python_gen_cond_dep '>=dev-python/cffi-1.7:=[${PYTHON_USEDEP}]' 'python*')
$(python_gen_cond_dep '!~dev-python/cffi-1.11.3[${PYTHON_USEDEP}]' 'python*')
test? (
~dev-python/cryptography-vectors-${PV}[${PYTHON_USEDEP}]
dev-python/hypothesis[${PYTHON_USEDEP}]
dev-python/iso8601[${PYTHON_USEDEP}]
dev-python/pretend[${PYTHON_USEDEP}]
dev-python/pyasn1-modules[${PYTHON_USEDEP}]
>=dev-python/pytest-2.9.0[${PYTHON_USEDEP}]
dev-python/pytz[${PYTHON_USEDEP}]
)"
DOCS=( AUTHORS.rst CONTRIBUTING.rst README.rst )
PATCHES=(
)
python_configure_all() {
append-cflags $(test-flags-CC -pthread)
}
python_test() {
py.test -v -v -x || die "Tests fail with ${EPYTHON}"
}

View File

@ -0,0 +1,76 @@
From 688e0f673bfbf43fa898994326c6877f00ab19ef Mon Sep 17 00:00:00 2001
From: Paul Kehrer <paul.l.kehrer@gmail.com>
Date: Tue, 17 Jul 2018 10:47:57 +0800
Subject: [PATCH] disallow implicit tag truncation with finalize_with_tag
---
docs/hazmat/primitives/symmetric-encryption.rst | 1 +
src/cryptography/hazmat/backends/openssl/ciphers.py | 5 +++++
src/cryptography/hazmat/primitives/ciphers/modes.py | 1 +
tests/hazmat/primitives/test_aes.py | 16 ++++++++++++++++
5 files changed, 28 insertions(+)
diff --git a/docs/hazmat/primitives/symmetric-encryption.rst b/docs/hazmat/primitives/symmetric-encryption.rst
index 5ebcca754..5b6000902 100644
--- a/docs/hazmat/primitives/symmetric-encryption.rst
+++ b/docs/hazmat/primitives/symmetric-encryption.rst
@@ -670,6 +670,7 @@ Interfaces
:raises ValueError: This is raised when the data provided isn't
a multiple of the algorithm's block size, if ``min_tag_length`` is
less than 4, or if ``len(tag) < min_tag_length``.
+ ``min_tag_length`` is an argument to the ``GCM`` constructor.
:raises NotImplementedError: This is raised if the version of the
OpenSSL backend used is 1.0.1 or earlier.
diff --git a/src/cryptography/hazmat/backends/openssl/ciphers.py b/src/cryptography/hazmat/backends/openssl/ciphers.py
index 462ffea25..e0ee06ee2 100644
--- a/src/cryptography/hazmat/backends/openssl/ciphers.py
+++ b/src/cryptography/hazmat/backends/openssl/ciphers.py
@@ -199,6 +199,11 @@ def finalize_with_tag(self, tag):
"finalize_with_tag requires OpenSSL >= 1.0.2. To use this "
"method please update OpenSSL"
)
+ if len(tag) < self._mode._min_tag_length:
+ raise ValueError(
+ "Authentication tag must be {0} bytes or longer.".format(
+ self._mode._min_tag_length)
+ )
res = self._backend._lib.EVP_CIPHER_CTX_ctrl(
self._ctx, self._backend._lib.EVP_CTRL_AEAD_SET_TAG,
len(tag), tag
diff --git a/src/cryptography/hazmat/primitives/ciphers/modes.py b/src/cryptography/hazmat/primitives/ciphers/modes.py
index 598dfaa4a..543015fef 100644
--- a/src/cryptography/hazmat/primitives/ciphers/modes.py
+++ b/src/cryptography/hazmat/primitives/ciphers/modes.py
@@ -220,6 +220,7 @@ def __init__(self, initialization_vector, tag=None, min_tag_length=16):
min_tag_length)
)
self._tag = tag
+ self._min_tag_length = min_tag_length
tag = utils.read_only_property("_tag")
initialization_vector = utils.read_only_property("_initialization_vector")
diff --git a/tests/hazmat/primitives/test_aes.py b/tests/hazmat/primitives/test_aes.py
index d6f83ebc2..4ceccf155 100644
--- a/tests/hazmat/primitives/test_aes.py
+++ b/tests/hazmat/primitives/test_aes.py
@@ -439,3 +439,19 @@ def test_gcm_tag_decrypt_finalize(self, backend):
decryptor.finalize()
else:
decryptor.finalize_with_tag(tag)
+
+ @pytest.mark.supported(
+ only_if=lambda backend: (
+ not backend._lib.CRYPTOGRAPHY_OPENSSL_LESS_THAN_102 or
+ backend._lib.CRYPTOGRAPHY_IS_LIBRESSL
+ ),
+ skip_message="Not supported on OpenSSL 1.0.1",
+ )
+ def test_gcm_tag_decrypt_finalize_tag_length(self, backend):
+ decryptor = base.Cipher(
+ algorithms.AES(b"0" * 16),
+ modes.GCM(b"0" * 12),
+ backend=backend
+ ).decryptor()
+ with pytest.raises(ValueError):
+ decryptor.finalize_with_tag(b"tagtooshort")

View File

@ -0,0 +1,17 @@
diff -Naur cryptography-1.7.1.orig/src/_cffi_src/openssl/x509_vfy.py cryptography-1.7.1/src/_cffi_src/openssl/x509_vfy.py
--- cryptography-1.7.1.orig/src/_cffi_src/openssl/x509_vfy.py 2017-02-01 12:29:59.080728417 -0800
+++ cryptography-1.7.1/src/_cffi_src/openssl/x509_vfy.py 2017-02-01 12:31:48.017895844 -0800
@@ -221,10 +221,13 @@
static const long X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM = 0;
static const long X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED = 0;
static const long X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 = 0;
+#if !CRYPTOGRAPHY_OPENSSL_102BETA2_OR_GREATER || \
+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2050100fL)
static const long X509_V_ERR_HOSTNAME_MISMATCH = 0;
static const long X509_V_ERR_EMAIL_MISMATCH = 0;
static const long X509_V_ERR_IP_ADDRESS_MISMATCH = 0;
+#endif
#endif
/* OpenSSL 1.0.2beta2+ verification parameters */
#if CRYPTOGRAPHY_OPENSSL_102BETA2_OR_GREATER && \

View File

@ -0,0 +1,23 @@
diff -ur a/src/_cffi_src/openssl/x509.py b/src/_cffi_src/openssl/x509.py
--- a/src/_cffi_src/openssl/x509.py 2017-07-27 05:11:29.000000000 +0200
+++ b/src/_cffi_src/openssl/x509.py 2018-03-23 10:28:00.387774214 +0100
@@ -254,8 +254,7 @@
const X509_ALGOR *X509_get0_tbs_sigalg(const X509 *);
-/* in 1.1.0 becomes const ASN1_BIT_STRING, const X509_ALGOR */
-void X509_get0_signature(ASN1_BIT_STRING **, X509_ALGOR **, X509 *);
+void X509_get0_signature(const ASN1_BIT_STRING **, const X509_ALGOR **, const X509 *);
long X509_get_version(X509 *);
@@ -338,7 +337,8 @@
CUSTOMIZATIONS = """
/* Added in 1.0.2 beta but we need it in all versions now due to the great
opaquing. */
-#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102
+#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_102 && \
+ (defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER < 0x2070000fL)
/* from x509/x_x509.c version 1.0.2 */
void X509_get0_signature(ASN1_BIT_STRING **psig, X509_ALGOR **palg,
const X509 *x)

View File

@ -0,0 +1,73 @@
$OpenBSD: patch-src__cffi_src_openssl_x509_vfy_py,v 1.7 2018/02/22 18:49:16 sthen Exp $
--- a/src/_cffi_src/openssl/x509_vfy.py
+++ b/src/_cffi_src/openssl/x509_vfy.py
@@ -204,7 +204,7 @@ int sk_X509_OBJECT_num(Cryptography_STACK_OF_X509_OBJE
X509_OBJECT *sk_X509_OBJECT_value(Cryptography_STACK_OF_X509_OBJECT *, int);
X509_VERIFY_PARAM *X509_STORE_get0_param(X509_STORE *);
Cryptography_STACK_OF_X509_OBJECT *X509_STORE_get0_objects(X509_STORE *);
-X509 *X509_OBJECT_get0_X509(X509_OBJECT *);
+X509 *X509_OBJECT_get0_X509(const X509_OBJECT *);
int X509_OBJECT_get_type(const X509_OBJECT *);
/* added in 1.1.0 */
@@ -220,14 +220,11 @@ static const long Cryptography_HAS_102_VERIFICATION_ER
static const long Cryptography_HAS_102_VERIFICATION_PARAMS = 1;
#else
static const long Cryptography_HAS_102_VERIFICATION_ERROR_CODES = 0;
+#if LIBRESSL_VERSION_NUMBER >= 0x2070000fL
+static const long Cryptography_HAS_102_VERIFICATION_PARAMS = 1;
+#else
static const long Cryptography_HAS_102_VERIFICATION_PARAMS = 0;
-static const long X509_V_ERR_SUITE_B_INVALID_VERSION = 0;
-static const long X509_V_ERR_SUITE_B_INVALID_ALGORITHM = 0;
-static const long X509_V_ERR_SUITE_B_INVALID_CURVE = 0;
-static const long X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM = 0;
-static const long X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED = 0;
-static const long X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 = 0;
/* These 3 defines are unavailable in LibreSSL 2.5.x, but may be added
in the future... */
#ifndef X509_V_ERR_HOSTNAME_MISMATCH
@@ -240,12 +237,6 @@ static const long X509_V_ERR_EMAIL_MISMATCH = 0;
static const long X509_V_ERR_IP_ADDRESS_MISMATCH = 0;
#endif
-/* X509_V_FLAG_TRUSTED_FIRST is also new in 1.0.2+, but it is added separately
- below because it shows up in some earlier 3rd party OpenSSL packages. */
-static const long X509_V_FLAG_SUITEB_128_LOS_ONLY = 0;
-static const long X509_V_FLAG_SUITEB_192_LOS = 0;
-static const long X509_V_FLAG_SUITEB_128_LOS = 0;
-
int (*X509_VERIFY_PARAM_set1_host)(X509_VERIFY_PARAM *, const char *,
size_t) = NULL;
int (*X509_VERIFY_PARAM_set1_email)(X509_VERIFY_PARAM *, const char *,
@@ -257,6 +248,19 @@ void (*X509_VERIFY_PARAM_set_hostflags)(X509_VERIFY_PA
unsigned int) = NULL;
#endif
+static const long X509_V_ERR_SUITE_B_INVALID_VERSION = 0;
+static const long X509_V_ERR_SUITE_B_INVALID_ALGORITHM = 0;
+static const long X509_V_ERR_SUITE_B_INVALID_CURVE = 0;
+static const long X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM = 0;
+static const long X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED = 0;
+static const long X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256 = 0;
+/* X509_V_FLAG_TRUSTED_FIRST is also new in 1.0.2+, but it is added separately
+ below because it shows up in some earlier 3rd party OpenSSL packages. */
+static const long X509_V_FLAG_SUITEB_128_LOS_ONLY = 0;
+static const long X509_V_FLAG_SUITEB_192_LOS = 0;
+static const long X509_V_FLAG_SUITEB_128_LOS = 0;
+#endif
+
/* OpenSSL 1.0.2+ or Solaris's backport */
#ifdef X509_V_FLAG_PARTIAL_CHAIN
static const long Cryptography_HAS_X509_V_FLAG_PARTIAL_CHAIN = 1;
@@ -292,7 +296,7 @@ X509 *X509_STORE_CTX_get0_cert(X509_STORE_CTX *ctx)
return ctx->cert;
}
-X509 *X509_OBJECT_get0_X509(X509_OBJECT *x) {
+X509 *X509_OBJECT_get0_X509(const X509_OBJECT *x) {
return x->data.x509;
}
#endif

View File

@ -0,0 +1,2 @@
DIST PyJWT-1.6.4.tar.gz 41694 BLAKE2B 59677d2f76a6f49be794d7cb796a5388b34fb8016dde9a069fa0494dfa91862b5cd9437e9231377fc7da10438a0a73ffbfe3afd2023cc21c5e166c93eb04fdaa SHA512 28c448d473f0409d11c2a97bef9f878800a78691250f55a46d79009b09faab0ac179133c4d4795ed9910dd7176adc9d6912189a5b4938f27ae441308e98d5e11
EBUILD pyjwt-1.6.4.ebuild 1274 BLAKE2B aca14ed6abc283ac649ec62cf7eaff6cd1324cc2bf191d67ee67e8eea6a7ebcaa793756f1d1758d68a2f2ec2273640bca630cd27707abfd2bfa88c2e54a8a53f SHA512 76a505fe837f0d199960b90f699483b24c9a5da67c5632875f0a28090615e332a34a06c125cd0dfcb048c5355ed1ef45eff063433f76de0b1a4a2d81e965fbcd

View File

@ -0,0 +1,51 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{2_7,3_{4,5,6,7}} pypy )
inherit distutils-r1 eutils
MY_PN="PyJWT"
DESCRIPTION="JSON Web Token implementation in Python"
HOMEPAGE="https://github.com/progrium/pyjwt https://pypi.org/project/PyJWT/"
SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
LICENSE=" MIT"
SLOT="0"
KEYWORDS="amd64 ~arm ~arm64 x86"
IUSE="test"
RDEPEND=""
DEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
test? (
>=dev-python/cryptography-1.4.0[${PYTHON_USEDEP}]
dev-python/pytest[${PYTHON_USEDEP}]
)"
S="${WORKDIR}"/${MY_PN}-${PV}
python_prepare_all() {
find . -name '__pycache__' -prune -exec rm -rf {} \; || die "Cleaning __pycache__ failed"
find . -name '*.pyc' -exec rm -f {} \; || die "Cleaing *.pyc failed"
# enables coverage, we don't need that
rm setup.cfg || die
distutils-r1_python_prepare_all
}
python_test() {
pytest -vv || die "Tests fail with ${EPYTHON}"
}
pkg_postinst() {
elog "Available optional features:"
optfeature "cryptography" dev-python/cryptography
optfeature "flake8" dev-python/flake8
ewarn "flake8 feature requires 'flake8-import-order' and 'pep8-naming', which are not in portage yet"
}

View File

@ -0,0 +1,2 @@
DIST pymusiccast-0.1.6.tar.gz 7832 BLAKE2B b4bc9ea06f4cb0f1a4c90ffef2fbe75f93349e2b0f0cfc4412e3dae361409c08f9123ab9fc4e31a721beccbe9d75e5bd3464ae08c4e546abb3349cb7755854cc SHA512 0e0160628de78148d8db9fe5078f8bafb167945e845db619a1518be1bdf29feec5e11863d532ad1800202e2d7c27f23a67feb6ccaa304fc4e226108dad0ef09e
EBUILD pymusiccast-0.1.6.ebuild 651 BLAKE2B fc80a168f7b508aeb681245d02068cf46576ce6c29f98754c76c2d1d613e252c3df5dd40185cfac50269b698c414a3804edb170c33b3e65e2f08127e8ec2b03c SHA512 668b22e3085d5e643d7ac4f78fb454b501e6972efd03fb072a02ff28e0bba0130265565e410ac2ae7a1137f44db454490ee66d990666cf77a6ffa26f9c9d508d

View File

@ -0,0 +1,24 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
inherit distutils-r1
DESCRIPTION="This library brings support for Yamaha MusicCast devices to Home Assistant"
HOMEPAGE="https://github.com/jalmeroth/pymusiccast"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
IUSE=""
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND=""
python_test() {
unset PYTHONPATH
nosetests -v || die "Tests failed"
}

View File

@ -0,0 +1,2 @@
DIST typing-3.5.3.0.tar.gz 60350 BLAKE2B 56b59ce3e38f0d17aed88b3e47c89383798c5d7f781c65d8f7a960ae11c16c30837254b1b1f198116ea9bc748b93faf672844661b0c811b07961c3e814811228 SHA512 e1930de61cbb0b49ebeec49b87ce3a60752ed062ebf44ff2c5becf2e19a22726d08607ce6723b5b4e633190d8a9686176d44f7672c44bd246acb8e367c5d3c37
EBUILD typing-3.5.3.0.ebuild 623 BLAKE2B ed970ba343288db7a3b4f6725faf4b861bb482c784076582c1331e943e0690f5614a7e1c6a1f2cdab21224b8fcbea0a1caba68c0ae2bcd6a621323d972c26f5c SHA512 e9c5385d56a05de044e7593345b97697dd529b443364a22f533f1c98190b5636078d65f8e0c012c69a8e22e78930478c46280660ed2619d1a2802a18b1b178f3

View File

@ -0,0 +1,24 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
inherit distutils-r1
DESCRIPTION="Work related to PEP 484: typing.py (released via PyPI)"
HOMEPAGE="https://github.com/python/typing"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
IUSE=""
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND=""
python_test() {
unset PYTHONPATH
nosetests -v || die "Tests failed"
}

View File

@ -0,0 +1,2 @@
DIST voluptuous-serialize-2.0.0.tar.gz 2029 BLAKE2B 173e3e5d37c6ed302432b901e39f880a9a57b72b8fc6112fec0a824eba954e43df8efca6a485bf53865df3fa4d9d7bce9dc107a50095e2c215bdffce5880c944 SHA512 e901d3189b0579c3a0f07f6ff9fa9fdc230ebb01a68964b39692b0d0f972acddb49543427af5c10c0ed0d18ae33183bf0621ea1fe6e973b19fa211fe3606c18b
EBUILD voluptuous-serialize-2.0.0.ebuild 632 BLAKE2B 805682e08c59de9504fd1c262545771b799c5440592ecb7d6077d143d0c9d417c5debd270047d3062f66782ce3b449fd7c2fcb1e2fbd21e51dc2c00be21967cf SHA512 e224d5f0670b8e2fe2e1efad9a9f473f61fb3cbd8b2f64f18a421c250d20e35c055533eae962034bcb5f91a4caa0d3e07cc159dd233b46623d842b54e78790a2

View File

@ -0,0 +1,24 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
inherit distutils-r1
DESCRIPTION="Experiment to convert voluptuous schemas to JSON"
HOMEPAGE="https://github.com/balloob/voluptuous-serialize"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
IUSE=""
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND=""
python_test() {
unset PYTHONPATH
nosetests -v || die "Tests failed"
}

View File

@ -0,0 +1,2 @@
DIST voluptuous-0.11.5.tar.gz 44216 BLAKE2B 921e0f35bd5348f412f0bf20939b3364b0014d3b1d1a7248cd73f2514eef0fb4e5b4b742876dc4606b5619529f1aa96e3577508ed0bf8d1e98b4d8bb88e2b8a2 SHA512 8893434e8e73ebf3682da1970d1d720444de452937ac9123fab53413c88a21d04ad3eb490902d829aa60be6804ff68b8bcf57a1c45807751c3d50be63e9b2551
EBUILD voluptuous-0.11.5.ebuild 610 BLAKE2B da504c2d2949ca428b9cf72b0d01abfba4ad840be724c64c02440bf7c2eb77c89efd21a1d744a15b654a6c67dcc3112a45e0cb8460b26a8c9ab8bd85931dc2e6 SHA512 446db5cb35cb065536b3317d5910b4c06a4c731e41f31b01179e65871074141f47b85dbb19f28f3b2132b2d83c5a9caf622805a3580e16de1d5b2df28101dad9

View File

@ -0,0 +1,24 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
PYTHON_COMPAT=( python{2_7,3_4,3_5,3_6} )
inherit distutils-r1
DESCRIPTION="A Python data validation library."
HOMEPAGE="https://github.com/alecthomas/voluptuous"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 x86 ~amd64-fbsd ~amd64-linux ~x86-linux"
IUSE=""
DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
RDEPEND=""
python_test() {
unset PYTHONPATH
nosetests -v || die "Tests failed"
}

410
eclass/bitcoincore.eclass Normal file
View File

@ -0,0 +1,410 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
#
# @ECLASS: bitcoincore.eclass
# @MAINTAINER:
# Luke Dashjr <luke_gentoo_bitcoin@dashjr.org>
# @BLURB: common code for Bitcoin Core ebuilds
# @DESCRIPTION:
# This eclass is used in Bitcoin Core ebuilds (bitcoin-qt, bitcoind,
# libbitcoinconsensus) to provide a single common place for the common ebuild
# stuff.
#
# The eclass provides all common dependencies as well as common use flags.
has "${EAPI:-0}" 5 || die "EAPI=${EAPI} not supported"
if [[ ! ${_BITCOINCORE_ECLASS} ]]; then
in_bcc_iuse() {
local liuse=( ${BITCOINCORE_IUSE} )
has "${1}" "${liuse[@]#[+-]}"
}
in_bcc_policy() {
local liuse=( ${BITCOINCORE_POLICY_PATCHES} )
has "${1}" "${liuse[@]#[+-]}"
}
DB_VER="4.8"
inherit autotools db-use eutils
if [ -z "$BITCOINCORE_COMMITHASH" ]; then
inherit git-2
fi
fi
EXPORT_FUNCTIONS src_prepare src_test src_install
if in_bcc_iuse ljr || in_bcc_iuse knots || in_bcc_iuse 1stclassmsg || in_bcc_iuse zeromq || [ -n "$BITCOINCORE_POLICY_PATCHES" ]; then
EXPORT_FUNCTIONS pkg_pretend
fi
if [[ ! ${_BITCOINCORE_ECLASS} ]]; then
# @ECLASS-VARIABLE: BITCOINCORE_COMMITHASH
# @DESCRIPTION:
# Set this variable before the inherit line, to the upstream commit hash.
# @ECLASS-VARIABLE: BITCOINCORE_IUSE
# @DESCRIPTION:
# Set this variable before the inherit line, to the USE flags supported.
# @ECLASS-VARIABLE: BITCOINCORE_LJR_DATE
# @DESCRIPTION:
# Set this variable before the inherit line, to the datestamp of the Knots
# patchset.
# @ECLASS-VARIABLE: BITCOINCORE_POLICY_PATCHES
# @DESCRIPTION:
# Set this variable before the inherit line, to a space-delimited list of
# supported policies.
MyPV="${PV/_/}"
MyPN="bitcoin"
MyP="${MyPN}-${MyPV}"
# These are expected to change in future versions
DOCS="${DOCS} doc/README.md doc/release-notes.md"
OPENSSL_DEPEND="dev-libs/openssl:0[-bindist]"
WALLET_DEPEND="sys-libs/db:$(db_ver_to_slot "${DB_VER}")[cxx]"
LIBEVENT_DEPEND=""
UNIVALUE_DEPEND=""
BITCOINCORE_LJR_NAME=ljr
BITCOINCORE_KNOTS_USE=knots
[ -n "${BITCOINCORE_LJR_PV}" ] || BITCOINCORE_LJR_PV="${PV}"
case "${PV}" in
0.14*)
BITCOINCORE_MINOR=$(get_version_component_range 2)
IUSE="${IUSE} libressl"
OPENSSL_DEPEND="!libressl? ( dev-libs/openssl:0[-bindist] ) libressl? ( dev-libs/libressl )"
if in_bcc_iuse libevent; then
LIBEVENT_DEPEND="libevent? ( dev-libs/libevent )"
else
LIBEVENT_DEPEND="dev-libs/libevent"
fi
LIBSECP256K1_DEPEND="=dev-libs/libsecp256k1-0.0.0_pre20151118[recovery]"
UNIVALUE_DEPEND="dev-libs/univalue"
BITCOINCORE_LJR_NAME=knots
if in_bcc_iuse ljr; then
BITCOINCORE_KNOTS_USE=ljr
fi
if in_bcc_policy spamfilter; then
REQUIRED_USE="${REQUIRED_USE} bitcoin_policy_spamfilter? ( ${BITCOINCORE_KNOTS_USE} )"
fi
;;
9999*)
BITCOINCORE_MINOR=9999
BITCOINCORE_SERIES="9999"
LIBEVENT_DEPEND="dev-libs/libevent"
LIBSECP256K1_DEPEND=">dev-libs/libsecp256k1-0.0.0_pre20150422"
UNIVALUE_DEPEND="dev-libs/univalue"
;;
*)
die "Unrecognised version"
;;
esac
[ -n "${BITCOINCORE_SERIES}" ] || BITCOINCORE_SERIES="0.${BITCOINCORE_MINOR}.x"
LJR_PV() {
local testsfx=
if [ -n "${BITCOINCORE_LJR_PREV}" ]; then
if [ "$1" = "dir" ]; then
testsfx="/test/${BITCOINCORE_LJR_PREV}"
else
testsfx=".${BITCOINCORE_LJR_PREV}"
fi
fi
echo "${BITCOINCORE_LJR_PV}.${BITCOINCORE_LJR_NAME}${BITCOINCORE_LJR_DATE}${testsfx}"
}
LJR_PATCHDIR="${MyPN}-$(LJR_PV ljr).patches"
LJR_PATCH() { echo "${WORKDIR}/${LJR_PATCHDIR}/${MyPN}-$(LJR_PV ljr).$@.patch"; }
LJR_PATCH_DESC="http://luke.dashjr.org/programs/${MyPN}/files/${MyPN}d/luke-jr/${BITCOINCORE_SERIES}/$(LJR_PV ljr)/${MyPN}-$(LJR_PV ljr).desc.txt"
if [ "$BITCOINCORE_MINOR" -ge 12 ]; then
LJR_PATCH_DESC="http://bitcoinknots.org/files/${BITCOINCORE_SERIES}/$(LJR_PV dir)/${MyPN}-$(LJR_PV).desc.html"
fi
HOMEPAGE="http://bitcoincore.org/"
if [ -z "$BITCOINCORE_COMMITHASH" ]; then
EGIT_PROJECT='bitcoin'
EGIT_REPO_URI="https://github.com/bitcoin/bitcoin.git"
else
SRC_URI="https://github.com/${MyPN}/${MyPN}/archive/${BITCOINCORE_COMMITHASH}.tar.gz -> ${MyPN}-v${PV}${BITCOINCORE_SRC_SUFFIX}.tgz"
if [ -z "${BITCOINCORE_NO_SYSLIBS}" ]; then
SRC_URI="${SRC_URI} http://bitcoinknots.org/files/${BITCOINCORE_SERIES}/$(LJR_PV dir)/${LJR_PATCHDIR}.txz -> ${LJR_PATCHDIR}.tar.xz"
fi
if in_bcc_iuse addrindex; then
SRC_URI="${SRC_URI} addrindex? ( https://github.com/btcdrak/bitcoin/compare/${BITCOINCORE_ADDRINDEX_DIFF}.diff -> ${BITCOINCORE_ADDRINDEX_PATCHFILE} )"
fi
if in_bcc_iuse xt; then
BITCOINXT_PATCHFILE="${MyPN}xt-v${PV}.patch"
SRC_URI="${SRC_URI} xt? ( https://github.com/bitcoinxt/bitcoinxt/compare/${BITCOINCORE_XT_DIFF}.diff -> ${BITCOINXT_PATCHFILE} )"
fi
if in_bcc_policy rbf && [ -n "${BITCOINCORE_RBF_DIFF}" ]; then
SRC_URI="${SRC_URI} bitcoin_policy_rbf? ( https://github.com/petertodd/bitcoin/compare/${BITCOINCORE_RBF_DIFF}.diff -> ${BITCOINCORE_RBF_PATCHFILE} )"
fi
S="${WORKDIR}/${MyPN}-${BITCOINCORE_COMMITHASH}"
fi
bitcoincore_policy_iuse() {
local mypolicy iuse_def new_BITCOINCORE_IUSE=
for mypolicy in ${BITCOINCORE_POLICY_PATCHES}; do
if [[ "${mypolicy:0:1}" =~ ^[+-] ]]; then
iuse_def=${mypolicy:0:1}
mypolicy="${mypolicy:1}"
else
iuse_def=
fi
new_BITCOINCORE_IUSE="$new_BITCOINCORE_IUSE ${iuse_def}bitcoin_policy_${mypolicy}"
done
echo $new_BITCOINCORE_IUSE
}
IUSE="$IUSE $BITCOINCORE_IUSE $(bitcoincore_policy_iuse)"
if in_bcc_policy rbf && in_bcc_iuse xt; then
REQUIRED_USE="${REQUIRED_USE} bitcoin_policy_rbf? ( !xt )"
fi
BITCOINCORE_COMMON_DEPEND="
${OPENSSL_DEPEND}
"
if ! has libevent ${BITCOINCORE_NO_DEPEND}; then
BITCOINCORE_COMMON_DEPEND="${BITCOINCORE_COMMON_DEPEND} ${LIBEVENT_DEPEND}"
fi
if [ "${BITCOINCORE_NEED_LIBSECP256K1}" = "1" ]; then
BITCOINCORE_COMMON_DEPEND="${BITCOINCORE_COMMON_DEPEND} $LIBSECP256K1_DEPEND"
fi
if [ "${PN}" = "libbitcoinconsensus" ]; then
DEPEND="$DEPEND ${BITCOINCORE_COMMON_DEPEND}
test? (
${UNIVALUE_DEPEND}
>=dev-libs/boost-1.52.0[threads(+)]
)
"
else
BITCOINCORE_COMMON_DEPEND="${BITCOINCORE_COMMON_DEPEND}
${UNIVALUE_DEPEND}
>=dev-libs/boost-1.52.0[threads(+)]
"
fi
bitcoincore_common_depend_use() {
in_bcc_iuse "$1" || return
BITCOINCORE_COMMON_DEPEND="${BITCOINCORE_COMMON_DEPEND} $1? ( $2 )"
}
bitcoincore_common_depend_use upnp net-libs/miniupnpc
bitcoincore_common_depend_use wallet "${WALLET_DEPEND}"
bitcoincore_common_depend_use zeromq net-libs/zeromq
RDEPEND="${RDEPEND} ${BITCOINCORE_COMMON_DEPEND}"
DEPEND="${DEPEND} ${BITCOINCORE_COMMON_DEPEND}
>=app-shells/bash-4.1
sys-apps/sed
"
if [ "${BITCOINCORE_NEED_LEVELDB}" = "1" ]; then
RDEPEND="${RDEPEND} virtual/bitcoin-leveldb"
fi
if in_bcc_iuse ${BITCOINCORE_KNOTS_USE}; then
if [ "${BITCOINCORE_LJR_NAME}" = "knots" ]; then
DEPEND="${DEPEND} ${BITCOINCORE_KNOTS_USE}? ( dev-lang/perl )"
fi
fi
bitcoincore_policymsg() {
local USEFlag="bitcoin_policy_$1"
in_iuse "${USEFlag}" || return
if use "${USEFlag}"; then
[ -n "$2" ] && einfo "$2"
else
[ -n "$3" ] && einfo "$3"
fi
bitcoincore_policymsg_flag=true
}
bitcoincore_pkg_pretend() {
bitcoincore_policymsg_flag=false
if use_if_iuse ${BITCOINCORE_KNOTS_USE} || use_if_iuse 1stclassmsg || use_if_iuse addrindex || use_if_iuse xt || { use_if_iuse zeromq && [ "${BITCOINCORE_MINOR}" -lt 12 ]; }; then
einfo "Extra functionality improvements to Bitcoin Core are enabled."
bitcoincore_policymsg_flag=true
if use_if_iuse addrindex addrindex; then
einfo "Please be aware that the addrindex functionality is known to be unreliable."
fi
fi
bitcoincore_policymsg cltv \
"CLTV policy is enabled: Your node will recognise and assist OP_CHECKLOCKTIMEVERIFY (BIP65) transactions." \
"CLTV policy is disabled: Your node will not recognise OP_CHECKLOCKTIMEVERIFY (BIP65) transactions."
bitcoincore_policymsg cpfp \
"CPFP policy is enabled: If you mine, you will give consideration to child transaction fees to pay for their parents." \
"CPFP policy is disabled: If you mine, you will ignore transactions unless they have sufficient fee themselves, even if child transactions offer a fee to cover their cost."
bitcoincore_policymsg dcmp \
"Data Carrier Multi-Push policy is enabled: Your node will assist transactions with at most a single multiple-'push' data carrier output." \
"Data Carrier Multi-Push policy is disabled: Your node will assist transactions with at most a single data carrier output with only a single 'push'."
bitcoincore_policymsg rbf \
"Replace By Fee policy is enabled: Your node will preferentially mine and relay transactions paying the highest fee, regardless of receive order." \
"Replace By Fee policy is disabled: Your node will only accept the first transaction seen consuming a conflicting input, regardless of fee offered by later ones."
bitcoincore_policymsg spamfilter \
"Enhanced spam filter policy is enabled: Your node will identify notorious spam scripts and avoid assisting them. This may impact your ability to use some services (see link for a list)." \
"Enhanced spam filter policy is disabled: Your node will not be checking for notorious spam scripts, and may assist them."
$bitcoincore_policymsg_flag && einfo "For more information on any of the above, see ${LJR_PATCH_DESC}"
}
bitcoincore_predelete_patch() {
local patchfile="$1"
mkdir -p "${WORKDIR}/pdp"
local tmpfile="${WORKDIR}/pdp/${patchfile##*/}"
perl -ne '
newline:
if (m[(^diff .* b/(.*)$)]) {
$a = "$1\n";
$f = $2;
$_ = <>;
if (m[^deleted file]) {
unlink($f) || die;
while (!m[^diff ]) {
$_ = <>
}
goto newline
} else {
print($a)
}
}
print
' <"${patchfile}" >"${tmpfile}" || die
epatch "${tmpfile}"
}
bitcoincore_prepare() {
local mypolicy
if [ -n "${BITCOINCORE_NO_SYSLIBS}" ]; then
true
elif [ "${PV}" = "9999" ]; then
epatch "${FILESDIR}/${PV}-syslibs.patch"
else
epatch "$(LJR_PATCH syslibs)"
fi
if use_if_iuse ${BITCOINCORE_KNOTS_USE}; then
if [ "${BITCOINCORE_LJR_NAME}" = "knots" ]; then
bitcoincore_predelete_patch "$(LJR_PATCH f)"
bitcoincore_predelete_patch "$(LJR_PATCH branding)"
epatch "$(LJR_PATCH ts)"
else
epatch "$(LJR_PATCH ljrF)"
fi
fi
if use_if_iuse 1stclassmsg; then
epatch "$(LJR_PATCH 1stclassmsg)"
fi
if use_if_iuse addrindex; then
epatch "${DISTDIR}/${BITCOINCORE_ADDRINDEX_PATCHFILE}"
fi
if use_if_iuse xt; then
epatch "${DISTDIR}/${BITCOINXT_PATCHFILE}"
fi
{ use_if_iuse zeromq && [ "${BITCOINCORE_MINOR}" -lt 12 ]; } && epatch "$(LJR_PATCH zeromq)"
for mypolicy in ${BITCOINCORE_POLICY_PATCHES}; do
mypolicy="${mypolicy#[-+]}"
if [ "${BITCOINCORE_MINOR}" -ge 12 ]; then
case "${mypolicy}" in
rbf)
use bitcoin_policy_rbf || sed -i 's/\(DEFAULT_ENABLE_REPLACEMENT = \)true/\1false/' src/main.h
;;
spamfilter)
use bitcoin_policy_spamfilter || sed -i 's/\(DEFAULT_SPAMFILTER = \)true/\1false/' src/main.h
;;
*)
die "Unknown policy ${mypolicy}"
esac
continue
fi
use bitcoin_policy_${mypolicy} || continue
case "${mypolicy}" in
rbf)
if [ -n "${BITCOINCORE_RBF_PATCHFILE}" ]; then
epatch "${DISTDIR}/${BITCOINCORE_RBF_PATCHFILE}"
else
epatch "$(LJR_PATCH ${mypolicy})"
fi
;;
*)
epatch "$(LJR_PATCH ${mypolicy})"
;;
esac
done
echo '#!/bin/true' >share/genbuild.sh
mkdir -p src/obj
echo "#define BUILD_SUFFIX gentoo${PVR#${PV}}" >src/obj/build.h
}
bitcoincore_autoreconf() {
eautoreconf
rm -r src/leveldb || die
rm -r src/secp256k1 || die
}
bitcoincore_src_prepare() {
bitcoincore_prepare
bitcoincore_autoreconf
}
bitcoincore_conf() {
local my_econf=
if use_if_iuse upnp; then
my_econf="${my_econf} --with-miniupnpc --enable-upnp-default"
else
my_econf="${my_econf} --without-miniupnpc --disable-upnp-default"
fi
if use_if_iuse test; then
my_econf="${my_econf} --enable-tests"
else
my_econf="${my_econf} --disable-tests"
fi
if use_if_iuse wallet; then
my_econf="${my_econf} --enable-wallet"
else
my_econf="${my_econf} --disable-wallet"
fi
if ! use_if_iuse zeromq; then
# NOTE: Older (pre-0.12) patches would disable ZMQ if --enable-zmq was passed
my_econf="${my_econf} --disable-zmq"
fi
if [ -z "${BITCOINCORE_NO_SYSLIBS}" ]; then
my_econf="${my_econf} --disable-util-cli --disable-util-tx"
else
my_econf="${my_econf} --without-utils"
fi
# Knots 0.12.0 errors if --with-libevent used for bitcoin{d,-cli}, so only disable it when not wanted
if has libevent ${BITCOINCORE_NO_DEPEND} || { in_bcc_iuse libevent && ! use libevent; }; then
my_econf="${my_econf} --without-libevent"
fi
if [ "${BITCOINCORE_NEED_LEVELDB}" = "1" ]; then
# Passing --with-system-leveldb fails if leveldb is not installed, so only use it for targets that use LevelDB
my_econf="${my_econf} --with-system-leveldb"
fi
econf \
--disable-bench \
--disable-ccache \
--disable-static \
--with-system-libsecp256k1 \
--with-system-univalue \
--without-libs \
--without-daemon \
--without-gui \
${my_econf} \
"$@"
}
bitcoincore_src_test() {
emake check
}
bitcoincore_src_install() {
default
[ "${PN}" = "libbitcoinconsensus" ] || rm "${D}/usr/bin/test_bitcoin"
}
_BITCOINCORE_ECLASS=1
fi

9
edevau/ede_core/Manifest Normal file
View File

@ -0,0 +1,9 @@
AUX authorized_keys 391 BLAKE2B f0b48a80b48f421334248cd168e41a02eb494c5eb48f50de283b952563ab48c25c8cf8011566e1e63327393eb26241e8a549ab916a6c653a00b63823dc6b37d6 SHA512 b78dc5db9aad8ac23a5cb6a83c13f5f2e60f62f9b334645481406ee878c18d286f09ec64c9273512b9ae16d1e37adb76fcd8dbc9dd7ecacdb5fd1c50d99397de
AUX ede_core-0.1.18.tar.xz 20480 BLAKE2B d4bc3cd34a62b67c10da3ce6420eed31595b4dd75f66c41d5c9c22cc3caf0e5742d9b8615ef02df3d8acd582bb4523f2033722820f111925e4b62eefbf737bad SHA512 3980e45e906de49c8494740180bca6b6259b61cb91d27fe53b4a74c7d0c97482c99115d642e59bc5e66bd60fef968df36f82edddf85e4e261f543ddf39f10f7b
AUX ede_core-0.1.25.tar.xz 51200 BLAKE2B 35f32c63ba0e1d20fad05f6655674847cf48895c968c4eb2e4fff183a98481118d3f29c20abaa729a62a8f246e9a829c9df833cbec1564ae2440fa80b7028c5b SHA512 e7453eaa15cc6cd107ec874ceb167e6f4ba72abe5bbf29b03294a8a42d7820324b2ff1a2a74c6b667877c5f8bec60d79ef4608f00fb9c24a6e0e4108b9f07cff
AUX ede_core.tar.xz 20480 BLAKE2B 02be29ebfcb47ade7a2380e51f0c8d216abaa7f822db0d6d5aedb047b87b716248b39aa1d912c5747e79d1bfb96c3d9b2f34176b2609d9bbcfc6b1b5da9a2e3c SHA512 fb6486fc614f440994b2e275d8c17e9186cff1add813dcab5c61aed76ad4295d0cb4caf0561cce699de56056f47847877074ce2c533cac6597a6df16e6ab75b0
AUX nagios_authorized_keys 95 BLAKE2B 474f1441ba6f4d7d8c0399f532280f019401210081fa8c970c3bb60fd88acb9d2e8ca58c9008a684b7011a5dd1c7cb0fd7758d981f36cc77527fa3d43a6e6ea6 SHA512 c4197dbcef59cd57c5055bc2ee5888486c9507d8f34a38d16d29836adab291857e93909c549bd8dabd1967f9997f159c09a79e7d4fc5a8a89e73139aa0cf6fac
EBUILD ede_core-0.1.23-r20180209.ebuild 5003 BLAKE2B 0b85361078b53682b042682a05dca460a2ccd185ae6636904bd2bbca7aa86755f877a5374848d8fbf9458f5641be53b5913ed3e67a1c07d8fd21dc04c701e313 SHA512 7fd54e1af6000d3e610f2add340991b4bfe3d9b3d2c62206db74fcf6e33aa8650398e0b30e6a9557ea92c6fc6febc1d92be689ae5c1710ef242bd8762a4fa5fd
EBUILD ede_core-0.1.24-r20180511.ebuild 5003 BLAKE2B 0b85361078b53682b042682a05dca460a2ccd185ae6636904bd2bbca7aa86755f877a5374848d8fbf9458f5641be53b5913ed3e67a1c07d8fd21dc04c701e313 SHA512 7fd54e1af6000d3e610f2add340991b4bfe3d9b3d2c62206db74fcf6e33aa8650398e0b30e6a9557ea92c6fc6febc1d92be689ae5c1710ef242bd8762a4fa5fd
EBUILD ede_core-0.1.25-r20180626.ebuild 5003 BLAKE2B 639d9c1053060fd66444bd05171a6537843ba03232631dc1a1d7d1d886cb7d3c389141f091b13b8752741254e3cf420d669eea3ffde7c74c915edd05707a8dcc SHA512 706fca82d48cfd3f870c910154560356fe80c5840a2141d2bec32dd594f9b5be73bbaad762c4623ce231267a8cb8518d8a746baccdeb91d054d3b41a2bff1b72
EBUILD ede_core-0.1.26-r20180920.ebuild 5047 BLAKE2B 910f1a196eaa8deffce53edc4d9cd110776f4f9f153df28a74507fd695713947356c9d42538fec29640225bedd2b5babf336da4e1326f844c1deb22f2ec5ecf4 SHA512 f92946743c8c7edc6048028a4d9c7cf187a80b5643939e562901e41fa08e2aad0743c0b2c26b1a32ec24a5e4a6056c26ec9d9f7e90bd67dd988e9812aec09128

View File

@ -0,0 +1,173 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/virtual/ssh/ssh-0.ebuild,v 1.5 2014/03/31 20:31:02 ulm Exp $
EAPI=5
inherit eutils
DESCRIPTION="Alle generell immer benoetigten Pakete"
SLOT="0"
KEYWORDS="amd64"
#RESTRICT="bindist"
MERGE_TYPE="source"
DEPEND=""
DEPEND="$(
if [ -x /usr/sbin/lspci ]; then
( /usr/sbin/lspci | /bin/grep -qi vmware ) && echo "app-emulation/open-vm-tools"
fi
)"
DEPEND="${DEPEND}
app-admin/eclean-kernel
app-admin/logrotate
app-admin/restart-services
app-admin/rsyslog
app-admin/sudo
app-admin/sysstat
app-arch/lz4
app-arch/lzop
app-arch/rar
app-arch/unrar
app-backup/burp
app-benchmarks/bonnie++
app-editors/emacs
app-editors/joe
app-editors/nano
app-editors/vim
app-misc/mc
app-misc/screen
app-portage/eix
app-portage/euses
app-portage/gentoolkit
app-shells/bash-completion
app-shells/gentoo-bashcomp
app-text/dos2unix
app-text/multitail
dev-perl/Monitoring-Plugin
dev-perl/Switch
dev-util/strace
mail-client/mailx
mail-mta/postfix
mail-filter/procmail
net-analyzer/bing
net-analyzer/monitoring-plugins
net-analyzer/mtr
net-analyzer/nagios-check_glsa2
net-analyzer/netcat
net-analyzer/net-snmp
net-analyzer/nmap
net-analyzer/tcpdump
net-analyzer/traceroute
net-analyzer/traceroute-nanog
net-dns/bind-tools
net-fs/nfs-utils
net-ftp/ftp
net-ftp/ncftp
net-mail/pflogsumm
net-misc/iperf:3
net-misc/iperf:2
net-misc/ntp
net-misc/openssh
net-misc/socat
net-misc/telnet-bsd
net-misc/whois
sys-apps/ethtool
sys-apps/haveged
sys-apps/hdparm
sys-apps/hwinfo
sys-apps/iproute2
sys-apps/mlocate
sys-apps/pciutils
sys-apps/pv
sys-apps/rescan-scsi-bus
sys-apps/usbutils
sys-apps/smartmontools
sys-block/parted
sys-boot/grub
sys-fs/btrfs-progs
sys-fs/dmraid
sys-fs/mdadm
sys-fs/lvm2
sys-fs/xfsprogs
sys-kernel/genkernel
edevau/kernel
sys-process/at
sys-process/cronie
sys-process/iotop
sys-process/lsof
virtual/emacs
virtual/mailx
"
src_unpack() {
mkdir -pv "${S}"
}
src_install() {
cd "${D}/"
tar -xaf "${FILESDIR}/${P}.tar.xz"
}
pkg_postinst()
{
if [ -x /usr/sbin/lspci ]; then
( /usr/sbin/lspci | /bin/grep -qi vmware ) && ( /sbin/rc-update add vmware-tools default; /etc/init.d/vmware-tools restart )
fi
#/sbin/rc-update add fw default
#/etc/init.d/fw stop
#/etc/init.d/fw start
/etc/init.d/atd restart
/sbin/rc-update add postfix default
/sbin/rc-update add sshd default
/sbin/rc-update add named default
/sbin/rc-update add ntpd default
/sbin/rc-update add cronie default
/sbin/rc-update add rsyslog default
/sbin/rc-update add nfsclient default
/sbin/rc-update add autofs default
/sbin/rc-update add haveged default
/sbin/rc-update add snmpd default
/sbin/rc-update add lvmetad default
/sbin/rc-update add atd default
echo "Europe/Berlin" > /etc/timezone
emerge --config sys-libs/timezone-data
echo "Welcome to Gentoo \n \O (\s \m \r) \t - Ede Vau & Partner ${PVR}" > /etc/issue
# ROOT-SSH Zugang
mkdir -p /root/.ssh
chmod 600 /root/.ssh
cat "${FILESDIR}/authorized_keys" /root/.ssh/authorized_keys | \
sort -u > /root/.ssh/authorized_keys.new &&
mv /root/.ssh/authorized_keys.new /root/.ssh/authorized_keys
# Nagios
/usr/sbin/usermod -d /var/nagios/home/ nagios
mkdir -p /var/nagios/home/.ssh/
cat "${FILESDIR}/nagios_authorized_keys" /var/nagios/home/.ssh/authorized_keys | \
sort -u > /var/nagios/home/.ssh/authorized_keys.new &&
mv /var/nagios/home/.ssh/authorized_keys.new /var/nagios/home/.ssh/authorized_keys
chmod 700 /var/nagios/home/.ssh/
chown -R nagios:nagios /var/nagios/home/
if [ ! -h /usr/local/nagios/libexec ]; then
mkdir -p /usr/local/nagios/
ln -s /usr/lib64/nagios/plugins/ /usr/local/nagios/libexec
fi
echo "postmaster: b-postmaster@edevau.net" >> /etc/aliases
echo "root: b@edevau.net" >> /etc/aliases
cat /etc/aliases | sort -u > /tmp/aliases.tmp && mv /tmp/aliases.tmp /etc/aliases
/usr/bin/newaliases
/usr/bin/gcc-config x86_64-pc-linux-gnu-6.4.0
[ ! -f /etc/logrotate.conf ] && (
ewarn "/etc/logrotate.conf not found, please reinstall logrotate"
ewarn "emerge -t1av logrotate"
sleep 10
)
return
}

View File

@ -0,0 +1,173 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/virtual/ssh/ssh-0.ebuild,v 1.5 2014/03/31 20:31:02 ulm Exp $
EAPI=5
inherit eutils
DESCRIPTION="Alle generell immer benoetigten Pakete"
SLOT="0"
KEYWORDS="amd64"
#RESTRICT="bindist"
MERGE_TYPE="source"
DEPEND=""
DEPEND="$(
if [ -x /usr/sbin/lspci ]; then
( /usr/sbin/lspci | /bin/grep -qi vmware ) && echo "app-emulation/open-vm-tools"
fi
)"
DEPEND="${DEPEND}
app-admin/eclean-kernel
app-admin/logrotate
app-admin/restart-services
app-admin/rsyslog
app-admin/sudo
app-admin/sysstat
app-arch/lz4
app-arch/lzop
app-arch/rar
app-arch/unrar
app-backup/burp
app-benchmarks/bonnie++
app-editors/emacs
app-editors/joe
app-editors/nano
app-editors/vim
app-misc/mc
app-misc/screen
app-portage/eix
app-portage/euses
app-portage/gentoolkit
app-shells/bash-completion
app-shells/gentoo-bashcomp
app-text/dos2unix
app-text/multitail
dev-perl/Monitoring-Plugin
dev-perl/Switch
dev-util/strace
mail-client/mailx
mail-mta/postfix
mail-filter/procmail
net-analyzer/bing
net-analyzer/monitoring-plugins
net-analyzer/mtr
net-analyzer/nagios-check_glsa2
net-analyzer/netcat
net-analyzer/net-snmp
net-analyzer/nmap
net-analyzer/tcpdump
net-analyzer/traceroute
net-analyzer/traceroute-nanog
net-dns/bind-tools
net-fs/nfs-utils
net-ftp/ftp
net-ftp/ncftp
net-mail/pflogsumm
net-misc/iperf:3
net-misc/iperf:2
net-misc/ntp
net-misc/openssh
net-misc/socat
net-misc/telnet-bsd
net-misc/whois
sys-apps/ethtool
sys-apps/haveged
sys-apps/hdparm
sys-apps/hwinfo
sys-apps/iproute2
sys-apps/mlocate
sys-apps/pciutils
sys-apps/pv
sys-apps/rescan-scsi-bus
sys-apps/usbutils
sys-apps/smartmontools
sys-block/parted
sys-boot/grub
sys-fs/btrfs-progs
sys-fs/dmraid
sys-fs/mdadm
sys-fs/lvm2
sys-fs/xfsprogs
sys-kernel/genkernel
edevau/kernel
sys-process/at
sys-process/cronie
sys-process/iotop
sys-process/lsof
virtual/emacs
virtual/mailx
"
src_unpack() {
mkdir -pv "${S}"
}
src_install() {
cd "${D}/"
tar -xaf "${FILESDIR}/${P}.tar.xz"
}
pkg_postinst()
{
if [ -x /usr/sbin/lspci ]; then
( /usr/sbin/lspci | /bin/grep -qi vmware ) && ( /sbin/rc-update add vmware-tools default; /etc/init.d/vmware-tools restart )
fi
#/sbin/rc-update add fw default
#/etc/init.d/fw stop
#/etc/init.d/fw start
/etc/init.d/atd restart
/sbin/rc-update add postfix default
/sbin/rc-update add sshd default
/sbin/rc-update add named default
/sbin/rc-update add ntpd default
/sbin/rc-update add cronie default
/sbin/rc-update add rsyslog default
/sbin/rc-update add nfsclient default
/sbin/rc-update add autofs default
/sbin/rc-update add haveged default
/sbin/rc-update add snmpd default
/sbin/rc-update add lvmetad default
/sbin/rc-update add atd default
echo "Europe/Berlin" > /etc/timezone
emerge --config sys-libs/timezone-data
echo "Welcome to Gentoo \n \O (\s \m \r) \t - Ede Vau & Partner ${PVR}" > /etc/issue
# ROOT-SSH Zugang
mkdir -p /root/.ssh
chmod 600 /root/.ssh
cat "${FILESDIR}/authorized_keys" /root/.ssh/authorized_keys | \
sort -u > /root/.ssh/authorized_keys.new &&
mv /root/.ssh/authorized_keys.new /root/.ssh/authorized_keys
# Nagios
/usr/sbin/usermod -d /var/nagios/home/ nagios
mkdir -p /var/nagios/home/.ssh/
cat "${FILESDIR}/nagios_authorized_keys" /var/nagios/home/.ssh/authorized_keys | \
sort -u > /var/nagios/home/.ssh/authorized_keys.new &&
mv /var/nagios/home/.ssh/authorized_keys.new /var/nagios/home/.ssh/authorized_keys
chmod 700 /var/nagios/home/.ssh/
chown -R nagios:nagios /var/nagios/home/
if [ ! -h /usr/local/nagios/libexec ]; then
mkdir -p /usr/local/nagios/
ln -s /usr/lib64/nagios/plugins/ /usr/local/nagios/libexec
fi
echo "postmaster: b-postmaster@edevau.net" >> /etc/aliases
echo "root: b@edevau.net" >> /etc/aliases
cat /etc/aliases | sort -u > /tmp/aliases.tmp && mv /tmp/aliases.tmp /etc/aliases
/usr/bin/newaliases
/usr/bin/gcc-config x86_64-pc-linux-gnu-6.4.0
[ ! -f /etc/logrotate.conf ] && (
ewarn "/etc/logrotate.conf not found, please reinstall logrotate"
ewarn "emerge -t1av logrotate"
sleep 10
)
return
}

View File

@ -0,0 +1,173 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/virtual/ssh/ssh-0.ebuild,v 1.5 2014/03/31 20:31:02 ulm Exp $
EAPI=5
inherit eutils
DESCRIPTION="Alle generell immer benoetigten Pakete"
SLOT="0"
KEYWORDS="amd64"
#RESTRICT="bindist"
MERGE_TYPE="source"
DEPEND=""
DEPEND="$(
if [ -x /usr/sbin/lspci ]; then
( /usr/sbin/lspci | /bin/grep -qi vmware ) && echo "app-emulation/open-vm-tools"
fi
)"
DEPEND="${DEPEND}
app-admin/eclean-kernel
app-admin/logrotate
app-admin/restart-services
app-admin/rsyslog
app-admin/sudo
app-admin/sysstat
app-arch/lz4
app-arch/lzop
app-arch/rar
app-arch/unrar
app-backup/burp
app-benchmarks/bonnie++
app-editors/emacs
app-editors/joe
app-editors/nano
app-editors/vim
app-misc/mc
app-misc/screen
app-portage/eix
app-portage/euses
app-portage/gentoolkit
app-shells/bash-completion
app-shells/gentoo-bashcomp
app-text/dos2unix
app-text/multitail
dev-perl/Monitoring-Plugin
dev-perl/Switch
dev-util/strace
mail-client/mailx
mail-mta/postfix
mail-filter/procmail
net-analyzer/bing
net-analyzer/monitoring-plugins
net-analyzer/mtr
net-analyzer/nagios-check_glsa2
net-analyzer/netcat
net-analyzer/net-snmp
net-analyzer/nmap
net-analyzer/tcpdump
net-analyzer/traceroute
net-analyzer/traceroute-nanog
net-dns/bind-tools
net-fs/nfs-utils
net-ftp/ftp
net-ftp/ncftp
net-mail/pflogsumm
net-misc/iperf:3
net-misc/iperf:2
net-misc/ntp
net-misc/openssh
net-misc/socat
net-misc/telnet-bsd
net-misc/whois
sys-apps/ethtool
sys-apps/haveged
sys-apps/hdparm
sys-apps/hwinfo
sys-apps/iproute2
sys-apps/mlocate
sys-apps/pciutils
sys-apps/pv
sys-apps/rescan-scsi-bus
sys-apps/usbutils
sys-apps/smartmontools
sys-block/parted
sys-boot/grub
sys-fs/btrfs-progs
sys-fs/dmraid
sys-fs/mdadm
sys-fs/lvm2
sys-fs/xfsprogs
sys-kernel/genkernel
edevau/kernel
sys-process/at
sys-process/cronie
sys-process/iotop
sys-process/lsof
virtual/emacs
virtual/mailx
"
src_unpack() {
mkdir -pv "${S}"
}
src_install() {
cd "${D}/"
tar -xaf "${FILESDIR}/${P}.tar.xz"
}
pkg_postinst()
{
if [ -x /usr/sbin/lspci ]; then
( /usr/sbin/lspci | /bin/grep -qi vmware ) && ( /sbin/rc-update add vmware-tools default; /etc/init.d/vmware-tools restart )
fi
#/sbin/rc-update add fw default
#/etc/init.d/fw stop
#/etc/init.d/fw start
/etc/init.d/atd restart
/sbin/rc-update add postfix default
/sbin/rc-update add sshd default
/sbin/rc-update add named default
/sbin/rc-update add ntpd default
/sbin/rc-update add cronie default
/sbin/rc-update add rsyslog default
/sbin/rc-update add nfsclient default
/sbin/rc-update add autofs default
/sbin/rc-update add haveged default
/sbin/rc-update add snmpd default
/sbin/rc-update add lvmetad default
/sbin/rc-update add atd default
echo "Europe/Berlin" > /etc/timezone
emerge --config sys-libs/timezone-data
echo "Welcome to Gentoo \n \O (\s \m \r) \t - Ede Vau & Partner ${PVR}" > /etc/issue
# ROOT-SSH Zugang
mkdir -p /root/.ssh
chmod 600 /root/.ssh
cat "${FILESDIR}/authorized_keys" /root/.ssh/authorized_keys | \
sort -u > /root/.ssh/authorized_keys.new &&
mv /root/.ssh/authorized_keys.new /root/.ssh/authorized_keys
# Nagios
/usr/sbin/usermod -d /var/nagios/home/ nagios
mkdir -p /var/nagios/home/.ssh/
cat "${FILESDIR}/nagios_authorized_keys" /var/nagios/home/.ssh/authorized_keys | \
sort -u > /var/nagios/home/.ssh/authorized_keys.new &&
mv /var/nagios/home/.ssh/authorized_keys.new /var/nagios/home/.ssh/authorized_keys
chmod 700 /var/nagios/home/.ssh/
chown -R nagios:nagios /var/nagios/home/
if [ ! -h /usr/local/nagios/libexec ]; then
mkdir -p /usr/local/nagios/
ln -s /usr/lib64/nagios/plugins/ /usr/local/nagios/libexec
fi
echo "postmaster: b-postmaster@edevau.net" >> /etc/aliases
echo "root: b@edevau.net" >> /etc/aliases
cat /etc/aliases | sort -u > /tmp/aliases.tmp && mv /tmp/aliases.tmp /etc/aliases
/usr/bin/newaliases
/usr/bin/gcc-config x86_64-pc-linux-gnu-7.3.0
[ ! -f /etc/logrotate.conf ] && (
ewarn "/etc/logrotate.conf not found, please reinstall logrotate"
ewarn "emerge -t1av logrotate"
sleep 10
)
return
}

View File

@ -0,0 +1,176 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/virtual/ssh/ssh-0.ebuild,v 1.5 2014/03/31 20:31:02 ulm Exp $
EAPI=5
inherit eutils
DESCRIPTION="Alle generell immer benoetigten Pakete"
SLOT="0"
KEYWORDS="amd64"
#RESTRICT="bindist"
MERGE_TYPE="source"
DEPEND=""
DEPEND="$(
if [ -x /usr/sbin/lspci ]; then
( /usr/sbin/lspci | /bin/grep -qi vmware ) && echo "app-emulation/open-vm-tools"
fi
)"
DEPEND="${DEPEND}
app-admin/eclean-kernel
app-admin/logrotate
app-admin/restart-services
app-admin/rsyslog
app-admin/sudo
app-admin/sysstat
app-arch/lz4
app-arch/lzop
app-arch/rar
app-arch/unrar
app-backup/burp
app-benchmarks/bonnie++
app-editors/emacs
app-editors/joe
app-editors/nano
app-editors/vim
app-misc/mc
app-misc/screen
app-portage/eix
app-portage/euses
app-portage/gentoolkit
app-shells/bash-completion
app-shells/gentoo-bashcomp
app-text/dos2unix
app-text/multitail
dev-perl/Monitoring-Plugin
dev-perl/Switch
dev-util/strace
dev-vcs/git
mail-client/mailx
mail-mta/postfix
mail-filter/procmail
net-analyzer/bing
net-analyzer/monitoring-plugins
net-analyzer/mtr
net-analyzer/nagios-check_glsa2
net-analyzer/netcat
net-analyzer/net-snmp
net-analyzer/nmap
net-analyzer/tcpdump
net-analyzer/traceroute
net-analyzer/traceroute-nanog
net-dns/bind-tools
net-fs/nfs-utils
net-ftp/ftp
net-ftp/ncftp
net-mail/pflogsumm
net-misc/iperf:3
net-misc/iperf:2
net-misc/ntp
net-misc/openssh
net-misc/socat
net-misc/telnet-bsd
net-misc/whois
sys-apps/ethtool
sys-apps/haveged
sys-apps/hdparm
sys-apps/hwinfo
sys-apps/iproute2
sys-apps/mlocate
sys-apps/pciutils
sys-apps/pv
sys-apps/rescan-scsi-bus
sys-apps/usbutils
sys-apps/smartmontools
sys-block/parted
sys-boot/grub
sys-devel/gcc
sys-fs/btrfs-progs
sys-fs/dmraid
sys-fs/mdadm
sys-fs/lvm2
sys-fs/xfsprogs
sys-libs/glibc
sys-kernel/genkernel
edevau/kernel
sys-process/at
sys-process/cronie
sys-process/iotop
sys-process/lsof
virtual/emacs
virtual/mailx
"
src_unpack() {
mkdir -pv "${S}"
}
src_install() {
cd "${D}/"
tar -xaf "${FILESDIR}/${P}.tar.xz"
}
pkg_postinst()
{
if [ -x /usr/sbin/lspci ]; then
( /usr/sbin/lspci | /bin/grep -qi vmware ) && ( /sbin/rc-update add vmware-tools default; /etc/init.d/vmware-tools restart )
fi
#/sbin/rc-update add fw default
#/etc/init.d/fw stop
#/etc/init.d/fw start
/etc/init.d/atd restart
/sbin/rc-update add postfix default
/sbin/rc-update add sshd default
/sbin/rc-update add named default
/sbin/rc-update add ntpd default
/sbin/rc-update add cronie default
/sbin/rc-update add rsyslog default
/sbin/rc-update add nfsclient default
/sbin/rc-update add autofs default
/sbin/rc-update add haveged default
/sbin/rc-update add snmpd default
/sbin/rc-update add lvmetad default
/sbin/rc-update add atd default
echo "Europe/Berlin" > /etc/timezone
emerge --config sys-libs/timezone-data
echo "Welcome to Gentoo \n \O (\s \m \r) \t - Ede Vau & Partner ${PVR}" > /etc/issue
# ROOT-SSH Zugang
mkdir -p /root/.ssh
chmod 600 /root/.ssh
cat "${FILESDIR}/authorized_keys" /root/.ssh/authorized_keys | \
sort -u > /root/.ssh/authorized_keys.new &&
mv /root/.ssh/authorized_keys.new /root/.ssh/authorized_keys
# Nagios
/usr/sbin/usermod -d /var/nagios/home/ nagios
mkdir -p /var/nagios/home/.ssh/
cat "${FILESDIR}/nagios_authorized_keys" /var/nagios/home/.ssh/authorized_keys | \
sort -u > /var/nagios/home/.ssh/authorized_keys.new &&
mv /var/nagios/home/.ssh/authorized_keys.new /var/nagios/home/.ssh/authorized_keys
chmod 700 /var/nagios/home/.ssh/
chown -R nagios:nagios /var/nagios/home/
if [ ! -h /usr/local/nagios/libexec ]; then
mkdir -p /usr/local/nagios/
ln -s /usr/lib64/nagios/plugins/ /usr/local/nagios/libexec
fi
echo "postmaster: b-postmaster@edevau.net" >> /etc/aliases
echo "root: b@edevau.net" >> /etc/aliases
cat /etc/aliases | sort -u > /tmp/aliases.tmp && mv /tmp/aliases.tmp /etc/aliases
/usr/bin/newaliases
/usr/bin/gcc-config x86_64-pc-linux-gnu-7.3.0
[ ! -f /etc/logrotate.conf ] && (
ewarn "/etc/logrotate.conf not found, please reinstall logrotate"
ewarn "emerge -t1av logrotate"
sleep 10
)
return
}

View File

@ -0,0 +1,4 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMUd3kxAoFNdrK15MEAj2Gq6gWIrqIMzHHPSkoIo7LAN root@sanibel
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIFwOFIJcdSA1LUzSYzt1NFYfoR7RIkmSgQ64M1xlyJK root@lnxv-ba1
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDuCmXfDEciy7EIRc78qMwe4apdP2sjDb8UsZGjXGBVh b@b-macbook.in.edevau.net
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF4orBOx3kJWuhWvd3ggmWUmmi8rygWF0yOhQuNUJ04B icinga@icinga

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIF4orBOx3kJWuhWvd3ggmWUmmi8rygWF0yOhQuNUJ04B icinga@icinga

View File

@ -0,0 +1 @@
EBUILD ede_router-0.0.4-r20180626.ebuild 564 BLAKE2B 200c72e34fb818036f556483528b423e60f5690f3aa997c2e6996d75f218aaf680e7f7b89c2a2f79079af7ccf5861ddd5cddd38a5e9badea220c16c011c98917 SHA512 0c44e8ac70c9926cd54d6b0803b76a0e5636391d265e2d95a075720af8fe5b3949e6bfb03f0e278a1c833d8a618cc26f49eb5afe798a47a197260d416dae9cc1

View File

@ -0,0 +1,25 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/virtual/ssh/ssh-0.ebuild,v 1.5 2014/03/31 20:31:02 ulm Exp $
EAPI=6
inherit eutils
DESCRIPTION="OpenVPN/Quagga/Squid"
SLOT="0"
KEYWORDS="amd64"
MERGE_TYPE="source"
DEPEND="app-crypt/easy-rsa
edevau/ede_core
net-misc/quagga
net-vpn/openvpn"
pkg_postinst()
{
/sbin/rc-update add zebra default
/sbin/rc-update add ospfd default
mkdir /var/log/openvpn
chown openvpn.openvpn /var/log/openvpn
return
}

View File

@ -0,0 +1,2 @@
DIST ede_sophie-2.4.tar.xz 143284928 SHA256 8ee2b577af74a7c6a7a0744507c59bb729a950f6b7757b7fcd99a5c6067572e8 SHA512 0d47b12a1827a3b42f5544df7fdb0d0cca86910467e990469154a0d9c3f526a6a9790f6e22000760c205d75c9233de2ed22bdfd0be2f5fef49fe7f5a84f2b328 WHIRLPOOL cf42bb306f54bb96de511f076a3cb57f356e08b65d45cb9e39e1d816ac5516b9291bb1f70d7eebb977b3deca7e50ee234454156d69715ff9ba2968c517363e30
EBUILD ede_sophie-2.4-r20160502.ebuild 713 SHA256 ea1d638abdc9f05ab4f0b309517c5fc58b74a002616bf7c297cf5796b7a00a6d SHA512 998572c8f201bd2bf34197ffa52b837b0468e4518bc11fff25196d1e084ebd626ad08e88ca9a4439d305343432ea04ce90d93041806e32c09a3dacda5fb0ad3d WHIRLPOOL c976156f266eba1449306831ed1fadaac8980c24f58686a61c89cad2c63c1cba1fcaeff30e79dc2548ffb2315bf7e696f39777d226a563f6502750b6fc533e7c

View File

@ -0,0 +1,36 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/virtual/ssh/ssh-0.ebuild,v 1.5 2014/03/31 20:31:02 ulm Exp $
EAPI=5
inherit eutils user
DESCRIPTION="Pakete+Config fuer Sophos Virenscanner"
SLOT="0"
KEYWORDS="amd64"
SRC_URI="
https://gentoorepo.in.edevau.net/edevau/2017/sophie/${P}.tar.xz
"
src_unpack() {
mkdir -p "${S}"
return 0
}
pkg_setup() {
enewgroup sophosav
enewuser sophosav -1 -1 /opt/sophos-av sophosav
}
src_install () {
mkdir -p "${D}"
cd "${D}"
tar -xavvf "${DISTDIR}/${A}"
rm "${D}/usr/local/bin/.keep"
mkdir -p "${D}/var/log/savdi/"
rc-update add sav-protect
rc-update add savdid
}

31
edevau/kernel/Manifest Normal file
View File

@ -0,0 +1,31 @@
AUX config-4.12.12 105188 BLAKE2B c94bec8968a4504e023edce424d5cf50db2cb17ac9a415a4a721067982bfae4f65e151825bc4af394818cdb11e403c214cf6304c9bab7638b82bb05e3f38ae94 SHA512 93604048a5c4f72cb994c613f68cb34bb60ed14740ca25d407eab0ab1f9a42ac0a4c8d2d5918d3fb81dfb6929a21f116855ae618d180254e6d300defd6736d44
AUX config-4.14.14 107350 BLAKE2B e3cdd66f0b5c95109f4a152fcddbbe13c39f70c7330fd1f90c3439df94b839c7bec7da796579542de5687559c299d3dc39a4727e050044495febb780f7cc3cb4 SHA512 d51ba1674f22e81b61e9ddf593274d4305a0d04daa1ee41eba6af7d1ef2b28b1fdd4f67475351cb7d4d3959b658bb350525d80b69ffa289566cedbbe0d9a0773
AUX config-4.14.15 107214 BLAKE2B 4e0b50d3a2975ea4c88de00d5ea3a09a9cfcfbd5c878f985ae914c3037b7c0b52e37413dcaa902c14e3dfa0652914feff465252013aaf79775629b91746c1078 SHA512 1e9eeab59bf1645b23e3318d14f39f82a17b4e93396d137aca0e888595ad29f73b82b7fc23a908aca24e83d574093e59e52cbfc7088c4c219ec8bb574f313a1f
AUX config-4.14.52 108950 BLAKE2B 2206c4f2f240c383b1df5f87a4245f714bf1fef1f06e2cbce598c4ef3ab2e5d10897c3d3fe464e6b60f4ac322e72a9568c56172dabf90a48d2b8155ed3da8cd1 SHA512 8073119f03213e29973935ac8f849cc6b598295070fd48ce5f5b961f4da8c44b9fe321436c5fb5817f59460bdcdd3dfefead392e51da06c4caf8a8c88234b94a
AUX config-4.14.61 109033 BLAKE2B e875aa69a15f36e849971a60188f5ad9997be9bfa5bc603140ca16d9cf3408cdac25e805ab8336c679c0d47bd677f5d2139b30c0cbf80753fdebfc6e067420c6 SHA512 52f155c624622714187cbcebbd42738f760acd89182919ecdbc6ba03eb3a8d6008bd073a1375600ac0468b196b68209faa1513f45ee4c4fc9c7ec5e44cf64141
AUX config-4.14.63 161925 BLAKE2B fe833b060caa31d41181e3eeab936f4034760773199f1a147c1353591601152d817c81a1981b6cfc78e54cc555aedd6a68dc58f19bd17976b5127d6b1364e385 SHA512 197b5342c53d0ae9d450194aaf970bb57765fa6e88905ed398a586a3208b5d960e10bbe4e63d87f97ff5be9fbd2fdbce0c9972956769c8b48e942830279fb4ce
AUX config-4.14.63-r1 109057 BLAKE2B 0386fd80edb097c910e7f27637b39a6b01b3edb0e23c098e261a51cdd34f1ff2249b2be890e5afe55422cd42776fc2f52aba73c4f3fe1328f0a2735684b9e779 SHA512 3da60e26a9a9f318bbe7f5f589fe3614416d37678e06b7e0f7030c9b85069da23a194609e7db68e1dc78f7e92a9e93cba221170898c8a43050e8f2c8911abfff
AUX config-4.9.16 100623 BLAKE2B eee838b8f74ef00bd54efb02607c2b377b587a3ff3f6deaefa9170e7bd71ec47b5d01812feac3981b3ebb8f035e61c6a773fa7ed8c0d35d10d50dbdf09db86a8 SHA512 a8780aaa75ad874ca698914f505e71655f916f8e87ee4b66402e7bc34f09c7279a766b931b2dc81e3addca05a44697f80b60236ee8da22e7893cb227f307b575
AUX config-4.9.34 100623 BLAKE2B 278e310a7f8ce9f26e5dd5478d9f16be9dad6e2d2a8663869b2b4a0082827bd210a5ea9b498aa3e0a721a63edcbcb9baf9300e299449399d0c8e9ffb27bcde46 SHA512 cfd1bcf15a637ed6266ff340b1f96a35ad4d52607835912b1cd8926edffdb823b7910cb228f43440a19856ecc2d0a4500c37fad2b38f2961cab420071d19a26b
AUX config-4.9.72 94110 BLAKE2B 1892dc79720f62a3a8ab9ef3a4e21ccc9817a787ee20d01bcb524c5375352572a20026b8646a718e18deba00e455a4ae27fb9c96d4cc86beaf73bf48ddfc9b5c SHA512 2d1cb8f16e2c3aab33a3f9cc380018145df68c6808b5aa10cdd806e8389e59dd1a3d5cd0e47e22682844c9e04f03f3409bfe1e2fe4b018c9b38a7f79d2fd8bed
AUX config-4.9.76 94143 BLAKE2B 20e64f963371e9d81ff1a14ee2bf6ae3001ffb7cd962bfe05112152daa5eeb497fa59e34ebce865b9d2e62652cf9ea8e8b50d82144497e23b4d3dc6bd7119f25 SHA512 a4f6e5941ef5b1b89cc2d8993a5c18189b686d4cf49909034408f0689310ac349e47671c28103390af0abce568980f66b45acee5f774460f8eb804f3f2139c20
AUX config-4.9.76-r1 94143 BLAKE2B 20e64f963371e9d81ff1a14ee2bf6ae3001ffb7cd962bfe05112152daa5eeb497fa59e34ebce865b9d2e62652cf9ea8e8b50d82144497e23b4d3dc6bd7119f25 SHA512 a4f6e5941ef5b1b89cc2d8993a5c18189b686d4cf49909034408f0689310ac349e47671c28103390af0abce568980f66b45acee5f774460f8eb804f3f2139c20
DIST deblob-4.14 143883 BLAKE2B aaad9858bf626f1495f83187fd2ab91f812504534c7294cfb6818c773229eb780096a2c78a6aa963f3826df3cfdf7a7db5238f71fa8955c21b4acd75660d2b17 SHA512 662a11c03f51d85158175a8bf35fce20f01d94659d36b97a9773304ff9c091b2a9ab72a0445065c20188457fbe174fb43334a79e17b3a9e8553bb6144a971f4c
DIST deblob-check-4.14 755969 BLAKE2B 5573bdf913554e23dba3d3c56227a2c8c3fcfad7f4a99e1ec9208171008b5d2d50bdc55000672af95e020ef8171325b9d1797a69c988b4df5b0f71bc2a186fad SHA512 09626864cea33804d3dc94ceb691b24b6c14d1b9531eee8e745276dbc403903d762b1f75d685bf831f42b942d6f7ea265efb0d4889fecc976d95b11faf843fd3
DIST genpatches-4.14-56.base.tar.xz 1459612 BLAKE2B cb36e0e5f7c998fb660e320e3a9cf1ad0412bd26fd92af6889c09ce70fbd4a8d7e2f78b8c178828fcfa95859d3cdfc1ed3370b2e8eacb32e8198d91e2bd37480 SHA512 35b1c2c915e7c493e53663c4140fbb0708cb2ae5a95dfdf420009ebe7d7df0890f3c1f66b694f46e033af5f24057e779c406cb510ab24d83e00731c6ad696726
DIST genpatches-4.14-56.experimental.tar.xz 5224 BLAKE2B b8e988b07ffe7c2fcf93cc5e3d27945b575d6734c3d31df369c5106ae1ca581db760bfa262639cdef7640146811eb395b79d70c21319a0564592c14faa547e5b SHA512 c698bed59b03094e80a59f64a362b0e956237c0004e2e9c5a608889aa14e92d701160ddf149d45e39643cbdb5107d51becca427ed4b0d38219d4b392c27fc31e
DIST genpatches-4.14-56.extras.tar.xz 17492 BLAKE2B f993363b6205021049a653828ee314cf2da0e5e18612cf0d0361ddd83832a4297fa56fbe7be64ec3dfc164836da41fea1058b930f38bf569dddae0f94a3adbd7 SHA512 886279967efbc449797424e4f5d68ec9982049ae38fe0d7a3b81aaf058ac58971d32d196c6b70c7a382e09307d56cc599c504d5cb63fafb307a5141c7a4e08f3
DIST genpatches-4.14-57.base.tar.xz 1472016 BLAKE2B 1905e983d34220a97bda5eb7b1fff09d7ac42dc129b722611c079418133231d6d41f871c20df94a3db5440c8b1374d09ae3303be9e2cb8b70f5d92b61382f3ed SHA512 bace21a042f6e45512a8ffe3cb329c70b3f3548142fbaddbd76b2be50f50276db8f4cc410a7d05915c30c443cc82934893203d3025cd4653387ff6fd64f0b4ae
DIST genpatches-4.14-57.experimental.tar.xz 5216 BLAKE2B ac751059eb363f1327b8cc6a9ad6c993cc56e3a57010f6a7d8b30220a401ec2b607b7eda601b39f1d6480fddb45f7a980ba7ffe7cf808ae382a57cc57a785f39 SHA512 efb2bf34ea83789437388b6becb4c51564c885355dffdfe0f902ded0cd0a9dbc534a891a8eddde76418a651f0da41d8a7402e672688b2cccaae5897ce0bfb744
DIST genpatches-4.14-57.extras.tar.xz 17488 BLAKE2B 6dbe6859eafa2a61d2139572a28046a1278a965aa6a82518b5658c61f18ece4054175116b5907436bc40bd4c32458752fc381cb29806d9e25550a17f81684eab SHA512 49d7a27075e7e113ef39f2da651e9302b51c66d46c4d2960acc648dcd0eb4b608118584dbcbf169d73cf1ed4e105fbae9125f06dda46d346a63f0f35bf23bb4e
DIST genpatches-4.14-66.base.tar.xz 1681920 BLAKE2B 90daa216c9bc74aae62b773d9492b9d9afd211541307765493ea01cab4c1f87e0268fdc3648efe12c9d2be14e14ba1422d44cda87683c618f0d62e469eb47342 SHA512 2eab17379a326581d74d00ace8beac6d2b84f729d6b5e5784d77cfcdfc80d442f7863e0ee8c855c3bc39c54556dafc790854df3b9ab41761bf86ed9ff4a30c68
DIST genpatches-4.14-66.experimental.tar.xz 5224 BLAKE2B 7435fa53f9278635a316a403a4e3ee03ec585338673b3148ef69190901e52dfc1c8cb19a0600eaebb54b120e65c60bb9b688883af33eb0240cd8623f7fea771c SHA512 c1024431a43cb397a65eec12c206ec57cbcf267364ad8dae4875e6ccfa90b955e468907e440db25bb93610898a7b8f8a99dba5ec542ccd850770963b1b5785bf
DIST genpatches-4.14-66.extras.tar.xz 17496 BLAKE2B d156cc7b5612ee7d6d5faed0e606a0c8ed49f952cfe77097e37e432b142b8241f3b9fab156ed71f716540bc906f21050c2901b067b3ba1498893068ad45cb9e3 SHA512 8f3c9098a559556d3e256a9b8243cc5886387f23431501093f3c0ce9599a93fb885c5056d28b9189cbcd693b4c7e3601827abd96e548e659b4a7e33bd3403045
DIST genpatches-4.14-68.base.tar.xz 1722676 BLAKE2B cefb403c91066754eb3ef3a23aaf57ba9d75ed074f80c55578c7b48e25c799e32570c8e589883b81a7e43fa378ed597d2dc771c023d3825f2d6f4271f6e09c6e SHA512 019ed856c97604843853deed454e3a685fb0de14445e2965566aaa0e20ab07c7462c810ad3dc605a03ff04cff5449afe4585111418ae167033b98f6f258afa72
DIST genpatches-4.14-68.experimental.tar.xz 5224 BLAKE2B abe79884ed8b8ebf4c89efb0d41ba6d860bcc3eff5f8e5524b426527ffedac1869af659bdb89a032a9b70934081308d37d1b7dd88bfc6da0e515cfd1f662376c SHA512 c23f1439c9f5e3543ca21b32ad1fcb9f9e4f1e9caad80e1245e86ea158d35824c0b60b0c631accfa09eece9584e53eb6bba86a6342cc36e44e660669ccddaa6b
DIST genpatches-4.14-68.extras.tar.xz 17480 BLAKE2B 982ce727316d39453f1523a51fc74fd23186ba1a7bded59163471684c05643c9b3cdcba6288ff3458987429bf541424890167ef4af24f39eb6d4d169ce0e7606 SHA512 6cb4fc3b0c15af5cd5d16079ce8029fee3fd729137847303fb52de9738df567ded8f7a82b3e49ee38652aa49836f7730313ebc6c259cbcb06f314d9803f4a075
DIST linux-4.14.tar.xz 100770500 BLAKE2B 85dc4aa953fe65e273a24473d8de98e4f204f97c43be9fc87cf5be01f796f94cfde5c8f9c84619751f1cac51f83ce0b4681fb19c5f2965a72d4a94fe5577846a SHA512 77e43a02d766c3d73b7e25c4aafb2e931d6b16e870510c22cef0cdb05c3acb7952b8908ebad12b10ef982c6efbe286364b1544586e715cf38390e483927904d8
EBUILD kernel-4.14.15.ebuild 2265 BLAKE2B 5f6de0203d7e0690e451120f37c19065f0139d1eafd5eb7310aa4a8d6df8e023e9145ad7c902abe9d6261c21757a1ed5ff6399a861d7b4c8f9fc015f91bcb5af SHA512 f8ada486253772182887b3b752bee0ead2d0b366eb55c983ce3ccc730adf746416285da704eac4810ad6b6e43886f663d29abcfafa222d7ad2149694f6c6ca9b
EBUILD kernel-4.14.52.ebuild 2248 BLAKE2B 70faf835a5e5cd8580a0337465809d25ef07be1712f0937fa3959fc5186aab5e1051609375f6b7c9486c22eabec6b5c3be71bd348ea8793f42c07ddf3448ffb5 SHA512 52291523afaf739c8282b10fff698e4a0de637f45c6f2d375e3b1e40f00f3cbf665efe9cb02413fa1f213c8ee973ebb1fcea18cb9c53d9e0dcbe0bef4ffeb655
EBUILD kernel-4.14.61.ebuild 2384 BLAKE2B 82ecf8a22dd76ef4bf99b75a73ffdfc191d418dda9daee535ad00ebb69508cbb846b132ca803ff9dfddfef51fbb4bc427a113a28d3acb1e859e6609978013490 SHA512 9f01742d8fc6203dfd66960340a6e84ab623aa7c87b63432c6121091b6ab4406250c230ebbfee8f12ef4ceec13685973caa0349034d83f9ecbe3f707f064969a
EBUILD kernel-4.14.63-r1.ebuild 2384 BLAKE2B 9c8395264465f8f8fc01e3c1ef72aef1b8ff7982699bb34ebafeb16a406c41c066d537cf857178209dce8eba61a3e8532390f8d69bc1388d13d9136fbfc9e779 SHA512 87e2c437c0896115b2b4c0510a70f5edc11540e40d37dd0ff2529e5ea14d6661c1a3ea5b71c8e9157eef72a0aa332939ad522f4a15d58b77e8cae2d18971e800

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More