commit:     0f0d7d1bedc121027e3f4cccf5b94a71a971891e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Thu Oct  7 06:00:11 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Thu Oct  7 06:09:45 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0f0d7d1b

app-emulation/libguestfs: split out tools into guestfs-tools, tidy ebuild

Bug: https://bugs.gentoo.org/816693
Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...s-1.46.0.ebuild => libguestfs-1.46.0-r1.ebuild} | 137 +++++++++++----------
 app-emulation/libguestfs/metadata.xml              |  23 ++--
 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
similarity index 77%
rename from app-emulation/libguestfs/libguestfs-1.46.0.ebuild
rename to app-emulation/libguestfs/libguestfs-1.46.0-r1.ebuild
index 8f136aeb44f..f1d3e7a9f30 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 4f3be3f3c1c..ddd4c20532b 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>r...@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>

Reply via email to