summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSam James <sam@gentoo.org>2021-10-07 07:00:11 +0100
committerSam James <sam@gentoo.org>2021-10-07 07:09:45 +0100
commit0f0d7d1bedc121027e3f4cccf5b94a71a971891e (patch)
tree0cadbf58d41091e46122b6ad2bdfb141fbdde4d7 /app-emulation/libguestfs
parentdev-python/python-lsp-server: Remove old (diff)
downloadgentoo-0f0d7d1bedc121027e3f4cccf5b94a71a971891e.tar.gz
gentoo-0f0d7d1bedc121027e3f4cccf5b94a71a971891e.tar.bz2
gentoo-0f0d7d1bedc121027e3f4cccf5b94a71a971891e.zip
app-emulation/libguestfs: split out tools into guestfs-tools, tidy ebuild
Bug: https://bugs.gentoo.org/816693 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'app-emulation/libguestfs')
-rw-r--r--app-emulation/libguestfs/libguestfs-1.46.0-r1.ebuild (renamed from app-emulation/libguestfs/libguestfs-1.46.0.ebuild)137
-rw-r--r--app-emulation/libguestfs/metadata.xml23
2 files changed, 79 insertions, 81 deletions
diff --git a/app-emulation/libguestfs/libguestfs-1.46.0.ebuild b/app-emulation/libguestfs/libguestfs-1.46.0-r1.ebuild
index 8f136aeb44fc..f1d3e7a9f308 100644
--- a/app-emulation/libguestfs/libguestfs-1.46.0.ebuild
+++ b/app-emulation/libguestfs/libguestfs-1.46.0-r1.ebuild
@@ -6,20 +6,20 @@ EAPI=7
LUA_COMPAT=( lua5-1 )
PYTHON_COMPAT=( python3_{8,9,10} )
-inherit autotools bash-completion-r1 linux-info lua-single perl-functions python-single-r1 strip-linguas toolchain-funcs xdg-utils flag-o-matic
+inherit bash-completion-r1 flag-o-matic linux-info lua-single perl-functions python-single-r1 strip-linguas toolchain-funcs
MY_PV_1="$(ver_cut 1-2)"
MY_PV_2="$(ver_cut 2)"
[[ $(( ${MY_PV_2} % 2 )) -eq 0 ]] && SD="stable" || SD="development"
-DESCRIPTION="Tools for accessing, inspect and modifying virtual machine (VM) disk images"
+DESCRIPTION="Tools for accessing, inspecting, and modifying virtual machine (VM) disk images"
HOMEPAGE="https://libguestfs.org/"
SRC_URI="https://libguestfs.org/download/${MY_PV_1}-${SD}/${P}.tar.gz"
LICENSE="GPL-2 LGPL-2"
SLOT="0/${MY_PV_1}"
-
-KEYWORDS="~amd64"
+# Unkeyworded for testing guestfs-tools split, #816693
+#KEYWORDS="~amd64"
IUSE="doc erlang +fuse gtk inspect-icons introspection libvirt lua +ocaml +perl python ruby selinux static-libs systemtap test"
RESTRICT="!test? ( test )"
@@ -27,32 +27,36 @@ REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )
python? ( ${PYTHON_REQUIRED_USE} )"
# Failures - doc
-
# FIXME: selinux support is automagic
COMMON_DEPEND="
- sys-libs/ncurses:0=
- sys-devel/gettext
- >=app-misc/hivex-1.3.1
- dev-libs/libpcre:3
+ >=app-admin/augeas-1.8.0
app-arch/cpio
- dev-lang/perl:=
+ app-arch/lzma
+ app-arch/unzip[natspec]
+ app-arch/xz-utils
app-cdr/cdrtools
+ app-crypt/gnupg
>=app-emulation/qemu-2.0[qemu_softmmu_targets_x86_64,systemtap?,selinux?,filecaps]
- sys-apps/fakeroot
- sys-apps/file
- libvirt? ( app-emulation/libvirt )
+ >=app-misc/hivex-1.3.1
+ dev-lang/perl:=
+ dev-libs/libconfig:=
+ dev-libs/libpcre:3
dev-libs/libxml2:2=
+ dev-libs/jansson:=
+ >=dev-libs/yajl-2.0.4
+ net-libs/libtirpc:=
+ sys-libs/ncurses:0=
>=sys-apps/fakechroot-2.8
- >=app-admin/augeas-1.8.0
+ sys-apps/fakeroot
+ sys-apps/file
+ sys-devel/gettext
sys-fs/squashfs-tools:*
- dev-libs/libconfig:=
- dev-libs/jansson:=
- sys-libs/readline:0=
>=sys-libs/db-4.6:*
- app-arch/xz-utils
- app-arch/lzma
- app-crypt/gnupg
- app-arch/unzip[natspec]
+ sys-libs/libcap
+ sys-libs/readline:=
+ virtual/acl
+ virtual/libcrypt:=
+ erlang? ( dev-lang/erlang )
perl? (
virtual/perl-ExtUtils-MakeMaker
>=dev-perl/Sys-Virt-0.2.4
@@ -64,38 +68,34 @@ COMMON_DEPEND="
)
python? ( ${PYTHON_DEPS} )
fuse? ( sys-fs/fuse:= )
+ gtk? (
+ sys-apps/dbus
+ x11-libs/gtk+:3
+ )
introspection? (
>=dev-libs/glib-2.26:2
>=dev-libs/gobject-introspection-1.30.0:=
)
- selinux? (
- sys-libs/libselinux
- sys-libs/libsemanage
- )
- systemtap? ( dev-util/systemtap )
- ocaml? ( >=dev-lang/ocaml-4.03:=[ocamlopt] )
- erlang? ( dev-lang/erlang )
inspect-icons? (
media-libs/netpbm
media-gfx/icoutils
)
- virtual/acl
- sys-libs/libcap
+ libvirt? ( app-emulation/libvirt )
lua? ( ${LUA_DEPS} )
- >=dev-libs/yajl-2.0.4
- gtk? (
- sys-apps/dbus
- x11-libs/gtk+:3
+ ocaml? ( >=dev-lang/ocaml-4.03:=[ocamlopt] )
+ selinux? (
+ sys-libs/libselinux
+ sys-libs/libsemanage
)
- net-libs/libtirpc:=
- sys-libs/libxcrypt:=
+ systemtap? ( dev-util/systemtap )
"
# Some OCaml is always required
# bug #729674
DEPEND="${COMMON_DEPEND}
- dev-util/gperf
>=dev-lang/ocaml-4.03:=[ocamlopt]
+ dev-util/gperf
dev-ml/findlib[ocamlopt]
+ doc? ( app-text/po4a )
ocaml? (
dev-ml/ounit2[ocamlopt]
|| (
@@ -103,13 +103,13 @@ DEPEND="${COMMON_DEPEND}
dev-ml/ocaml-gettext-stub[ocamlopt]
)
)
- doc? ( app-text/po4a )
ruby? ( dev-lang/ruby virtual/rubygems dev-ruby/rake )
test? ( introspection? ( dev-libs/gjs ) )
"
BDEPEND="virtual/pkgconfig"
RDEPEND="${COMMON_DEPEND}
app-emulation/libguestfs-appliance
+ acct-group/kvm
"
# Upstream build scripts compile and install Lua bindings for the ABI version
# obtained by running 'lua' on the build host
@@ -129,12 +129,6 @@ pkg_setup() {
use python && python-single-r1_pkg_setup
}
-src_prepare() {
- default
- xdg_environment_reset
- eautoreconf
-}
-
src_configure() {
# bug #794877
tc-export AR
@@ -153,33 +147,36 @@ src_configure() {
export vmchannel_test=no
# Give a nudge to help find libxcrypt[-system]
+ # We have a := dep on virtual/libcrypt to ensure this doesn't become stale.
# bug #703118, bug #789354
- append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/xcrypt"
- append-ldflags "-Wl,-R${ESYSROOT}/usr/$(get_libdir)/xcrypt"
+ if ! has_version 'sys-libs/libxcrypt[system]' ; then
+ append-ldflags "-L${ESYSROOT}/usr/$(get_libdir)/xcrypt"
+ append-ldflags "-Wl,-R${ESYSROOT}/usr/$(get_libdir)/xcrypt"
+ fi
econf \
- $(use_with libvirt) \
--disable-appliance \
--disable-daemon \
- --with-extra="-gentoo" \
- --with-readline \
- --disable-php \
- $(use_enable python) \
- --without-java \
- $(use_enable perl) \
- $(use_enable fuse) \
- $(use_enable ocaml) \
- $(use_enable ruby) \
--disable-haskell \
--disable-golang \
--disable-rust \
+ --disable-php \
+ --without-java \
+ --with-extra="-gentoo" \
+ --with-readline \
+ $(usex doc '' PO4A=no) \
+ $(use_enable ocaml) \
+ $(use_enable erlang) \
+ $(use_enable fuse) \
$(use_enable introspection gobject) \
$(use_enable introspection) \
- $(use_enable erlang) \
- $(use_enable static-libs static) \
- $(use_enable systemtap probes) \
+ $(use_with libvirt) \
$(use_enable lua) \
- $(usex doc '' PO4A=no)
+ $(use_enable python) \
+ $(use_enable perl) \
+ $(use_enable ruby) \
+ $(use_enable static-libs static) \
+ $(use_enable systemtap probes)
}
src_install() {
@@ -198,16 +195,24 @@ src_install() {
fi
}
+pkg_preinst() {
+ local libguestfs_depstring="<app-emulation/libguestfs-1.46.0-r1"
+
+ # Did we have a version of libguestfs before the split into guestfs-tools?
+ # (libguestfs used to install the tools too)
+ if has_version "${libguestfs_depstring}[ocaml]" || has_version "${libguestfs_depstring}[perl]" ; then
+ HAD_LIBGUESTFS_WITH_TOOLS=1
+ fi
+}
+
pkg_postinst() {
+ einfo "Please ensure you are in the 'kvm' group for decent performance!"
+
if ! use gtk ; then
einfo "virt-p2v NOT installed"
fi
- if ! use ocaml ; then
- einfo "OCaml based tools and bindings (virt-resize, virt-sparsify, virt-sysprep, ...) NOT installed"
- fi
-
- if ! use perl ; then
- einfo "Perl based tools NOT built"
+ if [[ ${HAD_LIBGUESTFS_WITH_TOOLS} -eq 1 ]] ; then
+ ewarn "libguestfs' tools are now packaged as app-emulation/guestfs-tools from 1.46.0 onwards!"
fi
}
diff --git a/app-emulation/libguestfs/metadata.xml b/app-emulation/libguestfs/metadata.xml
index 4f3be3f3c1c2..ddd4c20532b2 100644
--- a/app-emulation/libguestfs/metadata.xml
+++ b/app-emulation/libguestfs/metadata.xml
@@ -1,19 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
-<!--
-<maintainer type="person">
- <email>rich@annexia.org</email>
- <name>Richard Jones</name>
- <description>Upstream - please CC on bugs that concerns upstream</description>
-</maintainer>
--->
-<use>
- <flag name="erlang">Build Erlang bindings</flag>
- <flag name="fuse">Enable image mount support via fuse</flag>
- <flag name="inspect-icons">Use <pkg>media-gfx/icoutils</pkg> for acces icon file in image and inspect it</flag>
- <flag name="libvirt">Use <pkg>app-emulation/libvirt</pkg> to manipulate VMs</flag>
- <flag name="systemtap">Use <pkg>dev-util/systemtap</pkg> to inspect VM via "probes" way</flag>
-</use>
+ <!-- maintainer-needed -->
+ <use>
+ <flag name="erlang">Build Erlang bindings</flag>
+ <flag name="fuse">Enable image mount support via <pkg>sys-fs/fuse</pkg></flag>
+ <flag name="inspect-icons">Use <pkg>media-gfx/icoutils</pkg> for accessing/inspecting icon file within images</flag>
+ <flag name="libvirt">Use <pkg>app-emulation/libvirt</pkg> to manipulate VMs</flag>
+ <flag name="systemtap">Use <pkg>dev-util/systemtap</pkg> to inspect VM via "probes"</flag>
+ </use>
</pkgmetadata>