parent
4978c0dccc
commit
ec317abbd6
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@ -1 +1,2 @@
|
||||
DIST github-backup-utils-2.22.0.tar.gz 102576 BLAKE2B ce9007c8a5d2843ccc2b3d11b03c13840b89d6ae7906d63420cc0e18191766c92c91e1072723439610ae8bdfdd0174601d1e3b7211cd6a1c9a748f9f793ff760 SHA512 e77b4afc6f90b16caf61dc4313787dab0751590b4819dca2d7e21acd0ca774d19ea359171b76f2892ca0fb4f86fd4240e77b00e107de79d496fea429fb12cee8
|
||||
DIST github-backup-utils-3.0.0.tar.gz 104088 BLAKE2B f01229e6b152231eb832dec8bef41bb158cc200bbdd3c59c1abab299c572902efe6d27d093491bd8b0bf8f3e834d2938eb0127d5f28700ba75dcbdbcc8a21bb8 SHA512 e86420ef9d86d44560e27e00361ff1bb8ba7c15fb116ad9981e3196bc4c7c25bcff9a9f7dc8dae9bbbb9b2f3380b434199dbbe1ef7db5b1ba04ec1233aec320d
|
||||
|
@ -0,0 +1,56 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# Python3 support: https://github.com/github/backup-utils/pull/627
|
||||
PYTHON_COMPAT=(python3_{7,8,9})
|
||||
inherit python-any-r1
|
||||
|
||||
DESCRIPTION="Backup and recovery utilities for GitHub Enterprise"
|
||||
HOMEPAGE="https://github.com/github/backup-utils"
|
||||
SRC_URI="https://github.com/github/backup-utils/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
# moreutils parallel is now used for speedups in main code:
|
||||
# https://github.com/github/backup-utils/pull/635
|
||||
RDEPEND="net-misc/rsync
|
||||
sys-apps/moreutils"
|
||||
|
||||
# tests invoke parallel & rsync
|
||||
DEPEND="test? (
|
||||
${RDEPEND}
|
||||
dev-util/checkbashisms
|
||||
${PYTHON_DEPS}
|
||||
)"
|
||||
|
||||
MY_PN="${PN/#github-/}"
|
||||
S="${WORKDIR}/${MY_PN}-${PV}"
|
||||
|
||||
src_compile() {
|
||||
:;
|
||||
}
|
||||
|
||||
src_install() {
|
||||
dobin bin/*
|
||||
insinto usr/share/${PN}
|
||||
doins share/${PN}/version
|
||||
|
||||
exeinto usr/share/${PN}
|
||||
doexe share/${PN}/bm.sh
|
||||
doexe share/${PN}/ghe-*
|
||||
|
||||
insinto etc/${PN}
|
||||
newins backup.config-example backup.config
|
||||
|
||||
dodoc -r docs/*
|
||||
}
|
||||
|
||||
src_test() {
|
||||
emake test
|
||||
}
|
@ -1,6 +1,8 @@
|
||||
DIST logstash-6.8.15.tar.gz 176912362 BLAKE2B 68178b2cbf0ad3ecafc83fddf4c50ef767862fbb90ba7a0dd0527de4f8d3bddc485a99a7e774c6d0efd5b3eb4bf701be042cfc58dcb546c7436db39ff4594841 SHA512 bb42b1284f6ca8d4b10cac96b57cae0f28a33047164f9f9a352ed906a960e11fea3d9c58b23cdd607e0d76eee7aa07fbb6ce8870323e3cc6cba472578d99fb01
|
||||
DIST logstash-7.10.2-linux-x86_64.tar.gz 351170815 BLAKE2B 536a33de4be4bd1b6dfccf7d4cedc064b0f0b9c0569545d195244cf14f38d9c83159439d7710a76fdc4e4394b5f7d5a1919460c1c03186b4fc7f054744a46016 SHA512 34099b34a05c6b85b1b355310bd190b606aa0bcce1cad07bf5fd98959e54f61860bdd697cca8f3cdab2d2b815bbc2a788d2e14dcac4b3d85a0d5bafd72d2b170
|
||||
DIST logstash-7.12.0-linux-x86_64.tar.gz 368429061 BLAKE2B 7bf60eeeec072e99aec807c8cb64cfd5cd46270d297c717fee539531286f487ef254738a439947e40bfc039778d20fa746566aa4d0c031a8f1a22deaaab9ce74 SHA512 ba32cb97e81cc3f4369c752b860aea7a85d212921954e5829f0b63526584d01c79731dd094905d91ed35f9887ae70bfffd5324b25dc3f23e60745462493e8195
|
||||
DIST logstash-7.12.1-linux-x86_64.tar.gz 368465800 BLAKE2B eea395286408de50cf61b2a69f6a673f81c4021370eab9b04fb1a9ad993a5b625145d6710e5045f9572a6a923455fe8613c2262bd488f6e76d467850b1bfa5c5 SHA512 9ef32dbeb4269d904a775a1cf5833b09cc5b8b71c03f953641fd5de5c27ba51ec878d9e74cdd98255d37fcd39d592deea72832bdce26cbb2827db4ae3b294834
|
||||
DIST logstash-oss-6.8.15.tar.gz 176782145 BLAKE2B 20cdd28d9c6e43edb3cc6d60b961155880aaf2e22d100b6641246a56194ba87aef3c41e039be2ab6bca75e646b83a3f42c935472776aa87a4baa774cca74458d SHA512 c74f189af58ca936b3d3e19970f29a78b8f041f5771163c5ed28466e84cf456f4814a9f4c5a9def2706c39daaebaca948c14e683a6aa82b2e1c1e7ee57592dc2
|
||||
DIST logstash-oss-7.10.2-linux-x86_64.tar.gz 350992238 BLAKE2B f31207af62b6ff36af4be6fae9c6ede18a481317d28ba2ee6469cd095acba9b41ad4d7598756a51a078bf3d4269ae2f11750e4117842e496811a79825f284aef SHA512 5425483a7d3ec5ba186574940031a529efa683f452f5e3e38ffd9bd07771beabdd5c54a8147ed42fe761b700ea5c294018f1efb22fa6fdcf23189f2aea314b5b
|
||||
DIST logstash-oss-7.12.0-linux-x86_64.tar.gz 368251521 BLAKE2B 0959b29335dba2728d2e7a76ee482fb713f9d504a52bea1dcde99f042cfd52d9e18067cb3fffe6ca28b2eddddfd4ded1a19de616f4ddd3b6889e373a908706a0 SHA512 5d7bd5ec3ea5907771bb7590277e54be3407cebe6bc89dd7f5d73b02e9e8907855d19500787b21c8ffcff9cdbbb68a4bbb286131d03ce5585ec89e5c2a76dc60
|
||||
DIST logstash-oss-7.12.1-linux-x86_64.tar.gz 368287628 BLAKE2B 72e758e6962cc5a24c2a5f6ea4c268be1bc0b5a0ae1d73cb056d0d321b20495df346233e58661f11a37fc5e6c0750f28501af24511a7a29c2e698ce933c7380f SHA512 cefdfdaf2f1d0190d35bc5da2244a5bc09659e9f225cfd05acbdacd0f5f89cc13b928704491d18ac0d54c3500f8c15dc7ca64341bf0d7ed56a49c10eb82a55d4
|
||||
|
@ -0,0 +1,88 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit java-pkg-2
|
||||
|
||||
MY_PN="${PN%-bin}"
|
||||
MY_P="${MY_PN}-${PV}"
|
||||
|
||||
DESCRIPTION="Tool for managing events and logs"
|
||||
HOMEPAGE="https://www.elastic.co/products/logstash"
|
||||
SRC_URI="x-pack? ( https://artifacts.elastic.co/downloads/${MY_PN}/${MY_P}-linux-x86_64.tar.gz )
|
||||
!x-pack? ( https://artifacts.elastic.co/downloads/${MY_PN}/${MY_PN}-oss-${PV}-linux-x86_64.tar.gz )"
|
||||
|
||||
# source: LICENSE.txt and NOTICE.txt
|
||||
LICENSE="Apache-2.0 MIT x-pack? ( Elastic )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
IUSE="x-pack"
|
||||
|
||||
RESTRICT="strip"
|
||||
QA_PREBUILT="opt/logstash/vendor/jruby/lib/jni/*/libjffi*.so"
|
||||
|
||||
RDEPEND="acct-group/logstash
|
||||
acct-user/logstash
|
||||
virtual/jre"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
local d
|
||||
for d in aarch64-Linux arm-Linux Darwin i386-Linux i386-SunOS \
|
||||
i386-Windows mips64el-Linux ppc64-AIX ppc64le-Linux ppc64-Linux \
|
||||
ppc-AIX sparcv9-Linux sparcv9-SunOS x86_64-DragonFlyBSD \
|
||||
x86_64-FreeBSD x86_64-OpenBSD x86_64-SunOS x86_64-Windows; do
|
||||
rm -r vendor/jruby/lib/jni/$d || die
|
||||
done
|
||||
|
||||
# remove bundled java
|
||||
rm -r jdk || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
keepdir /etc/"${MY_PN}"/{conf.d,patterns,plugins}
|
||||
keepdir "/var/log/${MY_PN}"
|
||||
|
||||
insinto "/usr/share/${MY_PN}"
|
||||
newins "${FILESDIR}/agent.conf.sample" agent.conf
|
||||
|
||||
rm -v config/{pipelines.yml,startup.options} || die
|
||||
insinto /etc/${MY_PN}
|
||||
doins -r config/.
|
||||
doins "${FILESDIR}/pipelines.yml"
|
||||
rm -rv config data || die
|
||||
|
||||
insinto "/opt/${MY_PN}"
|
||||
doins -r .
|
||||
fperms 0755 "/opt/${MY_PN}/bin/${MY_PN}" "/opt/${MY_PN}/vendor/jruby/bin/jruby" "/opt/${MY_PN}/bin/logstash-plugin"
|
||||
|
||||
newconfd "${FILESDIR}/${MY_PN}.confd-r2" "${MY_PN}"
|
||||
newinitd "${FILESDIR}/${MY_PN}.initd-r2" "${MY_PN}"
|
||||
|
||||
insinto /usr/share/eselect/modules
|
||||
doins "${FILESDIR}"/logstash-plugin.eselect
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
ewarn "Self installed plugins are removed during Logstash upgrades (Bug #622602)"
|
||||
ewarn "Install the plugins via eselect module that will automatically re-install"
|
||||
ewarn "all self installed plugins after Logstash upgrades."
|
||||
elog
|
||||
elog "Installing plugins:"
|
||||
elog "eselect logstash-plugin install logstash-output-gelf"
|
||||
elog
|
||||
|
||||
elog "Reinstalling self installed plugins (installed via eselect module):"
|
||||
eselect logstash-plugin reinstall
|
||||
|
||||
elog
|
||||
elog "Sample configuration:"
|
||||
elog "${EROOT}/usr/share/${MY_PN}"
|
||||
elog
|
||||
elog "The default pipeline configuration expects the configuration(s) to be found in:"
|
||||
elog "${EROOT}/etc/logstash/conf.d/*.conf"
|
||||
}
|
@ -1,4 +1,2 @@
|
||||
DIST syslog-ng-3.26.1.tar.gz 5040993 BLAKE2B 235971547c8febe61191014d971b9e5d71560f51ebc3a74fbae1c95b86653f1de8d0b99788f5b00cc75926dc67e7a80f650e9d2d12f191a4400c5b8edbbd01b7 SHA512 2cf6a8bd70addec3bef0888539f4a4686c30655698835d0c211ea929a0cae91a6f3dc9903f29fe717fd9d48b5cdc9918796f196ca84af6f5733bedff09ffab5a
|
||||
DIST syslog-ng-3.28.1.tar.gz 5149671 BLAKE2B bfc33f2a595cb4fbcc5a69b60d283673922873434b21ca8ce9685a0f54b355f162b11242704419349a561f412573c84df30a49a4dc0cc95699e98720e3e65247 SHA512 d70b435a6c9d1d0d22ecebc051dc294b6e7f841159edabf229c772c40342a28014ea1599b2277f0514236f545bac63c9879988fd85d634e9ab4fe4f079c984cb
|
||||
DIST syslog-ng-3.29.1.tar.gz 5111614 BLAKE2B 1dba62290d6354d0cda7d43783327a19f69e05963c6d2e75f42c61c30984d49d28f1c6474e68ccdd806f38022bf6799e69e12f2444da391b2bccb736ca597c72 SHA512 c8ec6527cab9e46effe23aaa1306b5bde1e13c3e62a092a62af630a744cc41e81d861e6e2ebfbaad8a9199d3b75ba4ac5fb4b4215d03f80a41f57a2e7a074a49
|
||||
DIST syslog-ng-3.30.1.tar.gz 5707042 BLAKE2B 3e6ee58b3732ae4863de43c7d22799a74074e94dbbf735368c09c11382b641a5554a4a25ad836b4ac25c8a4f64781dbfb1d9ddd6961ba3aa70c4213cfec81bfd SHA512 ac7ed4978c6db9464add30aa7aeb71a646f841593b02884c8d4ad34c0508c8d3243bcbe6ee98e81c04698895305334eadd9e624ba71e510c14d79155723efb52
|
||||
DIST syslog-ng-3.31.2.tar.gz 5727835 BLAKE2B a71190fe1580702a4d904c8a4d31a123d2aa0d01bb5a6e21f32f8502ec99f6109b45537c1a5022b0baeae89456b4b919bb8c88077d00aa9724398b7588254d89 SHA512 22a647c37f87fb1a45c8c69c2b0a022d1886cde5b0d585c3384b606d967c3f320a18e34810655174e82c797c0dc23c481732ecefd5be16da8fba4983b2ed0385
|
||||
|
@ -1,320 +0,0 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index e9b4183fc..1f8f16c13 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -331,8 +331,7 @@ endif()
|
||||
add_custom_target(check COMMAND ${CMAKE_CTEST_COMMAND} -j $$(nproc) --output-on-failure)
|
||||
|
||||
set(IMPORTANT_WARNINGS
|
||||
- -Wshadow
|
||||
- -fcommon)
|
||||
+ -Wshadow)
|
||||
|
||||
set(ACCEPTABLE_WARNINGS
|
||||
-Wno-stack-protector
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 8b24eeaed..86c090638 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -54,8 +54,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/lib -I$(top_srcdir)/modules -I$(top_builddir)/lib
|
||||
|
||||
# Important warnings
|
||||
AM_CFLAGS = \
|
||||
- -Wshadow \
|
||||
- -fcommon
|
||||
+ -Wshadow
|
||||
|
||||
# Acceptable warnings
|
||||
AM_CFLAGS += \
|
||||
diff --git a/lib/logmsg/tests/test_log_message.c b/lib/logmsg/tests/test_log_message.c
|
||||
index 245568ce5..e51d78b94 100644
|
||||
--- a/lib/logmsg/tests/test_log_message.c
|
||||
+++ b/lib/logmsg/tests/test_log_message.c
|
||||
@@ -32,6 +32,8 @@
|
||||
#include <stdlib.h>
|
||||
#include <glib/gprintf.h>
|
||||
|
||||
+MsgFormatOptions parse_options;
|
||||
+
|
||||
typedef struct _LogMessageTestParams
|
||||
{
|
||||
LogMessage *message;
|
||||
@@ -151,7 +153,7 @@ void
|
||||
setup(void)
|
||||
{
|
||||
app_startup();
|
||||
- init_and_load_syslogformat_module();
|
||||
+ init_parse_options_and_load_syslogformat(&parse_options);
|
||||
}
|
||||
|
||||
void
|
||||
diff --git a/libtest/cr_template.c b/libtest/cr_template.c
|
||||
index 35e47aa3f..4f0913368 100644
|
||||
--- a/libtest/cr_template.c
|
||||
+++ b/libtest/cr_template.c
|
||||
@@ -34,10 +34,12 @@
|
||||
|
||||
#include "msg_parse_lib.h"
|
||||
|
||||
+static MsgFormatOptions parse_options;
|
||||
+
|
||||
void
|
||||
init_template_tests(void)
|
||||
{
|
||||
- init_and_load_syslogformat_module();
|
||||
+ init_parse_options_and_load_syslogformat(&parse_options);
|
||||
}
|
||||
|
||||
void
|
||||
diff --git a/libtest/msg_parse_lib.c b/libtest/msg_parse_lib.c
|
||||
index ae0d1654b..b3c7cb652 100644
|
||||
--- a/libtest/msg_parse_lib.c
|
||||
+++ b/libtest/msg_parse_lib.c
|
||||
@@ -27,15 +27,13 @@
|
||||
|
||||
#include <criterion/criterion.h>
|
||||
|
||||
-MsgFormatOptions parse_options;
|
||||
-
|
||||
void
|
||||
-init_and_load_syslogformat_module(void)
|
||||
+init_parse_options_and_load_syslogformat(MsgFormatOptions *parse_options)
|
||||
{
|
||||
configuration = cfg_new_snippet();
|
||||
cfg_load_module(configuration, "syslogformat");
|
||||
- msg_format_options_defaults(&parse_options);
|
||||
- msg_format_options_init(&parse_options, configuration);
|
||||
+ msg_format_options_defaults(parse_options);
|
||||
+ msg_format_options_init(parse_options, configuration);
|
||||
}
|
||||
|
||||
void
|
||||
diff --git a/libtest/msg_parse_lib.h b/libtest/msg_parse_lib.h
|
||||
index d86f178c2..5a9b4277b 100644
|
||||
--- a/libtest/msg_parse_lib.h
|
||||
+++ b/libtest/msg_parse_lib.h
|
||||
@@ -30,9 +30,7 @@
|
||||
#include "cfg.h"
|
||||
#include "logmsg/logmsg.h"
|
||||
|
||||
-extern MsgFormatOptions parse_options;
|
||||
-
|
||||
-void init_and_load_syslogformat_module(void);
|
||||
+void init_parse_options_and_load_syslogformat(MsgFormatOptions *parse_options);
|
||||
void deinit_syslogformat_module(void);
|
||||
|
||||
void assert_log_messages_equal(LogMessage *log_message_a, LogMessage *log_message_b);
|
||||
diff --git a/libtest/proto_lib.c b/libtest/proto_lib.c
|
||||
index b69195865..105e390b9 100644
|
||||
--- a/libtest/proto_lib.c
|
||||
+++ b/libtest/proto_lib.c
|
||||
@@ -23,7 +23,7 @@
|
||||
*/
|
||||
|
||||
#include "proto_lib.h"
|
||||
-#include "msg_parse_lib.h"
|
||||
+#include "cfg.h"
|
||||
|
||||
#include <string.h>
|
||||
#include <criterion/criterion.h>
|
||||
@@ -164,7 +164,8 @@ assert_proto_server_fetch_ignored_eof(LogProtoServer *proto)
|
||||
void
|
||||
init_proto_tests(void)
|
||||
{
|
||||
- init_and_load_syslogformat_module();
|
||||
+ configuration = cfg_new_snippet();
|
||||
+ cfg_load_module(configuration, "syslogformat");
|
||||
log_proto_server_options_defaults(&proto_server_options);
|
||||
}
|
||||
|
||||
@@ -172,5 +173,7 @@ void
|
||||
deinit_proto_tests(void)
|
||||
{
|
||||
log_proto_server_options_destroy(&proto_server_options);
|
||||
- deinit_syslogformat_module();
|
||||
+
|
||||
+ if (configuration)
|
||||
+ cfg_free(configuration);
|
||||
}
|
||||
diff --git a/modules/linux-kmsg-format/tests/test_linux_format_kmsg.c b/modules/linux-kmsg-format/tests/test_linux_format_kmsg.c
|
||||
index 79a4b97ad..d4d0d45a9 100644
|
||||
--- a/modules/linux-kmsg-format/tests/test_linux_format_kmsg.c
|
||||
+++ b/modules/linux-kmsg-format/tests/test_linux_format_kmsg.c
|
||||
@@ -31,6 +31,8 @@
|
||||
|
||||
#include <criterion/criterion.h>
|
||||
|
||||
+MsgFormatOptions parse_options;
|
||||
+
|
||||
static LogMessage *
|
||||
kmsg_parse_message(const gchar *raw_message_str)
|
||||
{
|
||||
diff --git a/modules/python/tests/test_python_logmsg.c b/modules/python/tests/test_python_logmsg.c
|
||||
index 9a0343b07..51651ee9d 100644
|
||||
--- a/modules/python/tests/test_python_logmsg.c
|
||||
+++ b/modules/python/tests/test_python_logmsg.c
|
||||
@@ -30,6 +30,8 @@
|
||||
static PyObject *_python_main;
|
||||
static PyObject *_python_main_dict;
|
||||
|
||||
+MsgFormatOptions parse_options;
|
||||
+
|
||||
static void
|
||||
_py_init_interpreter(void)
|
||||
{
|
||||
@@ -95,7 +97,7 @@ void setup(void)
|
||||
{
|
||||
app_startup();
|
||||
|
||||
- init_and_load_syslogformat_module();
|
||||
+ init_parse_options_and_load_syslogformat(&parse_options);
|
||||
|
||||
_py_init_interpreter();
|
||||
_init_python_main();
|
||||
diff --git a/modules/stardate/tests/test_stardate.c b/modules/stardate/tests/test_stardate.c
|
||||
index e48cfb6cd..7d55fc1d0 100644
|
||||
--- a/modules/stardate/tests/test_stardate.c
|
||||
+++ b/modules/stardate/tests/test_stardate.c
|
||||
@@ -33,6 +33,8 @@
|
||||
|
||||
#include "msg_parse_lib.h"
|
||||
|
||||
+MsgFormatOptions parse_options;
|
||||
+
|
||||
void
|
||||
stardate_assert(const gchar *msg_str, const int precision, const gchar *expected)
|
||||
{
|
||||
@@ -58,6 +60,7 @@ void
|
||||
setup(void)
|
||||
{
|
||||
app_startup();
|
||||
+ init_parse_options_and_load_syslogformat(&parse_options);
|
||||
init_template_tests();
|
||||
cfg_load_module(configuration, "stardate");
|
||||
}
|
||||
@@ -66,6 +69,7 @@ void
|
||||
teardown(void)
|
||||
{
|
||||
deinit_template_tests();
|
||||
+ deinit_syslogformat_module();
|
||||
app_shutdown();
|
||||
}
|
||||
|
||||
diff --git a/persist-tool/add.h b/persist-tool/add.h
|
||||
index 981e0cc61..2d3524cb0 100644
|
||||
--- a/persist-tool/add.h
|
||||
+++ b/persist-tool/add.h
|
||||
@@ -32,8 +32,8 @@
|
||||
#include "cfg.h"
|
||||
#include "persist-tool.h"
|
||||
|
||||
-gchar *persist_state_dir;
|
||||
-gchar *persist_state_name;
|
||||
+extern gchar *persist_state_dir;
|
||||
+extern gchar *persist_state_name;
|
||||
|
||||
gint add_main(int argc, char *argv[]);
|
||||
|
||||
diff --git a/persist-tool/generate.h b/persist-tool/generate.h
|
||||
index 237a8ae24..34f7dfec9 100644
|
||||
--- a/persist-tool/generate.h
|
||||
+++ b/persist-tool/generate.h
|
||||
@@ -32,8 +32,8 @@
|
||||
#include "persist-state.h"
|
||||
#include "cfg.h"
|
||||
|
||||
-gboolean force_generate;
|
||||
-gchar *generate_output_dir;
|
||||
+extern gboolean force_generate;
|
||||
+extern gchar *generate_output_dir;
|
||||
|
||||
gint generate_main(int argc, char *argv[]);
|
||||
|
||||
diff --git a/persist-tool/persist-tool.c b/persist-tool/persist-tool.c
|
||||
index fd96c856d..4e4adc88f 100644
|
||||
--- a/persist-tool/persist-tool.c
|
||||
+++ b/persist-tool/persist-tool.c
|
||||
@@ -135,11 +135,17 @@ void persist_tool_free(PersistTool *self)
|
||||
g_free(self);
|
||||
}
|
||||
|
||||
+gchar *persist_state_dir;
|
||||
+gchar *persist_state_name;
|
||||
+gboolean force_generate;
|
||||
+gchar *generate_output_dir;
|
||||
+
|
||||
static GOptionEntry dump_options[] =
|
||||
{
|
||||
{ NULL, 0, 0, G_OPTION_ARG_NONE, NULL, NULL }
|
||||
};
|
||||
|
||||
+
|
||||
static GOptionEntry add_options[] =
|
||||
{
|
||||
{ "output-dir", 'o', 0, G_OPTION_ARG_STRING, &persist_state_dir, "The directory where persist file is located.", "<directory>" },
|
||||
diff --git a/tests/unit/test_clone_logmsg.c b/tests/unit/test_clone_logmsg.c
|
||||
index 57c0b181f..7b738b1e5 100644
|
||||
--- a/tests/unit/test_clone_logmsg.c
|
||||
+++ b/tests/unit/test_clone_logmsg.c
|
||||
@@ -38,6 +38,8 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
+MsgFormatOptions parse_options;
|
||||
+
|
||||
void
|
||||
assert_new_log_message_attributes(LogMessage *log_message)
|
||||
{
|
||||
@@ -69,7 +71,7 @@ void
|
||||
setup(void)
|
||||
{
|
||||
app_startup();
|
||||
- init_and_load_syslogformat_module();
|
||||
+ init_parse_options_and_load_syslogformat(&parse_options);
|
||||
}
|
||||
|
||||
void
|
||||
diff --git a/tests/unit/test_matcher.c b/tests/unit/test_matcher.c
|
||||
index a92c8e458..d43755bea 100644
|
||||
--- a/tests/unit/test_matcher.c
|
||||
+++ b/tests/unit/test_matcher.c
|
||||
@@ -31,6 +31,8 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
+MsgFormatOptions parse_options;
|
||||
+
|
||||
static LogMessage *
|
||||
_create_log_message(const gchar *log)
|
||||
{
|
||||
@@ -128,7 +130,7 @@ void
|
||||
setup(void)
|
||||
{
|
||||
app_startup();
|
||||
- init_and_load_syslogformat_module();
|
||||
+ init_parse_options_and_load_syslogformat(&parse_options);
|
||||
}
|
||||
|
||||
void
|
||||
diff --git a/tests/unit/test_msgparse.c b/tests/unit/test_msgparse.c
|
||||
index 6b9e1045f..0ed91f638 100644
|
||||
--- a/tests/unit/test_msgparse.c
|
||||
+++ b/tests/unit/test_msgparse.c
|
||||
@@ -49,6 +49,8 @@ struct sdata_pair
|
||||
struct sdata_pair ignore_sdata_pairs[] = { { NULL, NULL } };
|
||||
struct sdata_pair empty_sdata_pairs[] = { { NULL, NULL } };
|
||||
|
||||
+MsgFormatOptions parse_options;
|
||||
+
|
||||
static unsigned long
|
||||
_absolute_value(signed long diff)
|
||||
{
|
||||
@@ -130,7 +132,7 @@ setup(void)
|
||||
app_startup();
|
||||
setenv("TZ", "MET-1METDST", TRUE);
|
||||
tzset();
|
||||
- init_and_load_syslogformat_module();
|
||||
+ init_parse_options_and_load_syslogformat(&parse_options);
|
||||
/* Fri Feb 8 09:37:49 CET 2019 */
|
||||
fake_time(1549615069);
|
||||
}
|
@ -1,63 +0,0 @@
|
||||
diff --git a/lib/compat/glib.c b/lib/compat/glib.c
|
||||
index 8b6e52447..5b8ed8891 100644
|
||||
--- a/lib/compat/glib.c
|
||||
+++ b/lib/compat/glib.c
|
||||
@@ -315,3 +315,18 @@ slng_g_hash_table_insert(GHashTable *hash_table, gpointer key, gpointer value)
|
||||
return exists;
|
||||
}
|
||||
#endif
|
||||
+
|
||||
+
|
||||
+#if !GLIB_CHECK_VERSION(2, 64, 0)
|
||||
+gunichar
|
||||
+g_utf8_get_char_validated_fixed(const gchar *p, gssize max_len)
|
||||
+{
|
||||
+ // https://github.com/GNOME/glib/commit/1963821a57584b4674c20895e8a5adccd2d9effd
|
||||
+
|
||||
+#undef g_utf8_get_char_validated
|
||||
+ if (*p == '\0' && max_len > 0)
|
||||
+ return (gunichar)-2;
|
||||
+
|
||||
+ return g_utf8_get_char_validated(p, max_len);
|
||||
+}
|
||||
+#endif
|
||||
diff --git a/lib/compat/glib.h b/lib/compat/glib.h
|
||||
index a9782ed2d..0fbdbd12d 100644
|
||||
--- a/lib/compat/glib.h
|
||||
+++ b/lib/compat/glib.h
|
||||
@@ -109,4 +109,9 @@ gchar *g_base64_encode_fixed(const guchar *data, gsize len);
|
||||
gboolean slng_g_hash_table_insert (GHashTable *hash_table, gpointer key, gpointer value);
|
||||
#endif
|
||||
|
||||
+#if !GLIB_CHECK_VERSION(2, 64, 0)
|
||||
+#define g_utf8_get_char_validated g_utf8_get_char_validated_fixed
|
||||
+gunichar g_utf8_get_char_validated_fixed (const gchar *p, gssize max_len);
|
||||
+#endif
|
||||
+
|
||||
#endif
|
||||
diff --git a/modules/cef/tests/test-format-cef-extension.c b/modules/cef/tests/test-format-cef-extension.c
|
||||
index d7f6ee3c1..f4233f96f 100644
|
||||
--- a/modules/cef/tests/test-format-cef-extension.c
|
||||
+++ b/modules/cef/tests/test-format-cef-extension.c
|
||||
@@ -104,7 +104,7 @@ Test(format_cef, test_null_in_value)
|
||||
|
||||
configuration->template_options.on_error = ON_ERROR_DROP_MESSAGE | ON_ERROR_SILENT;
|
||||
log_msg_set_value_by_name(msg, ".cef.k", "a\0b", 3);
|
||||
- assert_template_format_msg("$(format-cef-extension --subkeys .cef.)", "k=a\\u0000b", msg);
|
||||
+ assert_template_format_msg("$(format-cef-extension --subkeys .cef.)", "k=a\\x00b", msg);
|
||||
log_msg_unref(msg);
|
||||
}
|
||||
|
||||
diff --git a/modules/json/tests/test_format_json.c b/modules/json/tests/test_format_json.c
|
||||
index 92c61e9f1..1224ddb33 100644
|
||||
--- a/modules/json/tests/test_format_json.c
|
||||
+++ b/modules/json/tests/test_format_json.c
|
||||
@@ -55,7 +55,7 @@ Test(format_json, test_format_json)
|
||||
assert_template_format("$(format-json MSG=$escaping)",
|
||||
"{\"MSG\":\"binary stuff follows \\\"\\\\xad árvíztűrőtükörfúrógép\"}");
|
||||
assert_template_format("$(format-json MSG=$escaping2)", "{\"MSG\":\"\\\\xc3\"}");
|
||||
- assert_template_format("$(format-json MSG=$null)", "{\"MSG\":\"binary\\u0000stuff\"}");
|
||||
+ assert_template_format("$(format-json MSG=$null)", "{\"MSG\":\"binary\\\\x00stuff\"}");
|
||||
assert_template_format_with_context("$(format-json MSG=$MSG)",
|
||||
"{\"MSG\":\"árvíztűrőtükörfúrógép\"}{\"MSG\":\"árvíztűrőtükörfúrógép\"}");
|
||||
assert_template_format("$(format-json --scope rfc3164)",
|
@ -1,170 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7,8} )
|
||||
inherit autotools python-single-r1 systemd
|
||||
|
||||
MY_PV_MM=$(ver_cut 1-2)
|
||||
DESCRIPTION="syslog replacement with advanced filtering features"
|
||||
HOMEPAGE="https://syslog-ng.com/open-source-log-management"
|
||||
SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+ LGPL-2.1+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
|
||||
IUSE="amqp caps dbi geoip2 http ipv6 json kafka mongodb pacct python redis smtp snmp test spoof-source systemd tcpd"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/glib-2.10.1:2
|
||||
>=dev-libs/ivykis-0.42.4
|
||||
>=dev-libs/libpcre-6.1:=
|
||||
!dev-libs/eventlog
|
||||
amqp? ( >=net-libs/rabbitmq-c-0.8.0:=[ssl] )
|
||||
caps? ( sys-libs/libcap )
|
||||
dbi? ( >=dev-db/libdbi-0.9.0 )
|
||||
geoip2? ( dev-libs/libmaxminddb:= )
|
||||
http? ( net-misc/curl )
|
||||
json? ( >=dev-libs/json-c-0.9:= )
|
||||
kafka? ( >=dev-libs/librdkafka-1.0.0:= )
|
||||
mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
redis? ( >=dev-libs/hiredis-0.11.0:= )
|
||||
smtp? ( net-libs/libesmtp )
|
||||
snmp? ( net-analyzer/net-snmp )
|
||||
spoof-source? ( net-libs/libnet:1.1= )
|
||||
systemd? ( sys-apps/systemd:= )
|
||||
tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
|
||||
dev-libs/openssl:0="
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( dev-libs/criterion )"
|
||||
BDEPEND="
|
||||
sys-devel/flex
|
||||
virtual/pkgconfig"
|
||||
|
||||
DOCS=( AUTHORS NEWS.md CONTRIBUTING.md contrib/syslog-ng.conf.{HP-UX,RedHat,SunOS,doc}
|
||||
contrib/syslog2ng "${T}/syslog-ng.conf.gentoo.hardened"
|
||||
"${T}/syslog-ng.logrotate.hardened" "${FILESDIR}/README.hardened" )
|
||||
|
||||
PATCHES=( "${FILESDIR}/patches/syslog-ng-glib-2.64-support.patch" )
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local f
|
||||
|
||||
use python && python_fix_shebang .
|
||||
|
||||
# remove bundled libs
|
||||
rm -r lib/ivykis || die
|
||||
|
||||
# drop scl modules requiring json
|
||||
if use !json; then
|
||||
sed -i -r '/cim|elasticsearch|ewmm|graylog2|loggly|logmatic|netskope|nodejs|osquery|slack/d' scl/Makefile.am || die
|
||||
fi
|
||||
|
||||
# drop scl modules requiring http
|
||||
if use !http; then
|
||||
sed -i -r '/slack|telegram/d' scl/Makefile.am || die
|
||||
fi
|
||||
|
||||
# use gentoo default path
|
||||
if use systemd; then
|
||||
sed -e 's@/etc/syslog-ng.conf@/etc/syslog-ng/syslog-ng.conf@g;s@/var/run@/run@g' \
|
||||
-i contrib/systemd/syslog-ng@default || die
|
||||
fi
|
||||
|
||||
for f in syslog-ng.logrotate.hardened.in syslog-ng.logrotate.in; do
|
||||
sed \
|
||||
-e "s#@GENTOO_RESTART@#$(usex systemd "systemctl kill -s HUP syslog-ng@default" \
|
||||
"/etc/init.d/syslog-ng reload")#g" \
|
||||
"${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
|
||||
done
|
||||
|
||||
for f in syslog-ng.conf.gentoo.hardened.in \
|
||||
syslog-ng.conf.gentoo.in; do
|
||||
sed -e "s/@SYSLOGNG_VERSION@/${MY_PV_MM}/g" "${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
|
||||
done
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
--disable-docs
|
||||
--disable-java
|
||||
--disable-java-modules
|
||||
--disable-riemann
|
||||
--enable-manpages
|
||||
--localstatedir=/var/lib/syslog-ng
|
||||
--sysconfdir=/etc/syslog-ng
|
||||
--with-embedded-crypto
|
||||
--with-ivykis=system
|
||||
--with-module-dir=/usr/$(get_libdir)/syslog-ng
|
||||
--with-pidfile-dir=/var/run
|
||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
||||
$(use_enable amqp)
|
||||
$(usex amqp --with-librabbitmq-client=system --without-librabbitmq-client)
|
||||
$(use_enable caps linux-caps)
|
||||
$(use_enable dbi sql)
|
||||
$(use_enable geoip2)
|
||||
$(use_enable http)
|
||||
$(use_enable ipv6)
|
||||
$(use_enable json)
|
||||
$(use_enable kafka)
|
||||
$(use_enable mongodb)
|
||||
$(usex mongodb --with-mongoc=system "--without-mongoc --disable-legacy-mongodb-options")
|
||||
$(use_enable pacct)
|
||||
$(use_enable python)
|
||||
$(use_enable redis)
|
||||
$(use_enable smtp)
|
||||
$(use_enable snmp snmp-dest)
|
||||
$(use_enable spoof-source)
|
||||
$(use_enable systemd)
|
||||
$(use_enable tcpd tcp-wrapper)
|
||||
)
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
# Install default configuration
|
||||
insinto /etc/default
|
||||
doins contrib/systemd/syslog-ng@default
|
||||
|
||||
insinto /etc/syslog-ng
|
||||
newins "${T}/syslog-ng.conf.gentoo" syslog-ng.conf
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins "${T}/syslog-ng.logrotate" syslog-ng
|
||||
|
||||
newinitd "${FILESDIR}/syslog-ng.rc" syslog-ng
|
||||
newconfd "${FILESDIR}/syslog-ng.confd" syslog-ng
|
||||
keepdir /etc/syslog-ng/patterndb.d /var/lib/syslog-ng
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
|
||||
use python && python_optimize
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# bug #355257
|
||||
if ! has_version app-admin/logrotate ; then
|
||||
elog "It is highly recommended that app-admin/logrotate be emerged to"
|
||||
elog "manage the log files. ${PN} installs a file in /etc/logrotate.d"
|
||||
elog "for logrotate to use."
|
||||
fi
|
||||
|
||||
if use systemd; then
|
||||
ewarn "The service file for systemd has changed to support multiple instances."
|
||||
ewarn "To start the default instance issue:"
|
||||
ewarn "# systemctl start syslog-ng@default"
|
||||
fi
|
||||
}
|
@ -1,171 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
inherit autotools python-single-r1 systemd
|
||||
|
||||
MY_PV_MM=$(ver_cut 1-2)
|
||||
DESCRIPTION="syslog replacement with advanced filtering features"
|
||||
HOMEPAGE="https://syslog-ng.com/open-source-log-management"
|
||||
SRC_URI="https://github.com/balabit/syslog-ng/releases/download/${P}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2+ LGPL-2.1+"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
|
||||
IUSE="amqp caps dbi geoip2 http ipv6 json kafka mongodb pacct python redis smtp snmp test spoof-source systemd tcpd"
|
||||
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=dev-libs/glib-2.10.1:2
|
||||
>=dev-libs/ivykis-0.42.4
|
||||
>=dev-libs/libpcre-6.1:=
|
||||
!dev-libs/eventlog
|
||||
amqp? ( >=net-libs/rabbitmq-c-0.8.0:=[ssl] )
|
||||
caps? ( sys-libs/libcap )
|
||||
dbi? ( >=dev-db/libdbi-0.9.0 )
|
||||
geoip2? ( dev-libs/libmaxminddb:= )
|
||||
http? ( net-misc/curl )
|
||||
json? ( >=dev-libs/json-c-0.9:= )
|
||||
kafka? ( >=dev-libs/librdkafka-1.0.0:= )
|
||||
mongodb? ( >=dev-libs/mongo-c-driver-1.2.0 )
|
||||
python? ( ${PYTHON_DEPS} )
|
||||
redis? ( >=dev-libs/hiredis-0.11.0:= )
|
||||
smtp? ( net-libs/libesmtp )
|
||||
snmp? ( net-analyzer/net-snmp:0= )
|
||||
spoof-source? ( net-libs/libnet:1.1= )
|
||||
systemd? ( sys-apps/systemd:= )
|
||||
tcpd? ( >=sys-apps/tcp-wrappers-7.6 )
|
||||
dev-libs/openssl:0="
|
||||
DEPEND="${RDEPEND}
|
||||
test? ( dev-libs/criterion )"
|
||||
BDEPEND="
|
||||
sys-devel/flex
|
||||
virtual/pkgconfig"
|
||||
|
||||
DOCS=( AUTHORS NEWS.md CONTRIBUTING.md contrib/syslog-ng.conf.{HP-UX,RedHat,SunOS,doc}
|
||||
contrib/syslog2ng "${T}/syslog-ng.conf.gentoo.hardened"
|
||||
"${T}/syslog-ng.logrotate.hardened" "${FILESDIR}/README.hardened" )
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-3.28.1-net-snmp.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
use python && python-single-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local f
|
||||
|
||||
use python && python_fix_shebang .
|
||||
|
||||
# remove bundled libs
|
||||
rm -r lib/ivykis || die
|
||||
|
||||
# drop scl modules requiring json
|
||||
if use !json; then
|
||||
sed -i -r '/cim|elasticsearch|ewmm|graylog2|loggly|logmatic|netskope|nodejs|osquery|slack/d' scl/Makefile.am || die
|
||||
fi
|
||||
|
||||
# drop scl modules requiring http
|
||||
if use !http; then
|
||||
sed -i -r '/slack|telegram/d' scl/Makefile.am || die
|
||||
fi
|
||||
|
||||
# use gentoo default path
|
||||
if use systemd; then
|
||||
sed -e 's@/etc/syslog-ng.conf@/etc/syslog-ng/syslog-ng.conf@g;s@/var/run@/run@g' \
|
||||
-i contrib/systemd/syslog-ng@default || die
|
||||
fi
|
||||
|
||||
for f in syslog-ng.logrotate.hardened.in syslog-ng.logrotate.in; do
|
||||
sed \
|
||||
-e "s#@GENTOO_RESTART@#$(usex systemd "systemctl kill -s HUP syslog-ng@default" \
|
||||
"/etc/init.d/syslog-ng reload")#g" \
|
||||
"${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
|
||||
done
|
||||
|
||||
for f in syslog-ng.conf.gentoo.hardened.in \
|
||||
syslog-ng.conf.gentoo.in; do
|
||||
sed -e "s/@SYSLOGNG_VERSION@/${MY_PV_MM}/g" "${FILESDIR}/${f}" > "${T}/${f/.in/}" || die
|
||||
done
|
||||
|
||||
default
|
||||
eautoreconf
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf=(
|
||||
--disable-docs
|
||||
--disable-java
|
||||
--disable-java-modules
|
||||
--disable-riemann
|
||||
--enable-manpages
|
||||
--localstatedir=/var/lib/syslog-ng
|
||||
--sysconfdir=/etc/syslog-ng
|
||||
--with-embedded-crypto
|
||||
--with-ivykis=system
|
||||
--with-module-dir=/usr/$(get_libdir)/syslog-ng
|
||||
--with-pidfile-dir=/var/run
|
||||
--with-systemdsystemunitdir="$(systemd_get_systemunitdir)"
|
||||
$(use_enable amqp)
|
||||
$(usex amqp --with-librabbitmq-client=system --without-librabbitmq-client)
|
||||
$(use_enable caps linux-caps)
|
||||
$(use_enable dbi sql)
|
||||
$(use_enable geoip2)
|
||||
$(use_enable http)
|
||||
$(use_enable ipv6)
|
||||
$(use_enable json)
|
||||
$(use_enable kafka)
|
||||
$(use_enable mongodb)
|
||||
$(usex mongodb --with-mongoc=system "--without-mongoc --disable-legacy-mongodb-options")
|
||||
$(use_enable pacct)
|
||||
$(use_enable python)
|
||||
$(use_enable redis)
|
||||
$(use_enable smtp)
|
||||
$(use_enable snmp afsnmp)
|
||||
$(use_enable spoof-source)
|
||||
$(use_enable systemd)
|
||||
$(use_enable tcpd tcp-wrapper)
|
||||
)
|
||||
|
||||
econf "${myconf[@]}"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
# Install default configuration
|
||||
insinto /etc/default
|
||||
doins contrib/systemd/syslog-ng@default
|
||||
|
||||
insinto /etc/syslog-ng
|
||||
newins "${T}/syslog-ng.conf.gentoo" syslog-ng.conf
|
||||
|
||||
insinto /etc/logrotate.d
|
||||
newins "${T}/syslog-ng.logrotate" syslog-ng
|
||||
|
||||
newinitd "${FILESDIR}/syslog-ng.rc" syslog-ng
|
||||
newconfd "${FILESDIR}/syslog-ng.confd" syslog-ng
|
||||
keepdir /etc/syslog-ng/patterndb.d /var/lib/syslog-ng
|
||||
find "${D}" -name '*.la' -delete || die
|
||||
|
||||
use python && python_optimize
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
# bug #355257
|
||||
if ! has_version app-admin/logrotate ; then
|
||||
elog "It is highly recommended that app-admin/logrotate be emerged to"
|
||||
elog "manage the log files. ${PN} installs a file in /etc/logrotate.d"
|
||||
elog "for logrotate to use."
|
||||
fi
|
||||
|
||||
if use systemd; then
|
||||
ewarn "The service file for systemd has changed to support multiple instances."
|
||||
ewarn "To start the default instance issue:"
|
||||
ewarn "# systemctl start syslog-ng@default"
|
||||
fi
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -1,512 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
PYTHON_REQ_USE='ncurses,xml,threads(+)'
|
||||
|
||||
inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs
|
||||
|
||||
MY_PV=${PV/_/-}
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
REPO="xen.git"
|
||||
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
|
||||
S="${WORKDIR}/${REPO}"
|
||||
else
|
||||
KEYWORDS="amd64 ~arm ~arm64 x86"
|
||||
UPSTREAM_VER=2
|
||||
SECURITY_VER=29
|
||||
# xen-tools's gentoo patches tarball
|
||||
GENTOO_VER=21
|
||||
# xen-tools's gentoo patches version which apply to this specific ebuild
|
||||
GENTOO_GPV=1
|
||||
# xen-tools ovmf's patches
|
||||
OVMF_VER=
|
||||
|
||||
SEABIOS_VER="1.12.1"
|
||||
EDK2_COMMIT="06dc822d045c2bb42e497487935485302486e151"
|
||||
EDK2_OPENSSL_VERSION="1_1_1g"
|
||||
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
|
||||
EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
|
||||
IPXE_COMMIT="1dd56dbd11082fb622c2ed21cfaced4f47d798a6"
|
||||
|
||||
[[ -n ${UPSTREAM_VER} ]] && \
|
||||
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz
|
||||
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||
[[ -n ${SECURITY_VER} ]] && \
|
||||
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz
|
||||
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-security-patches-${SECURITY_VER}.tar.xz"
|
||||
[[ -n ${GENTOO_VER} ]] && \
|
||||
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz
|
||||
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||
[[ -n ${OVMF_VER} ]] && \
|
||||
OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz"
|
||||
|
||||
SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz
|
||||
https://github.com/qemu/seabios/archive/rel-${SEABIOS_VER}.tar.gz -> seabios-${SEABIOS_VER}.tar.gz
|
||||
ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
|
||||
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
|
||||
https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
|
||||
https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
|
||||
https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
|
||||
${OVMF_PATCHSET_URI} )
|
||||
${UPSTREAM_PATCHSET_URI}
|
||||
${SECURITY_PATCHSET_URI}
|
||||
${GENTOO_PATCHSET_URI}"
|
||||
|
||||
S="${WORKDIR}/xen-${MY_PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Xen tools including QEMU and xl"
|
||||
HOMEPAGE="https://www.xenproject.org"
|
||||
DOCS=( README )
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
|
||||
# >=dev-lang/ocaml-4 stable
|
||||
# Masked in profiles/eapi-5-files instead
|
||||
IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios"
|
||||
|
||||
REQUIRED_USE="
|
||||
${PYTHON_REQUIRED_USE}
|
||||
ipxe? ( rombios )
|
||||
ovmf? ( hvm )
|
||||
pygrub? ( python )
|
||||
rombios? ( hvm )
|
||||
system-ipxe? ( rombios )
|
||||
?? ( ipxe system-ipxe )
|
||||
?? ( qemu system-qemu )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
sys-apps/pciutils
|
||||
dev-libs/lzo:2
|
||||
dev-libs/glib:2
|
||||
dev-libs/yajl
|
||||
dev-libs/libaio
|
||||
dev-libs/libgcrypt:0
|
||||
sys-libs/zlib
|
||||
${PYTHON_DEPS}
|
||||
"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
>=sys-kernel/linux-headers-4.11
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/lxml[${PYTHON_MULTI_USEDEP}]
|
||||
pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] )
|
||||
')
|
||||
x86? ( sys-devel/dev86
|
||||
system-ipxe? ( sys-firmware/ipxe[qemu] )
|
||||
sys-power/iasl )
|
||||
api? ( dev-libs/libxml2
|
||||
net-misc/curl )
|
||||
|
||||
ovmf? (
|
||||
!arm? ( !arm64? ( dev-lang/nasm ) )
|
||||
$(python_gen_impl_dep sqlite)
|
||||
)
|
||||
!amd64? ( >=sys-apps/dtc-1.4.0 )
|
||||
amd64? ( sys-power/iasl
|
||||
system-seabios? ( sys-firmware/seabios )
|
||||
system-ipxe? ( sys-firmware/ipxe[qemu] )
|
||||
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
|
||||
dev-lang/perl
|
||||
app-misc/pax-utils
|
||||
doc? (
|
||||
app-text/ghostscript-gpl
|
||||
app-text/pandoc
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/markdown[${PYTHON_MULTI_USEDEP}]
|
||||
')
|
||||
dev-texlive/texlive-latexextra
|
||||
media-gfx/transfig
|
||||
)
|
||||
hvm? ( x11-base/xorg-proto )
|
||||
qemu? (
|
||||
app-arch/snappy:=
|
||||
x11-libs/pixman
|
||||
sdl? (
|
||||
media-libs/libsdl[X]
|
||||
media-libs/libsdl2[X]
|
||||
)
|
||||
)
|
||||
system-qemu? ( app-emulation/qemu[xen] )
|
||||
ocaml? ( dev-ml/findlib
|
||||
>=dev-lang/ocaml-4 )
|
||||
python? ( >=dev-lang/swig-4.0.0 )"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
sys-apps/iproute2[-minimal]
|
||||
net-misc/bridge-utils
|
||||
screen? (
|
||||
app-misc/screen
|
||||
app-admin/logrotate
|
||||
)"
|
||||
|
||||
# hvmloader is used to bootstrap a fully virtualized kernel
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="
|
||||
usr/libexec/xen/boot/hvmloader
|
||||
usr/share/qemu-xen/qemu/hppa-firmware.img
|
||||
usr/share/qemu-xen/qemu/s390-ccw.img
|
||||
usr/share/qemu-xen/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/libexec/xen/bin/elf2dmp
|
||||
usr/libexec/xen/bin/ivshmem-client
|
||||
usr/libexec/xen/bin/ivshmem-server
|
||||
usr/libexec/xen/bin/qemu-edid
|
||||
usr/libexec/xen/bin/qemu-img
|
||||
usr/libexec/xen/bin/qemu-io
|
||||
usr/libexec/xen/bin/qemu-keymap
|
||||
usr/libexec/xen/bin/qemu-nbd
|
||||
usr/libexec/xen/bin/qemu-pr-helper
|
||||
usr/libexec/xen/bin/qemu-system-i386
|
||||
usr/libexec/xen/bin/virtfs-proxy-helper
|
||||
usr/libexec/xen/libexec/xen-bridge-helper
|
||||
usr/share/qemu-xen/qemu/s390-ccw.img
|
||||
usr/share/qemu-xen/qemu/s390-netboot.img
|
||||
usr/share/qemu-xen/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_setup() {
|
||||
python_setup
|
||||
export "CONFIG_LOMOUNT=y"
|
||||
|
||||
#bug 522642, disable compile tools/tests
|
||||
export "CONFIG_TESTS=n"
|
||||
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
|
||||
if use x86 && use amd64; then
|
||||
die "Confusion! Both x86 and amd64 are set in your use flags!"
|
||||
elif use x86; then
|
||||
export XEN_TARGET_ARCH="x86_32"
|
||||
elif use amd64 ; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
elif use arm; then
|
||||
export XEN_TARGET_ARCH="arm32"
|
||||
elif use arm64; then
|
||||
export XEN_TARGET_ARCH="arm64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local i
|
||||
|
||||
# Upstream's patchset
|
||||
if [[ -n ${UPSTREAM_VER} ]]; then
|
||||
einfo "Try to apply Xen Upstream patch set"
|
||||
eapply "${WORKDIR}"/patches-upstream
|
||||
fi
|
||||
|
||||
# Security patchset
|
||||
if [[ -n ${SECURITY_VER} ]]; then
|
||||
einfo "Try to apply Xen Security patch set"
|
||||
# apply main xen patches
|
||||
# Two parallel systems, both work side by side
|
||||
# Over time they may concdense into one. This will suffice for now
|
||||
EPATCH_SUFFIX="patch"
|
||||
EPATCH_FORCE="yes"
|
||||
|
||||
source "${WORKDIR}"/patches-security/${PV}.conf || die
|
||||
|
||||
for i in ${XEN_SECURITY_MAIN}; do
|
||||
eapply "${WORKDIR}"/patches-security/xen/$i
|
||||
done
|
||||
|
||||
# apply qemu-xen/upstream patches
|
||||
pushd "${S}"/tools/qemu-xen/ > /dev/null
|
||||
for i in ${XEN_SECURITY_QEMUU}; do
|
||||
eapply "${WORKDIR}"/patches-security/qemuu/$i
|
||||
done
|
||||
popd > /dev/null
|
||||
|
||||
# apply qemu-traditional patches
|
||||
pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null
|
||||
for i in ${XEN_SECURITY_QEMUT}; do
|
||||
eapply "${WORKDIR}"/patches-security/qemut/$i
|
||||
done
|
||||
popd > /dev/null
|
||||
fi
|
||||
|
||||
# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
|
||||
mv ../seabios-rel-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
|
||||
pushd tools/firmware/ > /dev/null
|
||||
ln -s seabios-dir-remote seabios-dir || die
|
||||
popd > /dev/null
|
||||
|
||||
# Gentoo's patchset
|
||||
if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
|
||||
einfo "Try to apply Gentoo specific patch set"
|
||||
source "${FILESDIR}"/gentoo-patches.conf || die
|
||||
_gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
|
||||
for i in ${!_gpv}; do
|
||||
eapply "${WORKDIR}"/patches-gentoo/$i
|
||||
done
|
||||
fi
|
||||
|
||||
# Ovmf's patchset
|
||||
if use ovmf; then
|
||||
if [[ -n ${OVMF_VER} ]];then
|
||||
einfo "Try to apply Ovmf patch set"
|
||||
pushd "${WORKDIR}"/edk2-*/ > /dev/null
|
||||
eapply "${WORKDIR}"/patches-ovmf
|
||||
popd > /dev/null
|
||||
fi
|
||||
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
|
||||
mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
|
||||
mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
|
||||
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
|
||||
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
|
||||
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
|
||||
fi
|
||||
|
||||
# ipxe
|
||||
if use ipxe; then
|
||||
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die
|
||||
|
||||
# gcc 10
|
||||
cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" tools/firmware/etherboot/patches/ipxe-gcc10.patch || die
|
||||
echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die
|
||||
fi
|
||||
|
||||
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
|
||||
|
||||
# Fix texi2html build error with new texi2html, qemu.doc.html
|
||||
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
|
||||
|
||||
use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die
|
||||
sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \
|
||||
-i tools/firmware/Makefile || die
|
||||
|
||||
# Drop .config, fixes to gcc-4.6
|
||||
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||
|
||||
# drop flags
|
||||
unset CFLAGS
|
||||
unset LDFLAGS
|
||||
unset ASFLAGS
|
||||
unset CPPFLAGS
|
||||
|
||||
if ! use pygrub; then
|
||||
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use python; then
|
||||
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use hvm; then
|
||||
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
|
||||
# Bug 351648
|
||||
elif ! use x86 && ! has x86 $(get_all_abis); then
|
||||
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
|
||||
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
|
||||
export CPATH="${WORKDIR}"/extra-headers
|
||||
fi
|
||||
|
||||
if use qemu; then
|
||||
if use sdl; then
|
||||
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
|
||||
tools/Makefile || die
|
||||
else
|
||||
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
|
||||
tools/qemu-xen-traditional/xen-setup || die
|
||||
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
|
||||
tools/Makefile || die
|
||||
fi
|
||||
else
|
||||
# Don't bother with qemu, only needed for fully virtualised guests
|
||||
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
|
||||
fi
|
||||
|
||||
# Reset bash completion dir; Bug 472438
|
||||
sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
|
||||
-i Config.mk || die
|
||||
sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die
|
||||
|
||||
# xencommons, Bug #492332, sed lighter weight than patching
|
||||
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
|
||||
-i tools/hotplug/Linux/init.d/xencommons.in || die
|
||||
|
||||
# fix bashishm
|
||||
sed -e '/Usage/s/\$//g' \
|
||||
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die
|
||||
|
||||
# respect multilib, usr/lib/libcacard.so.0.0.0
|
||||
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
|
||||
-i tools/qemu-xen/configure || die
|
||||
|
||||
#bug 518136, don't build 32bit exactuable for nomultilib profile
|
||||
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
|
||||
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
|
||||
fi
|
||||
|
||||
# uncomment lines in xl.conf
|
||||
sed -e 's:^#autoballoon=:autoballoon=:' \
|
||||
-e 's:^#lockfile=:lockfile=:' \
|
||||
-e 's:^#vif.default.script=:vif.default.script=:' \
|
||||
-i tools/examples/xl.conf || die
|
||||
|
||||
# disable capstone (Bug #673474)
|
||||
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable glusterfs
|
||||
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf="--prefix=${PREFIX}/usr \
|
||||
--libdir=${PREFIX}/usr/$(get_libdir) \
|
||||
--libexecdir=${PREFIX}/usr/libexec \
|
||||
--localstatedir=${EPREFIX}/var \
|
||||
--disable-werror \
|
||||
--disable-xen \
|
||||
--enable-tools \
|
||||
--enable-docs \
|
||||
$(use_enable api xenapi) \
|
||||
$(use_enable ipxe) \
|
||||
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \
|
||||
$(use_enable ocaml ocamltools) \
|
||||
$(use_enable ovmf) \
|
||||
$(use_enable pam) \
|
||||
$(use_enable rombios) \
|
||||
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \
|
||||
"
|
||||
|
||||
use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin"
|
||||
use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64"
|
||||
use amd64 && myconf+=" $(use_enable qemu-traditional)"
|
||||
tc-ld-disable-gold # Bug 669570
|
||||
econf ${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
|
||||
|
||||
if test-flag-CC -fno-strict-overflow; then
|
||||
append-flags -fno-strict-overflow
|
||||
fi
|
||||
|
||||
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}
|
||||
|
||||
if use doc; then
|
||||
emake -C docs build
|
||||
else
|
||||
emake -C docs man-pages
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Override auto-detection in the build system, bug #382573
|
||||
export INITD_DIR=/tmp/init.d
|
||||
export CONFIG_LEAF_DIR=../tmp/default
|
||||
|
||||
# Let the build system compile installed Python modules.
|
||||
local PYTHONDONTWRITEBYTECODE
|
||||
export PYTHONDONTWRITEBYTECODE
|
||||
|
||||
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
|
||||
XEN_PYTHON_NATIVE_INSTALL=y install-tools
|
||||
|
||||
# Created at runtime
|
||||
rm -rv "${ED}/var/run" || die
|
||||
|
||||
# Fix the remaining Python shebangs.
|
||||
python_fix_shebang "${D}"
|
||||
|
||||
# Remove RedHat-specific stuff
|
||||
rm -rf "${D}"/tmp || die
|
||||
|
||||
if use doc; then
|
||||
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
|
||||
dodoc -r docs/{pdf,txt}
|
||||
else
|
||||
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
|
||||
fi
|
||||
dodoc ${DOCS[@]}
|
||||
|
||||
newconfd "${FILESDIR}"/xendomains.confd xendomains
|
||||
newconfd "${FILESDIR}"/xenstored.confd xenstored
|
||||
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
|
||||
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
|
||||
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
|
||||
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
|
||||
newinitd "${FILESDIR}"/xencommons.initd xencommons
|
||||
newconfd "${FILESDIR}"/xencommons.confd xencommons
|
||||
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
|
||||
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
|
||||
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
|
||||
|
||||
if use screen; then
|
||||
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
|
||||
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
|
||||
keepdir /var/log/xen-consoles
|
||||
fi
|
||||
|
||||
# For -static-libs wrt Bug 384355
|
||||
if ! use static-libs; then
|
||||
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
|
||||
fi
|
||||
|
||||
# for xendomains
|
||||
keepdir /etc/xen/auto
|
||||
|
||||
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
|
||||
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
|
||||
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
|
||||
|
||||
keepdir /var/lib/xen/dump
|
||||
keepdir /var/lib/xen/xenpaging
|
||||
keepdir /var/lib/xenstored
|
||||
keepdir /var/log/xen
|
||||
|
||||
if use python; then
|
||||
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py"
|
||||
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so"
|
||||
fi
|
||||
|
||||
python_optimize
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide and the offical wiki page:"
|
||||
elog "https://wiki.gentoo.org/wiki/Xen"
|
||||
elog "https://wiki.xen.org/wiki/Main_Page"
|
||||
elog ""
|
||||
elog "Recommended to utilise the xencommons script to config system at boot"
|
||||
elog "Add by use of rc-update on completion of the install"
|
||||
|
||||
if ! use hvm; then
|
||||
echo
|
||||
elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
|
||||
elog "support enable the hvm use flag."
|
||||
elog "An x86 or amd64 system is required to build HVM support."
|
||||
fi
|
||||
|
||||
if use qemu; then
|
||||
elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
|
||||
elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
|
||||
elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
|
||||
elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
|
||||
fi
|
||||
}
|
@ -1,512 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
PYTHON_REQ_USE='ncurses,xml,threads(+)'
|
||||
|
||||
inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs
|
||||
|
||||
MY_PV=${PV/_/-}
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
REPO="xen.git"
|
||||
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
|
||||
S="${WORKDIR}/${REPO}"
|
||||
else
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
||||
UPSTREAM_VER=6
|
||||
SECURITY_VER=29
|
||||
# xen-tools's gentoo patches tarball
|
||||
GENTOO_VER=21
|
||||
# xen-tools's gentoo patches version which apply to this specific ebuild
|
||||
GENTOO_GPV=1
|
||||
# xen-tools ovmf's patches
|
||||
OVMF_VER=
|
||||
|
||||
SEABIOS_VER="1.12.1"
|
||||
EDK2_COMMIT="06dc822d045c2bb42e497487935485302486e151"
|
||||
EDK2_OPENSSL_VERSION="1_1_1g"
|
||||
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
|
||||
EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
|
||||
IPXE_COMMIT="1dd56dbd11082fb622c2ed21cfaced4f47d798a6"
|
||||
|
||||
[[ -n ${UPSTREAM_VER} ]] && \
|
||||
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz
|
||||
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||
[[ -n ${SECURITY_VER} ]] && \
|
||||
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz
|
||||
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-security-patches-${SECURITY_VER}.tar.xz"
|
||||
[[ -n ${GENTOO_VER} ]] && \
|
||||
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz
|
||||
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||
[[ -n ${OVMF_VER} ]] && \
|
||||
OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz"
|
||||
|
||||
SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz
|
||||
https://github.com/qemu/seabios/archive/rel-${SEABIOS_VER}.tar.gz -> seabios-${SEABIOS_VER}.tar.gz
|
||||
ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
|
||||
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
|
||||
https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
|
||||
https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
|
||||
https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
|
||||
${OVMF_PATCHSET_URI} )
|
||||
${UPSTREAM_PATCHSET_URI}
|
||||
${SECURITY_PATCHSET_URI}
|
||||
${GENTOO_PATCHSET_URI}"
|
||||
|
||||
S="${WORKDIR}/xen-${MY_PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Xen tools including QEMU and xl"
|
||||
HOMEPAGE="https://www.xenproject.org"
|
||||
DOCS=( README )
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
|
||||
# >=dev-lang/ocaml-4 stable
|
||||
# Masked in profiles/eapi-5-files instead
|
||||
IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios"
|
||||
|
||||
REQUIRED_USE="
|
||||
${PYTHON_REQUIRED_USE}
|
||||
ipxe? ( rombios )
|
||||
ovmf? ( hvm )
|
||||
pygrub? ( python )
|
||||
rombios? ( hvm )
|
||||
system-ipxe? ( rombios )
|
||||
?? ( ipxe system-ipxe )
|
||||
?? ( qemu system-qemu )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
sys-apps/pciutils
|
||||
dev-libs/lzo:2
|
||||
dev-libs/glib:2
|
||||
dev-libs/yajl
|
||||
dev-libs/libaio
|
||||
dev-libs/libgcrypt:0
|
||||
sys-libs/zlib
|
||||
${PYTHON_DEPS}
|
||||
"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
>=sys-kernel/linux-headers-4.11
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/lxml[${PYTHON_MULTI_USEDEP}]
|
||||
pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] )
|
||||
')
|
||||
x86? ( sys-devel/dev86
|
||||
system-ipxe? ( sys-firmware/ipxe[qemu] )
|
||||
sys-power/iasl )
|
||||
api? ( dev-libs/libxml2
|
||||
net-misc/curl )
|
||||
|
||||
ovmf? (
|
||||
!arm? ( !arm64? ( dev-lang/nasm ) )
|
||||
$(python_gen_impl_dep sqlite)
|
||||
)
|
||||
!amd64? ( >=sys-apps/dtc-1.4.0 )
|
||||
amd64? ( sys-power/iasl
|
||||
system-seabios? ( sys-firmware/seabios )
|
||||
system-ipxe? ( sys-firmware/ipxe[qemu] )
|
||||
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
|
||||
dev-lang/perl
|
||||
app-misc/pax-utils
|
||||
doc? (
|
||||
app-text/ghostscript-gpl
|
||||
app-text/pandoc
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/markdown[${PYTHON_MULTI_USEDEP}]
|
||||
')
|
||||
dev-texlive/texlive-latexextra
|
||||
media-gfx/transfig
|
||||
)
|
||||
hvm? ( x11-base/xorg-proto )
|
||||
qemu? (
|
||||
app-arch/snappy:=
|
||||
x11-libs/pixman
|
||||
sdl? (
|
||||
media-libs/libsdl[X]
|
||||
media-libs/libsdl2[X]
|
||||
)
|
||||
)
|
||||
system-qemu? ( app-emulation/qemu[xen] )
|
||||
ocaml? ( dev-ml/findlib
|
||||
>=dev-lang/ocaml-4 )
|
||||
python? ( >=dev-lang/swig-4.0.0 )"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
sys-apps/iproute2[-minimal]
|
||||
net-misc/bridge-utils
|
||||
screen? (
|
||||
app-misc/screen
|
||||
app-admin/logrotate
|
||||
)"
|
||||
|
||||
# hvmloader is used to bootstrap a fully virtualized kernel
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="
|
||||
usr/libexec/xen/boot/hvmloader
|
||||
usr/share/qemu-xen/qemu/hppa-firmware.img
|
||||
usr/share/qemu-xen/qemu/s390-ccw.img
|
||||
usr/share/qemu-xen/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/libexec/xen/bin/elf2dmp
|
||||
usr/libexec/xen/bin/ivshmem-client
|
||||
usr/libexec/xen/bin/ivshmem-server
|
||||
usr/libexec/xen/bin/qemu-edid
|
||||
usr/libexec/xen/bin/qemu-img
|
||||
usr/libexec/xen/bin/qemu-io
|
||||
usr/libexec/xen/bin/qemu-keymap
|
||||
usr/libexec/xen/bin/qemu-nbd
|
||||
usr/libexec/xen/bin/qemu-pr-helper
|
||||
usr/libexec/xen/bin/qemu-system-i386
|
||||
usr/libexec/xen/bin/virtfs-proxy-helper
|
||||
usr/libexec/xen/libexec/xen-bridge-helper
|
||||
usr/share/qemu-xen/qemu/s390-ccw.img
|
||||
usr/share/qemu-xen/qemu/s390-netboot.img
|
||||
usr/share/qemu-xen/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_setup() {
|
||||
python_setup
|
||||
export "CONFIG_LOMOUNT=y"
|
||||
|
||||
#bug 522642, disable compile tools/tests
|
||||
export "CONFIG_TESTS=n"
|
||||
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
|
||||
if use x86 && use amd64; then
|
||||
die "Confusion! Both x86 and amd64 are set in your use flags!"
|
||||
elif use x86; then
|
||||
export XEN_TARGET_ARCH="x86_32"
|
||||
elif use amd64 ; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
elif use arm; then
|
||||
export XEN_TARGET_ARCH="arm32"
|
||||
elif use arm64; then
|
||||
export XEN_TARGET_ARCH="arm64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local i
|
||||
|
||||
# Upstream's patchset
|
||||
if [[ -n ${UPSTREAM_VER} ]]; then
|
||||
einfo "Try to apply Xen Upstream patch set"
|
||||
eapply "${WORKDIR}"/patches-upstream
|
||||
fi
|
||||
|
||||
# Security patchset
|
||||
if [[ -n ${SECURITY_VER} ]]; then
|
||||
einfo "Try to apply Xen Security patch set"
|
||||
# apply main xen patches
|
||||
# Two parallel systems, both work side by side
|
||||
# Over time they may concdense into one. This will suffice for now
|
||||
EPATCH_SUFFIX="patch"
|
||||
EPATCH_FORCE="yes"
|
||||
|
||||
source "${WORKDIR}"/patches-security/${PV}.conf || die
|
||||
|
||||
for i in ${XEN_SECURITY_MAIN}; do
|
||||
eapply "${WORKDIR}"/patches-security/xen/$i
|
||||
done
|
||||
|
||||
# apply qemu-xen/upstream patches
|
||||
pushd "${S}"/tools/qemu-xen/ > /dev/null
|
||||
for i in ${XEN_SECURITY_QEMUU}; do
|
||||
eapply "${WORKDIR}"/patches-security/qemuu/$i
|
||||
done
|
||||
popd > /dev/null
|
||||
|
||||
# apply qemu-traditional patches
|
||||
pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null
|
||||
for i in ${XEN_SECURITY_QEMUT}; do
|
||||
eapply "${WORKDIR}"/patches-security/qemut/$i
|
||||
done
|
||||
popd > /dev/null
|
||||
fi
|
||||
|
||||
# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
|
||||
mv ../seabios-rel-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
|
||||
pushd tools/firmware/ > /dev/null
|
||||
ln -s seabios-dir-remote seabios-dir || die
|
||||
popd > /dev/null
|
||||
|
||||
# Gentoo's patchset
|
||||
if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
|
||||
einfo "Try to apply Gentoo specific patch set"
|
||||
source "${FILESDIR}"/gentoo-patches.conf || die
|
||||
_gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
|
||||
for i in ${!_gpv}; do
|
||||
eapply "${WORKDIR}"/patches-gentoo/$i
|
||||
done
|
||||
fi
|
||||
|
||||
# Ovmf's patchset
|
||||
if use ovmf; then
|
||||
if [[ -n ${OVMF_VER} ]];then
|
||||
einfo "Try to apply Ovmf patch set"
|
||||
pushd "${WORKDIR}"/edk2-*/ > /dev/null
|
||||
eapply "${WORKDIR}"/patches-ovmf
|
||||
popd > /dev/null
|
||||
fi
|
||||
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
|
||||
mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
|
||||
mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
|
||||
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
|
||||
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
|
||||
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
|
||||
fi
|
||||
|
||||
# ipxe
|
||||
if use ipxe; then
|
||||
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die
|
||||
|
||||
# gcc 10
|
||||
cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" tools/firmware/etherboot/patches/ipxe-gcc10.patch || die
|
||||
echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die
|
||||
fi
|
||||
|
||||
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
|
||||
|
||||
# Fix texi2html build error with new texi2html, qemu.doc.html
|
||||
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
|
||||
|
||||
use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die
|
||||
sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \
|
||||
-i tools/firmware/Makefile || die
|
||||
|
||||
# Drop .config, fixes to gcc-4.6
|
||||
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||
|
||||
# drop flags
|
||||
unset CFLAGS
|
||||
unset LDFLAGS
|
||||
unset ASFLAGS
|
||||
unset CPPFLAGS
|
||||
|
||||
if ! use pygrub; then
|
||||
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use python; then
|
||||
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use hvm; then
|
||||
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
|
||||
# Bug 351648
|
||||
elif ! use x86 && ! has x86 $(get_all_abis); then
|
||||
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
|
||||
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
|
||||
export CPATH="${WORKDIR}"/extra-headers
|
||||
fi
|
||||
|
||||
if use qemu; then
|
||||
if use sdl; then
|
||||
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
|
||||
tools/Makefile || die
|
||||
else
|
||||
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
|
||||
tools/qemu-xen-traditional/xen-setup || die
|
||||
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
|
||||
tools/Makefile || die
|
||||
fi
|
||||
else
|
||||
# Don't bother with qemu, only needed for fully virtualised guests
|
||||
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
|
||||
fi
|
||||
|
||||
# Reset bash completion dir; Bug 472438
|
||||
sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
|
||||
-i Config.mk || die
|
||||
sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die
|
||||
|
||||
# xencommons, Bug #492332, sed lighter weight than patching
|
||||
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
|
||||
-i tools/hotplug/Linux/init.d/xencommons.in || die
|
||||
|
||||
# fix bashishm
|
||||
sed -e '/Usage/s/\$//g' \
|
||||
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die
|
||||
|
||||
# respect multilib, usr/lib/libcacard.so.0.0.0
|
||||
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
|
||||
-i tools/qemu-xen/configure || die
|
||||
|
||||
#bug 518136, don't build 32bit exactuable for nomultilib profile
|
||||
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
|
||||
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
|
||||
fi
|
||||
|
||||
# uncomment lines in xl.conf
|
||||
sed -e 's:^#autoballoon=:autoballoon=:' \
|
||||
-e 's:^#lockfile=:lockfile=:' \
|
||||
-e 's:^#vif.default.script=:vif.default.script=:' \
|
||||
-i tools/examples/xl.conf || die
|
||||
|
||||
# disable capstone (Bug #673474)
|
||||
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable glusterfs
|
||||
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf="--prefix=${PREFIX}/usr \
|
||||
--libdir=${PREFIX}/usr/$(get_libdir) \
|
||||
--libexecdir=${PREFIX}/usr/libexec \
|
||||
--localstatedir=${EPREFIX}/var \
|
||||
--disable-werror \
|
||||
--disable-xen \
|
||||
--enable-tools \
|
||||
--enable-docs \
|
||||
$(use_enable api xenapi) \
|
||||
$(use_enable ipxe) \
|
||||
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \
|
||||
$(use_enable ocaml ocamltools) \
|
||||
$(use_enable ovmf) \
|
||||
$(use_enable pam) \
|
||||
$(use_enable rombios) \
|
||||
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \
|
||||
"
|
||||
|
||||
use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin"
|
||||
use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64"
|
||||
use amd64 && myconf+=" $(use_enable qemu-traditional)"
|
||||
tc-ld-disable-gold # Bug 669570
|
||||
econf ${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
|
||||
|
||||
if test-flag-CC -fno-strict-overflow; then
|
||||
append-flags -fno-strict-overflow
|
||||
fi
|
||||
|
||||
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}
|
||||
|
||||
if use doc; then
|
||||
emake -C docs build
|
||||
else
|
||||
emake -C docs man-pages
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Override auto-detection in the build system, bug #382573
|
||||
export INITD_DIR=/tmp/init.d
|
||||
export CONFIG_LEAF_DIR=../tmp/default
|
||||
|
||||
# Let the build system compile installed Python modules.
|
||||
local PYTHONDONTWRITEBYTECODE
|
||||
export PYTHONDONTWRITEBYTECODE
|
||||
|
||||
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
|
||||
XEN_PYTHON_NATIVE_INSTALL=y install-tools
|
||||
|
||||
# Created at runtime
|
||||
rm -rv "${ED}/var/run" || die
|
||||
|
||||
# Fix the remaining Python shebangs.
|
||||
python_fix_shebang "${D}"
|
||||
|
||||
# Remove RedHat-specific stuff
|
||||
rm -rf "${D}"/tmp || die
|
||||
|
||||
if use doc; then
|
||||
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
|
||||
dodoc -r docs/{pdf,txt}
|
||||
else
|
||||
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
|
||||
fi
|
||||
dodoc ${DOCS[@]}
|
||||
|
||||
newconfd "${FILESDIR}"/xendomains.confd xendomains
|
||||
newconfd "${FILESDIR}"/xenstored.confd xenstored
|
||||
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
|
||||
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
|
||||
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
|
||||
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
|
||||
newinitd "${FILESDIR}"/xencommons.initd xencommons
|
||||
newconfd "${FILESDIR}"/xencommons.confd xencommons
|
||||
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
|
||||
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
|
||||
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
|
||||
|
||||
if use screen; then
|
||||
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
|
||||
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
|
||||
keepdir /var/log/xen-consoles
|
||||
fi
|
||||
|
||||
# For -static-libs wrt Bug 384355
|
||||
if ! use static-libs; then
|
||||
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
|
||||
fi
|
||||
|
||||
# for xendomains
|
||||
keepdir /etc/xen/auto
|
||||
|
||||
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
|
||||
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
|
||||
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
|
||||
|
||||
keepdir /var/lib/xen/dump
|
||||
keepdir /var/lib/xen/xenpaging
|
||||
keepdir /var/lib/xenstored
|
||||
keepdir /var/log/xen
|
||||
|
||||
if use python; then
|
||||
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py"
|
||||
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so"
|
||||
fi
|
||||
|
||||
python_optimize
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide and the offical wiki page:"
|
||||
elog "https://wiki.gentoo.org/wiki/Xen"
|
||||
elog "https://wiki.xen.org/wiki/Main_Page"
|
||||
elog ""
|
||||
elog "Recommended to utilise the xencommons script to config system at boot"
|
||||
elog "Add by use of rc-update on completion of the install"
|
||||
|
||||
if ! use hvm; then
|
||||
echo
|
||||
elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
|
||||
elog "support enable the hvm use flag."
|
||||
elog "An x86 or amd64 system is required to build HVM support."
|
||||
fi
|
||||
|
||||
if use qemu; then
|
||||
elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
|
||||
elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
|
||||
elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
|
||||
elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
|
||||
fi
|
||||
}
|
@ -1,512 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
PYTHON_REQ_USE='ncurses,xml,threads(+)'
|
||||
|
||||
inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs
|
||||
|
||||
MY_PV=${PV/_/-}
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
REPO="xen.git"
|
||||
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
|
||||
S="${WORKDIR}/${REPO}"
|
||||
else
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
||||
UPSTREAM_VER=3
|
||||
SECURITY_VER=
|
||||
# xen-tools's gentoo patches tarball
|
||||
GENTOO_VER=22
|
||||
# xen-tools's gentoo patches version which apply to this specific ebuild
|
||||
GENTOO_GPV=0
|
||||
# xen-tools ovmf's patches
|
||||
OVMF_VER=
|
||||
|
||||
SEABIOS_VER="1.13.0"
|
||||
EDK2_COMMIT="06dc822d045c2bb42e497487935485302486e151"
|
||||
EDK2_OPENSSL_VERSION="1_1_1g"
|
||||
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
|
||||
EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
|
||||
IPXE_COMMIT="1dd56dbd11082fb622c2ed21cfaced4f47d798a6"
|
||||
|
||||
[[ -n ${UPSTREAM_VER} ]] && \
|
||||
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz
|
||||
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||
[[ -n ${SECURITY_VER} ]] && \
|
||||
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz
|
||||
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-security-patches-${SECURITY_VER}.tar.xz"
|
||||
[[ -n ${GENTOO_VER} ]] && \
|
||||
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz
|
||||
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||
[[ -n ${OVMF_VER} ]] && \
|
||||
OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz"
|
||||
|
||||
SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz
|
||||
https://github.com/qemu/seabios/archive/rel-${SEABIOS_VER}.tar.gz -> seabios-${SEABIOS_VER}.tar.gz
|
||||
ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
|
||||
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
|
||||
https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
|
||||
https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
|
||||
https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
|
||||
${OVMF_PATCHSET_URI} )
|
||||
${UPSTREAM_PATCHSET_URI}
|
||||
${SECURITY_PATCHSET_URI}
|
||||
${GENTOO_PATCHSET_URI}"
|
||||
|
||||
S="${WORKDIR}/xen-${MY_PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Xen tools including QEMU and xl"
|
||||
HOMEPAGE="https://www.xenproject.org"
|
||||
DOCS=( README )
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
|
||||
# >=dev-lang/ocaml-4 stable
|
||||
# Masked in profiles/eapi-5-files instead
|
||||
IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios"
|
||||
|
||||
REQUIRED_USE="
|
||||
${PYTHON_REQUIRED_USE}
|
||||
ipxe? ( rombios )
|
||||
ovmf? ( hvm )
|
||||
pygrub? ( python )
|
||||
rombios? ( hvm )
|
||||
system-ipxe? ( rombios )
|
||||
?? ( ipxe system-ipxe )
|
||||
?? ( qemu system-qemu )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
sys-apps/pciutils
|
||||
dev-libs/lzo:2
|
||||
dev-libs/glib:2
|
||||
dev-libs/yajl
|
||||
dev-libs/libaio
|
||||
dev-libs/libgcrypt:0
|
||||
sys-libs/zlib
|
||||
${PYTHON_DEPS}
|
||||
"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-misc/pax-utils
|
||||
dev-lang/perl
|
||||
>=sys-kernel/linux-headers-4.11
|
||||
x11-libs/pixman
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/lxml[${PYTHON_MULTI_USEDEP}]
|
||||
pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] )
|
||||
')
|
||||
x86? ( sys-devel/dev86
|
||||
system-ipxe? ( sys-firmware/ipxe[qemu] )
|
||||
sys-power/iasl )
|
||||
api? ( dev-libs/libxml2
|
||||
net-misc/curl )
|
||||
|
||||
ovmf? (
|
||||
!arm? ( !arm64? ( dev-lang/nasm ) )
|
||||
$(python_gen_impl_dep sqlite)
|
||||
)
|
||||
!amd64? ( >=sys-apps/dtc-1.4.0 )
|
||||
amd64? ( sys-power/iasl
|
||||
system-seabios? ( sys-firmware/seabios )
|
||||
system-ipxe? ( sys-firmware/ipxe[qemu] )
|
||||
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
|
||||
doc? (
|
||||
app-text/ghostscript-gpl
|
||||
app-text/pandoc
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/markdown[${PYTHON_MULTI_USEDEP}]
|
||||
')
|
||||
dev-texlive/texlive-latexextra
|
||||
media-gfx/transfig
|
||||
)
|
||||
hvm? ( x11-base/xorg-proto )
|
||||
qemu? (
|
||||
app-arch/snappy:=
|
||||
sdl? (
|
||||
media-libs/libsdl[X]
|
||||
media-libs/libsdl2[X]
|
||||
)
|
||||
)
|
||||
system-qemu? ( app-emulation/qemu[xen] )
|
||||
ocaml? ( dev-ml/findlib
|
||||
>=dev-lang/ocaml-4 )
|
||||
python? ( >=dev-lang/swig-4.0.0 )"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
sys-apps/iproute2[-minimal]
|
||||
net-misc/bridge-utils
|
||||
screen? (
|
||||
app-misc/screen
|
||||
app-admin/logrotate
|
||||
)"
|
||||
|
||||
# hvmloader is used to bootstrap a fully virtualized kernel
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="
|
||||
usr/libexec/xen/boot/hvmloader
|
||||
usr/share/qemu-xen/qemu/hppa-firmware.img
|
||||
usr/share/qemu-xen/qemu/s390-ccw.img
|
||||
usr/share/qemu-xen/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/libexec/xen/bin/elf2dmp
|
||||
usr/libexec/xen/bin/ivshmem-client
|
||||
usr/libexec/xen/bin/ivshmem-server
|
||||
usr/libexec/xen/bin/qemu-edid
|
||||
usr/libexec/xen/bin/qemu-img
|
||||
usr/libexec/xen/bin/qemu-io
|
||||
usr/libexec/xen/bin/qemu-keymap
|
||||
usr/libexec/xen/bin/qemu-nbd
|
||||
usr/libexec/xen/bin/qemu-pr-helper
|
||||
usr/libexec/xen/bin/qemu-system-i386
|
||||
usr/libexec/xen/bin/virtfs-proxy-helper
|
||||
usr/libexec/xen/libexec/xen-bridge-helper
|
||||
usr/share/qemu-xen/qemu/s390-ccw.img
|
||||
usr/share/qemu-xen/qemu/s390-netboot.img
|
||||
usr/share/qemu-xen/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_setup() {
|
||||
python_setup
|
||||
export "CONFIG_LOMOUNT=y"
|
||||
|
||||
#bug 522642, disable compile tools/tests
|
||||
export "CONFIG_TESTS=n"
|
||||
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
|
||||
if use x86 && use amd64; then
|
||||
die "Confusion! Both x86 and amd64 are set in your use flags!"
|
||||
elif use x86; then
|
||||
export XEN_TARGET_ARCH="x86_32"
|
||||
elif use amd64 ; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
elif use arm; then
|
||||
export XEN_TARGET_ARCH="arm32"
|
||||
elif use arm64; then
|
||||
export XEN_TARGET_ARCH="arm64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local i
|
||||
|
||||
# Upstream's patchset
|
||||
if [[ -n ${UPSTREAM_VER} ]]; then
|
||||
einfo "Try to apply Xen Upstream patch set"
|
||||
eapply "${WORKDIR}"/patches-upstream
|
||||
fi
|
||||
|
||||
# Security patchset
|
||||
if [[ -n ${SECURITY_VER} ]]; then
|
||||
einfo "Try to apply Xen Security patch set"
|
||||
# apply main xen patches
|
||||
# Two parallel systems, both work side by side
|
||||
# Over time they may concdense into one. This will suffice for now
|
||||
EPATCH_SUFFIX="patch"
|
||||
EPATCH_FORCE="yes"
|
||||
|
||||
source "${WORKDIR}"/patches-security/${PV}.conf || die
|
||||
|
||||
for i in ${XEN_SECURITY_MAIN}; do
|
||||
eapply "${WORKDIR}"/patches-security/xen/$i
|
||||
done
|
||||
|
||||
# apply qemu-xen/upstream patches
|
||||
pushd "${S}"/tools/qemu-xen/ > /dev/null
|
||||
for i in ${XEN_SECURITY_QEMUU}; do
|
||||
eapply "${WORKDIR}"/patches-security/qemuu/$i
|
||||
done
|
||||
popd > /dev/null
|
||||
|
||||
# apply qemu-traditional patches
|
||||
pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null
|
||||
for i in ${XEN_SECURITY_QEMUT}; do
|
||||
eapply "${WORKDIR}"/patches-security/qemut/$i
|
||||
done
|
||||
popd > /dev/null
|
||||
fi
|
||||
|
||||
# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
|
||||
mv ../seabios-rel-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
|
||||
pushd tools/firmware/ > /dev/null
|
||||
ln -s seabios-dir-remote seabios-dir || die
|
||||
popd > /dev/null
|
||||
|
||||
# Gentoo's patchset
|
||||
if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
|
||||
einfo "Try to apply Gentoo specific patch set"
|
||||
source "${FILESDIR}"/gentoo-patches.conf || die
|
||||
_gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
|
||||
for i in ${!_gpv}; do
|
||||
eapply "${WORKDIR}"/patches-gentoo/$i
|
||||
done
|
||||
fi
|
||||
|
||||
# Ovmf's patchset
|
||||
if use ovmf; then
|
||||
if [[ -n ${OVMF_VER} ]];then
|
||||
einfo "Try to apply Ovmf patch set"
|
||||
pushd "${WORKDIR}"/edk2-*/ > /dev/null
|
||||
eapply "${WORKDIR}"/patches-ovmf
|
||||
popd > /dev/null
|
||||
fi
|
||||
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
|
||||
mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
|
||||
mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
|
||||
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
|
||||
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
|
||||
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
|
||||
fi
|
||||
|
||||
# ipxe
|
||||
if use ipxe; then
|
||||
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die
|
||||
|
||||
# gcc 10
|
||||
cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" tools/firmware/etherboot/patches/ipxe-gcc10.patch || die
|
||||
echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die
|
||||
fi
|
||||
|
||||
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
|
||||
|
||||
# Fix texi2html build error with new texi2html, qemu.doc.html
|
||||
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
|
||||
|
||||
use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die
|
||||
sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \
|
||||
-i tools/firmware/Makefile || die
|
||||
|
||||
# Drop .config, fixes to gcc-4.6
|
||||
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||
|
||||
# drop flags
|
||||
unset CFLAGS
|
||||
unset LDFLAGS
|
||||
unset ASFLAGS
|
||||
unset CPPFLAGS
|
||||
|
||||
if ! use pygrub; then
|
||||
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use python; then
|
||||
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use hvm; then
|
||||
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
|
||||
# Bug 351648
|
||||
elif ! use x86 && ! has x86 $(get_all_abis); then
|
||||
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
|
||||
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
|
||||
export CPATH="${WORKDIR}"/extra-headers
|
||||
fi
|
||||
|
||||
if use qemu; then
|
||||
if use sdl; then
|
||||
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
|
||||
tools/Makefile || die
|
||||
else
|
||||
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
|
||||
tools/qemu-xen-traditional/xen-setup || die
|
||||
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
|
||||
tools/Makefile || die
|
||||
fi
|
||||
else
|
||||
# Don't bother with qemu, only needed for fully virtualised guests
|
||||
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
|
||||
fi
|
||||
|
||||
# Reset bash completion dir; Bug 472438
|
||||
sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
|
||||
-i Config.mk || die
|
||||
sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die
|
||||
|
||||
# xencommons, Bug #492332, sed lighter weight than patching
|
||||
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
|
||||
-i tools/hotplug/Linux/init.d/xencommons.in || die
|
||||
|
||||
# fix bashishm
|
||||
sed -e '/Usage/s/\$//g' \
|
||||
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die
|
||||
|
||||
# respect multilib, usr/lib/libcacard.so.0.0.0
|
||||
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
|
||||
-i tools/qemu-xen/configure || die
|
||||
|
||||
#bug 518136, don't build 32bit exactuable for nomultilib profile
|
||||
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
|
||||
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
|
||||
fi
|
||||
|
||||
# uncomment lines in xl.conf
|
||||
sed -e 's:^#autoballoon=:autoballoon=:' \
|
||||
-e 's:^#lockfile=:lockfile=:' \
|
||||
-e 's:^#vif.default.script=:vif.default.script=:' \
|
||||
-i tools/examples/xl.conf || die
|
||||
|
||||
# disable capstone (Bug #673474)
|
||||
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable glusterfs
|
||||
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf="--prefix=${PREFIX}/usr \
|
||||
--libdir=${PREFIX}/usr/$(get_libdir) \
|
||||
--libexecdir=${PREFIX}/usr/libexec \
|
||||
--localstatedir=${EPREFIX}/var \
|
||||
--disable-werror \
|
||||
--disable-xen \
|
||||
--enable-tools \
|
||||
--enable-docs \
|
||||
$(use_enable api xenapi) \
|
||||
$(use_enable ipxe) \
|
||||
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \
|
||||
$(use_enable ocaml ocamltools) \
|
||||
$(use_enable ovmf) \
|
||||
$(use_enable pam) \
|
||||
$(use_enable rombios) \
|
||||
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \
|
||||
"
|
||||
|
||||
use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin"
|
||||
use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64"
|
||||
use amd64 && myconf+=" $(use_enable qemu-traditional)"
|
||||
tc-ld-disable-gold # Bug 669570
|
||||
econf ${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
|
||||
|
||||
if test-flag-CC -fno-strict-overflow; then
|
||||
append-flags -fno-strict-overflow
|
||||
fi
|
||||
|
||||
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}
|
||||
|
||||
if use doc; then
|
||||
emake -C docs build
|
||||
else
|
||||
emake -C docs man-pages
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Override auto-detection in the build system, bug #382573
|
||||
export INITD_DIR=/tmp/init.d
|
||||
export CONFIG_LEAF_DIR=../tmp/default
|
||||
|
||||
# Let the build system compile installed Python modules.
|
||||
local PYTHONDONTWRITEBYTECODE
|
||||
export PYTHONDONTWRITEBYTECODE
|
||||
|
||||
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
|
||||
XEN_PYTHON_NATIVE_INSTALL=y install-tools
|
||||
|
||||
# Created at runtime
|
||||
rm -rv "${ED}/var/run" || die
|
||||
|
||||
# Fix the remaining Python shebangs.
|
||||
python_fix_shebang "${D}"
|
||||
|
||||
# Remove RedHat-specific stuff
|
||||
rm -rf "${D}"/tmp || die
|
||||
|
||||
if use doc; then
|
||||
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
|
||||
dodoc -r docs/{pdf,txt}
|
||||
else
|
||||
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
|
||||
fi
|
||||
dodoc ${DOCS[@]}
|
||||
|
||||
newconfd "${FILESDIR}"/xendomains.confd xendomains
|
||||
newconfd "${FILESDIR}"/xenstored.confd xenstored
|
||||
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
|
||||
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
|
||||
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
|
||||
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
|
||||
newinitd "${FILESDIR}"/xencommons.initd xencommons
|
||||
newconfd "${FILESDIR}"/xencommons.confd xencommons
|
||||
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
|
||||
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
|
||||
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
|
||||
|
||||
if use screen; then
|
||||
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
|
||||
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
|
||||
keepdir /var/log/xen-consoles
|
||||
fi
|
||||
|
||||
# For -static-libs wrt Bug 384355
|
||||
if ! use static-libs; then
|
||||
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
|
||||
fi
|
||||
|
||||
# for xendomains
|
||||
keepdir /etc/xen/auto
|
||||
|
||||
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
|
||||
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
|
||||
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
|
||||
|
||||
keepdir /var/lib/xen/dump
|
||||
keepdir /var/lib/xen/xenpaging
|
||||
keepdir /var/lib/xenstored
|
||||
keepdir /var/log/xen
|
||||
|
||||
if use python; then
|
||||
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py"
|
||||
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so"
|
||||
fi
|
||||
|
||||
python_optimize
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide and the offical wiki page:"
|
||||
elog "https://wiki.gentoo.org/wiki/Xen"
|
||||
elog "https://wiki.xen.org/wiki/Main_Page"
|
||||
elog ""
|
||||
elog "Recommended to utilise the xencommons script to config system at boot"
|
||||
elog "Add by use of rc-update on completion of the install"
|
||||
|
||||
if ! use hvm; then
|
||||
echo
|
||||
elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
|
||||
elog "support enable the hvm use flag."
|
||||
elog "An x86 or amd64 system is required to build HVM support."
|
||||
fi
|
||||
|
||||
if use qemu; then
|
||||
elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
|
||||
elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
|
||||
elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
|
||||
elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
|
||||
fi
|
||||
}
|
@ -1,512 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
PYTHON_REQ_USE='ncurses,xml,threads(+)'
|
||||
|
||||
inherit bash-completion-r1 flag-o-matic multilib python-single-r1 toolchain-funcs
|
||||
|
||||
MY_PV=${PV/_/-}
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
REPO="xen.git"
|
||||
EGIT_REPO_URI="git://xenbits.xen.org/${REPO}"
|
||||
S="${WORKDIR}/${REPO}"
|
||||
else
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
|
||||
UPSTREAM_VER=
|
||||
SECURITY_VER=
|
||||
# xen-tools's gentoo patches tarball
|
||||
GENTOO_VER=22
|
||||
# xen-tools's gentoo patches version which apply to this specific ebuild
|
||||
GENTOO_GPV=0
|
||||
# xen-tools ovmf's patches
|
||||
OVMF_VER=
|
||||
|
||||
SEABIOS_VER="1.13.0"
|
||||
EDK2_COMMIT="06dc822d045c2bb42e497487935485302486e151"
|
||||
EDK2_OPENSSL_VERSION="1_1_1g"
|
||||
EDK2_SOFTFLOAT_COMMIT="b64af41c3276f97f0e181920400ee056b9c88037"
|
||||
EDK2_BROTLI_COMMIT="666c3280cc11dc433c303d79a83d4ffbdd12cc8d"
|
||||
IPXE_COMMIT="1dd56dbd11082fb622c2ed21cfaced4f47d798a6"
|
||||
|
||||
[[ -n ${UPSTREAM_VER} ]] && \
|
||||
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz
|
||||
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P/-tools/}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||
[[ -n ${SECURITY_VER} ]] && \
|
||||
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-security-patches-${SECURITY_VER}.tar.xz
|
||||
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-security-patches-${SECURITY_VER}.tar.xz"
|
||||
[[ -n ${GENTOO_VER} ]] && \
|
||||
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-gentoo-patches-${GENTOO_VER}.tar.xz
|
||||
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${PN/-tools/}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||
[[ -n ${OVMF_VER} ]] && \
|
||||
OVMF_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN/-tools}-ovmf-patches-${OVMF_VER}.tar.xz"
|
||||
|
||||
SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/xen-${MY_PV}.tar.gz
|
||||
https://github.com/qemu/seabios/archive/rel-${SEABIOS_VER}.tar.gz -> seabios-${SEABIOS_VER}.tar.gz
|
||||
ipxe? ( http://xenbits.xen.org/xen-extfiles/ipxe-git-${IPXE_COMMIT}.tar.gz )
|
||||
ovmf? ( https://github.com/tianocore/edk2/archive/${EDK2_COMMIT}.tar.gz -> edk2-${EDK2_COMMIT}.tar.gz
|
||||
https://github.com/openssl/openssl/archive/OpenSSL_${EDK2_OPENSSL_VERSION}.tar.gz
|
||||
https://github.com/ucb-bar/berkeley-softfloat-3/archive/${EDK2_SOFTFLOAT_COMMIT}.tar.gz -> berkeley-softfloat-${EDK2_SOFTFLOAT_COMMIT}.tar.gz
|
||||
https://github.com/google/brotli/archive/${EDK2_BROTLI_COMMIT}.tar.gz -> brotli-${EDK2_BROTLI_COMMIT}.tar.gz
|
||||
${OVMF_PATCHSET_URI} )
|
||||
${UPSTREAM_PATCHSET_URI}
|
||||
${SECURITY_PATCHSET_URI}
|
||||
${GENTOO_PATCHSET_URI}"
|
||||
|
||||
S="${WORKDIR}/xen-${MY_PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="Xen tools including QEMU and xl"
|
||||
HOMEPAGE="https://www.xenproject.org"
|
||||
DOCS=( README )
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0/$(ver_cut 1-2)"
|
||||
# Inclusion of IUSE ocaml on stabalizing requires maintainer of ocaml to (get off his hands and) make
|
||||
# >=dev-lang/ocaml-4 stable
|
||||
# Masked in profiles/eapi-5-files instead
|
||||
IUSE="api debug doc flask +hvm +ipxe ocaml ovmf +pam pygrub python +qemu +qemu-traditional +rombios screen sdl static-libs system-ipxe system-qemu system-seabios"
|
||||
|
||||
REQUIRED_USE="
|
||||
${PYTHON_REQUIRED_USE}
|
||||
ipxe? ( rombios )
|
||||
ovmf? ( hvm )
|
||||
pygrub? ( python )
|
||||
rombios? ( hvm )
|
||||
system-ipxe? ( rombios )
|
||||
?? ( ipxe system-ipxe )
|
||||
?? ( qemu system-qemu )"
|
||||
|
||||
COMMON_DEPEND="
|
||||
sys-apps/pciutils
|
||||
dev-libs/lzo:2
|
||||
dev-libs/glib:2
|
||||
dev-libs/yajl
|
||||
dev-libs/libaio
|
||||
dev-libs/libgcrypt:0
|
||||
sys-libs/zlib
|
||||
${PYTHON_DEPS}
|
||||
"
|
||||
|
||||
DEPEND="${COMMON_DEPEND}
|
||||
app-misc/pax-utils
|
||||
dev-lang/perl
|
||||
>=sys-kernel/linux-headers-4.11
|
||||
x11-libs/pixman
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/lxml[${PYTHON_MULTI_USEDEP}]
|
||||
pam? ( dev-python/pypam[${PYTHON_MULTI_USEDEP}] )
|
||||
')
|
||||
x86? ( sys-devel/dev86
|
||||
system-ipxe? ( sys-firmware/ipxe[qemu] )
|
||||
sys-power/iasl )
|
||||
api? ( dev-libs/libxml2
|
||||
net-misc/curl )
|
||||
|
||||
ovmf? (
|
||||
!arm? ( !arm64? ( dev-lang/nasm ) )
|
||||
$(python_gen_impl_dep sqlite)
|
||||
)
|
||||
!amd64? ( >=sys-apps/dtc-1.4.0 )
|
||||
amd64? ( sys-power/iasl
|
||||
system-seabios? ( sys-firmware/seabios )
|
||||
system-ipxe? ( sys-firmware/ipxe[qemu] )
|
||||
rombios? ( sys-devel/bin86 sys-devel/dev86 ) )
|
||||
doc? (
|
||||
app-text/ghostscript-gpl
|
||||
app-text/pandoc
|
||||
$(python_gen_cond_dep '
|
||||
dev-python/markdown[${PYTHON_MULTI_USEDEP}]
|
||||
')
|
||||
dev-texlive/texlive-latexextra
|
||||
media-gfx/transfig
|
||||
)
|
||||
hvm? ( x11-base/xorg-proto )
|
||||
qemu? (
|
||||
app-arch/snappy:=
|
||||
sdl? (
|
||||
media-libs/libsdl[X]
|
||||
media-libs/libsdl2[X]
|
||||
)
|
||||
)
|
||||
system-qemu? ( app-emulation/qemu[xen] )
|
||||
ocaml? ( dev-ml/findlib
|
||||
>=dev-lang/ocaml-4 )
|
||||
python? ( >=dev-lang/swig-4.0.0 )"
|
||||
|
||||
RDEPEND="${COMMON_DEPEND}
|
||||
sys-apps/iproute2[-minimal]
|
||||
net-misc/bridge-utils
|
||||
screen? (
|
||||
app-misc/screen
|
||||
app-admin/logrotate
|
||||
)"
|
||||
|
||||
# hvmloader is used to bootstrap a fully virtualized kernel
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="
|
||||
usr/libexec/xen/boot/hvmloader
|
||||
usr/share/qemu-xen/qemu/hppa-firmware.img
|
||||
usr/share/qemu-xen/qemu/s390-ccw.img
|
||||
usr/share/qemu-xen/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
QA_PREBUILT="
|
||||
usr/libexec/xen/bin/elf2dmp
|
||||
usr/libexec/xen/bin/ivshmem-client
|
||||
usr/libexec/xen/bin/ivshmem-server
|
||||
usr/libexec/xen/bin/qemu-edid
|
||||
usr/libexec/xen/bin/qemu-img
|
||||
usr/libexec/xen/bin/qemu-io
|
||||
usr/libexec/xen/bin/qemu-keymap
|
||||
usr/libexec/xen/bin/qemu-nbd
|
||||
usr/libexec/xen/bin/qemu-pr-helper
|
||||
usr/libexec/xen/bin/qemu-system-i386
|
||||
usr/libexec/xen/bin/virtfs-proxy-helper
|
||||
usr/libexec/xen/libexec/xen-bridge-helper
|
||||
usr/share/qemu-xen/qemu/s390-ccw.img
|
||||
usr/share/qemu-xen/qemu/s390-netboot.img
|
||||
usr/share/qemu-xen/qemu/u-boot.e500
|
||||
"
|
||||
|
||||
RESTRICT="test"
|
||||
|
||||
pkg_setup() {
|
||||
python_setup
|
||||
export "CONFIG_LOMOUNT=y"
|
||||
|
||||
#bug 522642, disable compile tools/tests
|
||||
export "CONFIG_TESTS=n"
|
||||
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]] ; then
|
||||
if use x86 && use amd64; then
|
||||
die "Confusion! Both x86 and amd64 are set in your use flags!"
|
||||
elif use x86; then
|
||||
export XEN_TARGET_ARCH="x86_32"
|
||||
elif use amd64 ; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
elif use arm; then
|
||||
export XEN_TARGET_ARCH="arm32"
|
||||
elif use arm64; then
|
||||
export XEN_TARGET_ARCH="arm64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
local i
|
||||
|
||||
# Upstream's patchset
|
||||
if [[ -n ${UPSTREAM_VER} ]]; then
|
||||
einfo "Try to apply Xen Upstream patch set"
|
||||
eapply "${WORKDIR}"/patches-upstream
|
||||
fi
|
||||
|
||||
# Security patchset
|
||||
if [[ -n ${SECURITY_VER} ]]; then
|
||||
einfo "Try to apply Xen Security patch set"
|
||||
# apply main xen patches
|
||||
# Two parallel systems, both work side by side
|
||||
# Over time they may concdense into one. This will suffice for now
|
||||
EPATCH_SUFFIX="patch"
|
||||
EPATCH_FORCE="yes"
|
||||
|
||||
source "${WORKDIR}"/patches-security/${PV}.conf || die
|
||||
|
||||
for i in ${XEN_SECURITY_MAIN}; do
|
||||
eapply "${WORKDIR}"/patches-security/xen/$i
|
||||
done
|
||||
|
||||
# apply qemu-xen/upstream patches
|
||||
pushd "${S}"/tools/qemu-xen/ > /dev/null
|
||||
for i in ${XEN_SECURITY_QEMUU}; do
|
||||
eapply "${WORKDIR}"/patches-security/qemuu/$i
|
||||
done
|
||||
popd > /dev/null
|
||||
|
||||
# apply qemu-traditional patches
|
||||
pushd "${S}"/tools/qemu-xen-traditional/ > /dev/null
|
||||
for i in ${XEN_SECURITY_QEMUT}; do
|
||||
eapply "${WORKDIR}"/patches-security/qemut/$i
|
||||
done
|
||||
popd > /dev/null
|
||||
fi
|
||||
|
||||
# move before Gentoo patch, one patch should apply to seabios, to fix gcc-4.5.x build err
|
||||
mv ../seabios-rel-${SEABIOS_VER} tools/firmware/seabios-dir-remote || die
|
||||
pushd tools/firmware/ > /dev/null
|
||||
ln -s seabios-dir-remote seabios-dir || die
|
||||
popd > /dev/null
|
||||
|
||||
# Gentoo's patchset
|
||||
if [[ -n ${GENTOO_VER} && -n ${GENTOO_GPV} ]]; then
|
||||
einfo "Try to apply Gentoo specific patch set"
|
||||
source "${FILESDIR}"/gentoo-patches.conf || die
|
||||
_gpv=_gpv_${PN/-/_}_${PV//./}_${GENTOO_GPV}
|
||||
for i in ${!_gpv}; do
|
||||
eapply "${WORKDIR}"/patches-gentoo/$i
|
||||
done
|
||||
fi
|
||||
|
||||
# Ovmf's patchset
|
||||
if use ovmf; then
|
||||
if [[ -n ${OVMF_VER} ]];then
|
||||
einfo "Try to apply Ovmf patch set"
|
||||
pushd "${WORKDIR}"/edk2-*/ > /dev/null
|
||||
eapply "${WORKDIR}"/patches-ovmf
|
||||
popd > /dev/null
|
||||
fi
|
||||
mv ../edk2-${EDK2_COMMIT} tools/firmware/ovmf-dir-remote || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
|
||||
rm -r tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
|
||||
mv ../openssl-OpenSSL_${EDK2_OPENSSL_VERSION} tools/firmware/ovmf-dir-remote/CryptoPkg/Library/OpensslLib/openssl || die
|
||||
mv ../berkeley-softfloat-3-${EDK2_SOFTFLOAT_COMMIT} tools/firmware/ovmf-dir-remote/ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3 || die
|
||||
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/BaseTools/Source/C/BrotliCompress/brotli || die
|
||||
cp -r ../brotli-${EDK2_BROTLI_COMMIT} tools/firmware/ovmf-dir-remote/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli || die
|
||||
cp tools/firmware/ovmf-makefile tools/firmware/ovmf-dir-remote/Makefile || die
|
||||
fi
|
||||
|
||||
# ipxe
|
||||
if use ipxe; then
|
||||
cp "${DISTDIR}/ipxe-git-${IPXE_COMMIT}.tar.gz" tools/firmware/etherboot/_ipxe.tar.gz || die
|
||||
|
||||
# gcc 10
|
||||
cp "${WORKDIR}/patches-gentoo/xen-tools-4.13.0-ipxe-gcc10.patch" tools/firmware/etherboot/patches/ipxe-gcc10.patch || die
|
||||
echo ipxe-gcc10.patch >> tools/firmware/etherboot/patches/series || die
|
||||
fi
|
||||
|
||||
mv tools/qemu-xen/qemu-bridge-helper.c tools/qemu-xen/xen-bridge-helper.c || die
|
||||
|
||||
# Fix texi2html build error with new texi2html, qemu.doc.html
|
||||
sed -i -e "/texi2html -monolithic/s/-number//" tools/qemu-xen-traditional/Makefile || die
|
||||
|
||||
use api || sed -e "/SUBDIRS-\$(LIBXENAPI_BINDINGS) += libxen/d" -i tools/Makefile || die
|
||||
sed -e 's:$(MAKE) PYTHON=$(PYTHON) subdirs-$@:LC_ALL=C "$(MAKE)" PYTHON=$(PYTHON) subdirs-$@:' \
|
||||
-i tools/firmware/Makefile || die
|
||||
|
||||
# Drop .config, fixes to gcc-4.6
|
||||
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||
|
||||
# drop flags
|
||||
unset CFLAGS
|
||||
unset LDFLAGS
|
||||
unset ASFLAGS
|
||||
unset CPPFLAGS
|
||||
|
||||
if ! use pygrub; then
|
||||
sed -e '/^SUBDIRS-y += pygrub/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use python; then
|
||||
sed -e '/^SUBDIRS-y += python$/d' -i tools/Makefile || die
|
||||
fi
|
||||
|
||||
if ! use hvm; then
|
||||
sed -e '/SUBDIRS-$(CONFIG_X86) += firmware/d' -i tools/Makefile || die
|
||||
# Bug 351648
|
||||
elif ! use x86 && ! has x86 $(get_all_abis); then
|
||||
mkdir -p "${WORKDIR}"/extra-headers/gnu || die
|
||||
touch "${WORKDIR}"/extra-headers/gnu/stubs-32.h || die
|
||||
export CPATH="${WORKDIR}"/extra-headers
|
||||
fi
|
||||
|
||||
if use qemu; then
|
||||
if use sdl; then
|
||||
sed -i -e "s:\$\$source/configure:\0 --enable-sdl:" \
|
||||
tools/Makefile || die
|
||||
else
|
||||
sed -i -e "s:\${QEMU_ROOT\:\-\.}/configure:\0 --disable-sdl:" \
|
||||
tools/qemu-xen-traditional/xen-setup || die
|
||||
sed -i -e "s:\$\$source/configure:\0 --disable-sdl:" \
|
||||
tools/Makefile || die
|
||||
fi
|
||||
else
|
||||
# Don't bother with qemu, only needed for fully virtualised guests
|
||||
sed -i '/SUBDIRS-$(CONFIG_QEMU_XEN)/s/^/#/g' tools/Makefile || die
|
||||
fi
|
||||
|
||||
# Reset bash completion dir; Bug 472438
|
||||
sed -e "s:^BASH_COMPLETION_DIR ?= \$(CONFIG_DIR)/bash_completion.d:BASH_COMPLETION_DIR ?= $(get_bashcompdir):" \
|
||||
-i Config.mk || die
|
||||
sed -i -e "/bash-completion/s/xl\.sh/xl/g" tools/libxl/Makefile || die
|
||||
|
||||
# xencommons, Bug #492332, sed lighter weight than patching
|
||||
sed -e 's:\$QEMU_XEN -xen-domid:test -e "\$QEMU_XEN" \&\& &:' \
|
||||
-i tools/hotplug/Linux/init.d/xencommons.in || die
|
||||
|
||||
# fix bashishm
|
||||
sed -e '/Usage/s/\$//g' \
|
||||
-i tools/hotplug/Linux/init.d/xendriverdomain.in || die
|
||||
|
||||
# respect multilib, usr/lib/libcacard.so.0.0.0
|
||||
sed -e "/^libdir=/s/\/lib/\/$(get_libdir)/" \
|
||||
-i tools/qemu-xen/configure || die
|
||||
|
||||
#bug 518136, don't build 32bit exactuable for nomultilib profile
|
||||
if [[ "${ARCH}" == 'amd64' ]] && ! has_multilib_profile; then
|
||||
sed -i -e "/x86_emulator/d" tools/tests/Makefile || die
|
||||
fi
|
||||
|
||||
# uncomment lines in xl.conf
|
||||
sed -e 's:^#autoballoon=:autoballoon=:' \
|
||||
-e 's:^#lockfile=:lockfile=:' \
|
||||
-e 's:^#vif.default.script=:vif.default.script=:' \
|
||||
-i tools/examples/xl.conf || die
|
||||
|
||||
# disable capstone (Bug #673474)
|
||||
sed -e "s:\$\$source/configure:\0 --disable-capstone:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
# disable glusterfs
|
||||
sed -e "s:\$\$source/configure:\0 --disable-glusterfs:" \
|
||||
-i tools/Makefile || die
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local myconf="--prefix=${PREFIX}/usr \
|
||||
--libdir=${PREFIX}/usr/$(get_libdir) \
|
||||
--libexecdir=${PREFIX}/usr/libexec \
|
||||
--localstatedir=${EPREFIX}/var \
|
||||
--disable-werror \
|
||||
--disable-xen \
|
||||
--enable-tools \
|
||||
--enable-docs \
|
||||
$(use_enable api xenapi) \
|
||||
$(use_enable ipxe) \
|
||||
$(usex system-ipxe '--with-system-ipxe=/usr/share/ipxe' '') \
|
||||
$(use_enable ocaml ocamltools) \
|
||||
$(use_enable ovmf) \
|
||||
$(use_enable pam) \
|
||||
$(use_enable rombios) \
|
||||
--with-xenstored=$(usex ocaml 'oxenstored' 'xenstored') \
|
||||
"
|
||||
|
||||
use system-seabios && myconf+=" --with-system-seabios=/usr/share/seabios/bios.bin"
|
||||
use system-qemu && myconf+=" --with-system-qemu=/usr/bin/qemu-system-x86_64"
|
||||
use amd64 && myconf+=" $(use_enable qemu-traditional)"
|
||||
tc-ld-disable-gold # Bug 669570
|
||||
econf ${myconf}
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
use python && myopt="${myopt} XENSTAT_PYTHON_BINDINGS=y"
|
||||
|
||||
if test-flag-CC -fno-strict-overflow; then
|
||||
append-flags -fno-strict-overflow
|
||||
fi
|
||||
|
||||
emake CC="$(tc-getCC)" LD="$(tc-getLD)" AR="$(tc-getAR)" RANLIB="$(tc-getRANLIB)" build-tools ${myopt}
|
||||
|
||||
if use doc; then
|
||||
emake -C docs build
|
||||
else
|
||||
emake -C docs man-pages
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
# Override auto-detection in the build system, bug #382573
|
||||
export INITD_DIR=/tmp/init.d
|
||||
export CONFIG_LEAF_DIR=../tmp/default
|
||||
|
||||
# Let the build system compile installed Python modules.
|
||||
local PYTHONDONTWRITEBYTECODE
|
||||
export PYTHONDONTWRITEBYTECODE
|
||||
|
||||
emake DESTDIR="${ED}" DOCDIR="/usr/share/doc/${PF}" \
|
||||
XEN_PYTHON_NATIVE_INSTALL=y install-tools
|
||||
|
||||
# Created at runtime
|
||||
rm -rv "${ED}/var/run" || die
|
||||
|
||||
# Fix the remaining Python shebangs.
|
||||
python_fix_shebang "${D}"
|
||||
|
||||
# Remove RedHat-specific stuff
|
||||
rm -rf "${D}"/tmp || die
|
||||
|
||||
if use doc; then
|
||||
emake DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-docs
|
||||
dodoc -r docs/{pdf,txt}
|
||||
else
|
||||
emake -C docs DESTDIR="${D}" DOCDIR="/usr/share/doc/${PF}" install-man-pages # Bug 668032
|
||||
fi
|
||||
dodoc ${DOCS[@]}
|
||||
|
||||
newconfd "${FILESDIR}"/xendomains.confd xendomains
|
||||
newconfd "${FILESDIR}"/xenstored.confd xenstored
|
||||
newconfd "${FILESDIR}"/xenconsoled.confd xenconsoled
|
||||
newinitd "${FILESDIR}"/xendomains.initd-r2 xendomains
|
||||
newinitd "${FILESDIR}"/xenstored.initd-r1 xenstored
|
||||
newinitd "${FILESDIR}"/xenconsoled.initd xenconsoled
|
||||
newinitd "${FILESDIR}"/xencommons.initd xencommons
|
||||
newconfd "${FILESDIR}"/xencommons.confd xencommons
|
||||
newinitd "${FILESDIR}"/xenqemudev.initd xenqemudev
|
||||
newconfd "${FILESDIR}"/xenqemudev.confd xenqemudev
|
||||
newinitd "${FILESDIR}"/xen-watchdog.initd xen-watchdog
|
||||
|
||||
if use screen; then
|
||||
cat "${FILESDIR}"/xendomains-screen.confd >> "${D}"/etc/conf.d/xendomains || die
|
||||
cp "${FILESDIR}"/xen-consoles.logrotate "${D}"/etc/xen/ || die
|
||||
keepdir /var/log/xen-consoles
|
||||
fi
|
||||
|
||||
# For -static-libs wrt Bug 384355
|
||||
if ! use static-libs; then
|
||||
rm -f "${D}"/usr/$(get_libdir)/*.a "${D}"/usr/$(get_libdir)/ocaml/*/*.a
|
||||
fi
|
||||
|
||||
# for xendomains
|
||||
keepdir /etc/xen/auto
|
||||
|
||||
# Remove files failing QA AFTER emake installs them, avoiding seeking absent files
|
||||
find "${D}" \( -name openbios-sparc32 -o -name openbios-sparc64 \
|
||||
-o -name openbios-ppc -o -name palcode-clipper \) -delete || die
|
||||
|
||||
keepdir /var/lib/xen/dump
|
||||
keepdir /var/lib/xen/xenpaging
|
||||
keepdir /var/lib/xenstored
|
||||
keepdir /var/log/xen
|
||||
|
||||
if use python; then
|
||||
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/xenstat.py"
|
||||
python_domodule "${S}/tools/xenstat/libxenstat/bindings/swig/python/_xenstat.so"
|
||||
fi
|
||||
|
||||
python_optimize
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide and the offical wiki page:"
|
||||
elog "https://wiki.gentoo.org/wiki/Xen"
|
||||
elog "https://wiki.xen.org/wiki/Main_Page"
|
||||
elog ""
|
||||
elog "Recommended to utilise the xencommons script to config system at boot"
|
||||
elog "Add by use of rc-update on completion of the install"
|
||||
|
||||
if ! use hvm; then
|
||||
echo
|
||||
elog "HVM (VT-x and AMD-V) support has been disabled. If you need hvm"
|
||||
elog "support enable the hvm use flag."
|
||||
elog "An x86 or amd64 system is required to build HVM support."
|
||||
fi
|
||||
|
||||
if use qemu; then
|
||||
elog "The qemu-bridge-helper is renamed to the xen-bridge-helper in the in source"
|
||||
elog "build of qemu. This allows for app-emulation/qemu to be emerged concurrently"
|
||||
elog "with the qemu capable xen. It is up to the user to distinguish between and utilise"
|
||||
elog "the qemu-bridge-helper and the xen-bridge-helper. File bugs of any issues that arise"
|
||||
fi
|
||||
}
|
@ -1,8 +1,4 @@
|
||||
DIST xen-4.13.2-upstream-patches-4.tar.xz 65324 BLAKE2B 0e71e4600fffcf1341a52103a6318485c1da54101ec59dbdb9824be5a5ed1f977135a9c3e4ce48cf14922aa0a2e3ff5097dc870286e3b142d060c22d78079cb3 SHA512 3f0e41b685655c7753204862ea6b8e502ff4b4f76e4788ca07ab93a4bb3c636d24ad933c578f7c6e4c866cfb0d6b7b7234124da7c2fed0a4b34f2fbe401c56e1
|
||||
DIST xen-4.13.2-upstream-patches-5.tar.xz 76580 BLAKE2B 8eeab100c14d769174e7d935d4e081ffc2d72b771f8022ce5c31b89d860ddba5381baf55b87443dc3bc555b404595492d30bc7f2a103c77762004acfce70446e SHA512 5dd5c63267e9542626315efec94642901cff55f4a1f8148c58f86677254381242fce3d6c5c0ae72665b452441c54647d0b9a132a2a18ffb4ff7eaad86ef227de
|
||||
DIST xen-4.13.2-upstream-patches-6.tar.xz 80980 BLAKE2B a20643c4f89f197e4001c0181249bc1a22b60874bc077ba2abee716b8e64bbbea0885a64632f3120960425a741328ceba1b44dc10a7a24039b328e1ded28f752 SHA512 0b097dfb04404ec6c609d35d924b3d2306c5f2de0501aa0b8e007e0af9a4ef394fae2d736435401bf8bd1fd661171c71ba712585bdb195649e3350ef9f953115
|
||||
DIST xen-4.13.2.tar.gz 39037826 BLAKE2B ad2b7c3003ca29e5e60a85c581f706ef87d99eadf939ed36ebe8f6698582f7a29dbdaf502039b60a0afe7ad4ae6ce89713e69dc8b8a7d5abe65063da7f1baa5b SHA512 cd3092281c97e9421e303aa288aac04dcccd5536ba7c0ff4d51fbf3d07b5ffacfe3456ba06f5cf63577dafbf8cf3a5d9825ceb5e9ef8ca1427900cc3e57b50a3
|
||||
DIST xen-4.13.3.tar.gz 39044539 BLAKE2B 5d0e57c76e12e1b86b78bbf561e947d70b9569a24412617a640346d2358b141a2741e7a3be454df52d198ad63e58b1519288de62330417c70e72445703f3fac2 SHA512 622127d824b9c49b57282a887fb404e0bad05ff60bccade82e4e0e9b5ad975ff9aa1fba83392e6d8379e9a15340e8ae9785c0913eb11027816e4600432eea6b6
|
||||
DIST xen-4.14.1-upstream-patches-2.tar.xz 22920 BLAKE2B 890cd9bcc3c72b4ed192476a913de0377d50ddeb180e0d6dc4720e86662387a699ad74b263adf2b867b2421fcf3efdcacaa17bf581643afc50c9dc7e8a3dfc60 SHA512 ca0e53f40fe23d9a6c6374b460fcc0c8063e511f03ca86c02291fcb73bf9f91594de6fd615609997e0aac2e9c59ccc8512e4151a1d2646a70f3b5bacd95ad325
|
||||
DIST xen-4.14.1-upstream-patches-3.tar.xz 27864 BLAKE2B 69a67e863a30c0079f7955dd5306f69890a4f6db91d4cf2d1806a2bbd8afad88db7789c7eda8da0ff2a945da04916ff4ab5eaa9e529a417112ae01e31151d0dc SHA512 19e5ef39616fffbff20b2f658d61e50e21741fe3c5c4ca89f67e72a1606b3a593f93e9090fb0b5c76c1c801f931c237d2be6329bd174fa911d66b81ad4a332dd
|
||||
DIST xen-4.14.1.tar.gz 39970115 BLAKE2B 21e5838b2b4d78420dcaaae2b8fc98ac876230217e6a3764aa643920150b8cef96025663e6a2fc423ab15f7f470b62547e91ce1be0337fc78f00c148c7ff40ab SHA512 c75cbec82793435f5a7026626ffdb2e9a2166b42d2be4b2f1194240e0312458124f0ebd53eeb02ce7330c22afe402a28a96b32f8af66e41e9416fe94535724c9
|
||||
DIST xen-4.14.2.tar.gz 39973157 BLAKE2B db5d3570f79e0fd97872f5e5dd57a4eb39e005728387bfef3b51fabe1c693cfd8108d09b1026f5a5a7eb79de71be6f4af36d252f7e0b35a65a1567b7949e3e29 SHA512 83c9333b70dbee3e29c6bf08e5ad030676e6c4a32b976f3f5e6a8f8d0dd9e4898bac88dd8e1c9d2ad3509cebb5d212e1745f9392a469d7afeb841d79801ccf39
|
||||
DIST xen-4.15.0-upstream-patches-0.tar.xz 15744 BLAKE2B e2abb68524a7c190db8d91beb79731aea5290e82f54fb21218739dab666f6f5ea85c203575ec248b46830f1862408d50d3ceea1104fcd9325babfccf3574c515 SHA512 f1a2800d15a61f08eda4d6bafaead95a9d72cc9e4d90a19278d89c696b7e2d5d6353b28dba7ed0eb0c9aeb8604d3697db6a8f4ac38047e2510279d88181752f9
|
||||
DIST xen-4.15.0.tar.gz 40785399 BLAKE2B 8b0530f5516c39656506f4bb705952da0555a8ab7f47323473b171caeb7692f3107e9d94f13171d40576600064589eed35f4d210af02db4cc4706dd4fc202100 SHA512 93683b8a97387ca5f003c635a11d163e61c87dbdc9a03081f9155fe87b49f1dfa74ce243fcd5e04dc009353a36e2375b786f1ebde828b5951a094cd64197b4c7
|
||||
|
@ -0,0 +1,38 @@
|
||||
diff --git a/xen/Makefile b/xen/Makefile
|
||||
index acb2d28..b9dbd9c 100644
|
||||
--- a/xen/Makefile
|
||||
+++ b/xen/Makefile
|
||||
@@ -272,9 +272,17 @@ _install: Z=$(CONFIG_XEN_INSTALL_SUFFIX)
|
||||
_install: $(TARGET)$(CONFIG_XEN_INSTALL_SUFFIX)
|
||||
[ -d $(D)$(BOOT_DIR) ] || $(INSTALL_DIR) $(D)$(BOOT_DIR)
|
||||
$(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_FULLVERSION)$(Z)
|
||||
- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z)
|
||||
- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION)$(Z)
|
||||
- ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)$(Z)
|
||||
+
|
||||
+ if [ 'x$(EFI_VENDOR)' == 'x' ]; then \
|
||||
+ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z); \
|
||||
+ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION)$(Z); \
|
||||
+ ln -f -s $(T)-$(XEN_FULLVERSION)$(Z) $(D)$(BOOT_DIR)/$(T)$(Z); \
|
||||
+ else \
|
||||
+ $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION).$(XEN_SUBVERSION)$(Z); \
|
||||
+ $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)-$(XEN_VERSION)$(Z); \
|
||||
+ $(INSTALL_DATA) $(TARGET)$(Z) $(D)$(BOOT_DIR)/$(T)$(Z); \
|
||||
+ fi;
|
||||
+
|
||||
[ -d "$(D)$(DEBUG_DIR)" ] || $(INSTALL_DIR) $(D)$(DEBUG_DIR)
|
||||
$(INSTALL_DATA) $(TARGET)-syms $(D)$(DEBUG_DIR)/$(T)-syms-$(XEN_FULLVERSION)
|
||||
$(INSTALL_DATA) $(TARGET)-syms.map $(D)$(DEBUG_DIR)/$(T)-syms-$(XEN_FULLVERSION).map
|
||||
diff --git a/xen/arch/x86/Makefile b/xen/arch/x86/Makefile
|
||||
index b6567c4..0320a4a 100644
|
||||
--- a/xen/arch/x86/Makefile
|
||||
+++ b/xen/arch/x86/Makefile
|
||||
@@ -123,7 +123,7 @@ ifneq ($(efi-y),)
|
||||
# Check if the compiler supports the MS ABI.
|
||||
export XEN_BUILD_EFI := $(shell $(CC) $(XEN_CFLAGS) -c efi/check.c -o efi/check.o 2>/dev/null && echo y)
|
||||
# Check if the linker supports PE.
|
||||
-EFI_LDFLAGS = $(patsubst -m%,-mi386pep,$(XEN_LDFLAGS)) --subsystem=10 --strip-debug
|
||||
+EFI_LDFLAGS = -mi386pep $(patsubst -m%,-mi386pep,$(XEN_LDFLAGS)) --subsystem=10 --strip-debug
|
||||
XEN_BUILD_PE := $(if $(XEN_BUILD_EFI),$(shell $(LD) $(EFI_LDFLAGS) -o efi/check.efi efi/check.o 2>/dev/null && echo y))
|
||||
CFLAGS-$(XEN_BUILD_EFI) += -DXEN_BUILD_EFI
|
||||
# Check if the linker produces fixups in PE by default (we need to disable it doing so for now).
|
@ -1,165 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
|
||||
inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs
|
||||
|
||||
MY_PV=${PV/_/-}
|
||||
MY_P=${PN}-${MY_PV}
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
|
||||
SRC_URI=""
|
||||
else
|
||||
KEYWORDS="amd64 ~arm -x86"
|
||||
UPSTREAM_VER=4
|
||||
SECURITY_VER=
|
||||
GENTOO_VER=
|
||||
|
||||
[[ -n ${UPSTREAM_VER} ]] && \
|
||||
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz
|
||||
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||
[[ -n ${SECURITY_VER} ]] && \
|
||||
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz"
|
||||
[[ -n ${GENTOO_VER} ]] && \
|
||||
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||
SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz
|
||||
${UPSTREAM_PATCHSET_URI}
|
||||
${SECURITY_PATCHSET_URI}
|
||||
${GENTOO_PATCHSET_URI}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="The Xen virtual machine monitor"
|
||||
HOMEPAGE="https://www.xenproject.org"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="debug efi flask"
|
||||
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
efi? ( >=sys-devel/binutils-2.22[multitarget] )
|
||||
!efi? ( >=sys-devel/binutils-2.22 )"
|
||||
RDEPEND=""
|
||||
PDEPEND="~app-emulation/xen-tools-${PV}"
|
||||
|
||||
# no tests are available for the hypervisor
|
||||
# prevent the silliness of /usr/lib/debug/usr/lib/debug files
|
||||
# prevent stripping of the debug info from the /usr/lib/debug/xen-syms
|
||||
RESTRICT="test splitdebug strip"
|
||||
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="boot/xen-syms-${PV}"
|
||||
|
||||
REQUIRED_USE="arm? ( debug )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
pkg_setup() {
|
||||
python-any-r1_pkg_setup
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]]; then
|
||||
if use amd64; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
elif use arm; then
|
||||
export XEN_TARGET_ARCH="arm32"
|
||||
elif use arm64; then
|
||||
export XEN_TARGET_ARCH="arm64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use flask ; then
|
||||
export "XSM_ENABLE=y"
|
||||
export "FLASK_ENABLE=y"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Upstream's patchset
|
||||
[[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream
|
||||
|
||||
# Security patchset
|
||||
if [[ -n ${SECURITY_VER} ]]; then
|
||||
einfo "Try to apply Xen Security patch set"
|
||||
# apply main xen patches
|
||||
# Two parallel systems, both work side by side
|
||||
# Over time they may concdense into one. This will suffice for now
|
||||
source "${WORKDIR}"/patches-security/${PV}.conf
|
||||
|
||||
local i
|
||||
for i in ${XEN_SECURITY_MAIN}; do
|
||||
eapply "${WORKDIR}"/patches-security/xen/$i
|
||||
done
|
||||
fi
|
||||
|
||||
# Gentoo's patchset
|
||||
[[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo
|
||||
|
||||
eapply "${FILESDIR}"/${PN}-4.11-efi.patch
|
||||
|
||||
# Drop .config
|
||||
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||
|
||||
if use efi; then
|
||||
export EFI_VENDOR="gentoo"
|
||||
export EFI_MOUNTPOINT="/boot"
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i"
|
||||
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
|
||||
# remove flags
|
||||
unset CFLAGS
|
||||
unset LDFLAGS
|
||||
unset ASFLAGS
|
||||
|
||||
tc-ld-disable-gold # Bug 700374
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Send raw LDFLAGS so that --as-needed works
|
||||
emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
|
||||
# The 'make install' doesn't 'mkdir -p' the subdirs
|
||||
if use efi; then
|
||||
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
|
||||
fi
|
||||
|
||||
emake LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" DESTDIR="${D}" -C xen ${myopt} install
|
||||
|
||||
# make install likes to throw in some extra EFI bits if it built
|
||||
use efi || rm -rf "${D}/usr/$(get_libdir)/efi"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide:"
|
||||
elog " https://wiki.gentoo.org/wiki/Xen"
|
||||
|
||||
use efi && einfo "The efi executable is installed in /boot/efi/gentoo"
|
||||
|
||||
elog "You can optionally block the installation of /boot/xen-syms by an entry"
|
||||
elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK"
|
||||
elog "e.g. echo ${msg} > /etc/portage/env/xen.conf"
|
||||
|
||||
ewarn
|
||||
ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause"
|
||||
ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems"
|
||||
ewarn "to work fine."
|
||||
ewarn
|
||||
ewarn "Add sched=credit to xen command line options to use the legacy scheduler."
|
||||
ewarn
|
||||
ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B"
|
||||
}
|
@ -1,165 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
|
||||
inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs
|
||||
|
||||
MY_PV=${PV/_/-}
|
||||
MY_P=${PN}-${MY_PV}
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
|
||||
SRC_URI=""
|
||||
else
|
||||
KEYWORDS="~amd64 ~arm -x86"
|
||||
UPSTREAM_VER=5
|
||||
SECURITY_VER=
|
||||
GENTOO_VER=
|
||||
|
||||
[[ -n ${UPSTREAM_VER} ]] && \
|
||||
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz
|
||||
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||
[[ -n ${SECURITY_VER} ]] && \
|
||||
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz"
|
||||
[[ -n ${GENTOO_VER} ]] && \
|
||||
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||
SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz
|
||||
${UPSTREAM_PATCHSET_URI}
|
||||
${SECURITY_PATCHSET_URI}
|
||||
${GENTOO_PATCHSET_URI}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="The Xen virtual machine monitor"
|
||||
HOMEPAGE="https://www.xenproject.org"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="debug efi flask"
|
||||
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
efi? ( >=sys-devel/binutils-2.22[multitarget] )
|
||||
!efi? ( >=sys-devel/binutils-2.22 )"
|
||||
RDEPEND=""
|
||||
PDEPEND="~app-emulation/xen-tools-${PV}"
|
||||
|
||||
# no tests are available for the hypervisor
|
||||
# prevent the silliness of /usr/lib/debug/usr/lib/debug files
|
||||
# prevent stripping of the debug info from the /usr/lib/debug/xen-syms
|
||||
RESTRICT="test splitdebug strip"
|
||||
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="boot/xen-syms-${PV}"
|
||||
|
||||
REQUIRED_USE="arm? ( debug )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
pkg_setup() {
|
||||
python-any-r1_pkg_setup
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]]; then
|
||||
if use amd64; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
elif use arm; then
|
||||
export XEN_TARGET_ARCH="arm32"
|
||||
elif use arm64; then
|
||||
export XEN_TARGET_ARCH="arm64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use flask ; then
|
||||
export "XSM_ENABLE=y"
|
||||
export "FLASK_ENABLE=y"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Upstream's patchset
|
||||
[[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream
|
||||
|
||||
# Security patchset
|
||||
if [[ -n ${SECURITY_VER} ]]; then
|
||||
einfo "Try to apply Xen Security patch set"
|
||||
# apply main xen patches
|
||||
# Two parallel systems, both work side by side
|
||||
# Over time they may concdense into one. This will suffice for now
|
||||
source "${WORKDIR}"/patches-security/${PV}.conf
|
||||
|
||||
local i
|
||||
for i in ${XEN_SECURITY_MAIN}; do
|
||||
eapply "${WORKDIR}"/patches-security/xen/$i
|
||||
done
|
||||
fi
|
||||
|
||||
# Gentoo's patchset
|
||||
[[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo
|
||||
|
||||
eapply "${FILESDIR}"/${PN}-4.11-efi.patch
|
||||
|
||||
# Drop .config
|
||||
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||
|
||||
if use efi; then
|
||||
export EFI_VENDOR="gentoo"
|
||||
export EFI_MOUNTPOINT="/boot"
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i"
|
||||
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
|
||||
# remove flags
|
||||
unset CFLAGS
|
||||
unset LDFLAGS
|
||||
unset ASFLAGS
|
||||
|
||||
tc-ld-disable-gold # Bug 700374
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Send raw LDFLAGS so that --as-needed works
|
||||
emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
|
||||
# The 'make install' doesn't 'mkdir -p' the subdirs
|
||||
if use efi; then
|
||||
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
|
||||
fi
|
||||
|
||||
emake LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" DESTDIR="${D}" -C xen ${myopt} install
|
||||
|
||||
# make install likes to throw in some extra EFI bits if it built
|
||||
use efi || rm -rf "${D}/usr/$(get_libdir)/efi"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide:"
|
||||
elog " https://wiki.gentoo.org/wiki/Xen"
|
||||
|
||||
use efi && einfo "The efi executable is installed in /boot/efi/gentoo"
|
||||
|
||||
elog "You can optionally block the installation of /boot/xen-syms by an entry"
|
||||
elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK"
|
||||
elog "e.g. echo ${msg} > /etc/portage/env/xen.conf"
|
||||
|
||||
ewarn
|
||||
ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause"
|
||||
ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems"
|
||||
ewarn "to work fine."
|
||||
ewarn
|
||||
ewarn "Add sched=credit to xen command line options to use the legacy scheduler."
|
||||
ewarn
|
||||
ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B"
|
||||
}
|
@ -1,165 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{6..9} )
|
||||
|
||||
inherit flag-o-matic mount-boot multilib python-any-r1 toolchain-funcs
|
||||
|
||||
MY_PV=${PV/_/-}
|
||||
MY_P=${PN}-${MY_PV}
|
||||
|
||||
if [[ ${PV} == *9999 ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="git://xenbits.xen.org/xen.git"
|
||||
SRC_URI=""
|
||||
else
|
||||
KEYWORDS="~amd64 ~arm -x86"
|
||||
UPSTREAM_VER=2
|
||||
SECURITY_VER=
|
||||
GENTOO_VER=
|
||||
|
||||
[[ -n ${UPSTREAM_VER} ]] && \
|
||||
UPSTREAM_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz
|
||||
https://github.com/hydrapolic/gentoo-dist/raw/master/xen/${P}-upstream-patches-${UPSTREAM_VER}.tar.xz"
|
||||
[[ -n ${SECURITY_VER} ]] && \
|
||||
SECURITY_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-security-patches-${SECURITY_VER}.tar.xz"
|
||||
[[ -n ${GENTOO_VER} ]] && \
|
||||
GENTOO_PATCHSET_URI="https://dev.gentoo.org/~dlan/distfiles/${PN}-gentoo-patches-${GENTOO_VER}.tar.xz"
|
||||
SRC_URI="https://downloads.xenproject.org/release/xen/${MY_PV}/${MY_P}.tar.gz
|
||||
${UPSTREAM_PATCHSET_URI}
|
||||
${SECURITY_PATCHSET_URI}
|
||||
${GENTOO_PATCHSET_URI}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="The Xen virtual machine monitor"
|
||||
HOMEPAGE="https://www.xenproject.org"
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
IUSE="debug efi flask"
|
||||
|
||||
DEPEND="${PYTHON_DEPS}
|
||||
efi? ( >=sys-devel/binutils-2.22[multitarget] )
|
||||
!efi? ( >=sys-devel/binutils-2.22 )"
|
||||
RDEPEND=""
|
||||
PDEPEND="~app-emulation/xen-tools-${PV}"
|
||||
|
||||
# no tests are available for the hypervisor
|
||||
# prevent the silliness of /usr/lib/debug/usr/lib/debug files
|
||||
# prevent stripping of the debug info from the /usr/lib/debug/xen-syms
|
||||
RESTRICT="test splitdebug strip"
|
||||
|
||||
# Approved by QA team in bug #144032
|
||||
QA_WX_LOAD="boot/xen-syms-${PV}"
|
||||
|
||||
REQUIRED_USE="arm? ( debug )"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
pkg_setup() {
|
||||
python-any-r1_pkg_setup
|
||||
if [[ -z ${XEN_TARGET_ARCH} ]]; then
|
||||
if use amd64; then
|
||||
export XEN_TARGET_ARCH="x86_64"
|
||||
elif use arm; then
|
||||
export XEN_TARGET_ARCH="arm32"
|
||||
elif use arm64; then
|
||||
export XEN_TARGET_ARCH="arm64"
|
||||
else
|
||||
die "Unsupported architecture!"
|
||||
fi
|
||||
fi
|
||||
|
||||
if use flask ; then
|
||||
export "XSM_ENABLE=y"
|
||||
export "FLASK_ENABLE=y"
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
# Upstream's patchset
|
||||
[[ -n ${UPSTREAM_VER} ]] && eapply "${WORKDIR}"/patches-upstream
|
||||
|
||||
# Security patchset
|
||||
if [[ -n ${SECURITY_VER} ]]; then
|
||||
einfo "Try to apply Xen Security patch set"
|
||||
# apply main xen patches
|
||||
# Two parallel systems, both work side by side
|
||||
# Over time they may concdense into one. This will suffice for now
|
||||
source "${WORKDIR}"/patches-security/${PV}.conf
|
||||
|
||||
local i
|
||||
for i in ${XEN_SECURITY_MAIN}; do
|
||||
eapply "${WORKDIR}"/patches-security/xen/$i
|
||||
done
|
||||
fi
|
||||
|
||||
# Gentoo's patchset
|
||||
[[ -n ${GENTOO_VER} ]] && eapply "${WORKDIR}"/patches-gentoo
|
||||
|
||||
eapply "${FILESDIR}"/${PN}-4.14-efi.patch
|
||||
|
||||
# Drop .config
|
||||
sed -e '/-include $(XEN_ROOT)\/.config/d' -i Config.mk || die "Couldn't drop"
|
||||
|
||||
if use efi; then
|
||||
export EFI_VENDOR="gentoo"
|
||||
export EFI_MOUNTPOINT="/boot"
|
||||
fi
|
||||
|
||||
default
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use arm && myopt="${myopt} CONFIG_EARLY_PRINTK=sun7i"
|
||||
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
|
||||
# remove flags
|
||||
unset CFLAGS
|
||||
unset LDFLAGS
|
||||
unset ASFLAGS
|
||||
|
||||
tc-ld-disable-gold # Bug 700374
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
# Send raw LDFLAGS so that --as-needed works
|
||||
emake V=1 CC="$(tc-getCC)" LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" -C xen ${myopt}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
local myopt
|
||||
use debug && myopt="${myopt} debug=y"
|
||||
|
||||
# The 'make install' doesn't 'mkdir -p' the subdirs
|
||||
if use efi; then
|
||||
mkdir -p "${D}"${EFI_MOUNTPOINT}/efi/${EFI_VENDOR} || die
|
||||
fi
|
||||
|
||||
emake LDFLAGS="$(raw-ldflags)" LD="$(tc-getLD)" DESTDIR="${D}" -C xen ${myopt} install
|
||||
|
||||
# make install likes to throw in some extra EFI bits if it built
|
||||
use efi || rm -rf "${D}/usr/$(get_libdir)/efi"
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "Official Xen Guide:"
|
||||
elog " https://wiki.gentoo.org/wiki/Xen"
|
||||
|
||||
use efi && einfo "The efi executable is installed in /boot/efi/gentoo"
|
||||
|
||||
elog "You can optionally block the installation of /boot/xen-syms by an entry"
|
||||
elog "in folder /etc/portage/env using the portage's feature INSTALL_MASK"
|
||||
elog "e.g. echo ${msg} > /etc/portage/env/xen.conf"
|
||||
|
||||
ewarn
|
||||
ewarn "Xen 4.12+ changed the default scheduler to credit2 which can cause"
|
||||
ewarn "domU lockups on multi-cpu systems. The legacy credit scheduler seems"
|
||||
ewarn "to work fine."
|
||||
ewarn
|
||||
ewarn "Add sched=credit to xen command line options to use the legacy scheduler."
|
||||
ewarn
|
||||
ewarn "https://wiki.gentoo.org/wiki/Xen#Xen_domU_hanging_with_Xen_4.12.2B"
|
||||
}
|
Binary file not shown.
@ -1,5 +1,6 @@
|
||||
DIST elasticsearch-6.8.15.tar.gz 149102328 BLAKE2B 0ce9ba565d751cd27721f3d49dd24761937c3476cee4896ba1a4d84e4fc238296129481f18cad64270fe8af71a043c2e8e583df14f2a084850fb10c93fcea0ef SHA512 c62c4d9d1bb83e10d3e1079f56b834f2f89b1f712c29d9ce7e81786199c71d287ecbf6df158eca56a7af711eafe13dfb276e12b34e1a0a6cf6719e1fbb44a142
|
||||
DIST elasticsearch-7.10.2-no-jdk-linux-x86_64.tar.gz 164380146 BLAKE2B 16797ed48c4cb6f91ed891014f275ad86a4852579232df1827413389fc9e505327412729f70783750252190a34b0e0d552ec0b5f25f3d0a811724191eccc6568 SHA512 bd3def00af04670ad04556c911ef8c68b639e1c3b621f36a8973d9700f95873d10bc706a4e3a98f892ac59c1b761d56035a236068d6958af772874e428940dc4
|
||||
DIST elasticsearch-7.12.0-no-jdk-linux-x86_64.tar.gz 173069694 BLAKE2B 5de74b1e6de743246cf48e32254f9646fa25c2820d0be9df886fdefe131a302ddb8906546147f0d284e2fc0faf8cc0238bf854fe1611d28bf1e7cb1518bd4e31 SHA512 205aa2a2fa2ab7eb7b54087420e0123aa97e5456e2e1f31cad9ea7b84be3f9823a2a7c47d4cf1697833e5f795359477d3a3b0ea4955a8f92583cf2228071827e
|
||||
DIST elasticsearch-7.12.1-no-jdk-linux-x86_64.tar.gz 173079845 BLAKE2B 98214508c2c1dcb631f59d9e51d5949f9a7c5d1f68ff78c8d93af04c6a21fa1e1c6e2051f04bbdb8154443d6295ad54af2016695fcb9193b7595e1486777ba98 SHA512 c91fd66668977280d7339caf6b4fef9fce5640492f0e2a65bc537c6da8397c801a3727f1ff56b7a1591b11ea47195720c588a4eba473043f829a87cd3dcc0af4
|
||||
DIST elasticsearch-oss-6.8.15.tar.gz 68240776 BLAKE2B 431d845e02f2118a98021af4422ece34274b6d0811a32c5a3e679da3f8f56ca9cd45949307268811edbb83327a4a80fb84866cbbaaf01f7d3af042412b1e1bfa SHA512 7e6a819339ac6043af218f9d97d5d68c50ac46900e4293e7fa18992f7a50b10b0ab2434e26ff0dc1546204ae7526de8ac6ef6545fc0db9c862ceeaa0d96c56f5
|
||||
DIST elasticsearch-oss-7.10.2-no-jdk-linux-x86_64.tar.gz 76383466 BLAKE2B e99c04b0d10ef5755986515c7127ebde00b58e0eba69b6a05e12bd0bffee70266bbb023680584bfe0f321d5a3cf79af89cce3a5191923ad721a9f6039ab82743 SHA512 7b63237996569ccdc7c9d9e7cc097fcb23865396eddac30e5f02543484220d2fc70a7285b430877e5e76a5d8716d9682de9fc40d5e57a08f331e82011fc59756
|
||||
|
@ -0,0 +1,82 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit systemd tmpfiles
|
||||
|
||||
DESCRIPTION="Free and Open, Distributed, RESTful Search Engine"
|
||||
HOMEPAGE="https://www.elastic.co/elasticsearch/"
|
||||
SRC_URI="https://artifacts.elastic.co/downloads/${PN}/${P}-no-jdk-linux-x86_64.tar.gz"
|
||||
LICENSE="Apache-2.0 BSD-2 Elastic-2.0 LGPL-3 MIT public-domain"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64"
|
||||
|
||||
RDEPEND="acct-group/elasticsearch
|
||||
acct-user/elasticsearch
|
||||
virtual/jre"
|
||||
|
||||
QA_PREBUILT="usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/\(bin\|lib\)/.*"
|
||||
QA_PRESTRIPPED="usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/\(bin\|lib\)/.*"
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
rm LICENSE.txt NOTICE.txt || die
|
||||
rmdir logs || die
|
||||
}
|
||||
|
||||
src_install() {
|
||||
keepdir /etc/${PN}
|
||||
keepdir /etc/${PN}/scripts
|
||||
|
||||
insinto /etc/${PN}
|
||||
doins -r config/.
|
||||
rm -r config || die
|
||||
|
||||
fowners root:${PN} /etc/${PN}
|
||||
fperms 2750 /etc/${PN}
|
||||
|
||||
insinto /usr/share/${PN}
|
||||
doins -r .
|
||||
|
||||
exeinto /usr/share/${PN}/bin
|
||||
doexe "${FILESDIR}/elasticsearch-systemd-pre-exec"
|
||||
|
||||
fperms -R +x /usr/share/${PN}/bin
|
||||
fperms -R +x /usr/share/${PN}/modules/x-pack-ml/platform/linux-x86_64/bin
|
||||
|
||||
keepdir /var/{lib,log}/${PN}
|
||||
fowners ${PN}:${PN} /var/{lib,log}/${PN}
|
||||
fperms 0750 /var/{lib,log}/${PN}
|
||||
dodir /usr/share/${PN}/plugins
|
||||
|
||||
insinto /etc/sysctl.d
|
||||
newins "${FILESDIR}/${PN}.sysctl.d" ${PN}.conf
|
||||
|
||||
newconfd "${FILESDIR}/${PN}.conf.4" ${PN}
|
||||
newinitd "${FILESDIR}/${PN}.init.8" ${PN}
|
||||
|
||||
systemd_install_serviced "${FILESDIR}/${PN}.service.conf"
|
||||
systemd_newunit "${FILESDIR}"/${PN}.service.3 ${PN}.service
|
||||
|
||||
newtmpfiles "${FILESDIR}"/${PN}.tmpfiles.d ${PN}.conf
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
tmpfiles_process /usr/lib/tmpfiles.d/${PN}.conf
|
||||
|
||||
elog
|
||||
elog "You may create multiple instances of ${PN} by"
|
||||
elog "symlinking the init script:"
|
||||
elog "ln -sf /etc/init.d/${PN} /etc/init.d/${PN}.instance"
|
||||
elog
|
||||
elog "Please make sure you put elasticsearch.yml, log4j2.properties and scripts"
|
||||
elog "from /etc/${PN} into the configuration directory of the instance:"
|
||||
elog "/etc/${PN}/instance"
|
||||
elog
|
||||
ewarn "Please make sure you have proper permissions on /etc/${PN}"
|
||||
ewarn "prior to keystore generation or you may experience startup fails."
|
||||
ewarn "chown root:${PN} /etc/${PN} && chmod 2750 /etc/${PN}"
|
||||
ewarn "chown root:${PN} /etc/${PN}/${PN}.keystore && chmod 0660 /etc/${PN}/${PN}.keystore"
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,12 @@
|
||||
https://bugs.gentoo.org/785268
|
||||
--- a/pandoc.cabal
|
||||
+++ b/pandoc.cabal
|
||||
@@ -729,7 +729,7 @@ executable trypandoc
|
||||
main-is: trypandoc.hs
|
||||
hs-source-dirs: trypandoc
|
||||
if flag(trypandoc)
|
||||
- build-depends: aeson, http-types, wai >= 0.3, wai-extra >= 3.0.24
|
||||
+ build-depends: aeson, http-types, wai >= 0.3, wai-extra >= 3.0.24, text
|
||||
buildable: True
|
||||
else
|
||||
buildable: False
|
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST semirings-0.5.3.tar.gz 18622 BLAKE2B 70075ef121969652ec666531f42681af759863247811425e43eef590e73b6c0d139274fb57821d28f405f0bd44cc4bed1e48506f08f880aee71f0ff986a30136 SHA512 cd038746d1ce36eb04040954b0a969f17bf67ff45750a221284550724dd0ab563896fc3012c8d58aaf5c11a008b5526088711655e165895a4dead2d054cbf5e7
|
||||
DIST semirings-0.5.4.tar.gz 18490 BLAKE2B d3d67bca474ae7cbf3e016ef17da5ead593250d9cdda051a0fcd84bdb142ced3af74a0f287921e6edcde9916dea4d128f11cc77d8a65bff85470d533565e4749 SHA512 d24a178031e494e1b337585272e0cc960da7935007affc0fea893fe1cac0acd79569a6d8dc9cfddbb7f435a48c34b7aa0d6e589a16741c7c9b5fe00d52b95441
|
||||
|
@ -0,0 +1,34 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
# ebuild generated by hackport 0.6.7.9999
|
||||
|
||||
CABAL_FEATURES="lib profile haddock hoogle hscolour"
|
||||
inherit haskell-cabal
|
||||
|
||||
DESCRIPTION="two monoids as one, in holy haskimony"
|
||||
HOMEPAGE="https://github.com/chessai/semirings"
|
||||
SRC_URI="https://hackage.haskell.org/package/${P}/${P}.tar.gz"
|
||||
|
||||
LICENSE="BSD"
|
||||
SLOT="0/${PV}"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="+containers +hashable +unordered-containers"
|
||||
|
||||
RDEPEND="dev-haskell/base-compat-batteries:=[profile?]
|
||||
>=dev-lang/ghc-7.10.1:=[gmp]
|
||||
hashable? ( >=dev-haskell/hashable-1.1:=[profile?] <dev-haskell/hashable-1.4:=[profile?]
|
||||
unordered-containers? ( >=dev-haskell/unordered-containers-0.2:=[profile?] <dev-haskell/unordered-containers-0.3:=[profile?] ) )
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
>=dev-haskell/cabal-1.22.2.0
|
||||
"
|
||||
|
||||
src_configure() {
|
||||
haskell-cabal_src_configure \
|
||||
$(cabal_flag containers containers) \
|
||||
$(cabal_flag hashable hashable) \
|
||||
$(cabal_flag unordered-containers unordered-containers)
|
||||
}
|
Binary file not shown.
Binary file not shown.
@ -0,0 +1,569 @@
|
||||
commit 3cbead845f607628a44d78583534e6c0a74e9af1
|
||||
Author: orbea <orbea@riseup.net>
|
||||
Date: Mon May 10 09:38:47 2021 -0700
|
||||
|
||||
Fix the build with -no-undefined.
|
||||
|
||||
This adds correct usage of LDFLAGS and LIBADD.
|
||||
|
||||
Signed-off-by: orbea <orbea@riseup.net>
|
||||
|
||||
diff --git a/builder/builder.h b/builder/builder.h
|
||||
index e92b410..fa0055a 100644
|
||||
--- a/builder/builder.h
|
||||
+++ b/builder/builder.h
|
||||
@@ -51,10 +51,6 @@ typedef struct __builder_module {
|
||||
"MAINTAINERCLEANFILES = %s*.h %s*.c %s*~\n\n" \
|
||||
"CLEANFILES = \n" \
|
||||
"\n" \
|
||||
- "if NEED_FERITE_LIB\n" \
|
||||
- "libferite = -L${top_builddir}/src -lferite\n" \
|
||||
- "endif\n\n" \
|
||||
- "LDFLAGS = $(libferite) -L${libdir} @%s_LIBS@\n" \
|
||||
"INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @%s_CFLAGS@\n" \
|
||||
"DEFS = @thread_defs@\n" \
|
||||
"\nscripts_DATA = %s\nscriptsdir = @FE_XPLAT_LIBRARY_PATH@\n\n" \
|
||||
@@ -65,7 +61,7 @@ typedef struct __builder_module {
|
||||
"\n" \
|
||||
"%s_la_SOURCES = %s %s\n" \
|
||||
"%s_la_LDFLAGS = -no-undefined -module -avoid-version\n" \
|
||||
- "%s_la_LIBADD =\n" \
|
||||
+ "%s_la_LIBADD = ${top_builddir}/src/libferite.la\n" \
|
||||
"\n" \
|
||||
"%s_core.c: %s\n" \
|
||||
"\t%s -m %s %s/%s/%s\n\n%s"
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 5b2f644..d5e713d 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -78,8 +78,6 @@ AC_DEFINE_UNQUOTED([PLATFORM], "$platform", [The Platform on which we exist])
|
||||
CFLAGS="-DHAVE_CONFIG_HEADER -L$prefix/lib $CFLAGS"
|
||||
CCFLAGS="-DHAVE_CONFIG_HEADER -L$prefix/lib $CCFLAGS"
|
||||
|
||||
-AM_CONDITIONAL(NEED_FERITE_LIB, test "$system" = "Darwin" -o "$system" = "CYGWIN" -o "$system" = "SunOS" -o "$system" = "MINGW")
|
||||
-
|
||||
AC_PROG_INSTALL
|
||||
AC_PROG_MAKE_SET
|
||||
|
||||
diff --git a/libs/aphex/src/Makefile.am b/libs/aphex/src/Makefile.am
|
||||
index 2b14cb7..57a8311 100644
|
||||
--- a/libs/aphex/src/Makefile.am
|
||||
+++ b/libs/aphex/src/Makefile.am
|
||||
@@ -6,8 +6,6 @@ AUTOMAKE_OPTIONS = no-dependencies foreign
|
||||
|
||||
MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
-LDFLAGS = -L${prefix}/lib
|
||||
-
|
||||
INCLUDES = -I${top_srcdir}/libs/aphex/include -I${top_srcdir}/include -I${prefix}/include -I$(includedir) @aphex_INCS@
|
||||
|
||||
|
||||
@@ -18,7 +16,7 @@ noinst_LTLIBRARIES = libaphex.la
|
||||
include_HEADERS =
|
||||
|
||||
libaphex_la_DEPENDENCIES = $(top_builddir)/config.h
|
||||
-libaphex_la_LDFLAGS = -no-undefined $(LDFLAGS) -m @aphex_LDFLAGS@
|
||||
+libaphex_la_LDFLAGS = -no-undefined -m @aphex_LDFLAGS@
|
||||
libaphex_la_LIBADD = @thread_libs@ @gc_libs@
|
||||
|
||||
libaphex_la_SOURCES = aphex_file.c aphex_directory.c aphex_config.c aphex_match.c aphex_thread.c aphex_notify.c poll.c poll.h
|
||||
diff --git a/libs/triton/src/Makefile.am b/libs/triton/src/Makefile.am
|
||||
index 0572996..0b25ba3 100644
|
||||
--- a/libs/triton/src/Makefile.am
|
||||
+++ b/libs/triton/src/Makefile.am
|
||||
@@ -6,8 +6,6 @@ AUTOMAKE_OPTIONS = no-dependencies foreign
|
||||
|
||||
MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
-LDFLAGS = -L/usr/local/lib
|
||||
-
|
||||
INCLUDES = -I${top_srcdir} -I${top_srcdir}/libs/triton/include -I${top_srcdir}/include -I${prefix}/include -I$(includedir) @TRITON_INCS@
|
||||
|
||||
DEFS = @debugdefs@
|
||||
@@ -23,6 +21,6 @@ CLEANFILES = libltdl.la libltdlc.la
|
||||
include_HEADERS =
|
||||
|
||||
libtriton_la_DEPENDENCIES = $(top_builddir)/config.h
|
||||
-libtriton_la_LDFLAGS = -no-undefined $(LDFLAGS) -m @TRITON_LDFLAGS@
|
||||
+libtriton_la_LDFLAGS = -no-undefined -m @TRITON_LDFLAGS@
|
||||
|
||||
libtriton_la_SOURCES = triton_core.c triton_loader_dlfcn.c triton_loader_ltdl.c triton_loader_darwin.c triton_loader_win32.c
|
||||
diff --git a/modules/array/Makefile.am b/modules/array/Makefile.am
|
||||
index 9f0475d..8bef2b8 100644
|
||||
--- a/modules/array/Makefile.am
|
||||
+++ b/modules/array/Makefile.am
|
||||
@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = array*.h array*.c array*~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @array_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @array_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = array.la
|
||||
|
||||
array_la_SOURCES = array_core.c array_misc.c array_Array.c array_header.h util.c util.h
|
||||
array_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
-array_la_LIBADD =
|
||||
+array_la_LIBADD = ${top_builddir}/src/libferite.la
|
||||
|
||||
array_core.c: @MODULE_SRC_PREFIX@/array/array.fec
|
||||
@BUILDER@ -m array @MODULE_SRC_PREFIX@/array/array.fec
|
||||
diff --git a/modules/date/Makefile.am b/modules/date/Makefile.am
|
||||
index ab646b4..976baa0 100644
|
||||
--- a/modules/date/Makefile.am
|
||||
+++ b/modules/date/Makefile.am
|
||||
@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = date*.h date*.c date*~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite -L${top_builddir}/modules/stream -lferitestream
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @date_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @date_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = date.la
|
||||
|
||||
date_la_SOURCES = date_core.c date_header.h date_misc.c date_Alarm.c date_Date.c util_date.c util_date.h strptime.c
|
||||
date_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
-date_la_LIBADD =
|
||||
+date_la_LIBADD = ${top_builddir}/modules/stream/libferitestream.la
|
||||
|
||||
date_core.c: @MODULE_SRC_PREFIX@/date/date.fec
|
||||
@BUILDER@ -m date @MODULE_SRC_PREFIX@/date/date.fec
|
||||
diff --git a/modules/filesystem/Makefile.am b/modules/filesystem/Makefile.am
|
||||
index ac5b5e9..227a5ab 100644
|
||||
--- a/modules/filesystem/Makefile.am
|
||||
+++ b/modules/filesystem/Makefile.am
|
||||
@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = filesystem*.h filesystem*.c filesystem*~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite -L${top_builddir}/modules/stream -lferitestream
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @filesystem_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @filesystem_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = filesystem.la
|
||||
|
||||
filesystem_la_SOURCES = filesystem_core.c filesystem_misc.c filesystem_FileSystem.c filesystem_Directory.c filesystem_File.c filesystem_header.h
|
||||
filesystem_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
-filesystem_la_LIBADD =
|
||||
+filesystem_la_LIBADD = ${top_builddir}/modules/stream/libferitestream.la
|
||||
|
||||
filesystem_core.c: @MODULE_SRC_PREFIX@/filesystem/filesystem.fec
|
||||
@BUILDER@ -m filesystem @MODULE_SRC_PREFIX@/filesystem/filesystem.fec
|
||||
diff --git a/modules/ipc/Makefile.am b/modules/ipc/Makefile.am
|
||||
index 3367aa2..18f9593 100644
|
||||
--- a/modules/ipc/Makefile.am
|
||||
+++ b/modules/ipc/Makefile.am
|
||||
@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = ipc*.h ipc*.c ipc*~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @ipc_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @ipc_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = ipc.la
|
||||
|
||||
ipc_la_SOURCES = ipc_core.c ipc_misc.c ipc_IPCObject.c ipc_header.h
|
||||
ipc_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
-ipc_la_LIBADD =
|
||||
+ipc_la_LIBADD = ${top_builddir}/src/libferite.la
|
||||
|
||||
ipc_core.c: @MODULE_SRC_PREFIX@/ipc/ipc.fec
|
||||
@BUILDER@ -m ipc @MODULE_SRC_PREFIX@/ipc/ipc.fec
|
||||
diff --git a/modules/math/Makefile.am b/modules/math/Makefile.am
|
||||
index 21a2ebc..f3a7f09 100644
|
||||
--- a/modules/math/Makefile.am
|
||||
+++ b/modules/math/Makefile.am
|
||||
@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = math*.h math*.c math*~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @math_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @math_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = math.la
|
||||
|
||||
math_la_SOURCES = math_core.c math_misc.c math_Math.c math_Math_Complex.c math_header.h
|
||||
math_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
-math_la_LIBADD =
|
||||
+math_la_LIBADD = ${top_builddir}/src/libferite.la
|
||||
|
||||
math_core.c: @MODULE_SRC_PREFIX@/math/complex.fec @MODULE_SRC_PREFIX@/math/math.fec
|
||||
@BUILDER@ -m math @MODULE_SRC_PREFIX@/math/math.fec
|
||||
diff --git a/modules/network/Makefile.am b/modules/network/Makefile.am
|
||||
index 91aff1a..d753ed7 100644
|
||||
--- a/modules/network/Makefile.am
|
||||
+++ b/modules/network/Makefile.am
|
||||
@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = network*.h network*.c network*~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite -L${top_builddir}/modules/stream -lferitestream
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @network_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @network_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = network.la
|
||||
|
||||
network_la_SOURCES = network_core.c network_misc.c network_Network.c network_Network_TCP.c network_Network_TCP_Stream.c network_Network_Host.c network_Network_UDP.c network_Network_UDP_Stream.c network_Network_Service.c network_header.h util_network.c util_network.h
|
||||
network_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
-network_la_LIBADD =
|
||||
+network_la_LIBADD = ${top_builddir}/modules/stream/libferitestream.la
|
||||
|
||||
network_core.c: @MODULE_SRC_PREFIX@/network/network.fec
|
||||
@BUILDER@ -m network @MODULE_SRC_PREFIX@/network/network.fec
|
||||
diff --git a/modules/number/Makefile.am b/modules/number/Makefile.am
|
||||
index 6a39962..1203c68 100644
|
||||
--- a/modules/number/Makefile.am
|
||||
+++ b/modules/number/Makefile.am
|
||||
@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = number*.h number*.c number*~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @number_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @number_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = number.la
|
||||
|
||||
number_la_SOURCES = number_core.c number_misc.c number_Number.c number_header.h
|
||||
number_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
-number_la_LIBADD =
|
||||
+number_la_LIBADD = ${top_builddir}/src/libferite.la
|
||||
|
||||
number_core.c: @MODULE_SRC_PREFIX@/number/number.fec
|
||||
@BUILDER@ -m number @MODULE_SRC_PREFIX@/number/number.fec
|
||||
diff --git a/modules/posix/Makefile.am b/modules/posix/Makefile.am
|
||||
index 8c5d8e9..bfd96fa 100644
|
||||
--- a/modules/posix/Makefile.am
|
||||
+++ b/modules/posix/Makefile.am
|
||||
@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = posix*.h posix*.c posix*~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite -L${top_builddir}/modules/stream -lferitestream
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @posix_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @posix_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = posix.la
|
||||
|
||||
posix_la_SOURCES = posix_core.c posix_misc.c posix_Posix.c posix_Posix_Uname.c posix_Posix_Rlimit.c posix_Posix_User.c posix_Posix_Pipe.c posix_Posix_Rusage.c posix_Posix_ProcessStream.c posix_Posix_Stat.c posix_Posix_SelectResult.c posix_Posix_Group.c posix_header.h util_posix.c util_posix.h util_user.c util_user.h util_signal.c util_signal.h
|
||||
posix_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
-posix_la_LIBADD =
|
||||
+posix_la_LIBADD = ${top_builddir}/modules/stream/libferitestream.la
|
||||
|
||||
posix_core.c: @MODULE_SRC_PREFIX@/posix/posix.fec @MODULE_SRC_PREFIX@/posix/posix_consts.fec
|
||||
@BUILDER@ -m posix @MODULE_SRC_PREFIX@/posix/posix.fec
|
||||
diff --git a/modules/reflection/Makefile.am b/modules/reflection/Makefile.am
|
||||
index 8d02b47..0509819 100644
|
||||
--- a/modules/reflection/Makefile.am
|
||||
+++ b/modules/reflection/Makefile.am
|
||||
@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = reflection*.h reflection*.c reflection*~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @reflection_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @reflection_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = reflection.la
|
||||
|
||||
reflection_la_SOURCES = reflection_core.c reflection_misc.c reflection_Reflection.c reflection_Namespace.c reflection_Function.c reflection_Class.c reflection_Variable.c reflection_Object.c reflection_header.h utility.c
|
||||
reflection_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
-reflection_la_LIBADD =
|
||||
+reflection_la_LIBADD = ${top_builddir}/src/libferite.la
|
||||
|
||||
reflection_core.c: @MODULE_SRC_PREFIX@/reflection/reflection.fec
|
||||
@BUILDER@ -m reflection @MODULE_SRC_PREFIX@/reflection/reflection.fec
|
||||
diff --git a/modules/regexp/Makefile.am b/modules/regexp/Makefile.am
|
||||
index 9bf9df6..4bf74be 100644
|
||||
--- a/modules/regexp/Makefile.am
|
||||
+++ b/modules/regexp/Makefile.am
|
||||
@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = regexp*.h regexp*.c regexp*~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @regexp_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @regexp_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = regexp.la
|
||||
|
||||
regexp_la_SOURCES = regexp_core.c regexp_misc.c regexp_MatchObject.c regexp_Regexp.c regexp_header.h
|
||||
regexp_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
-regexp_la_LIBADD =
|
||||
+regexp_la_LIBADD = ${top_builddir}/src/libferite.la
|
||||
|
||||
regexp_core.c: @MODULE_SRC_PREFIX@/regexp/regexp.fec
|
||||
@BUILDER@ -m regexp @MODULE_SRC_PREFIX@/regexp/regexp.fec
|
||||
diff --git a/modules/serialize/Makefile.am b/modules/serialize/Makefile.am
|
||||
index 0d40c38..ac58c8a 100644
|
||||
--- a/modules/serialize/Makefile.am
|
||||
+++ b/modules/serialize/Makefile.am
|
||||
@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = serialize*.h serialize*.c serialize*~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @serialize_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @serialize_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = serialize.la
|
||||
|
||||
serialize_la_SOURCES = serialize_core.c serialize_misc.c serialize_Serialize.c serialize_header.h utility.c utility.h
|
||||
serialize_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
-serialize_la_LIBADD =
|
||||
+serialize_la_LIBADD = ${top_builddir}/src/libferite.la
|
||||
|
||||
serialize_core.c: @MODULE_SRC_PREFIX@/serialize/serialize.fec
|
||||
@BUILDER@ -m serialize @MODULE_SRC_PREFIX@/serialize/serialize.fec
|
||||
diff --git a/modules/stream/Makefile.am b/modules/stream/Makefile.am
|
||||
index 5f6adf1..1ed7e61 100644
|
||||
--- a/modules/stream/Makefile.am
|
||||
+++ b/modules/stream/Makefile.am
|
||||
@@ -7,18 +7,12 @@ MAINTAINERCLEANFILES = stream*.h stream*.c stream*~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @stream_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @stream_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
lib_LTLIBRARIES = libferitestream.la
|
||||
libferitestream_la_SOURCES = util_stream.c
|
||||
-libferitestream_la_LIBADD = $(LDFLAGS)
|
||||
-libferitestream_la_DEPENDENCIES =
|
||||
+libferitestream_la_LIBADD = ${top_builddir}/src/libferite.la
|
||||
libferitestream_la_LDFLAGS = -version-info 1:0:0 -export-dynamic -no-undefined
|
||||
|
||||
fsl_DATA = util_stream.h
|
||||
@@ -36,7 +30,7 @@ pkg_LTLIBRARIES = stream.la
|
||||
|
||||
stream_la_SOURCES = stream_core.c stream_misc.c stream_Stream.c stream_Stream_Stream.c stream_Stream_StdioStream.c stream_Stream_StringStream.c stream_Stream_PointerObject.c stream_header.h util_stream.c util_stream.h
|
||||
stream_la_LDFLAGS = -no-undefined -module -avoid-version -L. -lferitestream
|
||||
-stream_la_LIBADD =
|
||||
+stream_la_LIBADD = libferitestream.la
|
||||
|
||||
stream_core.c: @MODULE_SRC_PREFIX@/stream/stream.fec
|
||||
@BUILDER@ -m stream @MODULE_SRC_PREFIX@/stream/stream.fec
|
||||
diff --git a/modules/string/Makefile.am b/modules/string/Makefile.am
|
||||
index 851d2ff..ff83887 100644
|
||||
--- a/modules/string/Makefile.am
|
||||
+++ b/modules/string/Makefile.am
|
||||
@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = string*.h string*.c string*~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @string_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @string_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = string.la
|
||||
|
||||
string_la_SOURCES = string_core.c string_misc.c string_String.c string_header.h
|
||||
string_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
-string_la_LIBADD =
|
||||
+string_la_LIBADD = ${top_builddir}/src/libferite.la
|
||||
|
||||
string_core.c: @MODULE_SRC_PREFIX@/string/string.fec
|
||||
@BUILDER@ -m string @MODULE_SRC_PREFIX@/string/string.fec
|
||||
diff --git a/modules/sys/Makefile.am b/modules/sys/Makefile.am
|
||||
index ac60b56..01c7e8f 100644
|
||||
--- a/modules/sys/Makefile.am
|
||||
+++ b/modules/sys/Makefile.am
|
||||
@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = sys*.h sys*.c sys*~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite -L${top_builddir}/modules/stream -lferitestream
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @sys_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @sys_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = sys.la
|
||||
|
||||
sys_la_SOURCES = sys_core.c sys_misc.c sys_Sys.c sys_Sys_env.c sys_header.h
|
||||
sys_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
-sys_la_LIBADD =
|
||||
+sys_la_LIBADD = ${top_builddir}/modules/stream/libferitestream.la
|
||||
|
||||
sys_core.c: @MODULE_SRC_PREFIX@/sys/env.fec @MODULE_SRC_PREFIX@/sys/std.fec @MODULE_SRC_PREFIX@/sys/sys.fec
|
||||
@BUILDER@ -m sys @MODULE_SRC_PREFIX@/sys/sys.fec
|
||||
diff --git a/modules/test/Makefile.am b/modules/test/Makefile.am
|
||||
index aeb7940..b99b0de 100644
|
||||
--- a/modules/test/Makefile.am
|
||||
+++ b/modules/test/Makefile.am
|
||||
@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = test*.h test*.c test*~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @test_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @test_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = test.la
|
||||
|
||||
test_la_SOURCES = test_core.c test_misc.c test_Test.c test_header.h utility.c utility.h
|
||||
test_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
-test_la_LIBADD =
|
||||
+test_la_LIBADD = ${top_builddir}/src/libferite.la
|
||||
|
||||
test_core.c: @MODULE_SRC_PREFIX@/test/test.fec
|
||||
@BUILDER@ -m test @MODULE_SRC_PREFIX@/test/test.fec
|
||||
diff --git a/modules/thread/Makefile.am b/modules/thread/Makefile.am
|
||||
index 3d6cfb2..c5438e4 100644
|
||||
--- a/modules/thread/Makefile.am
|
||||
+++ b/modules/thread/Makefile.am
|
||||
@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = thread*.h thread*.c thread*~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @thread_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @thread_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = thread.la
|
||||
|
||||
thread_la_SOURCES = thread_core.c thread_misc.c thread_Thread.c thread_Mutex.c thread_Event.c thread_header.h utility.c
|
||||
thread_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
-thread_la_LIBADD =
|
||||
+thread_la_LIBADD = ${top_builddir}/src/libferite.la
|
||||
|
||||
thread_core.c: @MODULE_SRC_PREFIX@/thread/thread.fec
|
||||
@BUILDER@ -m thread @MODULE_SRC_PREFIX@/thread/thread.fec
|
||||
diff --git a/modules/unix/Makefile.am b/modules/unix/Makefile.am
|
||||
index 7999784..8fea3e7 100644
|
||||
--- a/modules/unix/Makefile.am
|
||||
+++ b/modules/unix/Makefile.am
|
||||
@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = unix*.h unix*.c unix*~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite -L${top_builddir}/modules/stream -lferitestream
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @unix_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @unix_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = unix.la
|
||||
|
||||
unix_la_SOURCES = unix_core.c unix_misc.c unix_Unix.c unix_Unix_SyslogStream.c unix_Network.c unix_Network_Unix.c unix_Network_Unix_Stream.c unix_header.h
|
||||
unix_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
-unix_la_LIBADD =
|
||||
+unix_la_LIBADD = ${top_builddir}/modules/stream/libferitestream.la
|
||||
|
||||
unix_core.c: @MODULE_SRC_PREFIX@/unix/unix.fec @MODULE_SRC_PREFIX@/unix/syslog.fec @MODULE_SRC_PREFIX@/unix/unixsocket.fec
|
||||
@BUILDER@ -m unix @MODULE_SRC_PREFIX@/unix/unix.fec
|
||||
diff --git a/modules/xml/Makefile.am b/modules/xml/Makefile.am
|
||||
index 71a88a9..26c7cbb 100644
|
||||
--- a/modules/xml/Makefile.am
|
||||
+++ b/modules/xml/Makefile.am
|
||||
@@ -7,11 +7,6 @@ MAINTAINERCLEANFILES = xml*.h xml*.c xml*~~
|
||||
|
||||
CLEANFILES =
|
||||
|
||||
-if NEED_FERITE_LIB
|
||||
-libferite = -L${top_builddir}/src -lferite
|
||||
-endif
|
||||
-
|
||||
-LDFLAGS = $(libferite) -L${libdir} @xml_LIBS@
|
||||
INCLUDES = -I$(top_srcdir)/include -I$(prefix)/include -I. @xml_CFLAGS@
|
||||
DEFS = @thread_defs@
|
||||
|
||||
@@ -27,7 +22,7 @@ pkg_LTLIBRARIES = xml.la
|
||||
|
||||
xml_la_SOURCES = xml_core.c xml_misc.c xml_XML.c xml_XML_SAXParser.c xml_XML_TreeParser.c xml_header.h sax_handlers.c sax_handlers.h tree_handlers.c tree_handlers.h xpath_handlers.c xpath_handlers.h xml_XML_Element.c
|
||||
xml_la_LDFLAGS = -no-undefined -module -avoid-version
|
||||
-xml_la_LIBADD =
|
||||
+xml_la_LIBADD = ${top_builddir}/src/libferite.la @xml_LIBS@
|
||||
|
||||
xml_core.c: @MODULE_SRC_PREFIX@/xml/xml.fec
|
||||
@BUILDER@ -m xml @MODULE_SRC_PREFIX@/xml/xml.fec
|
||||
diff --git a/src/Makefile.am b/src/Makefile.am
|
||||
index 01c8649..fa2e41e 100644
|
||||
--- a/src/Makefile.am
|
||||
+++ b/src/Makefile.am
|
||||
@@ -8,8 +8,6 @@ MAINTAINERCLEANFILES = Makefile.in
|
||||
|
||||
CLEANFILES = *~
|
||||
|
||||
-LDFLAGS = -L${prefix}/lib -lm
|
||||
-
|
||||
INCLUDES = -I$(top_srcdir) -I$(top_srcdir)/libs/aphex/include -I$(top_srcdir)/libs/triton/include -I${top_srcdir}/include -I${prefix}/include -I$(includedir) -I${top_srcdir}/include/ferite/ @pcre_cflags@
|
||||
|
||||
DEFS = @debugdefs@ @thread_defs@ @gc_defs@
|
||||
@@ -69,6 +67,6 @@ EXTRA_DIST = ferite_parser.y ferite_scanner.l
|
||||
|
||||
libferite_la_LIBADD = $(top_builddir)/libs/triton/src/libtriton.la \
|
||||
$(top_builddir)/libs/aphex/src/libaphex.la \
|
||||
- -lm @pcre_libs@ @thread_libs@ @gc_libs@ $(LDFLAGS)
|
||||
+ -lm @pcre_libs@ @thread_libs@ @gc_libs@
|
||||
libferite_la_DEPENDENCIES = $(top_builddir)/config.h $(top_builddir)/libs/triton/src/libtriton.la $(top_builddir)/libs/aphex/src/libaphex.la
|
||||
libferite_la_LDFLAGS = -version-info 1:1:0 -export-dynamic -no-undefined
|
@ -0,0 +1,41 @@
|
||||
--- a/gcc-9-2020-20200429-19AA7-src/gcc/ada/osint.adb 2017-03-10 21:58:02.600710156 +0100
|
||||
+++ b/gcc-9-2020-20200429-19AA7-src/gcc/ada/osint.adb 2017-03-10 21:59:38.033983293 +0100
|
||||
@@ -2229,14 +2229,11 @@
|
||||
for J in Start_Of_Prefix .. Name_Len - Prog'Length + 1 loop
|
||||
if Name_Buffer (J .. J + Prog'Length - 1) = Prog then
|
||||
End_Of_Prefix := J - 1;
|
||||
+ Start_Of_Suffix := J + Prog'Length;
|
||||
exit;
|
||||
end if;
|
||||
end loop;
|
||||
|
||||
- if End_Of_Prefix > 1 then
|
||||
- Start_Of_Suffix := End_Of_Prefix + Prog'Length + 1;
|
||||
- end if;
|
||||
-
|
||||
-- Create the new program name
|
||||
|
||||
return new String'
|
||||
--- a/patch/04_all_nossp-on-nostdlib.patch 2021-05-10 21:37:05.733985417 +0200
|
||||
+++ b/patch/04_all_nossp-on-nostdlib.patch 2021-05-10 21:38:02.925029050 +0200
|
||||
@@ -4,7 +4,7 @@
|
||||
--- a/gcc/gcc.c 2017-07-04 09:15:57.740793000 +0200
|
||||
+++ b/gcc/gcc.c 2018-03-02 13:58:44.387741114 +0100
|
||||
@@ -857,6 +857,12 @@ proper position among the other output f
|
||||
- #define LINK_GCC_C_SEQUENCE_SPEC "%G %L %G"
|
||||
+ #define LINK_GCC_C_SEQUENCE_SPEC "%G %{!nolibc:%L %G}"
|
||||
#endif
|
||||
|
||||
+#ifdef ENABLE_DEFAULT_SSP
|
||||
@@ -19,9 +19,9 @@
|
||||
@@ -1131,7 +1148,7 @@ static const char *cc1_options =
|
||||
%{-version:--version}\
|
||||
%{-help=*:--help=%*}\
|
||||
- %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %b.s}}}\
|
||||
+ %{!fsyntax-only:%{S:%W{o*}%{!o*:-o %w%b.s}}}\
|
||||
- %{fsyntax-only:-o %j} %{-param*}\
|
||||
+ %{fsyntax-only:-o %j} %{-param*} " NO_SSP_SPEC "\
|
||||
%{coverage:-fprofile-arcs -ftest-coverage}\
|
||||
+ %{fdump-scos:-fpreserve-decisions-generic}\
|
||||
%{fprofile-arcs|fprofile-generate*|coverage:\
|
||||
- %{!fprofile-update=singel:\
|
@ -0,0 +1,140 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PATCH_GCC_VER=9.3.0
|
||||
PATCH_VER="4"
|
||||
|
||||
TOOLCHAIN_GCC_PV=9.3.1
|
||||
|
||||
REL=9
|
||||
MYP=gcc-${REL}-${PV}-20200429-19AA7-src
|
||||
GNATDIR=gnat-${PV}-20200429-19B04-src
|
||||
INTFDIR=gcc-interface-${REL}-${PV}-20200429-19B10-src
|
||||
BTSTRP_X86=gnat-gpl-2014-x86-linux-bin
|
||||
BTSTRP_AMD64=gnat-gpl-2014-x86_64-linux-bin
|
||||
|
||||
# we provide own tarball below
|
||||
GCC_TARBALL_SRC_URI="
|
||||
https://community.download.adacore.com/v1/649a561ec6de9e476c54b02715b79f7503600ce5?filename=${GNATDIR}.tar.gz
|
||||
-> ${GNATDIR}.tar.gz
|
||||
https://community.download.adacore.com/v1/e6b6a3e318e13248456bd37b758435e602b367da?filename=${MYP}.tar.gz
|
||||
-> ${MYP}.tar.gz
|
||||
https://community.download.adacore.com/v1/c7a97636b31f3575df85f1eb0965462a353630dd?filename=${INTFDIR}.tar.gz
|
||||
-> ${INTFDIR}.tar.gz
|
||||
bootstrap? (
|
||||
amd64? (
|
||||
http://mirrors.cdn.adacore.com/art/564b3ebec8e196b040fbe66c ->
|
||||
${BTSTRP_AMD64}.tar.gz
|
||||
)
|
||||
x86? (
|
||||
http://mirrors.cdn.adacore.com/art/564b3e9dc8e196b040fbe248 ->
|
||||
${BTSTRP_X86}.tar.gz
|
||||
)
|
||||
)"
|
||||
|
||||
inherit toolchain-funcs toolchain
|
||||
|
||||
DESCRIPTION="GNAT Ada Compiler - GPL version"
|
||||
HOMEPAGE="http://libre.adacore.com/"
|
||||
|
||||
LICENSE+=" GPL-2 GPL-3"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="+ada +bootstrap"
|
||||
RESTRICT="test"
|
||||
|
||||
RDEPEND="!sys-devel/gcc:${TOOLCHAIN_GCC_PV}"
|
||||
DEPEND="${RDEPEND}
|
||||
elibc_glibc? ( >=sys-libs/glibc-2.13 )
|
||||
>=sys-devel/binutils-2.20"
|
||||
|
||||
S="${WORKDIR}"/${MYP}
|
||||
PDEPEND="${PDEPEND} elibc_glibc? ( >=sys-libs/glibc-2.13 )"
|
||||
|
||||
pkg_setup() {
|
||||
toolchain_pkg_setup
|
||||
|
||||
if use amd64; then
|
||||
BTSTRP=${BTSTRP_AMD64}
|
||||
else
|
||||
BTSTRP=${BTSTRP_X86}
|
||||
fi
|
||||
|
||||
if use bootstrap; then
|
||||
GCC="${WORKDIR}"/${BTSTRP}/bin/gcc
|
||||
else
|
||||
GCC=${ADA:-$(tc-getCC)}
|
||||
fi
|
||||
|
||||
gnatbase=$(basename ${GCC})
|
||||
gnatpath=$(dirname ${GCC})
|
||||
|
||||
GNATMAKE=${gnatbase/gcc/gnatmake}
|
||||
if [[ ${gnatpath} != "." ]] ; then
|
||||
GNATMAKE="${gnatpath}/${GNATMAKE}"
|
||||
fi
|
||||
}
|
||||
|
||||
src_unpack() {
|
||||
if ! use bootstrap && [[ -z "$(type ${GNATMAKE} 2>/dev/null)" ]] ; then
|
||||
eerror "You need a gcc compiler that provides the Ada Compiler:"
|
||||
eerror "1) use gcc-config to select the right compiler or"
|
||||
eerror "2) set the bootstrap use flag"
|
||||
die "ada compiler not available"
|
||||
fi
|
||||
|
||||
toolchain_src_unpack
|
||||
if use bootstrap; then
|
||||
rm ${BTSTRP}/libexec/gcc/*/4.7.4/ld || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
CC=${GCC}
|
||||
CXX="${gnatbase/gcc/g++}"
|
||||
GNATBIND="${gnatbase/gcc/gnatbind}"
|
||||
GNATLINK="${gnatbase/gcc/gnatlink}"
|
||||
GNATLS="${gnatbase/gcc/gnatls}"
|
||||
if [[ ${gnatpath} != "." ]] ; then
|
||||
CXX="${gnatpath}/${CXX}"
|
||||
GNATBIND="${gnatpath}/${GNATBIND}"
|
||||
GNATLINK="${gnatpath}/${GNATLINK}"
|
||||
GNATLS="${gnatpath}/${GNATLS}"
|
||||
fi
|
||||
mkdir bin || die
|
||||
ln -s $(which ${GCC}) bin/gcc || die
|
||||
ln -s $(which ${CXX}) bin/g++ || die
|
||||
ln -s $(which ${GNATMAKE}) bin/gnatmake || die
|
||||
ln -s $(which ${GNATBIND}) bin/gnatbind || die
|
||||
ln -s $(which ${GNATLINK}) bin/gnatlink || die
|
||||
ln -s $(which ${GNATLS}) bin/gnatls || die
|
||||
|
||||
cd ..
|
||||
mv ${GNATDIR}/src/ada ${MYP}/gcc/ || die
|
||||
mv ${INTFDIR} ${MYP}/gcc/ada/gcc-interface || die
|
||||
eapply "${FILESDIR}"/${P}-gentoo.patch
|
||||
rm patch/32*.patch || die
|
||||
cd -
|
||||
sed -i \
|
||||
-e 's:$(P) ::g' \
|
||||
gcc/ada/gcc-interface/Makefile.in \
|
||||
|| die "sed failed"
|
||||
toolchain_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
export PATH=${PWD}/bin:${PATH}
|
||||
downgrade_arch_flags "$(gcc-version)"
|
||||
toolchain_src_configure
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
toolchain_pkg_postinst
|
||||
einfo "This provide the GNAT compiler with gcc for ada/c/c++ and more"
|
||||
einfo "The compiler binary is ${CTARGET}-gcc-${TOOLCHAIN_GCC_PV}"
|
||||
einfo "Even if the c/c++ compilers are using almost the same patched"
|
||||
einfo "source as the sys-devel/gcc package its use is not extensively"
|
||||
einfo "tested, and not supported for updating your system, except for ada"
|
||||
einfo "related packages"
|
||||
}
|
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST elfutils-0.183.tar.bz2 9109254 BLAKE2B 8dd92e7c2df13d51bb51085f6cf762ea1ec7b803dcebf1202a4441ba152ed0e3332b1267276de4650d5ed5c5bed656f72f4c4e9bbf20700be45312a202351574 SHA512 bdafdd738a33cebe4f87849e5e6f1133881e77ef71b27faa0f0234ff80e9674f506957898326c2a55fd8438cbd189f7930597d0b4b9ca6c77921cc0cbd83b6b7
|
||||
DIST elfutils-0.184.tar.bz2 9185468 BLAKE2B 8e45aa603a039fb128b96a1ffee4a0137fd1808d7087a2ddc8682a9bec1d65a56e6e6ad1419ac5e9f4490cc258c8ac0ee3e49775aab278efb1889bdceaf842bf SHA512 5920c354edd6b28bb7e713d674bf6f2221e8ee91b90d582de39b1f45446aea1e7e3d4b6671024c391675b5e7530fe952c1320d730bb625c02d4c647ceb938bc8
|
||||
|
@ -0,0 +1,86 @@
|
||||
# Copyright 2003-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
inherit flag-o-matic multilib-minimal
|
||||
|
||||
DESCRIPTION="Libraries/utilities to handle ELF objects (drop in replacement for libelf)"
|
||||
HOMEPAGE="http://elfutils.org/"
|
||||
SRC_URI="https://sourceware.org/elfutils/ftp/${PV}/${P}.tar.bz2"
|
||||
|
||||
LICENSE="|| ( GPL-2+ LGPL-3+ ) utils? ( GPL-3+ )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
IUSE="bzip2 lzma nls static-libs test +threads +utils valgrind zstd"
|
||||
|
||||
RDEPEND=">=sys-libs/zlib-1.2.8-r1[static-libs?,${MULTILIB_USEDEP}]
|
||||
bzip2? ( >=app-arch/bzip2-1.0.6-r4[static-libs?,${MULTILIB_USEDEP}] )
|
||||
lzma? ( >=app-arch/xz-utils-5.0.5-r1[static-libs?,${MULTILIB_USEDEP}] )
|
||||
zstd? ( app-arch/zstd:=[static-libs?,${MULTILIB_USEDEP}] )
|
||||
!dev-libs/libelf
|
||||
"
|
||||
DEPEND="${RDEPEND}
|
||||
valgrind? ( dev-util/valgrind )
|
||||
"
|
||||
BDEPEND="nls? ( sys-devel/gettext )
|
||||
>=sys-devel/flex-2.5.4a
|
||||
sys-devel/m4
|
||||
"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-0.175-disable-biarch-test-PR24158.patch
|
||||
"${FILESDIR}"/${PN}-0.177-disable-large.patch
|
||||
"${FILESDIR}"/${PN}-0.180-PaX-support.patch
|
||||
)
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if ! use static-libs; then
|
||||
sed -i -e '/^lib_LIBRARIES/s:=.*:=:' -e '/^%.os/s:%.o$::' lib{asm,dw,elf}/Makefile.in || die
|
||||
fi
|
||||
# https://sourceware.org/PR23914
|
||||
sed -i 's:-Werror::' */Makefile.in || die
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
use test && append-flags -g #407135
|
||||
|
||||
# Symbol aliases are implemented as asm statements.
|
||||
# Will require porting: https://gcc.gnu.org/PR48200
|
||||
filter-flags '-flto*'
|
||||
|
||||
multilib-minimal_src_configure
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
ECONF_SOURCE="${S}" econf \
|
||||
$(use_enable nls) \
|
||||
$(use_enable threads thread-safety) \
|
||||
$(use_enable valgrind) \
|
||||
--disable-debuginfod \
|
||||
--disable-libdebuginfod \
|
||||
--program-prefix="eu-" \
|
||||
--with-zlib \
|
||||
$(use_with bzip2 bzlib) \
|
||||
$(use_with lzma) \
|
||||
$(use_with zstd)
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
env LD_LIBRARY_PATH="${BUILD_DIR}/libelf:${BUILD_DIR}/libebl:${BUILD_DIR}/libdw:${BUILD_DIR}/libasm" \
|
||||
LC_ALL="C" \
|
||||
emake check VERBOSE=1
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
dodoc NOTES
|
||||
# These build quick, and are needed for most tests, so don't
|
||||
# disable their building when the USE flag is disabled.
|
||||
if ! use utils; then
|
||||
rm -rf "${ED}"/usr/bin || die
|
||||
fi
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
DIST glib-2.66.7.tar.xz 4844892 BLAKE2B 2d128e8c933a8c5bd27734e96e50244f27c29199823e2185e8cfa5b4bbc0ca23f761c9de275c9941672eb945e302178b3cb4b5bd577f375ad953a97dddc70e34 SHA512 f6e6cc0fe2ab4a31a623bf9a1e63f833783e044e7ed55b66a84fc0cbf1410eec233fe0e226abb20aac0e40167a9624bf5e65197f9eed879da1293af44408d530
|
||||
DIST glib-2.68.0.tar.xz 4938804 BLAKE2B abbb06e9be3198ea79a42862bc0b71a40e87de6e4d49634458a6dd883d19c23d9e1a314b7820ea8eae230b24dccc909fd53b0e73587738e2341ff6f116e40cbe SHA512 dce0660476d67d7736c00861f4c3c267723f39032f582d1b2c17660a4939eeccd97e975da61b5be49e6f54612c6d5ce592aa7bdeacf4ecc75f3b38358da94a1d
|
||||
DIST glib-2.68.1.tar.xz 4940260 BLAKE2B fcf3a2fa2420ea3df13025d7a7e136862fa4cb6aa4f64a1af9fef7187d075db70deddad13ebde56b9032940437dbb311e9658bf112fd3cae8d8313d252ad2d87 SHA512 f705cda6f1b4b0acc5fe8d21b60994ca0ec6de39c6722f4f01cbe0ece30eacb7271d3cb29067e638e0204a3cefa2df1e535f273b72330455e185b544cebc2ab0
|
||||
DIST glib-2.68.2.tar.xz 4944192 BLAKE2B d35489dcfe9d57d8bd6ecf4f893b7c8e93a5b8108765791071fc811598d1f41287e03d95f20591d50d51a78db34f11833cc7970b1bf29299385357a14977ba0b SHA512 74d481552629cab67d22f8a440a7263a4e4b83adb6f3b772d368e255c17321b206aafd3af4653e5efbb2c3c14ca67d35f453728cbc5cd68728275d0b56789019
|
||||
|
@ -0,0 +1,288 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
PYTHON_COMPAT=( python3_{7..9} )
|
||||
|
||||
inherit flag-o-matic gnome.org gnome2-utils linux-info meson multilib multilib-minimal python-any-r1 toolchain-funcs xdg
|
||||
|
||||
DESCRIPTION="The GLib library of C routines"
|
||||
HOMEPAGE="https://www.gtk.org/"
|
||||
|
||||
LICENSE="LGPL-2.1+"
|
||||
SLOT="2"
|
||||
IUSE="dbus debug +elf elibc_glibc fam gtk-doc kernel_linux +mime selinux static-libs sysprof systemtap test utils xattr"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
|
||||
|
||||
# * elfutils (via libelf) does not build on Windows. gresources are not embedded
|
||||
# within ELF binaries on that platform anyway and inspecting ELF binaries from
|
||||
# other platforms is not that useful so exclude the dependency in this case.
|
||||
# * Technically static-libs is needed on zlib, util-linux and perhaps more, but
|
||||
# these are used by GIO, which glib[static-libs] consumers don't really seem
|
||||
# to need at all, thus not imposing the deps for now and once some consumers
|
||||
# are actually found to static link libgio-2.0.a, we can revisit and either add
|
||||
# them or just put the (build) deps in that rare consumer instead of recursive
|
||||
# RDEPEND here (due to lack of recursive DEPEND).
|
||||
RDEPEND="
|
||||
!<dev-util/gdbus-codegen-${PV}
|
||||
>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
|
||||
>=dev-libs/libpcre-8.31:3[${MULTILIB_USEDEP},static-libs?]
|
||||
>=dev-libs/libffi-3.0.13-r1:=[${MULTILIB_USEDEP}]
|
||||
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
|
||||
>=virtual/libintl-0-r2[${MULTILIB_USEDEP}]
|
||||
kernel_linux? ( >=sys-apps/util-linux-2.23[${MULTILIB_USEDEP}] )
|
||||
selinux? ( >=sys-libs/libselinux-2.2.2-r5[${MULTILIB_USEDEP}] )
|
||||
xattr? ( !elibc_glibc? ( >=sys-apps/attr-2.4.47-r1[${MULTILIB_USEDEP}] ) )
|
||||
!kernel_Winnt? ( virtual/libelf:0= )
|
||||
fam? ( >=virtual/fam-0-r1[${MULTILIB_USEDEP}] )
|
||||
sysprof? ( >=dev-util/sysprof-capture-3.38:4[${MULTILIB_USEDEP}] )
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
# libxml2 used for optional tests that get automatically skipped
|
||||
BDEPEND="
|
||||
app-text/docbook-xsl-stylesheets
|
||||
dev-libs/libxslt
|
||||
>=sys-devel/gettext-0.19.8
|
||||
gtk-doc? ( >=dev-util/gtk-doc-1.33
|
||||
app-text/docbook-xml-dtd:4.2
|
||||
app-text/docbook-xml-dtd:4.5 )
|
||||
systemtap? ( >=dev-util/systemtap-1.3 )
|
||||
${PYTHON_DEPS}
|
||||
test? ( >=sys-apps/dbus-1.2.14 )
|
||||
virtual/pkgconfig
|
||||
"
|
||||
# TODO: >=dev-util/gdbus-codegen-${PV} test dep once we modify gio/tests/meson.build to use external gdbus-codegen
|
||||
|
||||
PDEPEND="
|
||||
dbus? ( gnome-base/dconf )
|
||||
mime? ( x11-misc/shared-mime-info )
|
||||
"
|
||||
# shared-mime-info needed for gio/xdgmime, bug #409481
|
||||
# dconf is needed to be able to save settings, bug #498436
|
||||
|
||||
MULTILIB_CHOST_TOOLS=(
|
||||
/usr/bin/gio-querymodules$(get_exeext)
|
||||
)
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-2.64.1-mark-gdbus-server-auth-test-flaky.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
if use kernel_linux ; then
|
||||
CONFIG_CHECK="~INOTIFY_USER"
|
||||
if use test ; then
|
||||
CONFIG_CHECK="~IPV6"
|
||||
WARNING_IPV6="Your kernel needs IPV6 support for running some tests, skipping them."
|
||||
fi
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
if use test; then
|
||||
# TODO: Review the test exclusions, especially now with meson
|
||||
# Disable tests requiring dev-util/desktop-file-utils when not installed, bug #286629, upstream bug #629163
|
||||
if ! has_version dev-util/desktop-file-utils ; then
|
||||
ewarn "Some tests will be skipped due dev-util/desktop-file-utils not being present on your system,"
|
||||
ewarn "think on installing it to get these tests run."
|
||||
sed -i -e "/appinfo\/associations/d" gio/tests/appinfo.c || die
|
||||
sed -i -e "/g_test_add_func/d" gio/tests/desktop-app-info.c || die
|
||||
fi
|
||||
|
||||
# gdesktopappinfo requires existing terminal (gnome-terminal or any
|
||||
# other), falling back to xterm if one doesn't exist
|
||||
#if ! has_version x11-terms/xterm && ! has_version x11-terms/gnome-terminal ; then
|
||||
# ewarn "Some tests will be skipped due to missing terminal program"
|
||||
# These tests seem to sometimes fail even with a terminal; skip for now and reevulate with meson
|
||||
# Also try https://gitlab.gnome.org/GNOME/glib/issues/1601 once ready for backport (or in a bump) and file new issue if still fails
|
||||
sed -i -e "/appinfo\/launch/d" gio/tests/appinfo.c || die
|
||||
# desktop-app-info/launch* might fail similarly
|
||||
sed -i -e "/desktop-app-info\/launch-as-manager/d" gio/tests/desktop-app-info.c || die
|
||||
#fi
|
||||
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=722604
|
||||
sed -i -e "/timer\/stop/d" glib/tests/timer.c || die
|
||||
sed -i -e "/timer\/basic/d" glib/tests/timer.c || die
|
||||
|
||||
ewarn "Tests for search-utils have been skipped"
|
||||
sed -i -e "/search-utils/d" glib/tests/meson.build || die
|
||||
|
||||
# Play nice with network-sandbox, but this approach would defeat the purpose of the test
|
||||
#sed -i -e "s/localhost/127.0.0.1/g" gio/tests/gsocketclient-slow.c || die
|
||||
else
|
||||
# Don't build tests, also prevents extra deps, bug #512022
|
||||
sed -i -e '/subdir.*tests/d' {.,gio,glib}/meson.build || die
|
||||
fi
|
||||
|
||||
# Don't build fuzzing binaries - not used
|
||||
sed -i -e '/subdir.*fuzzing/d' meson.build || die
|
||||
|
||||
# gdbus-codegen is a separate package
|
||||
sed -i -e '/install_dir/d' gio/gdbus-2.0/codegen/meson.build || die
|
||||
|
||||
# Same kind of meson-0.50 issue with some installed-tests files; will likely be fixed upstream soon
|
||||
sed -i -e '/install_dir/d' gio/tests/meson.build || die
|
||||
|
||||
cat > "${T}/glib-test-ld-wrapper" <<-EOF
|
||||
#!/usr/bin/env sh
|
||||
exec \${LD:-ld} "\$@"
|
||||
EOF
|
||||
chmod a+x "${T}/glib-test-ld-wrapper" || die
|
||||
sed -i -e "s|'ld'|'${T}/glib-test-ld-wrapper'|g" gio/tests/meson.build || die
|
||||
|
||||
xdg_src_prepare
|
||||
gnome2_environment_reset
|
||||
# TODO: python_name sedding for correct python shebang? Might be relevant mainly for glib-utils only
|
||||
}
|
||||
|
||||
multilib_src_configure() {
|
||||
if use debug; then
|
||||
append-cflags -DG_ENABLE_DEBUG
|
||||
else
|
||||
append-cflags -DG_DISABLE_CAST_CHECKS # https://gitlab.gnome.org/GNOME/glib/issues/1833
|
||||
fi
|
||||
|
||||
# TODO: figure a way to pass appropriate values for all cross properties that glib uses (search for get_cross_property)
|
||||
#if tc-is-cross-compiler ; then
|
||||
# https://bugzilla.gnome.org/show_bug.cgi?id=756473
|
||||
# TODO-meson: This should be in meson cross file as 'growing_stack' property; and more, look at get_cross_property
|
||||
#case ${CHOST} in
|
||||
#hppa*|metag*) export glib_cv_stack_grows=yes ;;
|
||||
#*) export glib_cv_stack_grows=no ;;
|
||||
#esac
|
||||
#fi
|
||||
|
||||
local emesonargs=(
|
||||
-Ddefault_library=$(usex static-libs both shared)
|
||||
$(meson_feature selinux)
|
||||
$(meson_use xattr)
|
||||
-Dlibmount=enabled # only used if host_system == 'linux'
|
||||
-Dinternal_pcre=false
|
||||
-Dman=true
|
||||
$(meson_use systemtap dtrace)
|
||||
$(meson_use systemtap)
|
||||
$(meson_feature sysprof)
|
||||
-Dgtk_doc=$(multilib_native_usex gtk-doc true false)
|
||||
$(meson_use fam)
|
||||
$(meson_use test tests)
|
||||
-Dinstalled_tests=false
|
||||
-Dnls=enabled
|
||||
-Doss_fuzz=disabled
|
||||
-Dlibelf=$(multilib_native_usex elf enabled disabled)
|
||||
)
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
multilib_src_compile() {
|
||||
meson_src_compile
|
||||
}
|
||||
|
||||
multilib_src_test() {
|
||||
export XDG_CONFIG_DIRS=/etc/xdg
|
||||
export XDG_DATA_DIRS=/usr/local/share:/usr/share
|
||||
export G_DBUS_COOKIE_SHA1_KEYRING_DIR="${T}/temp"
|
||||
export LC_TIME=C # bug #411967
|
||||
unset GSETTINGS_BACKEND # bug #596380
|
||||
python_setup
|
||||
|
||||
# Related test is a bit nitpicking
|
||||
mkdir "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
|
||||
chmod 0700 "$G_DBUS_COOKIE_SHA1_KEYRING_DIR"
|
||||
|
||||
meson_src_test --timeout-multiplier 2 --no-suite flaky
|
||||
}
|
||||
|
||||
multilib_src_install() {
|
||||
meson_src_install
|
||||
keepdir /usr/$(get_libdir)/gio/modules
|
||||
}
|
||||
|
||||
multilib_src_install_all() {
|
||||
einstalldocs
|
||||
|
||||
# These are installed by dev-util/glib-utils
|
||||
# TODO: With patching we might be able to get rid of the python-any deps and removals, and test depend on glib-utils instead; revisit now with meson
|
||||
rm "${ED}/usr/bin/glib-genmarshal" || die
|
||||
rm "${ED}/usr/share/man/man1/glib-genmarshal.1" || die
|
||||
rm "${ED}/usr/bin/glib-mkenums" || die
|
||||
rm "${ED}/usr/share/man/man1/glib-mkenums.1" || die
|
||||
rm "${ED}/usr/bin/gtester-report" || die
|
||||
rm "${ED}/usr/share/man/man1/gtester-report.1" || die
|
||||
# gdbus-codegen manpage installed by dev-util/gdbus-codegen
|
||||
rm "${ED}/usr/share/man/man1/gdbus-codegen.1" || die
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
xdg_pkg_preinst
|
||||
|
||||
# Make gschemas.compiled belong to glib alone
|
||||
local cache="/usr/share/glib-2.0/schemas/gschemas.compiled"
|
||||
|
||||
if [[ -e ${EROOT}${cache} ]]; then
|
||||
cp "${EROOT}"${cache} "${ED}"/${cache} || die
|
||||
else
|
||||
touch "${ED}"${cache} || die
|
||||
fi
|
||||
|
||||
multilib_pkg_preinst() {
|
||||
# Make giomodule.cache belong to glib alone
|
||||
local cache="/usr/$(get_libdir)/gio/modules/giomodule.cache"
|
||||
|
||||
if [[ -e ${EROOT}${cache} ]]; then
|
||||
cp "${EROOT}"${cache} "${ED}"${cache} || die
|
||||
else
|
||||
touch "${ED}"${cache} || die
|
||||
fi
|
||||
}
|
||||
|
||||
# Don't run the cache ownership when cross-compiling, as it would end up with an empty cache
|
||||
# file due to inability to create it and GIO might not look at any of the modules there
|
||||
if ! tc-is-cross-compiler ; then
|
||||
multilib_foreach_abi multilib_pkg_preinst
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_pkg_postinst
|
||||
# glib installs no schemas itself, but we force update for fresh install in case
|
||||
# something has dropped in a schemas file without direct glib dep; and for upgrades
|
||||
# in case the compiled schema format could have changed
|
||||
gnome2_schemas_update
|
||||
|
||||
multilib_pkg_postinst() {
|
||||
gnome2_giomodule_cache_update \
|
||||
|| die "Update GIO modules cache failed (for ${ABI})"
|
||||
}
|
||||
if ! tc-is-cross-compiler ; then
|
||||
multilib_foreach_abi multilib_pkg_postinst
|
||||
else
|
||||
ewarn "Updating of GIO modules cache skipped due to cross-compilation."
|
||||
ewarn "You might want to run gio-querymodules manually on the target for"
|
||||
ewarn "your final image for performance reasons and re-run it when packages"
|
||||
ewarn "installing GIO modules get upgraded or added to the image."
|
||||
fi
|
||||
|
||||
for v in ${REPLACING_VERSIONS}; do
|
||||
if ver_test "$v" "-lt" "2.63.6"; then
|
||||
ewarn "glib no longer installs the gio-launch-desktop binary. You may need"
|
||||
ewarn "to restart your session for \"Open With\" dialogs to work."
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_pkg_postrm
|
||||
gnome2_schemas_update
|
||||
|
||||
if [[ -z ${REPLACED_BY_VERSION} ]]; then
|
||||
multilib_pkg_postrm() {
|
||||
rm -f "${EROOT}"/usr/$(get_libdir)/gio/modules/giomodule.cache
|
||||
}
|
||||
multilib_foreach_abi multilib_pkg_postrm
|
||||
rm -f "${EROOT}"/usr/share/glib-2.0/schemas/gschemas.compiled
|
||||
fi
|
||||
}
|
@ -0,0 +1,97 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI="7"
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..10} )
|
||||
|
||||
inherit python-any-r1 toolchain-funcs
|
||||
|
||||
DESCRIPTION="Apache Kafka C/C++ client library"
|
||||
HOMEPAGE="https://github.com/edenhill/librdkafka"
|
||||
|
||||
if [[ ${PV} == "9999" ]]; then
|
||||
EGIT_REPO_URI="https://github.com/edenhill/${PN}.git"
|
||||
|
||||
inherit git-r3
|
||||
else
|
||||
SRC_URI="https://github.com/edenhill/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~sparc ~x86"
|
||||
fi
|
||||
|
||||
LICENSE="BSD-2"
|
||||
|
||||
# subslot = soname version
|
||||
SLOT="0/1"
|
||||
|
||||
IUSE="lz4 sasl ssl static-libs zstd"
|
||||
|
||||
LIB_DEPEND="
|
||||
lz4? ( app-arch/lz4:=[static-libs(+)] )
|
||||
sasl? ( dev-libs/cyrus-sasl:=[static-libs(+)] )
|
||||
ssl? ( dev-libs/openssl:0=[static-libs(+)] )
|
||||
zstd? ( app-arch/zstd:=[static-libs(+)] )
|
||||
sys-libs/zlib:=[static-libs(+)]
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
virtual/pkgconfig
|
||||
${PYTHON_DEPS}
|
||||
"
|
||||
|
||||
RDEPEND="!static-libs? ( ${LIB_DEPEND//\[static-libs(+)]} )"
|
||||
|
||||
DEPEND="
|
||||
${RDEPEND}
|
||||
static-libs? ( ${LIB_DEPEND} )
|
||||
"
|
||||
|
||||
pkg_setup() {
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
default
|
||||
|
||||
if [[ ${PV} != "9999" ]]; then
|
||||
sed -i \
|
||||
-e "s/^\(export RDKAFKA_GITVER=\).*/\1\"${PV}@release\"/" \
|
||||
tests/run-test.sh || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
tc-export AR CC CXX LD NM OBJDUMP PKG_CONFIG STRIP
|
||||
|
||||
local myeconf=(
|
||||
--no-cache
|
||||
--no-download
|
||||
--disable-debug-symbols
|
||||
$(use_enable lz4)
|
||||
$(use_enable sasl)
|
||||
$(usex static-libs '--enable-static' '')
|
||||
$(use_enable ssl)
|
||||
$(use_enable zstd)
|
||||
)
|
||||
|
||||
econf ${myeconf[@]}
|
||||
}
|
||||
|
||||
src_test() {
|
||||
# Simulate CI so we do not fail when tests are running longer than expected,
|
||||
# https://github.com/edenhill/librdkafka/blob/v1.6.1/tests/0062-stats_event.c#L101-L116
|
||||
local -x CI=true
|
||||
|
||||
emake -C tests run_local
|
||||
}
|
||||
|
||||
src_install() {
|
||||
emake -j1 \
|
||||
DESTDIR="${D}" \
|
||||
docdir="/usr/share/doc/${PF}" \
|
||||
install
|
||||
|
||||
if ! use static-libs; then
|
||||
find "${ED}" -type f \( -name "*.a" -o -name "*.la" \) -delete || die
|
||||
fi
|
||||
}
|
@ -0,0 +1,29 @@
|
||||
# Copyright 2020-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DIST_AUTHOR=AKIYM
|
||||
DIST_VERSION=0.13
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Guess OpenSSL include path"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=virtual/perl-Exporter-5.570.0
|
||||
virtual/perl-File-Spec
|
||||
dev-libs/openssl:0=
|
||||
"
|
||||
DEPEND="
|
||||
dev-libs/openssl:0=
|
||||
"
|
||||
BDEPEND="${RDEPEND}
|
||||
>=virtual/perl-ExtUtils-MakeMaker-6.640.0
|
||||
test? (
|
||||
>=virtual/perl-Test-Simple-0.980.0
|
||||
)
|
||||
"
|
@ -1 +1,2 @@
|
||||
DIST Crypt-OpenSSL-Guess-0.11.tar.gz 11346 BLAKE2B f22d09e23e91c36c722dc9800391b67a1f912f8af6a13ec95c9074e65559585c77e72596a6dae17db28e11f8449813777423a60d9af0147819dfcb91ba489152 SHA512 cdae7f20a15d24842cf117bfba4f3bc0ec7d1066251e0480cbadd8f0aa28c9c9573905726fc1333ea9fbbb3769a67dbf28043de8487dcce27dab5d14a0848b09
|
||||
DIST Crypt-OpenSSL-Guess-0.13.tar.gz 11832 BLAKE2B 4857fd301eb4348f8afe17b1b7780a404c5c2567323b37c36e1be9e0c545aabc78a27d06e86c4f0c34940a33ff43c78be006ef0365c346488646ced6f4d9939c SHA512 1b3286d536bcb7545be636e33b5ff37bf334fbb7f3a99f4fcb32cf1166b1bc7cc179e9d39af1c7ac537630a75066353a1d7a0ab97816757a444dc0068029da97
|
||||
|
@ -0,0 +1,26 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DIST_AUTHOR=RSAVAGE
|
||||
DIST_VERSION=1.41
|
||||
DIST_A_EXT=tgz
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Provides interoperable MD5-based crypt() functions"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
RDEPEND="
|
||||
>=virtual/perl-Digest-MD5-2.530.0
|
||||
"
|
||||
BDEPEND="
|
||||
${RDEPEND}
|
||||
virtual/perl-ExtUtils-MakeMaker
|
||||
test? (
|
||||
>=virtual/perl-Test-Simple-1.1.2
|
||||
)
|
||||
"
|
@ -1 +1,2 @@
|
||||
DIST Crypt-PasswdMD5-1.40.tgz 6683 BLAKE2B f12458349b2444a944d84a4c4c5df644fcdc0c6ec49f885edff5416ea44587b2bb78106df523ac6711c5f22e9019f3c248f4f6a8e8af03100e2d59b7f2684540 SHA512 c00f76210a9c07ad610b4698b15d142c3859100a13af620919e32bf046ab2febf8ebedafcffa4dde62f7e9af0e9ff137dae623e0bab60380fca003f7b35bfc77
|
||||
DIST Crypt-PasswdMD5-1.41.tgz 14275 BLAKE2B 179982aab63463bb3469d219a5304574f5a59b2a2601c48460c75bcc367043fc007571d3c8a8002f8b3c232f9051aae62f4fe8ae8431d580c6093bc9a9c7ccf1 SHA512 eee16e08f5cdca4d5bc2056e39e18bbbeb5e8bcf403fb44eb632a9a09496fc8b34ede4b2feaffacceafef99be390e44ca49767d98c05a62a2208e1c7e7ff5430
|
||||
|
@ -1,20 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=VIPUL
|
||||
MODULE_VERSION=0.50
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Provable Prime Number Generator suitable for Cryptographic Applications"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 ~hppa sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
RDEPEND="dev-perl/Math-Pari
|
||||
dev-perl/Crypt-Random"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
SRC_TEST="do"
|
@ -1,17 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=5
|
||||
|
||||
MODULE_AUTHOR=SIFUKURT
|
||||
MODULE_VERSION=2.02
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Implements the RC4 encryption algorithm"
|
||||
|
||||
LICENSE="|| ( Artistic GPL-1 GPL-2 GPL-3 )"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
|
||||
IUSE=""
|
||||
|
||||
SRC_TEST="do"
|
@ -0,0 +1,27 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DIST_AUTHOR=TODDR
|
||||
DIST_VERSION=0.08
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Perl extension for the RIPEMD-160 Hash function"
|
||||
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x86-solaris"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
virtual/perl-ExtUtils-MakeMaker
|
||||
test? ( virtual/perl-Test-Simple )
|
||||
"
|
||||
|
||||
src_compile() {
|
||||
mymake=(
|
||||
"OPTIMIZE=${CFLAGS}"
|
||||
)
|
||||
perl-module_src_compile
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST Crypt-RIPEMD160-0.06.tar.gz 58766 BLAKE2B 91d59a068be8a37243f21610a0ca490affcbe3d7b49081710e60bd46036ed68db38b7c1731172b6e8ef9c916b87e4c26099517c3a4dc2d3c1af9e65a8a14f075 SHA512 5c009f8e3a9e42d5fb172f74eb97ab9b7e2912b23d62556f999d6d4f244ff972f7925d357cc3dd5d1e9e708a8350f8f131f8875aae076927c6bfb506bafcc755
|
||||
DIST Crypt-RIPEMD160-0.08.tar.gz 60041 BLAKE2B c237fc8ff1ddb88eaa6fb93be6efc7ba4a45366e113651aab9570e836ca514db82d8a1392143d5fb04370fb5a01b6b2cb5ae6762784566ce85eb326167a1d972 SHA512 435e0239c67aebdeaaa328c10bb6d12934b72c436e4eb21f177281ecd77204fdf300c0a7f38ee59bc1ca61b08cf632989ab513c4ee51c78415c722329ab9486c
|
||||
|
@ -0,0 +1,30 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DIST_AUTHOR=LEONT
|
||||
DIST_VERSION=1.16
|
||||
inherit perl-module
|
||||
|
||||
DESCRIPTION="Crypt::CBC compliant Rijndael encryption module"
|
||||
|
||||
LICENSE="LGPL-3"
|
||||
SLOT="0"
|
||||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
BDEPEND="
|
||||
virtual/perl-ExtUtils-MakeMaker
|
||||
test? (
|
||||
virtual/perl-Test-Simple
|
||||
)
|
||||
"
|
||||
|
||||
src_compile() {
|
||||
mymake=(
|
||||
"OPTIMIZE=${CFLAGS}"
|
||||
)
|
||||
perl-module_src_compile
|
||||
}
|
@ -1,2 +1,3 @@
|
||||
DIST Crypt-Rijndael-1.14.tar.gz 71759 BLAKE2B 2d3d9d4126fe8d6bb22fa9bd86fd05c186459453b605176f403e89c23f51d671ac26eac7ae9dc0d3bff065e1e95684731e783a4bf192781ca8f71c59399958d6 SHA512 a3c419142954dc2b430422f532b5349d0fb902a704335ba0708504a6a4a5d617835409916b76bc1b8dc8669c0f03356dab3ef90e5f7ea530b5fcc70bd1bf4eff
|
||||
DIST Crypt-Rijndael-1.15.tar.gz 71407 BLAKE2B 8f2ca89b80ea68b9874092941520e566c7ea43eaf52c15acfd1f0a03e9d4efbd0c83259f36abccb77fa38b41f74acd1fa79d1d231e970f80545126fbb86ebc41 SHA512 ea4dbbd731483132274752bdb78a7e7cc012bc18d9f88c073f23e6903d05c1cad1e83ad00cf7f593c15e543c5c53e7a68e5fdd064a9c260c444105d47f468308
|
||||
DIST Crypt-Rijndael-1.16.tar.gz 71818 BLAKE2B 73cf5b0efb7822e1427acfef4b9134f8a693e9e8e9e7efe51a34a48fc202200616534cefce7018ee3c846f8a6f96525d79bad88b3bf2be74ab14ae31f6484d46 SHA512 e33cb691cd62d9b98f26c8f0d1365437f8a77154a4100be4969a88ad094074fb2f855fcb11541dc63743f861ef0c45944831b7f887df9bbb0b4ec36d6e0fd66d
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue