- Update to version 1.26.0
* virt-customize is a new tool for customizing disk images * virt-diff is a new tool for showing differences between filesystems * virt-sparsify has a new --in-place option * new virt-sysprep operations * many bug fixes * full release notes: http://libguestfs.org/guestfs-release-notes.1.html - added 0000-hotfix.patch - removed 0001-ocamlopt.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/libguestfs?expand=0&rev=281
This commit is contained in:
parent
d2d5635662
commit
138052f008
57
0000-hotfix.patch
Normal file
57
0000-hotfix.patch
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
From 464eafba694aaaff8c5c49fd1f4f0c08d069833d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Olaf Hering <olaf@aepfle.de>
|
||||||
|
Date: Fri, 28 Mar 2014 10:11:28 +0100
|
||||||
|
Subject: fix virt-index-validate link errors
|
||||||
|
|
||||||
|
[ 288s] virt_index_validate-index-validate.o: In function `main':
|
||||||
|
[ 288s] index-validate.c:(.text+0x94): undefined reference to `rpl_getopt_long'
|
||||||
|
[ 288s] index-validate.c:(.text+0x165): undefined reference to `rpl_optind'
|
||||||
|
[ 288s] index-validate.c:(.text+0x177): undefined reference to `rpl_optind'
|
||||||
|
[ 288s] index-validate.c:(.text+0x18c): undefined reference to `rpl_optind'
|
||||||
|
[ 288s] index-validate.c:(.text+0x498): undefined reference to `rpl_perror'
|
||||||
|
[ 288s] collect2: ld returned 1 exit status
|
||||||
|
[ 288s] make[2]: *** [virt-index-validate] Error 1
|
||||||
|
|
||||||
|
Signed-off-by: Olaf Hering <olaf@aepfle.de>
|
||||||
|
---
|
||||||
|
builder/Makefile.am | 3 +++
|
||||||
|
builder/Makefile.in | 5 ++++-
|
||||||
|
2 files changed, 7 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
Index: libguestfs-1.26.0/builder/Makefile.am
|
||||||
|
===================================================================
|
||||||
|
--- libguestfs-1.26.0.orig/builder/Makefile.am
|
||||||
|
+++ libguestfs-1.26.0/builder/Makefile.am
|
||||||
|
@@ -278,6 +278,9 @@ virt_index_validate_SOURCES = \
|
||||||
|
virt_index_validate_CPPFLAGS = \
|
||||||
|
-DLOCALEBASEDIR=\""$(datadir)/locale"\"
|
||||||
|
|
||||||
|
+virt_index_validate_LDADD = \
|
||||||
|
+ ../gnulib/lib/libgnu.la
|
||||||
|
+
|
||||||
|
man_MANS += virt-index-validate.1
|
||||||
|
noinst_DATA += $(top_builddir)/html/virt-index-validate.1.html
|
||||||
|
|
||||||
|
Index: libguestfs-1.26.0/builder/Makefile.in
|
||||||
|
===================================================================
|
||||||
|
--- libguestfs-1.26.0.orig/builder/Makefile.in
|
||||||
|
+++ libguestfs-1.26.0/builder/Makefile.in
|
||||||
|
@@ -291,7 +291,7 @@ am_virt_index_validate_OBJECTS = \
|
||||||
|
virt_index_validate-index-struct.$(OBJEXT) \
|
||||||
|
virt_index_validate-index-validate.$(OBJEXT)
|
||||||
|
virt_index_validate_OBJECTS = $(am_virt_index_validate_OBJECTS)
|
||||||
|
-virt_index_validate_LDADD = $(LDADD)
|
||||||
|
+virt_index_validate_DEPENDENCIES =
|
||||||
|
AM_V_lt = $(am__v_lt_@AM_V@)
|
||||||
|
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
|
||||||
|
am__v_lt_0 = --silent
|
||||||
|
@@ -1660,6 +1660,9 @@ virt_index_validate_SOURCES = \
|
||||||
|
virt_index_validate_CPPFLAGS = \
|
||||||
|
-DLOCALEBASEDIR=\""$(datadir)/locale"\"
|
||||||
|
|
||||||
|
+virt_index_validate_LDADD = \
|
||||||
|
+ ../gnulib/lib/libgnu.la
|
||||||
|
+
|
||||||
|
all: all-am
|
||||||
|
|
||||||
|
.SUFFIXES:
|
@ -1,432 +0,0 @@
|
|||||||
From 26cb4963efe2345f5dcbb16e66b127012dd5289a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Olaf Hering <olaf@aepfle.de>
|
|
||||||
Date: Wed, 26 Feb 2014 11:08:36 +0100
|
|
||||||
Subject: ocamlopt
|
|
||||||
|
|
||||||
Signed-off-by: Olaf Hering <olaf@aepfle.de>
|
|
||||||
---
|
|
||||||
builder/Makefile.am | 18 +++++++++++++++-
|
|
||||||
configure.ac | 2 ++
|
|
||||||
mllib/Makefile.am | 54 ++++++++++++++++++++++++++++++++--------------
|
|
||||||
ocaml/Makefile.am | 35 +++++++++++++++++++++---------
|
|
||||||
ocaml/examples/Makefile.am | 13 +++++++++++
|
|
||||||
resize/Makefile.am | 18 +++++++++++++++-
|
|
||||||
sparsify/Makefile.am | 18 +++++++++++++++-
|
|
||||||
sysprep/Makefile.am | 18 +++++++++++++++-
|
|
||||||
8 files changed, 146 insertions(+), 30 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/builder/Makefile.am b/builder/Makefile.am
|
|
||||||
index b8bf6ac..80646c1 100644
|
|
||||||
--- a/builder/Makefile.am
|
|
||||||
+++ b/builder/Makefile.am
|
|
||||||
@@ -43,7 +43,7 @@ SOURCES = \
|
|
||||||
if HAVE_OCAML
|
|
||||||
|
|
||||||
# Note this list must be in dependency order.
|
|
||||||
-OBJECTS = \
|
|
||||||
+deps = \
|
|
||||||
$(top_builddir)/mllib/libdir.cmx \
|
|
||||||
$(top_builddir)/mllib/common_gettext.cmx \
|
|
||||||
$(top_builddir)/mllib/common_utils.cmx \
|
|
||||||
@@ -66,6 +66,12 @@ OBJECTS = \
|
|
||||||
cmdline.cmx \
|
|
||||||
builder.cmx
|
|
||||||
|
|
||||||
+if HAVE_OCAMLOPT
|
|
||||||
+OBJECTS = $(deps)
|
|
||||||
+else
|
|
||||||
+OBJECTS = $(patsubst %.cmx,%.cmo,$(deps))
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
bin_SCRIPTS = virt-builder
|
|
||||||
|
|
||||||
# -I $(top_builddir)/src/.libs is a hack which forces corresponding -L
|
|
||||||
@@ -83,12 +89,22 @@ endif
|
|
||||||
OCAMLCFLAGS = -g -warn-error CDEFLMPSUVYZX $(OCAMLPACKAGES)
|
|
||||||
OCAMLOPTFLAGS = $(OCAMLCFLAGS)
|
|
||||||
|
|
||||||
+if HAVE_OCAMLOPT
|
|
||||||
virt-builder: $(OBJECTS)
|
|
||||||
$(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) \
|
|
||||||
mlguestfs.cmxa -linkpkg $^ \
|
|
||||||
-cclib '-lncurses -lcrypt' \
|
|
||||||
$(OCAML_GCOV_LDFLAGS) \
|
|
||||||
-o $@
|
|
||||||
+else
|
|
||||||
+virt-builder: $(OBJECTS)
|
|
||||||
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
|
|
||||||
+ mlguestfs.cma -linkpkg $^ \
|
|
||||||
+ -cclib '-lncurses -lcrypt' \
|
|
||||||
+ -custom \
|
|
||||||
+ $(OCAML_GCOV_LDFLAGS) \
|
|
||||||
+ -o $@
|
|
||||||
+endif
|
|
||||||
|
|
||||||
.mli.cmi:
|
|
||||||
$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index d7430db..e57bbf7 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -1024,6 +1024,8 @@ AS_IF([test "x$enable_ocaml" != "xno"],[
|
|
||||||
])
|
|
||||||
AM_CONDITIONAL([HAVE_OCAML],
|
|
||||||
[test "x$OCAMLC" != "xno" && test "x$OCAMLFIND" != "xno"])
|
|
||||||
+AM_CONDITIONAL([HAVE_OCAMLOPT],
|
|
||||||
+ [test "x$OCAMLOPT" != "xno" && test "x$OCAMLFIND" != "xno"])
|
|
||||||
AM_CONDITIONAL([HAVE_OCAMLDOC],
|
|
||||||
[test "x$OCAMLDOC" != "xno"])
|
|
||||||
|
|
||||||
diff --git a/mllib/Makefile.am b/mllib/Makefile.am
|
|
||||||
index 8c8d508..a685310 100644
|
|
||||||
--- a/mllib/Makefile.am
|
|
||||||
+++ b/mllib/Makefile.am
|
|
||||||
@@ -62,6 +62,22 @@ if HAVE_OCAML
|
|
||||||
# - We're not actually building a functioning program here, we're just
|
|
||||||
# linking everything together to check all the modules build OK.
|
|
||||||
# - This list must be in dependency order.
|
|
||||||
+ocaml_modules = config \
|
|
||||||
+ libdir \
|
|
||||||
+ common_gettext \
|
|
||||||
+ common_utils \
|
|
||||||
+ urandom \
|
|
||||||
+ random_seed \
|
|
||||||
+ hostname \
|
|
||||||
+ firstboot \
|
|
||||||
+ perl_edit \
|
|
||||||
+ tTY \
|
|
||||||
+ fsync \
|
|
||||||
+ progress \
|
|
||||||
+ uRI \
|
|
||||||
+ crypt \
|
|
||||||
+ password
|
|
||||||
+
|
|
||||||
OBJECTS = \
|
|
||||||
$(top_builddir)/fish/guestfish-progress.o \
|
|
||||||
$(top_builddir)/fish/guestfish-uri.o \
|
|
||||||
@@ -69,22 +85,13 @@ OBJECTS = \
|
|
||||||
fsync-c.o \
|
|
||||||
progress-c.o \
|
|
||||||
uri-c.o \
|
|
||||||
- crypt-c.o \
|
|
||||||
- config.cmx \
|
|
||||||
- libdir.cmx \
|
|
||||||
- common_gettext.cmx \
|
|
||||||
- common_utils.cmx \
|
|
||||||
- urandom.cmx \
|
|
||||||
- random_seed.cmx \
|
|
||||||
- hostname.cmx \
|
|
||||||
- firstboot.cmx \
|
|
||||||
- perl_edit.cmx \
|
|
||||||
- tTY.cmx \
|
|
||||||
- fsync.cmx \
|
|
||||||
- progress.cmx \
|
|
||||||
- uRI.cmx \
|
|
||||||
- crypt.cmx \
|
|
||||||
- password.cmx
|
|
||||||
+ crypt-c.o
|
|
||||||
+
|
|
||||||
+if HAVE_OCAMLOPT
|
|
||||||
+OBJECTS += $(patsubst %,%.cmx,$(ocaml_modules))
|
|
||||||
+else
|
|
||||||
+OBJECTS += $(patsubst %,%.cmo,$(ocaml_modules))
|
|
||||||
+endif
|
|
||||||
|
|
||||||
noinst_SCRIPTS = dummy
|
|
||||||
|
|
||||||
@@ -105,11 +112,20 @@ OCAMLCLIBS = \
|
|
||||||
-L../gnulib/lib/.libs -lgnu
|
|
||||||
|
|
||||||
dummy: $(OBJECTS)
|
|
||||||
+if HAVE_OCAMLOPT
|
|
||||||
$(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) \
|
|
||||||
mlguestfs.cmxa -linkpkg $^ \
|
|
||||||
-cclib '$(OCAMLCLIBS)' \
|
|
||||||
$(OCAML_GCOV_LDFLAGS) \
|
|
||||||
-o $@
|
|
||||||
+else
|
|
||||||
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
|
|
||||||
+ mlguestfs.cma -linkpkg $^ \
|
|
||||||
+ -cclib '$(OCAMLCLIBS)' \
|
|
||||||
+ -custom \
|
|
||||||
+ $(OCAML_GCOV_LDFLAGS) \
|
|
||||||
+ -o $@
|
|
||||||
+endif
|
|
||||||
|
|
||||||
.mli.cmi:
|
|
||||||
$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@
|
|
||||||
@@ -142,9 +158,15 @@ DEFAULT_INCLUDES = \
|
|
||||||
|
|
||||||
check_SCRIPTS = common_utils_tests
|
|
||||||
|
|
||||||
+if HAVE_OCAMLOPT
|
|
||||||
common_utils_tests: common_gettext.cmx common_utils.cmx common_utils_tests.cmx
|
|
||||||
$(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) \
|
|
||||||
mlguestfs.cmxa -linkpkg $^ -cclib -lncurses -o $@
|
|
||||||
+else
|
|
||||||
+common_utils_tests: common_gettext.cmo common_utils.cmo common_utils_tests.cmo
|
|
||||||
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
|
|
||||||
+ mlguestfs.cma -linkpkg $^ -cclib -lncurses -o $@
|
|
||||||
+endif
|
|
||||||
|
|
||||||
TESTS_ENVIRONMENT = $(top_builddir)/run --test
|
|
||||||
|
|
||||||
diff --git a/ocaml/Makefile.am b/ocaml/Makefile.am
|
|
||||||
index 5dd2c9b..698e13a 100644
|
|
||||||
--- a/ocaml/Makefile.am
|
|
||||||
+++ b/ocaml/Makefile.am
|
|
||||||
@@ -37,10 +37,18 @@ CLEANFILES += t/*.cmi t/*.cmo t/*.cmx t/*.o t/*.a t/*.so
|
|
||||||
|
|
||||||
if HAVE_OCAML
|
|
||||||
|
|
||||||
+DATA_HOOK_FILES = META *.so *.a *.cma *.cmi $(srcdir)/*.mli
|
|
||||||
+if HAVE_OCAMLOPT
|
|
||||||
+DATA_HOOK_FILES += *.cmx *.cmxa
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
OCAMLCFLAGS = -g -warn-error CDEFLMPSUVYZX
|
|
||||||
OCAMLOPTFLAGS = $(OCAMLCFLAGS)
|
|
||||||
|
|
||||||
-noinst_DATA = mlguestfs.cma mlguestfs.cmxa META
|
|
||||||
+noinst_DATA = mlguestfs.cma META
|
|
||||||
+if HAVE_OCAMLOPT
|
|
||||||
+noinst_DATA += mlguestfs.cmxa
|
|
||||||
+endif
|
|
||||||
|
|
||||||
# Build the C part into a library, so that automake handles the C
|
|
||||||
# compilation step for us. Note that we don't directly use this
|
|
||||||
@@ -51,18 +59,15 @@ noinst_LIBRARIES = libguestfsocaml.a
|
|
||||||
# 'libmlguestfs.a' and if run at the same time, they will stomp on or
|
|
||||||
# corrupt each others copy. Hence we have to serialize the calls.
|
|
||||||
|
|
||||||
-CLEANFILES += stamp-mlguestfs
|
|
||||||
-
|
|
||||||
-mlguestfs.cma mlguestfs.cmxa: stamp-mlguestfs
|
|
||||||
-
|
|
||||||
-stamp-mlguestfs: libguestfsocaml.a guestfs.cmo guestfs.cmx
|
|
||||||
+mlguestfs.cma: libguestfsocaml.a guestfs.cmo
|
|
||||||
$(OCAMLMKLIB) -o mlguestfs \
|
|
||||||
$(libguestfsocaml_a_OBJECTS) guestfs.cmo \
|
|
||||||
-L$(top_builddir)/src/.libs -lguestfs
|
|
||||||
+
|
|
||||||
+mlguestfs.cmxa: libguestfsocaml.a guestfs.cmx
|
|
||||||
$(OCAMLMKLIB) -o mlguestfs \
|
|
||||||
$(libguestfsocaml_a_OBJECTS) guestfs.cmx \
|
|
||||||
-L$(top_builddir)/src/.libs -lguestfs
|
|
||||||
- touch $@
|
|
||||||
|
|
||||||
libguestfsocaml_a_CPPFLAGS = \
|
|
||||||
-DGUESTFS_PRIVATE=1 \
|
|
||||||
@@ -121,11 +126,17 @@ test_progs_opt += \
|
|
||||||
t/guestfs_430_progress_messages.opt
|
|
||||||
endif
|
|
||||||
|
|
||||||
-test_progs_all = $(test_progs_bc) $(test_progs_opt)
|
|
||||||
+test_progs_all = $(test_progs_bc)
|
|
||||||
+if HAVE_OCAMLOPT
|
|
||||||
+test_progs_all += $(test_progs_opt)
|
|
||||||
+endif
|
|
||||||
|
|
||||||
TESTS = run-bindtests $(test_progs_all)
|
|
||||||
|
|
||||||
-noinst_DATA += bindtests.bc bindtests.opt $(test_progs_all)
|
|
||||||
+noinst_DATA += bindtests.bc $(test_progs_all)
|
|
||||||
+if HAVE_OCAMLOPT
|
|
||||||
+noinst_DATA += bindtests.opt
|
|
||||||
+endif
|
|
||||||
|
|
||||||
%.bc: %.cmo mlguestfs.cma
|
|
||||||
$(top_builddir)/libtool -dlopen $(top_builddir)/src/.libs/libguestfs.la --mode=execute \
|
|
||||||
@@ -171,10 +182,14 @@ install-data-hook:
|
|
||||||
$(OCAMLFIND) install \
|
|
||||||
-ldconf ignore -destdir $(DESTDIR)$(OCAMLLIB) \
|
|
||||||
guestfs \
|
|
||||||
- META *.so *.a *.cma *.cmx *.cmxa *.cmi $(srcdir)/*.mli
|
|
||||||
+ $(DATA_HOOK_FILES)
|
|
||||||
rm $(DESTDIR)$(OCAMLLIB)/guestfs/bindtests.*
|
|
||||||
rm $(DESTDIR)$(OCAMLLIB)/guestfs/libguestfsocaml.a
|
|
||||||
|
|
||||||
CLEANFILES += $(noinst_DATA)
|
|
||||||
|
|
||||||
endif
|
|
||||||
+
|
|
||||||
+# Tell version 3.79 and up of GNU make to not build goals in this
|
|
||||||
+# directory in parallel.
|
|
||||||
+.NOTPARALLEL:
|
|
||||||
diff --git a/ocaml/examples/Makefile.am b/ocaml/examples/Makefile.am
|
|
||||||
index 200a0aa..472e180 100644
|
|
||||||
--- a/ocaml/examples/Makefile.am
|
|
||||||
+++ b/ocaml/examples/Makefile.am
|
|
||||||
@@ -49,6 +49,7 @@ noinst_SCRIPTS = create_disk inspect_vm
|
|
||||||
|
|
||||||
OCAMLFINDFLAGS = -cclib -L$(top_builddir)/src/.libs
|
|
||||||
|
|
||||||
+if HAVE_OCAMLOPT
|
|
||||||
create_disk: create_disk.ml
|
|
||||||
$(OCAMLFIND) ocamlopt $(OCAMLFINDFLAGS) -package unix -linkpkg \
|
|
||||||
-warn-error A -I .. mlguestfs.cmxa $< -o $@
|
|
||||||
@@ -56,5 +57,17 @@ create_disk: create_disk.ml
|
|
||||||
inspect_vm: inspect_vm.ml
|
|
||||||
$(OCAMLFIND) ocamlopt $(OCAMLFINDFLAGS) -package unix -linkpkg \
|
|
||||||
-warn-error A -I .. mlguestfs.cmxa $< -o $@
|
|
||||||
+else
|
|
||||||
+
|
|
||||||
+# This avoids:
|
|
||||||
+# Error: Error on dynamically loaded library: ../dllmlguestfs.so: libguestfs.so.0: cannot open shared object file: No such file or directory
|
|
||||||
+create_disk: create_disk.ml
|
|
||||||
+ $(top_builddir)/run $(OCAMLFIND) ocamlc $(OCAMLFINDFLAGS) -package unix -linkpkg \
|
|
||||||
+ -warn-error A -I .. mlguestfs.cma $< -o $@
|
|
||||||
+
|
|
||||||
+inspect_vm: inspect_vm.ml
|
|
||||||
+ $(top_builddir)/run $(OCAMLFIND) ocamlc $(OCAMLFINDFLAGS) -package unix -linkpkg \
|
|
||||||
+ -warn-error A -I .. mlguestfs.cma $< -o $@
|
|
||||||
+endif
|
|
||||||
|
|
||||||
endif
|
|
||||||
diff --git a/resize/Makefile.am b/resize/Makefile.am
|
|
||||||
index 76c26ee..ef35bf9 100644
|
|
||||||
--- a/resize/Makefile.am
|
|
||||||
+++ b/resize/Makefile.am
|
|
||||||
@@ -31,7 +31,7 @@ SOURCES = \
|
|
||||||
if HAVE_OCAML
|
|
||||||
|
|
||||||
# Note this list must be in dependency order.
|
|
||||||
-OBJECTS = \
|
|
||||||
+deps = \
|
|
||||||
$(top_builddir)/mllib/tty-c.o \
|
|
||||||
$(top_builddir)/mllib/tTY.cmx \
|
|
||||||
$(top_builddir)/mllib/fsync-c.o \
|
|
||||||
@@ -47,6 +47,12 @@ OBJECTS = \
|
|
||||||
$(top_builddir)/mllib/config.cmx \
|
|
||||||
resize.cmx
|
|
||||||
|
|
||||||
+if HAVE_OCAMLOPT
|
|
||||||
+OBJECTS = $(deps)
|
|
||||||
+else
|
|
||||||
+OBJECTS = $(patsubst %.cmx,%.cmo,$(deps))
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
bin_SCRIPTS = virt-resize
|
|
||||||
|
|
||||||
# -I $(top_builddir)/src/.libs is a hack which forces corresponding -L
|
|
||||||
@@ -69,12 +75,22 @@ OCAMLCLIBS = \
|
|
||||||
-L../src/.libs -lutils \
|
|
||||||
-L../gnulib/lib/.libs -lgnu
|
|
||||||
|
|
||||||
+if HAVE_OCAMLOPT
|
|
||||||
virt-resize: $(OBJECTS)
|
|
||||||
$(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) \
|
|
||||||
mlguestfs.cmxa -linkpkg $^ \
|
|
||||||
-cclib '$(OCAMLCLIBS)' \
|
|
||||||
$(OCAML_GCOV_LDFLAGS) \
|
|
||||||
-o $@
|
|
||||||
+else
|
|
||||||
+virt-resize: $(OBJECTS)
|
|
||||||
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
|
|
||||||
+ mlguestfs.cma -linkpkg $^ \
|
|
||||||
+ -cclib '$(OCAMLCLIBS)' \
|
|
||||||
+ -custom \
|
|
||||||
+ $(OCAML_GCOV_LDFLAGS) \
|
|
||||||
+ -o $@
|
|
||||||
+endif
|
|
||||||
|
|
||||||
.mli.cmi:
|
|
||||||
$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@
|
|
||||||
diff --git a/sparsify/Makefile.am b/sparsify/Makefile.am
|
|
||||||
index 98d9c70..bf6caf0 100644
|
|
||||||
--- a/sparsify/Makefile.am
|
|
||||||
+++ b/sparsify/Makefile.am
|
|
||||||
@@ -32,7 +32,7 @@ SOURCES = \
|
|
||||||
if HAVE_OCAML
|
|
||||||
|
|
||||||
# Note this list must be in dependency order.
|
|
||||||
-OBJECTS = \
|
|
||||||
+deps = \
|
|
||||||
$(top_builddir)/fish/guestfish-progress.o \
|
|
||||||
$(top_builddir)/mllib/tty-c.o \
|
|
||||||
$(top_builddir)/mllib/progress-c.o \
|
|
||||||
@@ -44,6 +44,12 @@ OBJECTS = \
|
|
||||||
statvfs-c.o \
|
|
||||||
sparsify.cmx
|
|
||||||
|
|
||||||
+if HAVE_OCAMLOPT
|
|
||||||
+OBJECTS = $(deps)
|
|
||||||
+else
|
|
||||||
+OBJECTS = $(patsubst %.cmx,%.cmo,$(deps))
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
bin_SCRIPTS = virt-sparsify
|
|
||||||
|
|
||||||
# -I $(top_builddir)/src/.libs is a hack which forces corresponding -L
|
|
||||||
@@ -61,12 +67,22 @@ endif
|
|
||||||
OCAMLCFLAGS = -g -warn-error CDEFLMPSUVYZX $(OCAMLPACKAGES)
|
|
||||||
OCAMLOPTFLAGS = $(OCAMLCFLAGS)
|
|
||||||
|
|
||||||
+if HAVE_OCAMLOPT
|
|
||||||
virt-sparsify: $(OBJECTS)
|
|
||||||
$(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) \
|
|
||||||
mlguestfs.cmxa -linkpkg $^ \
|
|
||||||
-cclib -lncurses \
|
|
||||||
$(OCAML_GCOV_LDFLAGS) \
|
|
||||||
-o $@
|
|
||||||
+else
|
|
||||||
+virt-sparsify: $(OBJECTS)
|
|
||||||
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
|
|
||||||
+ mlguestfs.cma -linkpkg $^ \
|
|
||||||
+ -cclib -lncurses \
|
|
||||||
+ -custom \
|
|
||||||
+ $(OCAML_GCOV_LDFLAGS) \
|
|
||||||
+ -o $@
|
|
||||||
+endif
|
|
||||||
|
|
||||||
.mli.cmi:
|
|
||||||
$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@
|
|
||||||
diff --git a/sysprep/Makefile.am b/sysprep/Makefile.am
|
|
||||||
index 24654cb..352735b 100644
|
|
||||||
--- a/sysprep/Makefile.am
|
|
||||||
+++ b/sysprep/Makefile.am
|
|
||||||
@@ -81,7 +81,7 @@ SOURCES = \
|
|
||||||
if HAVE_OCAML
|
|
||||||
|
|
||||||
# Note this list must be in dependency order.
|
|
||||||
-OBJECTS = \
|
|
||||||
+deps = \
|
|
||||||
$(top_builddir)/mllib/common_gettext.cmx \
|
|
||||||
$(top_builddir)/mllib/common_utils.cmx \
|
|
||||||
$(top_builddir)/fish/guestfish-uri.o \
|
|
||||||
@@ -99,6 +99,12 @@ OBJECTS = \
|
|
||||||
$(patsubst %,sysprep_operation_%.cmx,$(operations)) \
|
|
||||||
main.cmx
|
|
||||||
|
|
||||||
+if HAVE_OCAMLOPT
|
|
||||||
+OBJECTS = $(deps)
|
|
||||||
+else
|
|
||||||
+OBJECTS = $(patsubst %.cmx,%.cmo,$(deps))
|
|
||||||
+endif
|
|
||||||
+
|
|
||||||
bin_SCRIPTS = virt-sysprep
|
|
||||||
|
|
||||||
# -I $(top_builddir)/src/.libs is a hack which forces corresponding -L
|
|
||||||
@@ -121,12 +127,22 @@ OCAMLCLIBS = \
|
|
||||||
-L../src/.libs -lutils \
|
|
||||||
-L../gnulib/lib/.libs -lgnu
|
|
||||||
|
|
||||||
+if HAVE_OCAMLOPT
|
|
||||||
virt-sysprep: $(OBJECTS)
|
|
||||||
$(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) \
|
|
||||||
mlguestfs.cmxa -linkpkg $^ \
|
|
||||||
-cclib '$(OCAMLCLIBS)' \
|
|
||||||
$(OCAML_GCOV_LDFLAGS) \
|
|
||||||
-o $@
|
|
||||||
+else
|
|
||||||
+virt-sysprep: $(OBJECTS)
|
|
||||||
+ $(OCAMLFIND) ocamlc $(OCAMLCFLAGS) \
|
|
||||||
+ mlguestfs.cma -linkpkg $^ \
|
|
||||||
+ -cclib '$(OCAMLCLIBS)' \
|
|
||||||
+ -custom \
|
|
||||||
+ $(OCAML_GCOV_LDFLAGS) \
|
|
||||||
+ -o $@
|
|
||||||
+endif
|
|
||||||
|
|
||||||
.mli.cmi:
|
|
||||||
$(OCAMLFIND) ocamlc $(OCAMLCFLAGS) -c $< -o $@
|
|
@ -1,4 +1,4 @@
|
|||||||
From 6ad9fa64944b23817e8fa642c81fc3ecc93a3464 Mon Sep 17 00:00:00 2001
|
From 6e67537d571c86bfc0a112ffd8962d244714b11a Mon Sep 17 00:00:00 2001
|
||||||
From: Olaf Hering <olaf@aepfle.de>
|
From: Olaf Hering <olaf@aepfle.de>
|
||||||
Date: Mon, 3 Sep 2012 19:50:44 +0200
|
Date: Mon, 3 Sep 2012 19:50:44 +0200
|
||||||
Subject: force virtio_blk in old guest kernel
|
Subject: force virtio_blk in old guest kernel
|
||||||
@ -10,14 +10,14 @@ Signed-off-by: Olaf Hering <olaf@aepfle.de>
|
|||||||
src/handle.c | 16 ++++++++++++++++
|
src/handle.c | 16 ++++++++++++++++
|
||||||
src/inspect-fs-unix.c | 4 ++--
|
src/inspect-fs-unix.c | 4 ++--
|
||||||
src/launch-direct.c | 2 ++
|
src/launch-direct.c | 2 ++
|
||||||
test-tool/test-tool.c | 15 ++++++++++++---
|
test-tool/test-tool.c | 1 +
|
||||||
6 files changed, 38 insertions(+), 7 deletions(-)
|
6 files changed, 27 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
diff --git a/fish/options.c b/fish/options.c
|
diff --git a/fish/options.c b/fish/options.c
|
||||||
index 770576b..6f143e1 100644
|
index 80b71ec..2cef1bc 100644
|
||||||
--- a/fish/options.c
|
--- a/fish/options.c
|
||||||
+++ b/fish/options.c
|
+++ b/fish/options.c
|
||||||
@@ -100,7 +100,10 @@ add_drives (struct drv *drv, char next_drive)
|
@@ -100,7 +100,10 @@ add_drives_handle (guestfs_h *g, struct drv *drv, char next_drive)
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
struct guestfs_add_drive_opts_argv ad_optargs;
|
struct guestfs_add_drive_opts_argv ad_optargs;
|
||||||
@ -29,7 +29,7 @@ index 770576b..6f143e1 100644
|
|||||||
if (next_drive > 'z') {
|
if (next_drive > 'z') {
|
||||||
fprintf (stderr,
|
fprintf (stderr,
|
||||||
_("%s: too many drives added on the command line\n"),
|
_("%s: too many drives added on the command line\n"),
|
||||||
@@ -114,7 +117,7 @@ add_drives (struct drv *drv, char next_drive)
|
@@ -114,7 +117,7 @@ add_drives_handle (guestfs_h *g, struct drv *drv, char next_drive)
|
||||||
free (drv->device);
|
free (drv->device);
|
||||||
drv->device = NULL;
|
drv->device = NULL;
|
||||||
|
|
||||||
@ -39,10 +39,10 @@ index 770576b..6f143e1 100644
|
|||||||
exit (EXIT_FAILURE);
|
exit (EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h
|
diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h
|
||||||
index 8888603..d4f6e90 100644
|
index 27fc857..d31af9f 100644
|
||||||
--- a/src/guestfs-internal.h
|
--- a/src/guestfs-internal.h
|
||||||
+++ b/src/guestfs-internal.h
|
+++ b/src/guestfs-internal.h
|
||||||
@@ -472,6 +472,7 @@ struct guestfs_h
|
@@ -501,6 +501,7 @@ struct guestfs_h
|
||||||
unsigned int nr_requested_credentials;
|
unsigned int nr_requested_credentials;
|
||||||
virConnectCredentialPtr requested_credentials;
|
virConnectCredentialPtr requested_credentials;
|
||||||
#endif
|
#endif
|
||||||
@ -51,11 +51,11 @@ index 8888603..d4f6e90 100644
|
|||||||
|
|
||||||
/* Per-filesystem data stored for inspect_os. */
|
/* Per-filesystem data stored for inspect_os. */
|
||||||
diff --git a/src/handle.c b/src/handle.c
|
diff --git a/src/handle.c b/src/handle.c
|
||||||
index fffe825..4633df6 100644
|
index 687f059..11291dd 100644
|
||||||
--- a/src/handle.c
|
--- a/src/handle.c
|
||||||
+++ b/src/handle.c
|
+++ b/src/handle.c
|
||||||
@@ -237,6 +237,22 @@ parse_environment (guestfs_h *g,
|
@@ -258,6 +258,22 @@ parse_environment (guestfs_h *g,
|
||||||
}
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
+/*
|
+/*
|
||||||
@ -78,10 +78,10 @@ index fffe825..4633df6 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
diff --git a/src/inspect-fs-unix.c b/src/inspect-fs-unix.c
|
diff --git a/src/inspect-fs-unix.c b/src/inspect-fs-unix.c
|
||||||
index 93e035f..6d38bf8 100644
|
index 17b0b5f..20af3f7 100644
|
||||||
--- a/src/inspect-fs-unix.c
|
--- a/src/inspect-fs-unix.c
|
||||||
+++ b/src/inspect-fs-unix.c
|
+++ b/src/inspect-fs-unix.c
|
||||||
@@ -1419,7 +1419,7 @@ resolve_fstab_device_diskbyid (guestfs_h *g, const char *part,
|
@@ -1438,7 +1438,7 @@ resolve_fstab_device_diskbyid (guestfs_h *g, const char *part,
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
/* Make the partition name and check it exists. */
|
/* Make the partition name and check it exists. */
|
||||||
@ -90,7 +90,7 @@ index 93e035f..6d38bf8 100644
|
|||||||
if (!is_partition (g, device)) {
|
if (!is_partition (g, device)) {
|
||||||
free (device);
|
free (device);
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1512,7 +1512,7 @@ resolve_fstab_device (guestfs_h *g, const char *spec, Hash_table *md_map)
|
@@ -1531,7 +1531,7 @@ resolve_fstab_device (guestfs_h *g, const char *spec, Hash_table *md_map)
|
||||||
if (disk_i != -1 && disk_i <= 26 &&
|
if (disk_i != -1 && disk_i <= 26 &&
|
||||||
slice_i > 0 && slice_i <= 1 /* > 4 .. see comment above */ &&
|
slice_i > 0 && slice_i <= 1 /* > 4 .. see comment above */ &&
|
||||||
part_i >= 0 && part_i < 26) {
|
part_i >= 0 && part_i < 26) {
|
||||||
@ -100,10 +100,10 @@ index 93e035f..6d38bf8 100644
|
|||||||
}
|
}
|
||||||
else if ((part = match1 (g, spec, re_diskbyid)) != NULL) {
|
else if ((part = match1 (g, spec, re_diskbyid)) != NULL) {
|
||||||
diff --git a/src/launch-direct.c b/src/launch-direct.c
|
diff --git a/src/launch-direct.c b/src/launch-direct.c
|
||||||
index f44cc20..d212b87 100644
|
index 5c756b7..2dd4817 100644
|
||||||
--- a/src/launch-direct.c
|
--- a/src/launch-direct.c
|
||||||
+++ b/src/launch-direct.c
|
+++ b/src/launch-direct.c
|
||||||
@@ -1066,6 +1066,8 @@ qemu_supports_virtio_scsi (guestfs_h *g, struct backend_direct_data *data)
|
@@ -1185,6 +1185,8 @@ qemu_supports_virtio_scsi (guestfs_h *g, struct backend_direct_data *data)
|
||||||
data->virtio_scsi = 3;
|
data->virtio_scsi = 3;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -113,25 +113,10 @@ index f44cc20..d212b87 100644
|
|||||||
return data->virtio_scsi == 1;
|
return data->virtio_scsi == 1;
|
||||||
}
|
}
|
||||||
diff --git a/test-tool/test-tool.c b/test-tool/test-tool.c
|
diff --git a/test-tool/test-tool.c b/test-tool/test-tool.c
|
||||||
index 3a35226..03565ac 100644
|
index 7e8d88e..8d5ae34 100644
|
||||||
--- a/test-tool/test-tool.c
|
--- a/test-tool/test-tool.c
|
||||||
+++ b/test-tool/test-tool.c
|
+++ b/test-tool/test-tool.c
|
||||||
@@ -44,6 +44,14 @@
|
@@ -187,6 +187,7 @@ main (int argc, char *argv[])
|
||||||
|
|
||||||
#define DEFAULT_TIMEOUT 600
|
|
||||||
|
|
||||||
+#ifdef GUESTFS_QEMU_NO_VIRTIO_BLK
|
|
||||||
+static const char disk[] = "/dev/vda";
|
|
||||||
+static const char part[] = "/dev/vda1";
|
|
||||||
+#else
|
|
||||||
+static const char disk[] = "/dev/sda";
|
|
||||||
+static const char part[] = "/dev/sda1";
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
static int timeout = DEFAULT_TIMEOUT;
|
|
||||||
|
|
||||||
static void set_qemu (guestfs_h *g, const char *path, int use_wrapper);
|
|
||||||
@@ -186,6 +194,7 @@ main (int argc, char *argv[])
|
|
||||||
exit (EXIT_FAILURE);
|
exit (EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
guestfs_set_verbose (g, 1);
|
guestfs_set_verbose (g, 1);
|
||||||
@ -139,26 +124,3 @@ index 3a35226..03565ac 100644
|
|||||||
|
|
||||||
if (qemu)
|
if (qemu)
|
||||||
set_qemu (g, qemu, qemu_use_wrapper);
|
set_qemu (g, qemu, qemu_use_wrapper);
|
||||||
@@ -272,19 +281,19 @@ main (int argc, char *argv[])
|
|
||||||
fflush (stdout);
|
|
||||||
|
|
||||||
/* Create the filesystem and mount everything. */
|
|
||||||
- if (guestfs_part_disk (g, "/dev/sda", "mbr") == -1) {
|
|
||||||
+ if (guestfs_part_disk (g, disk, "mbr") == -1) {
|
|
||||||
fprintf (stderr,
|
|
||||||
_("libguestfs-test-tool: failed to run part-disk\n"));
|
|
||||||
exit (EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (guestfs_mkfs (g, "ext2", "/dev/sda1") == -1) {
|
|
||||||
+ if (guestfs_mkfs (g, "ext2", part) == -1) {
|
|
||||||
fprintf (stderr,
|
|
||||||
_("libguestfs-test-tool: failed to mkfs.ext2\n"));
|
|
||||||
exit (EXIT_FAILURE);
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (guestfs_mount (g, "/dev/sda1", "/") == -1) {
|
|
||||||
+ if (guestfs_mount (g, part, "/") == -1) {
|
|
||||||
fprintf (stderr,
|
|
||||||
_("libguestfs-test-tool: failed to mount /dev/sda1 on /\n"));
|
|
||||||
exit (EXIT_FAILURE);
|
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:cff272bb194f4b247fa6448cbd7772c01d7745dc3e816e3b7d18ec91727e03ab
|
|
||||||
size 4761320
|
|
3
libguestfs-1.26.0.tar.xz
Normal file
3
libguestfs-1.26.0.tar.xz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:5bd1128a34dc5104007386fcf62ac49a4a0649b824a74455f01ce09cd7556f7c
|
||||||
|
size 4992824
|
@ -1,3 +1,16 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Mar 28 14:03:57 CET 2014 - ohering@suse.de
|
||||||
|
|
||||||
|
- Update to version 1.26.0
|
||||||
|
* virt-customize is a new tool for customizing disk images
|
||||||
|
* virt-diff is a new tool for showing differences between filesystems
|
||||||
|
* virt-sparsify has a new --in-place option
|
||||||
|
* new virt-sysprep operations
|
||||||
|
* many bug fixes
|
||||||
|
* full release notes: http://libguestfs.org/guestfs-release-notes.1.html
|
||||||
|
- added 0000-hotfix.patch
|
||||||
|
- removed 0001-ocamlopt.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Thu Feb 27 13:40:20 CET 2014 - ohering@suse.de
|
Thu Feb 27 13:40:20 CET 2014 - ohering@suse.de
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
|
|
||||||
Version: 1.24.6
|
Version: 1.26.0
|
||||||
Release: 0
|
Release: 0
|
||||||
|
|
||||||
%define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
|
%define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
|
||||||
@ -109,7 +109,9 @@ BuildRequires: automake
|
|||||||
%if %{with bash_completion}
|
%if %{with bash_completion}
|
||||||
BuildRequires: bash-completion >= 2.0
|
BuildRequires: bash-completion >= 2.0
|
||||||
%endif
|
%endif
|
||||||
|
BuildRequires: bison
|
||||||
BuildRequires: file-devel
|
BuildRequires: file-devel
|
||||||
|
BuildRequires: flex
|
||||||
BuildRequires: gcc
|
BuildRequires: gcc
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: gperf
|
BuildRequires: gperf
|
||||||
@ -151,8 +153,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
|||||||
Summary: Compatibility package for guestfs-tools
|
Summary: Compatibility package for guestfs-tools
|
||||||
License: GPL-2.0
|
License: GPL-2.0
|
||||||
Group: System/Filesystems
|
Group: System/Filesystems
|
||||||
|
Patch0: 0000-hotfix.patch
|
||||||
Patch1000: 1000-force-virtio_blk-in-old-guest-kernel.patch
|
Patch1000: 1000-force-virtio_blk-in-old-guest-kernel.patch
|
||||||
Patch1: 0001-ocamlopt.patch
|
|
||||||
Source0: %{name}-%{version}.tar.xz
|
Source0: %{name}-%{version}.tar.xz
|
||||||
Source42: libguestfs.mkinitrd.tar.bz2
|
Source42: libguestfs.mkinitrd.tar.bz2
|
||||||
Source789653: Pod-Simple-3.23.tar.xz
|
Source789653: Pod-Simple-3.23.tar.xz
|
||||||
@ -460,7 +462,7 @@ virtual machines.
|
|||||||
%prep
|
%prep
|
||||||
: _ignore_exclusive_arch '%{?_ignore_exclusive_arch}'
|
: _ignore_exclusive_arch '%{?_ignore_exclusive_arch}'
|
||||||
%setup -q -a 789653 -a 42
|
%setup -q -a 789653 -a 42
|
||||||
%patch1 -p1
|
%patch0 -p1
|
||||||
%patch1000 -p1
|
%patch1000 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -803,16 +805,18 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
|
|
||||||
%files -n guestfsd
|
%files -n guestfsd
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{udevrulesdir}
|
|
||||||
%{_sbindir}/guestfsd
|
%{_sbindir}/guestfsd
|
||||||
%{_mandir}/man8/*
|
%{_mandir}/man8/*
|
||||||
|
|
||||||
%files -n guestfs-tools -f %{name}.lang
|
%files -n guestfs-tools -f %{name}.lang
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%doc COPYING
|
%doc COPYING
|
||||||
%{_sbindir}/libguestfs-make-fixed-appliance
|
|
||||||
%{_bindir}/*
|
%{_bindir}/*
|
||||||
%config(noreplace) /etc/libguestfs-tools.conf
|
%config(noreplace) /etc/libguestfs-tools.conf
|
||||||
|
/etc/virt-builder
|
||||||
|
%dir /etc/xdg/virt-builder
|
||||||
|
%dir /etc/xdg/virt-builder/repos.d
|
||||||
|
%config /etc/xdg/virt-builder/repos.d/*
|
||||||
%if %{with bash_completion}
|
%if %{with bash_completion}
|
||||||
%{_datadir}/bash-completion
|
%{_datadir}/bash-completion
|
||||||
%endif
|
%endif
|
||||||
|
Loading…
Reference in New Issue
Block a user