parent
e27a1c4374
commit
68a633bdad
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST doctl-1.57.0.tar.gz 5195498 BLAKE2B 17273e9f8f63464aa2ba6c6d48dfabd78b0bdeb7156dc315d1970fb0052710c7a4b37f1d5e2a7a60211f2ab166c0926de438959d853639a8c329ec39b3ee0577 SHA512 0c868c5732a48367a93bf2b884689dbd917ba6690c82516495862546bc31d58d44aab192bd3b3543f951e9fa9b7289e99fbdf828c017af68496b84f1585a5f6b
|
||||
DIST doctl-1.68.0.tar.gz 5514572 BLAKE2B e44be00e1b7451e84d3d6dc5a19dc04fcb5dab2c8a5c1923c0c0f99058a1938f9567d63681989e869341957586cdf549842cd45ca82503007039ae989664e8ff SHA512 d81799c227c071793af74f78e54d8348782caf158b28e0a12b92adf17b6c78c787a82abbdf3aa340a960f26c929b00f38015725e6e629aad7615096270d19c10
|
||||
|
@ -0,0 +1,43 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit bash-completion-r1 go-module
|
||||
|
||||
DESCRIPTION="A command line tool for DigitalOcean services"
|
||||
HOMEPAGE="https://github.com/digitalocean/doctl"
|
||||
SRC_URI="https://github.com/digitalocean/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="Apache-2.0 MIT BSD BSD-2 ISC MPL-2.0"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
|
||||
src_compile() {
|
||||
LDFLAGS="-X github.com/digitalocean/doctl.Major=$(ver_cut 1)
|
||||
-X github.com/digitalocean/doctl.Minor=$(ver_cut 2)
|
||||
-X github.com/digitalocean/doctl.Patch=$(ver_cut 3-)
|
||||
-X github.com/digitalocean/doctl.Label=release"
|
||||
GOFLAGS="-v -x -mod=vendor" \
|
||||
go build -ldflags "$LDFLAGS" ./cmd/... || die "build failed"
|
||||
|
||||
./doctl completion bash > doctl.bash || die "completion for bash failed"
|
||||
./doctl completion zsh > doctl.zsh || die "completion for sh failed"
|
||||
./doctl completion fish > doctl.fish || die "completion for fish failed"
|
||||
}
|
||||
|
||||
src_test() {
|
||||
GOFLAGS="-v -x -mod=vendor" \
|
||||
go test -work ./do/... ./pkg/... . || die "test failed"
|
||||
}
|
||||
|
||||
src_install() {
|
||||
einstalldocs
|
||||
dobin doctl
|
||||
|
||||
newbashcomp doctl.bash doctl
|
||||
insinto /usr/share/zsh/site-functions
|
||||
newins doctl.zsh _doctl
|
||||
insinto /usr/share/fish/completion
|
||||
newins doctl.fish doctl
|
||||
}
|
@ -1 +1,2 @@
|
||||
DIST tmpreaper_1.6.14.tar.gz 158981 BLAKE2B 1c9ec124c6e57c0aab5d555594950dda37f06a6404a0d111da05be7a48bf6141e09e942c090d3f79ccf855f958a7b32f0d64c73da68b412da74465e39bdb72ae SHA512 e78fab0cd2cc8c851e2806be70c102697bff86230e181bfad1c76b15fe5455fb431bc0dd16bebf77a2e9bb64b5f5a1474d24254ff780d4d72d343ea0e6e30ccb
|
||||
DIST tmpreaper_1.6.15.tar.gz 158755 BLAKE2B 8f95e11de947bf436b92c2fb73b82b86134aed32eb4053af2c8065c3fe1f584f6d126a3a1ddf5e2837ca88060c499eb424670049420ec702d0a989e6e246ca69 SHA512 323a9998b1e3cfe99ead433de25d2b0db31f9ae2ddd3cd8f5e81dc5f04c977953cb930ded8860088504318cb0b42c6ca804b1ddd663818b1d3fabef8e3fff891
|
||||
|
@ -0,0 +1,41 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
DESCRIPTION="A utility for removing files based on when they were last accessed"
|
||||
HOMEPAGE="https://packages.debian.org/sid/tmpreaper"
|
||||
SRC_URI="mirror://debian/pool/main/t/${PN}/${PN}_${PV}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
|
||||
IUSE=""
|
||||
|
||||
DEPEND="sys-apps/util-linux
|
||||
sys-fs/e2fsprogs"
|
||||
|
||||
RDEPEND=""
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.6.13-gentoo.patch
|
||||
)
|
||||
|
||||
src_install() {
|
||||
emake DESTDIR="${D}" install
|
||||
insinto /etc
|
||||
doins debian/tmpreaper.conf
|
||||
|
||||
exeinto /etc/cron.daily
|
||||
newexe debian/cron.daily tmpreaper
|
||||
doman debian/tmpreaper.conf.5
|
||||
dodoc README debian/changelog debian/README*
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
elog "This package installs a cron script under /etc/cron.daily"
|
||||
elog "You can configure it using /etc/tmpreaper.conf"
|
||||
elog "Consult tmpreaper.conf man page for more information"
|
||||
elog "Read /usr/share/doc/${P}/README.security and"
|
||||
elog "remove SHOWWARNING from /etc/tmpreaper.conf afterwards"
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1 +1,2 @@
|
||||
DIST yatex1.80.tar.gz 376944 BLAKE2B 355726fb3b38bfbc314647739d4af6e588848b5ade208fe1e026106a7cc2c220edcf10214f37ee7c9cc461ecb3e776c3969e329d5a331b3d8ce9f669f2361e26 SHA512 6548d1ac95ce95198468698d9b91449736e4be8af15d29352c00f7604fd7b34b2c606afb2d90d1115fd64dc859efdd9c993a6b3733f9321ca7671615977b4bd5
|
||||
DIST yatex1.82.tar.gz 387358 BLAKE2B 77c88563e3beb7b29ac8a4d7204d14b966c9a88b1c2f04c6160089f0b61a70c9d6aa135d2e1cee6e13a90cc108428ce80e7ef0d0b8852b9a8651e67f34af7e1e SHA512 8c2890fc12e93aace5ac51e24da315a9d241aec023a3c67187c1fd28d2a7a02d1688b7e1177e1ba13411ecb394b5d581298c735cd80195e663bbdcf240f10fe5
|
||||
|
@ -0,0 +1,22 @@
|
||||
--- yatex1.82/docs/yatexe.tex
|
||||
+++ yatex1.82/docs/yatexe.tex
|
||||
@@ -382,7 +382,7 @@
|
||||
@section Special Filtering Region
|
||||
A region like below will be passed to external filter command.
|
||||
@example
|
||||
-%#BEGIN FILTER{foo.pdf}{dot -T %t -o %o}
|
||||
+%#BEGIN FILTER@{foo.pdf@}@{dot -T %t -o %o@}
|
||||
\if0
|
||||
....blah blah blah...
|
||||
....blah blah blah...
|
||||
--- yatex1.82/docs/yatexj.tex
|
||||
+++ yatex1.82/docs/yatexj.tex
|
||||
@@ -488,7 +488,7 @@
|
||||
ます。そのためには以下のようなソースを文書中に書きます。
|
||||
|
||||
@example
|
||||
-%#BEGIN FILTER{foo.pdf}{blockdiag -T %t -o %o}
|
||||
+%#BEGIN FILTER@{foo.pdf@}@{blockdiag -T %t -o %o@}
|
||||
\if0
|
||||
---
|
||||
....blah blah blah...
|
@ -0,0 +1,58 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=8
|
||||
|
||||
inherit elisp
|
||||
|
||||
DESCRIPTION="Yet Another TeX mode for Emacs"
|
||||
HOMEPAGE="http://www.yatex.org/"
|
||||
SRC_URI="http://www.${PN}.org/${P/-}.tar.gz"
|
||||
S="${WORKDIR}/${P/-}"
|
||||
|
||||
KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
|
||||
SLOT="0"
|
||||
LICENSE="BSD-2"
|
||||
IUSE="l10n_ja"
|
||||
|
||||
BDEPEND="l10n_ja? ( virtual/libiconv )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-1.76-direntry.patch
|
||||
"${FILESDIR}"/${PN}-1.80-texinfo-5.patch
|
||||
"${FILESDIR}"/${P}-texinfo.patch
|
||||
)
|
||||
SITEFILE="50${PN}-gentoo.el"
|
||||
|
||||
src_prepare() {
|
||||
sed -i "/(help-dir/,/)))/c\ (help-dir \"${SITEETC}/${PN}\"))" ${PN}hlp.el
|
||||
|
||||
elisp_src_prepare
|
||||
}
|
||||
|
||||
src_compile() {
|
||||
cd docs
|
||||
makeinfo {${PN},yahtml}e.tex || die
|
||||
|
||||
if use l10n_ja; then
|
||||
iconv -f WINDOWS-31J -t UTF-8 ${PN}j.tex > ${PN}-ja.texi || die
|
||||
iconv -f WINDOWS-31J -t UTF-8 yahtmlj.tex > yahtml-ja.texi || die
|
||||
makeinfo {${PN},yahtml}-ja.texi || die
|
||||
fi
|
||||
}
|
||||
|
||||
src_install() {
|
||||
elisp-install ${PN} *.el
|
||||
elisp-site-file-install "${FILESDIR}"/${SITEFILE}
|
||||
|
||||
insinto ${SITEETC}/${PN}
|
||||
doins help/YATEXHLP.eng
|
||||
doinfo docs/{${PN},yahtml}.info*
|
||||
dodoc install docs/*.eng
|
||||
|
||||
if use l10n_ja; then
|
||||
doins help/YATEXHLP.jp
|
||||
doinfo docs/{${PN},yahtml}-ja.info*
|
||||
dodoc 00readme ${PN}.new docs/{htmlqa,qanda,*.doc}
|
||||
fi
|
||||
}
|
Binary file not shown.
@ -1,2 +1 @@
|
||||
DIST libvirt-glib-3.0.0.tar.gz 899180 BLAKE2B ef10b3d9bad48e49dd1898733aacb2f51f1826330eda9c63a7f8df5f11c96812f8cc7fe6a867961efa85a433f45c934d75cf605eb523ec723459da4646335b1a SHA512 b9e7d782c25b5c3a9b2829f1be8162352438ab3505510a1ca7dd64d741eaab158dc9206fdd4b0e3e27b0c049e4bcfc47db0c9a7fa1a84888864e23d3c35c079e
|
||||
DIST libvirt-glib-4.0.0.tar.xz 161836 BLAKE2B e196d1f02f6f202b1883500241bbfda963b34ee12bd945b3fa897f84f55a049f98e0429132ccfad7168e5ba2b41245e9e7e3817a7f057e0dc40b674ca6c9b661 SHA512 e1b99e80aa671fa5a4d7f7f7a4ea70ce7c5fdaf97574407f79aa11a75dd177e1e3f92027728a83ded62e305852bbda76eb90326aaa1f5f19b77272b008351810
|
||||
|
@ -1,43 +0,0 @@
|
||||
# Copyright 1999-2020 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=6
|
||||
GNOME2_LA_PUNT="yes"
|
||||
|
||||
inherit gnome2 vala
|
||||
|
||||
DESCRIPTION="GLib and GObject mappings for libvirt"
|
||||
HOMEPAGE="http://libvirt.org/git/?p=libvirt-glib.git"
|
||||
SRC_URI="ftp://libvirt.org/libvirt/glib/${P}.tar.gz"
|
||||
|
||||
LICENSE="LGPL-2.1"
|
||||
SLOT="0"
|
||||
KEYWORDS="amd64 ~arm64 ~ppc64 x86"
|
||||
IUSE="+introspection nls +vala"
|
||||
REQUIRED_USE="vala? ( introspection )"
|
||||
|
||||
RDEPEND="
|
||||
dev-libs/libxml2:2
|
||||
>=app-emulation/libvirt-1.2.6:=
|
||||
>=dev-libs/glib-2.38.0:2
|
||||
introspection? ( >=dev-libs/gobject-introspection-1.36.0:= )"
|
||||
DEPEND="${RDEPEND}
|
||||
dev-util/glib-utils
|
||||
dev-util/gtk-doc-am
|
||||
>=dev-util/intltool-0.35.0
|
||||
virtual/pkgconfig
|
||||
vala? ( $(vala_depend) )"
|
||||
|
||||
src_prepare() {
|
||||
gnome2_src_prepare
|
||||
use vala && vala_src_prepare
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
gnome2_src_configure \
|
||||
--disable-test-coverage \
|
||||
--disable-static \
|
||||
$(use_enable introspection) \
|
||||
$(use_enable nls) \
|
||||
$(use_enable vala)
|
||||
}
|
@ -1,9 +0,0 @@
|
||||
--- a/meson.build 2020-09-26 21:25:08.557345415 +0000
|
||||
+++ b/meson.build 2020-09-26 21:25:59.507348156 +0000
|
||||
@@ -84,7 +84,7 @@ sbindir = prefix / get_option('sbindir')
|
||||
sharedstatedir = prefix / get_option('sharedstatedir')
|
||||
|
||||
confdir = sysconfdir / meson.project_name()
|
||||
-docdir = datadir / 'doc' / meson.project_name()
|
||||
+docdir = datadir / 'doc' / '@0@-@1@'.format(meson.project_name(), meson.project_version())
|
||||
pkgdatadir = datadir / meson.project_name()
|
@ -1,18 +0,0 @@
|
||||
https://bugs.gentoo.org/792228
|
||||
https://gitlab.com/libvirt/libvirt/-/commit/e3d60f7
|
||||
|
||||
--
|
||||
diff --git a/src/remote/meson.build b/src/remote/meson.build
|
||||
index 9ad2f6ab1c268012a263ab4ede6410fb80e14a12..0a188268b58b7af41645799aac3ef3f156fd48ad 100644
|
||||
--- a/src/remote/meson.build
|
||||
+++ b/src/remote/meson.build
|
||||
@@ -230,7 +230,7 @@ if conf.has('WITH_REMOTE')
|
||||
'name': 'Libvirt proxy',
|
||||
'sockprefix': 'libvirt',
|
||||
'sockets': [ 'main', 'ro', 'admin', 'tcp', 'tls' ],
|
||||
- 'deps': libvirtd_socket_conflicts,
|
||||
+ 'deps': 'Conflicts=' + libvirtd_socket_conflicts,
|
||||
}
|
||||
|
||||
openrc_init_files += {
|
||||
|
@ -0,0 +1,13 @@
|
||||
diff --git a/tools/nss/meson.build b/tools/nss/meson.build
|
||||
index 198936f3d42e1827d0f03ff3b27a198bdc4fa59c..f77309ebcab8063c515ae2bf95dbff542238a2ee 100644
|
||||
--- a/tools/nss/meson.build
|
||||
+++ b/tools/nss/meson.build
|
||||
@@ -59,7 +59,7 @@ nss_libvirt_guest_syms = '@0@@1@'.format(
|
||||
meson.current_source_dir() / nss_guest_sym_file,
|
||||
)
|
||||
|
||||
-nss_libvirt_lib = shared_module(
|
||||
+nss_libvirt_lib = shared_library(
|
||||
'nss_libvirt',
|
||||
name_prefix: nss_prefix,
|
||||
name_suffix: 'so.@0@'.format(nss_so_ver),
|
@ -1,189 +0,0 @@
|
||||
From ea7d0ca37cce76e1327945c4864b996d7fd6d2e6 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <ea7d0ca37cce76e1327945c4864b996d7fd6d2e6.1618903455.git.mprivozn@redhat.com>
|
||||
From: Michal Privoznik <mprivozn@redhat.com>
|
||||
Date: Fri, 16 Apr 2021 16:39:14 +0200
|
||||
Subject: [PATCH] vircgroup: Fix virCgroupKillRecursive() wrt nested
|
||||
controllers
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
I've encountered the following bug, but only on Gentoo with
|
||||
systemd and CGroupsV2. I've started an LXC container successfully
|
||||
but destroying it reported the following error:
|
||||
|
||||
error: Failed to destroy domain 'amd64'
|
||||
error: internal error: failed to get cgroup backend for 'pathOfController'
|
||||
|
||||
Debugging showed, that CGroup hierarchy is full of surprises:
|
||||
|
||||
/sys/fs/cgroup/machine.slice/machine-lxc\x2d861\x2damd64.scope/
|
||||
└── libvirt
|
||||
├── dev-hugepages.mount
|
||||
├── dev-mqueue.mount
|
||||
├── init.scope
|
||||
├── sys-fs-fuse-connections.mount
|
||||
├── sys-kernel-config.mount
|
||||
├── sys-kernel-debug.mount
|
||||
├── sys-kernel-tracing.mount
|
||||
├── system.slice
|
||||
│ ├── console-getty.service
|
||||
│ ├── dbus.service
|
||||
│ ├── system-getty.slice
|
||||
│ ├── system-modprobe.slice
|
||||
│ ├── systemd-journald.service
|
||||
│ ├── systemd-logind.service
|
||||
│ └── tmp.mount
|
||||
└── user.slice
|
||||
|
||||
For comparison, here's the same container on recent Rawhide:
|
||||
|
||||
/sys/fs/cgroup/machine.slice/machine-lxc\x2d13550\x2damd64.scope/
|
||||
└── libvirt
|
||||
|
||||
Anyway, those nested directories should not be a problem, because
|
||||
virCgroupKillRecursiveInternal() removes them recursively, right?
|
||||
Sort of. The function really does remove nested directories, but
|
||||
it assumes that every directory has the same controller as the
|
||||
rest. Just take a look at virCgroupV2KillRecursive() - it gets
|
||||
'Any' controller (the first one it found in ".scope") and then
|
||||
passes it to virCgroupKillRecursiveInternal().
|
||||
|
||||
This assumption is not true though. The controllers found in
|
||||
".scope" are the following:
|
||||
|
||||
cpuset cpu io memory pids
|
||||
|
||||
while "libvirt" has fewer:
|
||||
|
||||
cpuset cpu io memory
|
||||
|
||||
Up until now it's not problem, because of how we order
|
||||
controllers internally - "cpu" is the first and thus picking
|
||||
"Any" controller returns just that. But the rest of directories
|
||||
has no controllers, their "cgroup.controllers" is just empty.
|
||||
|
||||
What fixes the bug is dropping @controller argument from
|
||||
virCgroupKillRecursiveInternal() and letting each iteration work
|
||||
pick its own controller.
|
||||
|
||||
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
||||
Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
|
||||
---
|
||||
src/util/vircgroup.c | 25 +++++++++++++++++++++++--
|
||||
src/util/vircgrouppriv.h | 1 -
|
||||
src/util/vircgroupv1.c | 7 +------
|
||||
src/util/vircgroupv2.c | 7 +------
|
||||
4 files changed, 25 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/src/util/vircgroup.c b/src/util/vircgroup.c
|
||||
index 96280a0a4e..37dde2a5ed 100644
|
||||
--- a/src/util/vircgroup.c
|
||||
+++ b/src/util/vircgroup.c
|
||||
@@ -1477,6 +1477,24 @@ virCgroupHasController(virCgroup *cgroup, int controller)
|
||||
}
|
||||
|
||||
|
||||
+static int
|
||||
+virCgroupGetAnyController(virCgroup *cgroup)
|
||||
+{
|
||||
+ size_t i;
|
||||
+
|
||||
+ for (i = 0; i < VIR_CGROUP_BACKEND_TYPE_LAST; i++) {
|
||||
+ if (!cgroup->backends[i])
|
||||
+ continue;
|
||||
+
|
||||
+ return cgroup->backends[i]->getAnyController(cgroup);
|
||||
+ }
|
||||
+
|
||||
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
|
||||
+ _("Unable to get any controller"));
|
||||
+ return -1;
|
||||
+}
|
||||
+
|
||||
+
|
||||
int
|
||||
virCgroupPathOfController(virCgroup *group,
|
||||
unsigned int controller,
|
||||
@@ -2715,11 +2733,11 @@ int
|
||||
virCgroupKillRecursiveInternal(virCgroup *group,
|
||||
int signum,
|
||||
GHashTable *pids,
|
||||
- int controller,
|
||||
const char *taskFile,
|
||||
bool dormdir)
|
||||
{
|
||||
int rc;
|
||||
+ int controller;
|
||||
bool killedAny = false;
|
||||
g_autofree char *keypath = NULL;
|
||||
g_autoptr(DIR) dp = NULL;
|
||||
@@ -2728,6 +2746,9 @@ virCgroupKillRecursiveInternal(virCgroup *group,
|
||||
VIR_DEBUG("group=%p signum=%d pids=%p taskFile=%s dormdir=%d",
|
||||
group, signum, pids, taskFile, dormdir);
|
||||
|
||||
+ if ((controller = virCgroupGetAnyController(group)) < 0)
|
||||
+ return -1;
|
||||
+
|
||||
if (virCgroupPathOfController(group, controller, "", &keypath) < 0)
|
||||
return -1;
|
||||
|
||||
@@ -2760,7 +2781,7 @@ virCgroupKillRecursiveInternal(virCgroup *group,
|
||||
return -1;
|
||||
|
||||
if ((rc = virCgroupKillRecursiveInternal(subgroup, signum, pids,
|
||||
- controller, taskFile, true)) < 0)
|
||||
+ taskFile, true)) < 0)
|
||||
return -1;
|
||||
if (rc == 1)
|
||||
killedAny = true;
|
||||
diff --git a/src/util/vircgrouppriv.h b/src/util/vircgrouppriv.h
|
||||
index 00193fb101..caf7ed84db 100644
|
||||
--- a/src/util/vircgrouppriv.h
|
||||
+++ b/src/util/vircgrouppriv.h
|
||||
@@ -135,6 +135,5 @@ int virCgroupRemoveRecursively(char *grppath);
|
||||
int virCgroupKillRecursiveInternal(virCgroup *group,
|
||||
int signum,
|
||||
GHashTable *pids,
|
||||
- int controller,
|
||||
const char *taskFile,
|
||||
bool dormdir);
|
||||
diff --git a/src/util/vircgroupv1.c b/src/util/vircgroupv1.c
|
||||
index 2cc7dd386a..8a04bb2e4a 100644
|
||||
--- a/src/util/vircgroupv1.c
|
||||
+++ b/src/util/vircgroupv1.c
|
||||
@@ -812,12 +812,7 @@ virCgroupV1KillRecursive(virCgroup *group,
|
||||
int signum,
|
||||
GHashTable *pids)
|
||||
{
|
||||
- int controller = virCgroupV1GetAnyController(group);
|
||||
-
|
||||
- if (controller < 0)
|
||||
- return -1;
|
||||
-
|
||||
- return virCgroupKillRecursiveInternal(group, signum, pids, controller,
|
||||
+ return virCgroupKillRecursiveInternal(group, signum, pids,
|
||||
"tasks", false);
|
||||
}
|
||||
|
||||
diff --git a/src/util/vircgroupv2.c b/src/util/vircgroupv2.c
|
||||
index e555217355..8881d3a88a 100644
|
||||
--- a/src/util/vircgroupv2.c
|
||||
+++ b/src/util/vircgroupv2.c
|
||||
@@ -577,12 +577,7 @@ virCgroupV2KillRecursive(virCgroup *group,
|
||||
int signum,
|
||||
GHashTable *pids)
|
||||
{
|
||||
- int controller = virCgroupV2GetAnyController(group);
|
||||
-
|
||||
- if (controller < 0)
|
||||
- return -1;
|
||||
-
|
||||
- return virCgroupKillRecursiveInternal(group, signum, pids, controller,
|
||||
+ return virCgroupKillRecursiveInternal(group, signum, pids,
|
||||
"cgroup.threads", false);
|
||||
}
|
||||
|
||||
--
|
||||
2.26.3
|
||||
|
@ -1,348 +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,9} )
|
||||
|
||||
inherit meson bash-completion-r1 eutils linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
SRC_URI=""
|
||||
SLOT="0"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="amd64 ~arm64 ~ppc64 x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/"
|
||||
LICENSE="LGPL-2.1"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
|
||||
IUSE="
|
||||
apparmor audit +caps dtrace firewalld fuse glusterfs iscsi
|
||||
iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.48.0
|
||||
dev-libs/libgcrypt:0
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-1.0.25:0=
|
||||
net-libs/libssh2
|
||||
net-libs/libtirpc
|
||||
net-libs/rpcsvc-proto
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:0= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-1.5.0
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6,script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( <net-analyzer/wireshark-3.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.6.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-doc-path.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
|
||||
"${FILESDIR}"/${PN}-7.3.0-vircgroup-Fix-virCgroupKillRecursive-wrt-nested-cont.patch
|
||||
"${FILESDIR}"/${PN}-7.0.0-fix_virtproxyd_unit_file.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP_NF_TARGET_MASQUERADE
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
# Handle specific kernel versions for different features
|
||||
kernel_is lt 3 6 && CONFIG_CHECK+=" ~CGROUP_MEM_RES_CTLR"
|
||||
if kernel_is ge 3 6; then
|
||||
CONFIG_CHECK+=" ~MEMCG ~MEMCG_SWAP "
|
||||
kernel_is lt 4 5 && CONFIG_CHECK+=" ~MEMCG_KMEM "
|
||||
fi
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_use apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
meson_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Remove bogus, empty directories. They are either not used, or
|
||||
# libvirtd is able to create them on demand
|
||||
rm -rf "${D}"/etc/sysconfig || die
|
||||
rm -rf "${D}"/var || die
|
||||
rm -rf "${D}"/run || die
|
||||
|
||||
# Fix up doc paths for revisions
|
||||
if [ ${PV} != ${PVR} ]; then
|
||||
mv "${ED}"/usr/share/doc/${PN}-${PV}/* "${ED}"/usr/share/doc/${PF} || die
|
||||
rmdir "${ED}"/usr/share/doc/${PN}-${PV} || die
|
||||
fi
|
||||
|
||||
newbashcomp "${S}/tools/bash-completion/vsh" virsh
|
||||
bashcomp_alias virsh virt-admin
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_preinst() {
|
||||
# we only ever want to generate this once
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
rm -rf "${ED}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
tmpfiles_process libvirtd.conf
|
||||
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,335 +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,9} )
|
||||
|
||||
inherit meson bash-completion-r1 linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
SRC_URI=""
|
||||
SLOT="0"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
|
||||
LICENSE="LGPL-2.1"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
|
||||
IUSE="
|
||||
apparmor audit +caps dtrace firewalld fuse glusterfs iscsi
|
||||
iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.48.0
|
||||
dev-libs/libgcrypt:0
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-1.0.25:0=
|
||||
net-libs/libssh2
|
||||
net-libs/libtirpc
|
||||
net-libs/rpcsvc-proto
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:0= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-1.5.0
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6,script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( <net-analyzer/wireshark-3.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.6.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-doc-path.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
|
||||
"${FILESDIR}"/${PN}-7.3.0-vircgroup-Fix-virCgroupKillRecursive-wrt-nested-cont.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP_NF_TARGET_MASQUERADE
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_use apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
meson_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Depending on configuration option, libvirt will create some bogus
|
||||
# directoreis. They are either not used, or libvirtd is able to create
|
||||
# them on demand, so let's remove them.
|
||||
#
|
||||
# Note, we are using -f here so that rm does not fail or warn if the
|
||||
# directory is nonexistent.
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
rm -rf "${D}"/run
|
||||
|
||||
# Fix up doc paths for revisions
|
||||
if [[ ${PV} != ${PVR} ]]; then
|
||||
mv "${ED}"/usr/share/doc/${PN}-${PV}/* "${ED}"/usr/share/doc/${PF} || die
|
||||
rmdir "${ED}"/usr/share/doc/${PN}-${PV} || die
|
||||
fi
|
||||
|
||||
newbashcomp "${S}/tools/bash-completion/vsh" virsh
|
||||
bashcomp_alias virsh virt-admin
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
tmpfiles_process libvirtd.conf
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,329 +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,9} )
|
||||
|
||||
inherit meson bash-completion-r1 linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
SRC_URI=""
|
||||
SLOT="0"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
|
||||
LICENSE="LGPL-2.1"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
|
||||
IUSE="
|
||||
apparmor audit +caps dtrace firewalld fuse glusterfs iscsi
|
||||
iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.48.0
|
||||
dev-libs/libgcrypt:0
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-1.0.25:0=
|
||||
net-libs/libssh2
|
||||
net-libs/libtirpc
|
||||
net-libs/rpcsvc-proto
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:0= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-1.5.0
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6,script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( <net-analyzer/wireshark-3.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.6.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
|
||||
"${FILESDIR}"/${PN}-7.3.0-vircgroup-Fix-virCgroupKillRecursive-wrt-nested-cont.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP_NF_TARGET_MASQUERADE
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_use apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
meson_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Depending on configuration option, libvirt will create some bogus
|
||||
# directoreis. They are either not used, or libvirtd is able to create
|
||||
# them on demand, so let's remove them.
|
||||
#
|
||||
# Note, we are using -f here so that rm does not fail or warn if the
|
||||
# directory is nonexistent.
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
rm -rf "${D}"/run
|
||||
|
||||
newbashcomp "${S}/tools/bash-completion/vsh" virsh
|
||||
bashcomp_alias virsh virt-admin
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
tmpfiles_process libvirtd.conf
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,326 +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,9} )
|
||||
|
||||
inherit meson bash-completion-r1 linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
SRC_URI=""
|
||||
SLOT="0"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="amd64 arm64 ~ppc64 x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
|
||||
LICENSE="LGPL-2.1"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
|
||||
IUSE="
|
||||
apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
|
||||
iscsi iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
bash-completion? ( >=app-shells/bash-completion-2.0 )
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.48.0
|
||||
dev-libs/libgcrypt:0
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-1.0.25:0=
|
||||
net-libs/libssh2
|
||||
net-libs/libtirpc
|
||||
net-libs/rpcsvc-proto
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:0= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-2.11
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6,script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( <net-analyzer/wireshark-3.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.6.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP_NF_TARGET_MASQUERADE
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_use apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
meson_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Depending on configuration option, libvirt will create some bogus
|
||||
# directoreis. They are either not used, or libvirtd is able to create
|
||||
# them on demand, so let's remove them.
|
||||
#
|
||||
# Note, we are using -f here so that rm does not fail or warn if the
|
||||
# directory is nonexistent.
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
rm -rf "${D}"/run
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
tmpfiles_process libvirtd.conf
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,327 +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,9} )
|
||||
|
||||
inherit meson bash-completion-r1 linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
EGIT_BRANCH="master"
|
||||
SRC_URI=""
|
||||
SLOT="0"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
|
||||
LICENSE="LGPL-2.1"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
|
||||
IUSE="
|
||||
apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
|
||||
iscsi iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
bash-completion? ( >=app-shells/bash-completion-2.0 )
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.48.0
|
||||
dev-libs/libgcrypt:0
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-1.0.25:0=
|
||||
net-libs/libssh2
|
||||
net-libs/libtirpc
|
||||
net-libs/rpcsvc-proto
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:0= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-2.11
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6,script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( <net-analyzer/wireshark-3.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.6.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP_NF_TARGET_MASQUERADE
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_use apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
meson_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Depending on configuration option, libvirt will create some bogus
|
||||
# directoreis. They are either not used, or libvirtd is able to create
|
||||
# them on demand, so let's remove them.
|
||||
#
|
||||
# Note, we are using -f here so that rm does not fail or warn if the
|
||||
# directory is nonexistent.
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
rm -rf "${D}"/run
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
tmpfiles_process libvirtd.conf
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,327 +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,9} )
|
||||
|
||||
inherit meson bash-completion-r1 linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
EGIT_BRANCH="master"
|
||||
SRC_URI=""
|
||||
SLOT="0"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
|
||||
LICENSE="LGPL-2.1"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
|
||||
IUSE="
|
||||
apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
|
||||
iscsi iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
bash-completion? ( >=app-shells/bash-completion-2.0 )
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.48.0
|
||||
dev-libs/libgcrypt:0
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-1.0.25:0=
|
||||
net-libs/libssh2
|
||||
net-libs/libtirpc
|
||||
net-libs/rpcsvc-proto
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:0= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-2.11
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6,script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( <net-analyzer/wireshark-3.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.9.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP_NF_TARGET_MASQUERADE
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_feature apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
meson_src_test
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Depending on configuration option, libvirt will create some bogus
|
||||
# directoreis. They are either not used, or libvirtd is able to create
|
||||
# them on demand, so let's remove them.
|
||||
#
|
||||
# Note, we are using -f here so that rm does not fail or warn if the
|
||||
# directory is nonexistent.
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
rm -rf "${D}"/run
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
tmpfiles_process libvirtd.conf
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,336 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit meson bash-completion-r1 linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
EGIT_BRANCH="master"
|
||||
SRC_URI=""
|
||||
SLOT="0"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
|
||||
LICENSE="LGPL-2.1"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
|
||||
IUSE="
|
||||
apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
|
||||
iscsi iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
bash-completion? ( >=app-shells/bash-completion-2.0 )
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.48.0
|
||||
dev-libs/libgcrypt:0
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-1.0.25:0=
|
||||
net-libs/libssh2
|
||||
net-libs/libtirpc
|
||||
net-libs/rpcsvc-proto
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:0= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-2.11
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6,script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( <net-analyzer/wireshark-3.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.9.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP_NF_TARGET_MASQUERADE
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Skip fragile tests which relies on pristine environment
|
||||
# (Breaks because of sandbox environment variables)
|
||||
# bug #802876
|
||||
sed -i -e "/commandtest/d" tests/meson.build || die
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_feature apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
# Don't run the syntax check tests, they're fragile and not relevant
|
||||
# to us downstream anyway.
|
||||
# We also crank up the timeout (as Fedora does) just to preempt failures
|
||||
# on slower arches.
|
||||
meson_src_test --no-suite syntax-check --timeout-multiplier 10
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Depending on configuration option, libvirt will create some bogus
|
||||
# directoreis. They are either not used, or libvirtd is able to create
|
||||
# them on demand, so let's remove them.
|
||||
#
|
||||
# Note, we are using -f here so that rm does not fail or warn if the
|
||||
# directory is nonexistent.
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
rm -rf "${D}"/run
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
tmpfiles_process libvirtd.conf
|
||||
readme.gentoo_print_elog
|
||||
}
|
@ -1,337 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{8..10} )
|
||||
|
||||
inherit meson bash-completion-r1 linux-info python-any-r1 readme.gentoo-r1 tmpfiles verify-sig
|
||||
|
||||
if [[ ${PV} = *9999* ]]; then
|
||||
inherit git-r3
|
||||
EGIT_REPO_URI="https://gitlab.com/libvirt/libvirt.git"
|
||||
EGIT_BRANCH="master"
|
||||
SRC_URI=""
|
||||
SLOT="0"
|
||||
else
|
||||
SRC_URI="https://libvirt.org/sources/${P}.tar.xz
|
||||
verify-sig? ( https://libvirt.org/sources/${P}.tar.xz.asc )"
|
||||
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
|
||||
SLOT="0/${PV}"
|
||||
fi
|
||||
|
||||
DESCRIPTION="C toolkit to manipulate virtual machines"
|
||||
HOMEPAGE="https://www.libvirt.org/ https://gitlab.com/libvirt/libvirt/"
|
||||
LICENSE="LGPL-2.1"
|
||||
VERIFY_SIG_OPENPGP_KEY_PATH=${BROOT}/usr/share/openpgp-keys/libvirt.org.asc
|
||||
IUSE="
|
||||
apparmor audit bash-completion +caps dtrace firewalld fuse glusterfs
|
||||
iscsi iscsi-direct +libvirtd lvm libssh lxc nfs nls numa openvz
|
||||
parted pcap policykit +qemu rbd sasl selinux +udev
|
||||
virtualbox +virt-network wireshark-plugins xen zfs
|
||||
"
|
||||
|
||||
REQUIRED_USE="
|
||||
firewalld? ( virt-network )
|
||||
libvirtd? ( || ( lxc openvz qemu virtualbox xen ) )
|
||||
lxc? ( caps libvirtd )
|
||||
openvz? ( libvirtd )
|
||||
qemu? ( libvirtd )
|
||||
virt-network? ( libvirtd )
|
||||
virtualbox? ( libvirtd )
|
||||
xen? ( libvirtd )"
|
||||
|
||||
BDEPEND="
|
||||
app-text/xhtml1
|
||||
dev-lang/perl
|
||||
dev-libs/libxslt
|
||||
dev-perl/XML-XPath
|
||||
dev-python/docutils
|
||||
virtual/pkgconfig
|
||||
bash-completion? ( >=app-shells/bash-completion-2.0 )
|
||||
verify-sig? ( sec-keys/openpgp-keys-libvirt )"
|
||||
|
||||
# gettext.sh command is used by the libvirt command wrappers, and it's
|
||||
# non-optional, so put it into RDEPEND.
|
||||
# We can use both libnl:1.1 and libnl:3, but if you have both installed, the
|
||||
# package will use 3 by default. Since we don't have slot pinning in an API,
|
||||
# we must go with the most recent
|
||||
RDEPEND="
|
||||
acct-user/qemu
|
||||
app-misc/scrub
|
||||
>=dev-libs/glib-2.48.0
|
||||
dev-libs/libgcrypt:0
|
||||
dev-libs/libnl:3
|
||||
>=dev-libs/libxml2-2.7.6
|
||||
>=net-analyzer/openbsd-netcat-1.105-r1
|
||||
>=net-libs/gnutls-1.0.25:0=
|
||||
net-libs/libssh2
|
||||
net-libs/libtirpc
|
||||
net-libs/rpcsvc-proto
|
||||
>=net-misc/curl-7.18.0
|
||||
sys-apps/dbus
|
||||
sys-apps/dmidecode
|
||||
sys-devel/gettext
|
||||
sys-libs/ncurses:0=
|
||||
sys-libs/readline:=
|
||||
virtual/acl
|
||||
apparmor? ( sys-libs/libapparmor )
|
||||
audit? ( sys-process/audit )
|
||||
caps? ( sys-libs/libcap-ng )
|
||||
dtrace? ( dev-util/systemtap )
|
||||
firewalld? ( >=net-firewall/firewalld-0.6.3 )
|
||||
fuse? ( sys-fs/fuse:0= )
|
||||
glusterfs? ( >=sys-cluster/glusterfs-3.4.1 )
|
||||
iscsi? ( sys-block/open-iscsi )
|
||||
iscsi-direct? ( >=net-libs/libiscsi-1.18.0 )
|
||||
libssh? ( net-libs/libssh )
|
||||
lvm? ( >=sys-fs/lvm2-2.02.48-r2[-device-mapper-only(-)] )
|
||||
lxc? ( !sys-apps/systemd[cgroup-hybrid(-)] )
|
||||
nfs? ( net-fs/nfs-utils )
|
||||
numa? (
|
||||
>sys-process/numactl-2.0.2
|
||||
sys-process/numad
|
||||
)
|
||||
parted? (
|
||||
>=sys-block/parted-1.8[device-mapper]
|
||||
sys-fs/lvm2[-device-mapper-only(-)]
|
||||
)
|
||||
pcap? ( >=net-libs/libpcap-1.0.0 )
|
||||
policykit? (
|
||||
acct-group/libvirt
|
||||
>=sys-auth/polkit-0.9
|
||||
)
|
||||
qemu? (
|
||||
>=app-emulation/qemu-2.11
|
||||
dev-libs/yajl
|
||||
)
|
||||
rbd? ( sys-cluster/ceph )
|
||||
sasl? ( dev-libs/cyrus-sasl )
|
||||
selinux? ( >=sys-libs/libselinux-2.0.85 )
|
||||
virt-network? (
|
||||
net-dns/dnsmasq[dhcp,ipv6,script]
|
||||
net-firewall/ebtables
|
||||
>=net-firewall/iptables-1.4.10[ipv6]
|
||||
net-misc/radvd
|
||||
sys-apps/iproute2[-minimal]
|
||||
)
|
||||
wireshark-plugins? ( <net-analyzer/wireshark-3.6.0:= )
|
||||
xen? (
|
||||
>=app-emulation/xen-4.9.0
|
||||
app-emulation/xen-tools:=
|
||||
)
|
||||
udev? (
|
||||
virtual/libudev
|
||||
>=x11-libs/libpciaccess-0.10.9
|
||||
)
|
||||
zfs? ( sys-fs/zfs )"
|
||||
|
||||
DEPEND="${BDEPEND}
|
||||
${RDEPEND}
|
||||
${PYTHON_DEPS}"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}"/${PN}-6.0.0-fix_paths_in_libvirt-guests_sh.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-do-not-use-sysconfig.patch
|
||||
"${FILESDIR}"/${PN}-6.7.0-fix-paths-for-apparmor.patch
|
||||
"${FILESDIR}"/${PN}-7.9.0-fix_cgroupv2.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
# Check kernel configuration:
|
||||
CONFIG_CHECK=""
|
||||
use fuse && CONFIG_CHECK+="
|
||||
~FUSE_FS"
|
||||
|
||||
use lvm && CONFIG_CHECK+="
|
||||
~BLK_DEV_DM
|
||||
~DM_MULTIPATH
|
||||
~DM_SNAPSHOT"
|
||||
|
||||
use lxc && CONFIG_CHECK+="
|
||||
~BLK_CGROUP
|
||||
~CGROUP_CPUACCT
|
||||
~CGROUP_DEVICE
|
||||
~CGROUP_FREEZER
|
||||
~CGROUP_NET_PRIO
|
||||
~CGROUP_PERF
|
||||
~CGROUPS
|
||||
~CGROUP_SCHED
|
||||
~CPUSETS
|
||||
~IPC_NS
|
||||
~MACVLAN
|
||||
~NAMESPACES
|
||||
~NET_CLS_CGROUP
|
||||
~NET_NS
|
||||
~PID_NS
|
||||
~POSIX_MQUEUE
|
||||
~SECURITYFS
|
||||
~USER_NS
|
||||
~UTS_NS
|
||||
~VETH
|
||||
~!GRKERNSEC_CHROOT_MOUNT
|
||||
~!GRKERNSEC_CHROOT_DOUBLE
|
||||
~!GRKERNSEC_CHROOT_PIVOT
|
||||
~!GRKERNSEC_CHROOT_CHMOD
|
||||
~!GRKERNSEC_CHROOT_CAPS"
|
||||
|
||||
kernel_is lt 4 7 && use lxc && CONFIG_CHECK+="
|
||||
~DEVPTS_MULTIPLE_INSTANCES"
|
||||
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_MARK_T
|
||||
~BRIDGE_NF_EBTABLES
|
||||
~NETFILTER_ADVANCED
|
||||
~NETFILTER_XT_CONNMARK
|
||||
~NETFILTER_XT_MARK
|
||||
~NETFILTER_XT_TARGET_CHECKSUM
|
||||
~IP_NF_FILTER
|
||||
~IP_NF_MANGLE
|
||||
~IP_NF_NAT
|
||||
~IP_NF_TARGET_MASQUERADE
|
||||
~IP6_NF_FILTER
|
||||
~IP6_NF_MANGLE
|
||||
~IP6_NF_NAT"
|
||||
# Bandwidth Limiting Support
|
||||
use virt-network && CONFIG_CHECK+="
|
||||
~BRIDGE_EBT_T_NAT
|
||||
~IP_NF_TARGET_REJECT
|
||||
~NET_ACT_POLICE
|
||||
~NET_CLS_FW
|
||||
~NET_CLS_U32
|
||||
~NET_SCH_HTB
|
||||
~NET_SCH_INGRESS
|
||||
~NET_SCH_SFQ"
|
||||
|
||||
ERROR_USER_NS="Optional depending on LXC configuration."
|
||||
|
||||
if [[ -n ${CONFIG_CHECK} ]]; then
|
||||
linux-info_pkg_setup
|
||||
fi
|
||||
|
||||
python-any-r1_pkg_setup
|
||||
}
|
||||
|
||||
src_prepare() {
|
||||
touch "${S}/.mailmap" || die
|
||||
|
||||
default
|
||||
python_fix_shebang .
|
||||
|
||||
# Skip fragile tests which relies on pristine environment
|
||||
# (Breaks because of sandbox environment variables)
|
||||
# bug #802876
|
||||
sed -i -e "/commandtest/d" tests/meson.build || die
|
||||
|
||||
# Tweak the init script:
|
||||
cp "${FILESDIR}/libvirtd.init-r19" "${S}/libvirtd.init" || die
|
||||
sed -e "s/USE_FLAG_FIREWALLD/$(usex firewalld 'need firewalld' '')/" \
|
||||
-i "${S}/libvirtd.init" || die "sed failed"
|
||||
}
|
||||
|
||||
src_configure() {
|
||||
local emesonargs=(
|
||||
$(meson_feature apparmor)
|
||||
$(meson_feature apparmor apparmor_profiles)
|
||||
$(meson_feature audit)
|
||||
$(meson_feature caps capng)
|
||||
$(meson_feature dtrace)
|
||||
$(meson_feature firewalld)
|
||||
$(meson_feature fuse)
|
||||
$(meson_feature glusterfs)
|
||||
$(meson_feature glusterfs storage_gluster)
|
||||
$(meson_feature iscsi storage_iscsi)
|
||||
$(meson_feature iscsi-direct storage_iscsi_direct)
|
||||
$(meson_feature libvirtd driver_libvirtd)
|
||||
$(meson_feature libssh)
|
||||
$(meson_feature lvm storage_lvm)
|
||||
$(meson_feature lvm storage_mpath)
|
||||
$(meson_feature lxc driver_lxc)
|
||||
$(meson_feature nls)
|
||||
$(meson_feature numa numactl)
|
||||
$(meson_feature numa numad)
|
||||
$(meson_feature openvz driver_openvz)
|
||||
$(meson_feature parted storage_disk)
|
||||
$(meson_feature pcap libpcap)
|
||||
$(meson_feature policykit polkit)
|
||||
$(meson_feature qemu driver_qemu)
|
||||
$(meson_feature qemu yajl)
|
||||
$(meson_feature rbd storage_rbd)
|
||||
$(meson_feature sasl)
|
||||
$(meson_feature selinux)
|
||||
$(meson_feature udev)
|
||||
$(meson_feature virt-network driver_network)
|
||||
$(meson_feature virtualbox driver_vbox)
|
||||
$(meson_feature wireshark-plugins wireshark_dissector)
|
||||
$(meson_feature xen driver_libxl)
|
||||
$(meson_feature zfs storage_zfs)
|
||||
|
||||
-Dnetcf=disabled
|
||||
-Dsanlock=disabled
|
||||
|
||||
-Ddriver_esx=enabled
|
||||
-Dinit_script=systemd
|
||||
-Dqemu_user=$(usex caps qemu root)
|
||||
-Dqemu_group=$(usex caps qemu root)
|
||||
-Ddriver_remote=enabled
|
||||
-Dstorage_fs=enabled
|
||||
-Ddriver_vmware=enabled
|
||||
|
||||
--localstatedir="${EPREFIX}/var"
|
||||
-Drunstatedir="${EPREFIX}/run"
|
||||
-Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
|
||||
)
|
||||
|
||||
meson_src_configure
|
||||
}
|
||||
|
||||
src_test() {
|
||||
export VIR_TEST_DEBUG=1
|
||||
# Don't run the syntax check tests, they're fragile and not relevant
|
||||
# to us downstream anyway.
|
||||
# We also crank up the timeout (as Fedora does) just to preempt failures
|
||||
# on slower arches.
|
||||
meson_src_test --no-suite syntax-check --timeout-multiplier 10
|
||||
}
|
||||
|
||||
src_install() {
|
||||
meson_src_install
|
||||
|
||||
# Depending on configuration option, libvirt will create some bogus
|
||||
# directoreis. They are either not used, or libvirtd is able to create
|
||||
# them on demand, so let's remove them.
|
||||
#
|
||||
# Note, we are using -f here so that rm does not fail or warn if the
|
||||
# directory is nonexistent.
|
||||
rm -rf "${D}"/etc/sysconfig
|
||||
rm -rf "${D}"/var
|
||||
rm -rf "${D}"/run
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
|
||||
newtmpfiles "${FILESDIR}"/libvirtd.tmpfiles.conf libvirtd.conf
|
||||
|
||||
newinitd "${S}/libvirtd.init" libvirtd
|
||||
newinitd "${FILESDIR}/libvirt-guests.init-r4" libvirt-guests
|
||||
newinitd "${FILESDIR}/virtlockd.init-r2" virtlockd
|
||||
newinitd "${FILESDIR}/virtlogd.init-r2" virtlogd
|
||||
|
||||
newconfd "${FILESDIR}/libvirtd.confd-r5" libvirtd
|
||||
newconfd "${FILESDIR}/libvirt-guests.confd" libvirt-guests
|
||||
|
||||
DOC_CONTENTS=$(<"${FILESDIR}/README.gentoo-r3")
|
||||
DISABLE_AUTOFORMATTING=true
|
||||
readme.gentoo_create_doc
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
if [[ -e "${ROOT}"/etc/libvirt/qemu/networks/default.xml ]]; then
|
||||
touch "${ROOT}"/etc/libvirt/qemu/networks/default.xml || die
|
||||
fi
|
||||
|
||||
use libvirtd || return 0
|
||||
# From here, only libvirtd-related instructions, be warned!
|
||||
tmpfiles_process libvirtd.conf
|
||||
readme.gentoo_print_elog
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,2 +1,2 @@
|
||||
DIST rush-2.0.tar.xz 810096 BLAKE2B 793f341910cfa5e1560928ea96234ebcd5185e00450c81fd03e67598227973248ebe2dd12fecaba135fcf991d830e44d2e8b273ff251d1f9b8038df2575ae3cd SHA512 7087962d0489e2cdac903abf193e7b1306ae8f76eae7f722f105a70a14aae3d72627de230edd104da34ea31aa07cdc8024eff33a9c70b987a2111435fe2a684e
|
||||
DIST rush-2.1.tar.xz 811160 BLAKE2B 88cd95da8b3ec03f52bc9a38e44091051f5b7daaa7a49c630f6ad30c5c6e3945ec69225dddcdfacefdbe9aa39e654fc65965af2c5925848c61975413692f95ec SHA512 388439a5436429eb0ed35009b8828a14566fd2e3671eea5e4d88285058084e5c921088824cb3626d755d1af4ad83a3edd39648173f0f0bafdc5b8751e94524aa
|
||||
DIST rush-2.2.tar.xz 815380 BLAKE2B 90858039d428233af389aa3d63b8b40c3415210b0145a524e7b18ec4f348f8694f0d6794f2646669c6742da3a7d85c3931ac3a65d4d3fb57d1d8be945d84cc10 SHA512 aab8ddf2eaacee6a94ad0388376d5703f96e8dcbe794bf38e7961527448b998450cd51b7593d2b1424c274a6cef273ae0c194e446871bb446beea31f2b5c8144
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Copyright 1999-2019 Gentoo Authors
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
EAPI=8
|
||||
|
||||
DESCRIPTION="Restricted User Shell"
|
||||
HOMEPAGE="https://puszcza.gnu.org.ua/projects/rush/"
|
Binary file not shown.
@ -0,0 +1,272 @@
|
||||
From 581548a1de9449efc0c77e9ac85c23066bac983e Mon Sep 17 00:00:00 2001
|
||||
From: "Friedrich W. H. Kossebau" <kossebau@kde.org>
|
||||
Date: Wed, 8 Sep 2021 00:58:25 +0200
|
||||
Subject: [PATCH] Adapt to new Akonadi libraries includes using the C++
|
||||
namespace as prefix
|
||||
|
||||
GIT_SILENT
|
||||
---
|
||||
src/kjotsedit.cpp | 5 +++++
|
||||
src/kjotsmodel.cpp | 6 ++++++
|
||||
src/kjotsmodel.h | 6 ++++++
|
||||
src/kjotswidget.cpp | 20 +++++++++++++++++++-
|
||||
src/kjotswidget.h | 5 +++++
|
||||
src/noteshared/notecreatorandselector.cpp | 7 +++++++
|
||||
src/noteshared/notecreatorandselector.h | 6 ++++++
|
||||
src/noteshared/notelockattribute.h | 6 ++++++
|
||||
src/noteshared/notepinattribute.h | 6 ++++++
|
||||
src/noteshared/standardnoteactionmanager.cpp | 8 ++++++++
|
||||
src/noteshared/standardnoteactionmanager.h | 9 +++++++--
|
||||
src/notesortproxymodel.cpp | 5 +++++
|
||||
12 files changed, 86 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/kjotsedit.cpp b/src/kjotsedit.cpp
|
||||
index f1d61bd..c20bc42 100644
|
||||
--- a/src/kjotsedit.cpp
|
||||
+++ b/src/kjotsedit.cpp
|
||||
@@ -33,7 +33,12 @@
|
||||
#include <KPIMTextEdit/RichTextComposerActions>
|
||||
#include <KPIMTextEdit/RichTextComposerImages>
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/Item>
|
||||
+#else
|
||||
#include <AkonadiCore/Item>
|
||||
+#endif
|
||||
|
||||
#include "kjotslinkdialog.h"
|
||||
#include "kjotsmodel.h"
|
||||
diff --git a/src/kjotsmodel.cpp b/src/kjotsmodel.cpp
|
||||
index e35c94f..99ee14f 100644
|
||||
--- a/src/kjotsmodel.cpp
|
||||
+++ b/src/kjotsmodel.cpp
|
||||
@@ -13,8 +13,14 @@
|
||||
#include <QTextDocument>
|
||||
#include <QIcon>
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/ChangeRecorder>
|
||||
+#include <Akonadi/EntityDisplayAttribute>
|
||||
+#else
|
||||
#include <AkonadiCore/ChangeRecorder>
|
||||
#include <AkonadiCore/EntityDisplayAttribute>
|
||||
+#endif
|
||||
#include <Akonadi/Notes/NoteUtils>
|
||||
|
||||
#include <KMime/Message>
|
||||
diff --git a/src/kjotsmodel.h b/src/kjotsmodel.h
|
||||
index 71e0ca6..ec564a7 100644
|
||||
--- a/src/kjotsmodel.h
|
||||
+++ b/src/kjotsmodel.h
|
||||
@@ -10,7 +10,13 @@
|
||||
#ifndef KJOTSMODEL_H
|
||||
#define KJOTSMODEL_H
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#include <QtGlobal> // for QT_VERSION_CHECK
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/EntityTreeModel>
|
||||
+#else
|
||||
#include <AkonadiCore/EntityTreeModel>
|
||||
+#endif
|
||||
|
||||
class QTextDocument;
|
||||
|
||||
diff --git a/src/kjotswidget.cpp b/src/kjotswidget.cpp
|
||||
index 3a3abd0..834fc33 100644
|
||||
--- a/src/kjotswidget.cpp
|
||||
+++ b/src/kjotswidget.cpp
|
||||
@@ -35,6 +35,24 @@
|
||||
|
||||
// Akonadi
|
||||
#include <Akonadi/Notes/NoteUtils>
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/AttributeFactory>
|
||||
+#include <Akonadi/CollectionCreateJob>
|
||||
+#include <Akonadi/CollectionDeleteJob>
|
||||
+#include <Akonadi/ChangeRecorder>
|
||||
+#include <Akonadi/EntityDisplayAttribute>
|
||||
+#include <Akonadi/EntityMimeTypeFilterModel>
|
||||
+#include <Akonadi/Item>
|
||||
+#include <Akonadi/ItemCreateJob>
|
||||
+#include <Akonadi/ItemModifyJob>
|
||||
+#include <Akonadi/ItemDeleteJob>
|
||||
+#include <Akonadi/ItemFetchScope>
|
||||
+#include <Akonadi/EntityOrderProxyModel>
|
||||
+#include <Akonadi/EntityTreeView>
|
||||
+#include <Akonadi/ETMViewStateSaver>
|
||||
+#include <Akonadi/ControlGui>
|
||||
+#else
|
||||
#include <AkonadiCore/AttributeFactory>
|
||||
#include <AkonadiCore/CollectionCreateJob>
|
||||
#include <AkonadiCore/CollectionDeleteJob>
|
||||
@@ -50,7 +68,7 @@
|
||||
#include <AkonadiWidgets/EntityTreeView>
|
||||
#include <AkonadiWidgets/ETMViewStateSaver>
|
||||
#include <AkonadiWidgets/ControlGui>
|
||||
-
|
||||
+#endif
|
||||
// Grantlee
|
||||
#include <grantlee/template.h>
|
||||
#include <grantlee/engine.h>
|
||||
diff --git a/src/kjotswidget.h b/src/kjotswidget.h
|
||||
index 7fe91ed..00a41b5 100644
|
||||
--- a/src/kjotswidget.h
|
||||
+++ b/src/kjotswidget.h
|
||||
@@ -18,7 +18,12 @@
|
||||
#include <QAbstractItemDelegate>
|
||||
#include <QPrinter>
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/Collection>
|
||||
+#else
|
||||
#include <AkonadiCore/Collection>
|
||||
+#endif
|
||||
|
||||
#include <grantlee/templateloader.h>
|
||||
|
||||
diff --git a/src/noteshared/notecreatorandselector.cpp b/src/noteshared/notecreatorandselector.cpp
|
||||
index 2172cbf..6d58c83 100644
|
||||
--- a/src/noteshared/notecreatorandselector.cpp
|
||||
+++ b/src/noteshared/notecreatorandselector.cpp
|
||||
@@ -14,9 +14,16 @@
|
||||
|
||||
#include <KMime/Message>
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/EntityDisplayAttribute>
|
||||
+#include <Akonadi/EntityTreeModel>
|
||||
+#include <Akonadi/ItemCreateJob>
|
||||
+#else
|
||||
#include <AkonadiCore/EntityDisplayAttribute>
|
||||
#include <AkonadiCore/EntityTreeModel>
|
||||
#include <AkonadiCore/ItemCreateJob>
|
||||
+#endif
|
||||
#include <Akonadi/Notes/NoteUtils>
|
||||
|
||||
#include "noteshared_debug.h"
|
||||
diff --git a/src/noteshared/notecreatorandselector.h b/src/noteshared/notecreatorandselector.h
|
||||
index 90055cf..986d042 100644
|
||||
--- a/src/noteshared/notecreatorandselector.h
|
||||
+++ b/src/noteshared/notecreatorandselector.h
|
||||
@@ -14,8 +14,14 @@
|
||||
#include <QItemSelectionModel>
|
||||
#include <QTimer>
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/Collection>
|
||||
+#include <Akonadi/Item>
|
||||
+#else
|
||||
#include <AkonadiCore/Collection>
|
||||
#include <AkonadiCore/Item>
|
||||
+#endif
|
||||
|
||||
class KJob;
|
||||
|
||||
diff --git a/src/noteshared/notelockattribute.h b/src/noteshared/notelockattribute.h
|
||||
index 9bdd8a2..b0ee819 100644
|
||||
--- a/src/noteshared/notelockattribute.h
|
||||
+++ b/src/noteshared/notelockattribute.h
|
||||
@@ -11,7 +11,13 @@
|
||||
#ifndef KJOTS_LOCK_ATTRIBUTE_H
|
||||
#define KJOTS_LOCK_ATTRIBUTE_H
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#include <QtGlobal> // for QT_VERSION_CHECK
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/Attribute>
|
||||
+#else
|
||||
#include <AkonadiCore/Attribute>
|
||||
+#endif
|
||||
|
||||
namespace NoteShared
|
||||
{
|
||||
diff --git a/src/noteshared/notepinattribute.h b/src/noteshared/notepinattribute.h
|
||||
index 3026dea..5f3903c 100644
|
||||
--- a/src/noteshared/notepinattribute.h
|
||||
+++ b/src/noteshared/notepinattribute.h
|
||||
@@ -9,7 +9,13 @@
|
||||
#ifndef NOTE_PIN_ATTRIBUTE_H
|
||||
#define NOTE_PIN_ATTRIBUTE_H
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#include <QtGlobal> // for QT_VERSION_CHECK
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/Attribute>
|
||||
+#else
|
||||
#include <AkonadiCore/Attribute>
|
||||
+#endif
|
||||
|
||||
namespace NoteShared
|
||||
{
|
||||
diff --git a/src/noteshared/standardnoteactionmanager.cpp b/src/noteshared/standardnoteactionmanager.cpp
|
||||
index a3f4b8b..2a2f4ce 100644
|
||||
--- a/src/noteshared/standardnoteactionmanager.cpp
|
||||
+++ b/src/noteshared/standardnoteactionmanager.cpp
|
||||
@@ -13,10 +13,18 @@
|
||||
#include <QColorDialog>
|
||||
#include <QItemSelectionModel>
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/EntityDisplayAttribute>
|
||||
+#include <Akonadi/EntityTreeModel>
|
||||
+#include <Akonadi/CollectionModifyJob>
|
||||
+#include <Akonadi/ItemModifyJob>
|
||||
+#else
|
||||
#include <AkonadiCore/EntityDisplayAttribute>
|
||||
#include <AkonadiCore/EntityTreeModel>
|
||||
#include <AkonadiCore/CollectionModifyJob>
|
||||
#include <AkonadiCore/ItemModifyJob>
|
||||
+#endif
|
||||
#include <Akonadi/Notes/NoteUtils>
|
||||
|
||||
#include <KXmlGui/KActionCollection>
|
||||
diff --git a/src/noteshared/standardnoteactionmanager.h b/src/noteshared/standardnoteactionmanager.h
|
||||
index fe80dae..6605820 100644
|
||||
--- a/src/noteshared/standardnoteactionmanager.h
|
||||
+++ b/src/noteshared/standardnoteactionmanager.h
|
||||
@@ -10,10 +10,15 @@
|
||||
#ifndef AKONADI_STANDARDNOTESACTIONMANAGER_H
|
||||
#define AKONADI_STANDARDNOTESACTIONMANAGER_H
|
||||
|
||||
-#include <AkonadiWidgets/StandardActionManager>
|
||||
-
|
||||
#include <QObject>
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/StandardActionManager>
|
||||
+#else
|
||||
+#include <AkonadiWidgets/StandardActionManager>
|
||||
+#endif
|
||||
+
|
||||
class QAction;
|
||||
class KActionCollection;
|
||||
class QItemSelectionModel;
|
||||
diff --git a/src/notesortproxymodel.cpp b/src/notesortproxymodel.cpp
|
||||
index 89def1c..dbe582f 100644
|
||||
--- a/src/notesortproxymodel.cpp
|
||||
+++ b/src/notesortproxymodel.cpp
|
||||
@@ -8,7 +8,12 @@
|
||||
|
||||
#include "notesortproxymodel.h"
|
||||
|
||||
+#include <akonadi_version.h>
|
||||
+#if AKONADI_VERSION >= QT_VERSION_CHECK(5, 18, 41)
|
||||
+#include <Akonadi/EntityTreeModel>
|
||||
+#else
|
||||
#include <AkonadiCore/EntityTreeModel>
|
||||
+#endif
|
||||
|
||||
#include "noteshared/notepinattribute.h"
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
@ -0,0 +1,26 @@
|
||||
From 8803636bf4e0238d0f23bedebdcb4d1e6283ffb7 Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Fella <nicolas.fella@gmx.de>
|
||||
Date: Mon, 26 Apr 2021 17:09:51 +0200
|
||||
Subject: [PATCH] Make dependency on KI18n explicit
|
||||
|
||||
It already pulled in by KParts, but we better not rely on that
|
||||
---
|
||||
src/kontact_plugin/CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/kontact_plugin/CMakeLists.txt b/src/kontact_plugin/CMakeLists.txt
|
||||
index dec4b8b..f1d56ec 100644
|
||||
--- a/src/kontact_plugin/CMakeLists.txt
|
||||
+++ b/src/kontact_plugin/CMakeLists.txt
|
||||
@@ -13,7 +13,7 @@ set(kontact_kjots_PART_SRCS
|
||||
)
|
||||
|
||||
add_library(kontact_kjotsplugin MODULE ${kontact_kjots_PART_SRCS})
|
||||
-target_link_libraries(kontact_kjotsplugin KF5::KontactInterface)
|
||||
+target_link_libraries(kontact_kjotsplugin KF5::I18n KF5::KontactInterface)
|
||||
kcoreaddons_desktop_to_json(kontact_kjotsplugin kjotsplugin.desktop)
|
||||
|
||||
install(TARGETS kontact_kjotsplugin DESTINATION ${KDE_INSTALL_PLUGINDIR}/kontact5)
|
||||
--
|
||||
GitLab
|
||||
|
@ -0,0 +1,25 @@
|
||||
From 3d3cee8caeec813802a1af54c14805203fb1ddf6 Mon Sep 17 00:00:00 2001
|
||||
From: "Friedrich W. H. Kossebau" <kossebau@kde.org>
|
||||
Date: Tue, 7 Sep 2021 23:21:34 +0200
|
||||
Subject: [PATCH] noteshared: add missing library to link list
|
||||
|
||||
GIT_SILENT
|
||||
---
|
||||
src/noteshared/CMakeLists.txt | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/noteshared/CMakeLists.txt b/src/noteshared/CMakeLists.txt
|
||||
index 5de60ab..6aa0b0a 100644
|
||||
--- a/src/noteshared/CMakeLists.txt
|
||||
+++ b/src/noteshared/CMakeLists.txt
|
||||
@@ -16,6 +16,7 @@ target_link_libraries(noteshared
|
||||
Qt5::Core
|
||||
Qt5::Widgets
|
||||
KF5::I18n
|
||||
+ KF5::AkonadiWidgets
|
||||
KF5::AkonadiCore
|
||||
KF5::AkonadiNotes
|
||||
KF5::XmlGui
|
||||
--
|
||||
GitLab
|
||||
|
@ -1 +1,2 @@
|
||||
DIST xchm-1.32.tar.gz 986604 BLAKE2B f2a1d27ee747bb2d599452f1fa91864afbd2d604e9c27322d70c0925c9c313d4c80ab647ed5bb7ae3672687decfaafb2be23f7b9ed09fb95ae7490b0a65d7cab SHA512 e8250660ff28c80ddda62b886b296d98fb60e8d482ad6791c775a51a860ca78e310222bd0f5baa40c941a3f345c0bb07edb932c0417835ab0b090d14b7b4c0f6
|
||||
DIST xchm-1.33.tar.gz 886169 BLAKE2B 26b6c664307de3ef1bef21d3fd240b5636f5abc8196c5aa1b7cd6b91f12addbbd5a8c54d133de2fd8ce9132ea2677f79f0ef722b1da6c87429cd3df54d208585 SHA512 06f5c191ef9f2c608259261839d6641f202a21150a6622b8162e06e3cc857802390f551dcef47f25d048b3d407511c5a8cc6aabd3003942006847366ebb08989
|
||||
|
@ -0,0 +1,48 @@
|
||||
# Copyright 1999-2022 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
WX_GTK_VER="3.0-gtk3"
|
||||
|
||||
inherit desktop wxwidgets xdg-utils
|
||||
|
||||
DESCRIPTION="Utility for viewing Compiled HTML Help (CHM) files"
|
||||
HOMEPAGE="https://github.com/rzvncj/xCHM/"
|
||||
SRC_URI="https://github.com/rzvncj/xCHM/releases/download/${PV}/${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~ppc ~riscv ~x86"
|
||||
IUSE="nls"
|
||||
|
||||
RDEPEND=">=dev-libs/chmlib-0.36
|
||||
x11-libs/wxGTK:${WX_GTK_VER}[X]
|
||||
nls? ( virtual/libintl )"
|
||||
DEPEND="${RDEPEND}"
|
||||
BDEPEND="nls? ( sys-devel/gettext )"
|
||||
|
||||
src_configure() {
|
||||
setup-wxwidgets
|
||||
econf $(use_enable nls)
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default
|
||||
|
||||
domenu "${FILESDIR}"/xchm.desktop
|
||||
insinto /usr/share/mime/packages
|
||||
doins "${FILESDIR}"/xchm.xml
|
||||
}
|
||||
|
||||
pkg_postinst() {
|
||||
xdg_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
||||
|
||||
pkg_postrm() {
|
||||
xdg_desktop_database_update
|
||||
xdg_icon_cache_update
|
||||
xdg_mimeinfo_database_update
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,28 +1,16 @@
|
||||
DIST julia-1.5.2-freebsd-x86_64.tar.gz 95898744 BLAKE2B dddafa63acc943bfc06eeae3fa9a3ef9b7484b29b88d37bf064ded255c836678f5d02dec0f7fa788bb763894acae5c51937882ed0391dcf66792198fec7dbce7 SHA512 13e4d1a7e01cd759d64c8ec3d85501904439fde5a9e2cb394963a8977035cd33b241fab27bf0642b069f202ead1d6c84f633002df3b27c4aa60e7adf45a3a8b1
|
||||
DIST julia-1.5.2-linux-aarch64.tar.gz 97088109 BLAKE2B 01aa5337cd1fc15655b596959cef8e54b56d8bb11fbced728df301a197aad550f0113b50c0b9e3cab34ea1082e176ced0398cde4e1d7c6d14a72b9a9cab937ea SHA512 09ac5360faae81eb9c78da5831d20f1f2d2c7a93561f6f2857015b579796a059cdecf529c283c9c37dd55163ce3e7b6cd175ee02734f1e11aa12f1163bd6587c
|
||||
DIST julia-1.5.2-linux-i686.tar.gz 101473619 BLAKE2B a87cb4cb38236e87041fac1012841d5aed25383bfb212188f4c23f4a961654d8a3b03b85dd5563f83620aa98323e2d2692107eda47559cf9ae332006453a139d SHA512 2ceb56bcae051815d585d3f36b4ae323ad7a3e383e75c07d87cb555fc2463d1a6017fd120f52a1f7110b803bfa546a34e62e8958765b52124612782ac3daf403
|
||||
DIST julia-1.5.2-linux-x86_64.tar.gz 105324048 BLAKE2B 410db75cb5b7ed269fd0d8f827773f50ff127ded3346e2f5fe908a1f9c0dd0f00b7600c5343853aaa0dfec3a616f657c52c96290f9c6ea012efcbc2a2b72e701 SHA512 5d14369b6296aa5fa0f7a58ce6b85dc25612ef508ee8dc1dcce7fe3a64de62b77daf419ea5d3a0a78345345787cb3ed563717ecc04df0c4d68b6d60593750f62
|
||||
DIST julia-1.5.2-musl-x86_64.tar.gz 101730667 BLAKE2B 1b213a246779815b79f47e6c287f0c7eb438dce42bc9e3e39681dcc0818c7a8c81f7040443c06fd323adb693c96b61cc69099c5df375cae119020ba9d0bb11cd SHA512 5cfbf7938f50286077e132815e10ce4e1e5a589a772ae3b946488d3126713e72ba393e1a45b3bc38b5bc43fc183e7f99b622c8c0d9d939330b142cdee24fccb3
|
||||
DIST julia-1.5.3-freebsd-x86_64.tar.gz 95919875 BLAKE2B 620c295a3d0fa9a31ed01b936ddabd001cee621969f61a9165e03ebee05cd1384c62bccd95f4df15ba49f9d6feec16f05c367820c0907919f67809ca136b70bc SHA512 e767bfb3cef034262dc12e0da4006e80d20cc7c971906f5ad355c971e7c751830972a2f4aa47d18fc2a79eb5454f8f160c0c38d536510291690fa6e1da3c83a3
|
||||
DIST julia-1.5.3-linux-aarch64.tar.gz 97086173 BLAKE2B 5353a516f24c151d6213ed4c6e189a8ac68933012bcda06084b5e6c1f3a230ebca896b1e8dd29b345c312f323283b4f9045efcece655ef055a797cd5eefbd774 SHA512 0988e229dc9f44230af84796dfb059aa87809c6af5d0e8a7debc4b696e98c45ccc042f956f678819e71afe29d5619421106208c6dce5dfe47aea98482b22c1e3
|
||||
DIST julia-1.5.3-linux-i686.tar.gz 101362522 BLAKE2B aba1270fc85cc1afc19856768a39d1cf1c40fb32b676be5da47dc7747294299a044a5202c547d19ad8aa56060b04d7583d7e7c19176f2fdbcccb863593fffccb SHA512 0abaab22626cbd4da4a2389b2aca639f993aa442a8423cba2fda3d9693e0dab4f5b82592691ad74bb7ddf1ae48739406b61fe76b7da626a1f22fe01077b011d2
|
||||
DIST julia-1.5.3-linux-x86_64.tar.gz 105260711 BLAKE2B b132fbe090ca4a4cba518efcf2e475f0ceaebcbe2e5ef4eee33697909995ea58d97c3e5015b96eaf2ff23e5ff6b5b67eed62b94a34580961d5671c4f019d4847 SHA512 f0460da198797c92d39d361278be6959e90b2b3d08e070b705c1a5de3a17c0e6b0b010a397d0b02e613d060959fff14c074cf12fdeb956e8f8565989f084d86b
|
||||
DIST julia-1.5.3-musl-x86_64.tar.gz 101802400 BLAKE2B da69c1b4ff5bde8692c3fc9ed3d60fd655a32121a0e11a4d1f00b5e4494cc4bcdb0e323a2644cca3a291fa7f7604925d387204df90cc19fee89048c4ba83b2d5 SHA512 e98c74ce2a49532a491a46efe81a2edc85103f9ec04347fe6b052cffdaecadcecb48a02b15ad71853fff6ebb2281498000e89d44732f36d31b6252a1a88bd0a6
|
||||
DIST julia-1.6.0-freebsd-x86_64.tar.gz 107111472 BLAKE2B a5adcc4eda19249e82e2ab8e897d191b18d03169892e315afce33bf8daf9b12bbae8b7648feff1aacb746185822c504e2d9cfa33ab63cd0e5478a2b70d83d5b1 SHA512 3ac69aa22fb61df5c6a2a12013b07c01e4fa16867f092dae7eb6a22c90efd736e24b0e7f6d4599ec87c079e02e95548fbc2507de12ac386d19d23786280f8d31
|
||||
DIST julia-1.6.0-linux-aarch64.tar.gz 106139244 BLAKE2B cd6deda04a1ffa3a15300648bad6194d008ae43651601969fa30a53e97c3642dad316dd6f1934b64c61187921e990cca41f1466ed9c9aac355d4fdba02e6cb67 SHA512 ba6b8948189285e004d2c6aa6166df264c4a1713b18c80b3b9458b6964d8c13123fe271c409be7b626e500295314b162fdb70fe7cce27d285f792b4b4fc570fe
|
||||
DIST julia-1.6.0-linux-i686.tar.gz 109636279 BLAKE2B 905bf491935267ba53e14e29093c86125049be554fa778670196e38cde9b1e661869e858785ac0f116c57badb50ae8300b42cb405364424e1cdd9b85f9785f81 SHA512 8d4e6d770b1643f669046b453e8965a5373466f944ed6244a2c45687b2c7faba1bb1f725556f295ee7c18ecde8dae7ad08291c9be2414b95b66063b4a4b0703b
|
||||
DIST julia-1.6.0-linux-ppc64le.tar.gz 98427694 BLAKE2B 67a2d04f1ae9e8e8e2165c7dcb5c504729ed13772bcffe3e4fb259944f86fcb5c1e699fe077fcf9250941feb936434f555c17888cad3dd3c7f92787c5c7bdca1 SHA512 a1f691a22764764e97b9f8bd322bf3a141c06ab7ea60be5d393f4adb614ff6d284c095a870df5ac6c38614ad17dc85a82e12b5b35598146062916918183e6681
|
||||
DIST julia-1.6.0-linux-x86_64.tar.gz 112838927 BLAKE2B 991b91101e4556c36d1ac4c35f650cc42a2eb87f00fa1f0fad8f1f567cc77c3290df052e14a83aea610213a72b856a031c3a84e4f8f968b141818b96b7cd9fa4 SHA512 f007f9730ce01fb8dbbaaab1d1f029393c43ca075a626024b98d54b55e94dde7f7be4872e59244e89f4c4b7725cdb5a619b7576f832561c17c119db58a8be407
|
||||
DIST julia-1.6.0-musl-x86_64.tar.gz 111773706 BLAKE2B a812f3b323650f2d62756d94b4cb6bfac7d49fbbcaa0eff7da8fdcd5857473985b2985c127895c47b8ec8afac1c67e2297dd118604fb0e6638408491245cb442 SHA512 0773df79840b24f019337407e9330f4255994457380d48045c3972145125c4ca7475fde5ffd9c53e4350ec87bdbac5ba299527a9dbcbb1c9c531172edf35a688
|
||||
DIST julia-1.6.2-freebsd-x86_64.tar.gz 107102355 BLAKE2B 50c6c893d0786bae771051b96de499a6a7381c8ae435de55d933df999ff9113a8876d7c26c1eff136ae2f8eb5954a6ac3554c42fa18c3f31d0a0683116244865 SHA512 38441b9963115bc6f1bc14b05f680ef770a25dfed2768b06872f84f3ba7cd94f384b911d7453c91b34ddb4dc2d65874009388778ac2bdbcc93cbfc0031d941c2
|
||||
DIST julia-1.6.2-linux-aarch64.tar.gz 106265838 BLAKE2B 4754c868013888519df7bb219e661836ff6787d317ecda51be8d32c29f6b7568c9b3cef879460417817d5139b2a0f8480d3eef73dcb31a60c0d92c3eb4eb127d SHA512 267685f93cea93b047fdd9b359cd182a6c1a3e15a63fcea59133ee9cf527a12f6a84958eb5a57ec2c85f0ee82223164291b4fdf2d279b132571348ea0ab5e102
|
||||
DIST julia-1.6.2-linux-i686.tar.gz 109691286 BLAKE2B bcd37acabda002af798016d9029c415b39c4908624cd4760c2666359541832e389d8f15ee04437908e205080e2b8cc4e29ba85898fd43e5d4551aa51b521787f SHA512 f42d43109b922d79e34b7f593f2737d72688d92f293add773cf0eb33a5401637f19c96fafcb787be5935fa69249f739cd52dd5b6faa8b26f8e76e8e1ec57bd7d
|
||||
DIST julia-1.6.2-linux-ppc64le.tar.gz 98471545 BLAKE2B c9fb08a46adfcb243fccfe5d8aaa00bd2c1d43642e60993a70937ee88f8b4571d243b3b92c7b3cd10694d9bfe49f1f00acd473112b0c75bbd97ff38e7c90da99 SHA512 520890d3194598f89b8bab82ccfe7ef5986eac05ea676d71edba39e87f3f34e8c6c70907e2eb2928f0a9c449b5ef3a255b3d89d41b4d4726a14c5415212e9d8b
|
||||
DIST julia-1.6.2-linux-x86_64.tar.gz 112946671 BLAKE2B 30c83e5c29ea58ef49da904c297a017f42175c69976de1f61b2b88cddaa02147da008e2f8fb81140ee724e475425afa1d00ec9762625945d413875c1c5a6faf3 SHA512 29489615677f844881f29d639614ad69183cecb9eba793a3559434bde5aaf00b3571ac9654c05285d83486d28ad4aef9d541c77b25bee062a47a1e97407d996b
|
||||
DIST julia-1.6.2-musl-x86_64.tar.gz 111928203 BLAKE2B 6415bb8d8105ab4127ecc56259217ca062bdf050c6a6bcf7781dd3cc219c108e1ff265574c08b89111763be5a033a8a2def2ea8882b837fd258ca4162c4dae00 SHA512 42b3920fbf959eaf0f6a573f60f1da34d4631bd064a20185239e3af9e28aa1c2b81ce0b7eb2ee5816d8f833309a76cb214ea241ee03bdacd5541a1872ab9ec59
|
||||
DIST julia-1.6.3-freebsd-x86_64.tar.gz 109341094 BLAKE2B 01f0f46a0fcfaf7bcb5b1d7c5a9aa2f8c6a4306e2b1e08cc4b1d17253ae972a14ff2231fc1a7661cd2d22b662ecc36c12fd6432226d9734b455eb99f3435f090 SHA512 c460c58696ea1afe13302f42d9170b119bb6e18d8eecfc873dc56fa1bcbc30cf16ca41b09857db8be5aed57846f8f8e33b3168ee1710b66e25cc6d9991f1ce48
|
||||
DIST julia-1.6.3-linux-aarch64.tar.gz 106465939 BLAKE2B 8d4092157075ffd425b161188cecd4f71aed89c6c3e65b078e5d617025b4d414ab5267d5fb18253ed668551492340e3bc2fc19538c024b70a19ebda12934da97 SHA512 7ff665cbbf0f975252ba30375d1fbdaf7985d0983cfa1089f164e55c0035f1300cffe4506f5838cabf5afadf0b4fc69a82a04800dbe73c6fbd886b9eb0e8d5ee
|
||||
DIST julia-1.6.3-linux-i686.tar.gz 110176346 BLAKE2B caf8d709cb772b59dfdd6a4c081685e078e37eb219ca825b2495a93b4fe76fa9d40af4951e9cbce8da8e176870f396728201a53606b2c8a4bccffe186f7163fa SHA512 722e9027c1330cb9d6d1e9ba4d3bc0df2a38251fc0fccc4d88967079e2f38533d750e4ce2b6190705cccb30dc997e27289f0ee18109c46c5c92854f9e32b55fa
|
||||
DIST julia-1.6.3-linux-ppc64le.tar.gz 98825445 BLAKE2B 0dc2416ebac51c71c4a3e8fb3b36781f32e4578e43c88894ed35f6cc50698c72486e354952ae5e9badaf4a949c9a1b4bceeca999dde706d62de44e48efca4361 SHA512 19d61d8424b5ab543f37d74677b8dfdce857e45cdf7e0ec7b2d421a34f0e567a2db6de1f9c740a1069b30b2a4cb046c0230acece8f6788cc24d5cae375f3fdaf
|
||||
DIST julia-1.6.3-linux-x86_64.tar.gz 113399344 BLAKE2B 513a6794c52043f1cb5c6bc957faab978c1ee6a96654dbc3d7393113f12efb5fb39aa0605b726b280bad3daf6363a314323804b99d37aaafff96fb28580c2f39 SHA512 b6faa72c6bddbce7b8a9dd1b2187bdb37525af41a62bdecbf61a7a9d9d4d6d5a51adc06f061fe5fdf17917200e06cf5db8aa9bb3e3db609ff83b0afc57574ca6
|
||||
DIST julia-1.6.3-musl-x86_64.tar.gz 112357454 BLAKE2B 2a2f50935e078befed75e6f02c5a3266b14702a14f929d8e19ae35e242051e51290eb8306646e401a9c47282e69592b18973ce7643e46c2256e2bde7f2efbe39 SHA512 c054d4a147c424434ee1dfcfbabbdb865bff0740b8446d7c7884675b3ad4d77e68c5dcfff17c2df34a1c0dd7f9beae196a7e905e672160f191ba85e9fbfcddff
|
||||
DIST julia-1.6.5-freebsd-x86_64.tar.gz 109273854 BLAKE2B 6d9c4515d40fe7eb4225be8a8e1bacdc26f4352d17a436a3e22be6bc41d398d32d75e3cb69e6b16fd2bf8096624cfd0df1cb299712fa6d0d735c78d75859575c SHA512 1c93fe06b47ded67e5acdbb3dc267da7f2ba2662125b5094b23f62797951452c55c9fb6d694bed98d3d65e2e8bc3a8b00a7bd69b79957c736445cc9f4a8b3e9c
|
||||
DIST julia-1.6.5-linux-aarch64.tar.gz 106463482 BLAKE2B eedd2475dd27fb5987d96a75099b25e0b5b30671a2fe6aa2f22da3ce98922dde1b02830a3dbd4d5665dce9a41dd2e50039fce9d00fc402566bd255ff33447590 SHA512 6674fbf6b959e999820342134bb1ce9ed09c26d1fc914de0a6323d8b9cf84b56f0e9e775ec20f9249c1537d4f770188a404c21c510fa5656d6d94c209dd0fa22
|
||||
DIST julia-1.6.5-linux-i686.tar.gz 110088848 BLAKE2B 69aca0e09829d7be2466fe1fa4e105d3c82bb7f045ee61e2c88b478c92dc3ed1193dcf9b12e4cbce1335b193d5499e917d0e4bc13fae5d05607f54b89d5c371e SHA512 1e4e4268ecc62e81a015d04ba493458380c075e8c97dd9e15256ec34357ac7862454fc9ea8de6bba8fb82da234131910e1d8d8f01cac032bea4e8a54c931bb88
|
||||
DIST julia-1.6.5-linux-x86_64.tar.gz 113278959 BLAKE2B d70755a03ef3afe801400a6d8cbd817a873628a6cc77601ee53fbc45adecbc43067fdca021d817562864413f5bac09d3e87dd22834923d33cb9db32e8375b643 SHA512 cb07b609cf0dd3c67facba29def9d40bd55c5e7d8163bfd32ee2486b39cb31db9a4fe751b21ac69ebb128c4a146a11ccb27701d7729b6e2f0c32a5e983f1229a
|
||||
DIST julia-1.6.5-musl-x86_64.tar.gz 112330991 BLAKE2B 08a63d36ccbe3a1548fd6d8f4e6d310ec0c4a292550232aaf41d9bec4b39f9a559d09a1eeb4112a9d5d2e60c8baa1f29e21c3b63eda468de81215ac9ee2c5266 SHA512 c7d4946884d1348a291946b7acfa5f10ef8552e33c78b953681417f4b56913c3f496d8e1ad9334aae2d8b13386b0e07beee57b5015811b57f4bfdafbed6ed177
|
||||
DIST julia-1.7.1-freebsd-x86_64.tar.gz 116482170 BLAKE2B 8cb3b70e6d7776f5259302cf174bf5fa1314463e677306ea6a29c46ab6e67cf2b5778afdd06a75a941806ba2ad61ae6f221413d11a9845950b4e365e3add2516 SHA512 156d7e1f0b0a03f5869b53c9ab85010b656db8c8b14d8de5a824181cc6cf89ab1930d5251da5393316e3b96a5cf58169e434a5ca09b2862a6e1ed7b07781c7c7
|
||||
DIST julia-1.7.1-linux-aarch64.tar.gz 116035373 BLAKE2B a031b50152fb330c6eaad935fd5a1dd10937e0744c1936146e19baa713ee63d29c43468c8ddb787b4e74a98f733995fd6cb718a96fa56613d60f49aba2530902 SHA512 6caf6df0128dcd3fe9cd4c42356dc53e918c920f286fcefd6518d8eb0e6a7e1b34099bd5ccddae89f5f74b78d33582ad6a33d57781578558cb8b9a97ea5eb900
|
||||
DIST julia-1.7.1-linux-i686.tar.gz 118868387 BLAKE2B a6681b32f78d3bd986819e88ac16058d13fb435b5cf781ad9251d736b60071f1f77b64ff2ea98c26bbe31efe704bb7baecdae766bde7d1c18c7b1554b8ed504c SHA512 d3eeeed36a4f84e380524820719e76f00721a982bdc7800bdb9eea3fddcfbba3aab7b56d020d3332a261e71516af524354619eb443c9e4b29a8db721287f5033
|
||||
DIST julia-1.7.1-linux-x86_64.tar.gz 123374573 BLAKE2B 66ec84784493682f7de2568bbf0fbdd99ec4fba7461057457fc3daf3bee1eae7fbe8649e64d2bba4f58bf83fc16cfa97d360374b1483c4032919bac204c7dc0b SHA512 9cd5393325e45f1e0250c50e786f326c97e17f63851a99b9a025f2b2a3bf1cac80c57bf58ef0df9bee877ba9c74d99c94b6fe9bd2152c6a0964f708a880872f8
|
||||
DIST julia-1.7.1-musl-x86_64.tar.gz 122327279 BLAKE2B d19992d803e8c0616d7a95501db7a73c0be6523f956a8c393f74c14825ea6b80d1ea86c9b9f136b4a225b230e74460584c5b0c64e7e872c77fbc5ccee5cde024 SHA512 23a0d791ddad386031131516c0ee5048e158931071c65c52a268c2a838a4378fd3a25f7df48c279f130d8941737c2bb52bbda290672fc076962217cd7300f099
|
||||
|
@ -1,56 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
MY_PN=${PN/-bin/}
|
||||
MY_P=${MY_PN}-${PV/_/-}
|
||||
MY_PV=$(ver_cut 1-2)
|
||||
BASE_SRC_URI="https://julialang-s3.julialang.org/bin"
|
||||
|
||||
DESCRIPTION="High-performance programming language for technical computing"
|
||||
HOMEPAGE="https://julialang.org/"
|
||||
SRC_URI="
|
||||
x86? ( ${BASE_SRC_URI}/linux/x86/${MY_PV}/${MY_P}-linux-i686.tar.gz )
|
||||
amd64? (
|
||||
elibc_glibc? ( ${BASE_SRC_URI}/linux/x64/${MY_PV}/${MY_P}-linux-x86_64.tar.gz )
|
||||
elibc_musl? ( ${BASE_SRC_URI}/musl/x64/${MY_PV}/${MY_P}-musl-x86_64.tar.gz )
|
||||
)
|
||||
amd64-fbsd? ( ${BASE_SRC_URI}/freebsd/x64/${MY_PV}/${MY_P}-freebsd-x86_64.tar.gz )
|
||||
arm64? ( ${BASE_SRC_URI}/linux/aarch64/${MY_PV}/${MY_P}-linux-aarch64.tar.gz )
|
||||
ppc64? ( ${BASE_SRC_URI}/linux/ppc64le/${MY_PV}/${MY_P}-linux-ppc64le.tar.gz )
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="${MY_PV}"
|
||||
KEYWORDS="-* ~amd64 ~x86"
|
||||
IUSE="elibc_glibc"
|
||||
|
||||
RDEPEND="
|
||||
!dev-lang/julia
|
||||
app-arch/p7zip
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
RESTRICT="strip"
|
||||
|
||||
QA_PREBUILT="*"
|
||||
QA_SONAME="*"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_install() {
|
||||
insinto "/usr/$(get_libdir)/${MY_P}/"
|
||||
doins -r ./etc
|
||||
doins -r ./include
|
||||
doins -r ./lib
|
||||
doins -r ./share
|
||||
|
||||
exeinto "/usr/$(get_libdir)/${MY_P}/bin"
|
||||
doexe "bin/${MY_PN}"
|
||||
dosym "../$(get_libdir)/${MY_P}/bin/${MY_PN}" "/usr/bin/${MY_PN}${SLOT}"
|
||||
|
||||
local revord=$(( 9999 - $(ver_cut 1) * 100 - $(ver_cut 2) )) # 1.6 -> 106
|
||||
newenvd - 99${MY_PN}${revord} <<-EOF
|
||||
PATH="${EROOT}/usr/$(get_libdir)/${MY_P}/bin"
|
||||
EOF
|
||||
}
|
@ -1,56 +0,0 @@
|
||||
# Copyright 1999-2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
MY_PN=${PN/-bin/}
|
||||
MY_P=${MY_PN}-${PV/_/-}
|
||||
MY_PV=$(ver_cut 1-2)
|
||||
BASE_SRC_URI="https://julialang-s3.julialang.org/bin"
|
||||
|
||||
DESCRIPTION="High-performance programming language for technical computing"
|
||||
HOMEPAGE="https://julialang.org/"
|
||||
SRC_URI="
|
||||
x86? ( ${BASE_SRC_URI}/linux/x86/${MY_PV}/${MY_P}-linux-i686.tar.gz )
|
||||
amd64? (
|
||||
elibc_glibc? ( ${BASE_SRC_URI}/linux/x64/${MY_PV}/${MY_P}-linux-x86_64.tar.gz )
|
||||
elibc_musl? ( ${BASE_SRC_URI}/musl/x64/${MY_PV}/${MY_P}-musl-x86_64.tar.gz )
|
||||
)
|
||||
amd64-fbsd? ( ${BASE_SRC_URI}/freebsd/x64/${MY_PV}/${MY_P}-freebsd-x86_64.tar.gz )
|
||||
arm64? ( ${BASE_SRC_URI}/linux/aarch64/${MY_PV}/${MY_P}-linux-aarch64.tar.gz )
|
||||
ppc64? ( ${BASE_SRC_URI}/linux/ppc64le/${MY_PV}/${MY_P}-linux-ppc64le.tar.gz )
|
||||
"
|
||||
|
||||
LICENSE="MIT"
|
||||
SLOT="${MY_PV}"
|
||||
KEYWORDS="-* ~amd64 ~x86"
|
||||
IUSE="elibc_glibc"
|
||||
|
||||
RDEPEND="
|
||||
!dev-lang/julia
|
||||
app-arch/p7zip
|
||||
"
|
||||
DEPEND="${RDEPEND}"
|
||||
|
||||
RESTRICT="strip"
|
||||
|
||||
QA_PREBUILT="*"
|
||||
QA_SONAME="*"
|
||||
|
||||
S="${WORKDIR}/${MY_P}"
|
||||
|
||||
src_install() {
|
||||
insinto "/usr/$(get_libdir)/${MY_P}/"
|
||||
doins -r ./etc
|
||||
doins -r ./include
|
||||
doins -r ./lib
|
||||
doins -r ./share
|
||||
|
||||
exeinto "/usr/$(get_libdir)/${MY_P}/bin"
|
||||
doexe "bin/${MY_PN}"
|
||||
dosym "../$(get_libdir)/${MY_P}/bin/${MY_PN}" "/usr/bin/${MY_PN}${SLOT}"
|
||||
|
||||
local revord=$(( 9999 - $(ver_cut 1) * 100 - $(ver_cut 2) )) # 1.6 -> 106
|
||||
newenvd - 99${MY_PN}${revord} <<-EOF
|
||||
PATH="${EROOT}/usr/$(get_libdir)/${MY_P}/bin"
|
||||
EOF
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue