Skip to content

Commit

Permalink
app-emulation/libguestfs: 1.36.13 → 1.36.15
Browse files Browse the repository at this point in the history
Do not RDEPEND on bash-completion and drop unused USE flag. Fix
static-libs USE flag to actually do something. Fix build failure
with USE=-ocaml, bug #670968. Make libvirt support optional,
bug #672452. Remove unused debug USE flag. Switch from versionator
eclass to eapi7-ver. gjs is a test dependency only. Fix sandbox issues,
bug #653104.

Closes: https://bugs.gentoo.org/653104
Closes: https://bugs.gentoo.org/670968
Closes: https://bugs.gentoo.org/672452
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Gilles Dartiguelongue <[email protected]>
  • Loading branch information
EvaSDK committed Dec 7, 2018
1 parent 8bc5ec1 commit 04f7e99
Show file tree
Hide file tree
Showing 5 changed files with 267 additions and 2 deletions.
1 change: 1 addition & 0 deletions app-emulation/libguestfs/Manifest
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
DIST libguestfs-1.28.5.tar.gz 12747537 BLAKE2B b0cc023efef41955c4b448b68bd5578d88d305364afdc1fc24c7d26ba5fae4a1b81ee58799d42774ea28e162208edbf36a0e49c1a7e4f751c74e9c45e9a472a6 SHA512 5ab25498fa9141950c1077cc52bae05a2781fa86a983b5fa49fbd4a4bca70710db3d4f7b9f45fb6f8b4ee8e3d77ffde7c4c0d9e9e526443e2a8251a62306ebb6
DIST libguestfs-1.36.13.tar.gz 22886310 BLAKE2B b0961cc6b941f1b68bba23af72e8b5478ed33da6f343e453f90decd7454cfc6a94cf67a81ad59c443df744727afa9bd4e98c77411efc4134e3422eaae59ffff5 SHA512 7c9799d5d563ffd8296f70a8402582aba85f3bf3c0dcaa18c44ecff5b7f771a3bc3f297aa85a4056351758298c79752d456a4b46e41924ff9acf196c992d51fb
DIST libguestfs-1.36.15.tar.gz 22256729 BLAKE2B 7ed9c0010ffe6b904b055068e86544f12a884ff52f1f3322a3014574310de9a69077d1865e641ad8304149d1a2eb0d0fbc5e107c93a9790135dc543592da68a6 SHA512 a918bc886b60340d748093bdcca3a048ed26b31508ba256cd7903b76798816e54f836446d9286f7c452fa0d4fa82c0c1216606d01fce2ada9d7386fa463857c7
DIST libguestfs-1.36.5.tar.gz 23012703 BLAKE2B 31dcbef2ae1c287c4a353f671e6073cdb4eb2c7173666ff9589ed0e0ce909c2dfa00f2da14b40a0a6a9384dd830082f1f721b0c1dafabe2862391f0f75ff3f3d SHA512 01f10ab902386130f0565f53d0c361b903d6790b572e5562a2180e896952ead2e7661795bd976a7e2442887ea17014a6767db8b6e575de634f32de82ca4124c6
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
From dc35ce2ba774a9284360bfd6532acb527a2f73d7 Mon Sep 17 00:00:00 2001
From: Gilles Dartiguelongue <[email protected]>
Date: Fri, 7 Dec 2018 11:21:25 +0100
Subject: [PATCH 3/4] Fix install failure when not built with OCaml support

Makefile rules in po/ require builder/index-parse.c to be generated to
allow translation utilities to work on it, however builder/ is
completely masked behind OCaml conditional build even if some tools do
not require it and proper guards are in place already.

Closes: https://bugzilla.redhat.com/show_bug.cgi?id=1614502
---
Makefile.am | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Makefile.am b/Makefile.am
index 7eefacbeb..c0a68151f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -155,7 +155,6 @@ if HAVE_OCAML
SUBDIRS += \
mllib \
customize \
- builder builder/templates \
get-kernel \
resize \
sparsify \
@@ -169,6 +168,9 @@ SUBDIRS += dib
endif
endif

+# Tools mixed with more OCAML based tools
+SUBDIRS += builder builder/templates
+
# Perl tools.
if HAVE_TOOLS
SUBDIRS += tools
--
2.19.2

Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
From 1f51b8ef921ad804022fc39b7465f9f731cbb6be Mon Sep 17 00:00:00 2001
From: Gilles Dartiguelongue <[email protected]>
Date: Fri, 7 Dec 2018 12:14:15 +0100
Subject: [PATCH 4/5] Loosen build time requirement on bash-completion

Distributions might avoid pulling bash-completion during build as it is
an optional feature and would only make sense at runtime anyway. Since
this setting is well-known across a given distribution, allow them to
provide the value and avoid the dependency.
---
m4/guestfs_bash_completion.m4 | 21 ++++++++++-----------
1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/m4/guestfs_bash_completion.m4 b/m4/guestfs_bash_completion.m4
index 1f171b79d..9e877f6ab 100644
--- a/m4/guestfs_bash_completion.m4
+++ b/m4/guestfs_bash_completion.m4
@@ -16,14 +16,13 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

dnl Bash completion.
-PKG_CHECK_MODULES([BASH_COMPLETION], [bash-completion >= 2.0], [
- bash_completion=yes
- AC_MSG_CHECKING([for bash-completions directory])
- BASH_COMPLETIONS_DIR="`pkg-config --variable=completionsdir bash-completion`"
- AC_MSG_RESULT([$BASH_COMPLETIONS_DIR])
- AC_SUBST([BASH_COMPLETIONS_DIR])
-],[
- bash_completion=no
- AC_MSG_WARN([bash-completion not installed])
-])
-AM_CONDITIONAL([HAVE_BASH_COMPLETION],[test "x$bash_completion" = "xyes"])
+AC_ARG_WITH([bashcompletiondir],
+ AS_HELP_STRING([--with-bashcompletiondir=DIR], [Bash completions directory]),
+ [],
+ [AS_IF([$($PKG_CONFIG --exists bash-completion)], [
+ with_bashcompletiondir=$($PKG_CONFIG --variable=completionsdir bash-completion)
+ ] , [
+ with_bashcompletiondir=${datadir}/bash-completion/completions
+ ])])
+AC_SUBST([BASH_COMPLETIONS_DIR], [$with_bashcompletiondir])
+AM_CONDITIONAL([HAVE_BASH_COMPLETION],[test -n "$with_bashcompletiondir"])
--
2.19.2

178 changes: 178 additions & 0 deletions app-emulation/libguestfs/libguestfs-1.36.15.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=6

PYTHON_COMPAT=( python{2_7,3_{4,5,6}} )

inherit autotools bash-completion-r1 eapi7-ver eutils linux-info perl-functions python-single-r1 xdg-utils

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"
HOMEPAGE="http://libguestfs.org/"
SRC_URI="http://libguestfs.org/download/${MY_PV_1}-${SD}/${P}.tar.gz"

LICENSE="GPL-2 LGPL-2"
SLOT="0/"${MY_PV_1}""

KEYWORDS="~amd64"
IUSE="doc erlang +fuse gtk inspect-icons introspection libvirt lua ocaml +perl python ruby selinux static-libs systemtap test"

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-arch/cpio
dev-lang/perl
virtual/cdrtools
>=app-emulation/qemu-2.0[qemu_softmmu_targets_x86_64,systemtap?,selinux?,filecaps]
sys-apps/fakeroot
sys-apps/file
libvirt? ( app-emulation/libvirt )
dev-libs/libxml2:2
>=sys-apps/fakechroot-2.8
>=app-admin/augeas-1.0.0
sys-fs/squashfs-tools:*
dev-libs/libconfig
sys-libs/readline:0=
>=sys-libs/db-4.6:*
app-arch/xz-utils
app-arch/lzma
app-crypt/gnupg
app-arch/unzip[natspec]
perl? (
virtual/perl-ExtUtils-MakeMaker
>=dev-perl/Sys-Virt-0.2.4
virtual/perl-Getopt-Long
virtual/perl-Data-Dumper
dev-perl/libintl-perl
>=app-misc/hivex-1.3.1[perl?]
dev-perl/String-ShellQuote
)
python? ( ${PYTHON_DEPS} )
fuse? ( sys-fs/fuse:= )
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.02[ocamlopt]
dev-ml/findlib[ocamlopt]
dev-ml/ocaml-gettext
>=dev-ml/ounit-2
)
erlang? ( dev-lang/erlang )
inspect-icons? (
media-libs/netpbm
media-gfx/icoutils
)
virtual/acl
sys-libs/libcap
lua? ( dev-lang/lua:* )
>=dev-libs/yajl-2.0.4
gtk? (
sys-apps/dbus
x11-libs/gtk+:3
)
net-libs/libtirpc
sys-libs/libxcrypt
"
DEPEND="${COMMON_DEPEND}
dev-util/gperf
doc? ( app-text/po4a )
ruby? ( dev-lang/ruby virtual/rubygems dev-ruby/rake )
test? ( introspection? ( dev-libs/gjs ) )
"
RDEPEND="${COMMON_DEPEND}
app-emulation/libguestfs-appliance
"

DOCS=( AUTHORS BUGS ChangeLog HACKING README TODO )

PATCHES=(
"${FILESDIR}"/${MY_PV_1}/0001-Update-libtool-initialization.patch
"${FILESDIR}"/${MY_PV_1}/0002-Add-support-for-Gentoo-in-distribution-detection.patch
"${FILESDIR}"/${MY_PV_1}/0003-Fix-install-failure-when-not-built-with-OCaml-suppor.patch
"${FILESDIR}"/${MY_PV_1}/0004-Loosen-build-time-requirement-on-bash-completion.patch
)

pkg_setup () {
CONFIG_CHECK="~KVM ~VIRTIO"
[ -n "${CONFIG_CHECK}" ] && check_extra_config;

use python && python-single-r1_pkg_setup
}

src_prepare() {
default
xdg_environment_reset
eautoreconf
}

src_configure() {
# Disable feature test for kvm for more reason
# i.e: not loaded module in __build__ time,
# build server not supported kvm, etc. ...
#
# In fact, this feature is virtio support and requires
# configured kernel.
export vmchannel_test=no

econf \
--with-bashcompletiondir="$(get_bashcompdir)" \
$(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 \
$(use_enable introspection gobject) \
$(use_enable introspection) \
$(use_enable erlang) \
$(use_enable static-libs static) \
$(use_enable systemtap probes) \
$(use_enable lua) \
--with-gtk=$(usex gtk 3 no) \
$(usex doc '' PO4A=no)
}

src_install() {
strip-linguas -i po
emake DESTDIR="${D}" install "LINGUAS=""${LINGUAS}"""
find "${ED}" -name '*.la' -delete || die
use perl && perl_delete_localpod
}

pkg_postinst() {
if ! use gtk ; then
einfo "virt-p2v NOT installed"
fi
if ! use ocaml ; then
einfo "Ocaml based tools ( sysprep , ... ) NOT installed"
fi
if ! use perl ; then
einfo "Perl based tools NOT build"
fi
}
5 changes: 3 additions & 2 deletions app-emulation/libguestfs/metadata.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,10 @@
<longdescription>Libguestfs is a library and tool set for accessing and
modifying virtual machine (VM) disk images</longdescription>
<use>
<flag name="fuse">Enable image mount support via fuse</flag>
<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>
<flag name="inspect-icons">Use <pkg>media-gfx/icoutils</pkg>for acces icon file in image and inspect it</flag>
</use>
</pkgmetadata>

0 comments on commit 04f7e99

Please sign in to comment.