- 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>
|
||||
Date: Mon, 3 Sep 2012 19:50:44 +0200
|
||||
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/inspect-fs-unix.c | 4 ++--
|
||||
src/launch-direct.c | 2 ++
|
||||
test-tool/test-tool.c | 15 ++++++++++++---
|
||||
6 files changed, 38 insertions(+), 7 deletions(-)
|
||||
test-tool/test-tool.c | 1 +
|
||||
6 files changed, 27 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/fish/options.c b/fish/options.c
|
||||
index 770576b..6f143e1 100644
|
||||
index 80b71ec..2cef1bc 100644
|
||||
--- a/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;
|
||||
struct guestfs_add_drive_opts_argv ad_optargs;
|
||||
@ -29,7 +29,7 @@ index 770576b..6f143e1 100644
|
||||
if (next_drive > 'z') {
|
||||
fprintf (stderr,
|
||||
_("%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);
|
||||
drv->device = NULL;
|
||||
|
||||
@ -39,10 +39,10 @@ index 770576b..6f143e1 100644
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
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
|
||||
+++ b/src/guestfs-internal.h
|
||||
@@ -472,6 +472,7 @@ struct guestfs_h
|
||||
@@ -501,6 +501,7 @@ struct guestfs_h
|
||||
unsigned int nr_requested_credentials;
|
||||
virConnectCredentialPtr requested_credentials;
|
||||
#endif
|
||||
@ -51,11 +51,11 @@ index 8888603..d4f6e90 100644
|
||||
|
||||
/* Per-filesystem data stored for inspect_os. */
|
||||
diff --git a/src/handle.c b/src/handle.c
|
||||
index fffe825..4633df6 100644
|
||||
index 687f059..11291dd 100644
|
||||
--- a/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
|
||||
index 93e035f..6d38bf8 100644
|
||||
index 17b0b5f..20af3f7 100644
|
||||
--- a/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;
|
||||
|
||||
/* Make the partition name and check it exists. */
|
||||
@ -90,7 +90,7 @@ index 93e035f..6d38bf8 100644
|
||||
if (!is_partition (g, device)) {
|
||||
free (device);
|
||||
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 &&
|
||||
slice_i > 0 && slice_i <= 1 /* > 4 .. see comment above */ &&
|
||||
part_i >= 0 && part_i < 26) {
|
||||
@ -100,10 +100,10 @@ index 93e035f..6d38bf8 100644
|
||||
}
|
||||
else if ((part = match1 (g, spec, re_diskbyid)) != NULL) {
|
||||
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
|
||||
+++ 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;
|
||||
}
|
||||
}
|
||||
@ -113,25 +113,10 @@ index f44cc20..d212b87 100644
|
||||
return data->virtio_scsi == 1;
|
||||
}
|
||||
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
|
||||
+++ b/test-tool/test-tool.c
|
||||
@@ -44,6 +44,14 @@
|
||||
|
||||
#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[])
|
||||
@@ -187,6 +187,7 @@ main (int argc, char *argv[])
|
||||
exit (EXIT_FAILURE);
|
||||
}
|
||||
guestfs_set_verbose (g, 1);
|
||||
@ -139,26 +124,3 @@ index 3a35226..03565ac 100644
|
||||
|
||||
if (qemu)
|
||||
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
|
||||
|
||||
|
@ -17,7 +17,7 @@
|
||||
#
|
||||
|
||||
|
||||
Version: 1.24.6
|
||||
Version: 1.26.0
|
||||
Release: 0
|
||||
|
||||
%define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
|
||||
@ -109,7 +109,9 @@ BuildRequires: automake
|
||||
%if %{with bash_completion}
|
||||
BuildRequires: bash-completion >= 2.0
|
||||
%endif
|
||||
BuildRequires: bison
|
||||
BuildRequires: file-devel
|
||||
BuildRequires: flex
|
||||
BuildRequires: gcc
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: gperf
|
||||
@ -151,8 +153,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
Summary: Compatibility package for guestfs-tools
|
||||
License: GPL-2.0
|
||||
Group: System/Filesystems
|
||||
Patch0: 0000-hotfix.patch
|
||||
Patch1000: 1000-force-virtio_blk-in-old-guest-kernel.patch
|
||||
Patch1: 0001-ocamlopt.patch
|
||||
Source0: %{name}-%{version}.tar.xz
|
||||
Source42: libguestfs.mkinitrd.tar.bz2
|
||||
Source789653: Pod-Simple-3.23.tar.xz
|
||||
@ -460,7 +462,7 @@ virtual machines.
|
||||
%prep
|
||||
: _ignore_exclusive_arch '%{?_ignore_exclusive_arch}'
|
||||
%setup -q -a 789653 -a 42
|
||||
%patch1 -p1
|
||||
%patch0 -p1
|
||||
%patch1000 -p1
|
||||
|
||||
%build
|
||||
@ -803,16 +805,18 @@ rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%files -n guestfsd
|
||||
%defattr(-,root,root)
|
||||
%{udevrulesdir}
|
||||
%{_sbindir}/guestfsd
|
||||
%{_mandir}/man8/*
|
||||
|
||||
%files -n guestfs-tools -f %{name}.lang
|
||||
%defattr(-,root,root)
|
||||
%doc COPYING
|
||||
%{_sbindir}/libguestfs-make-fixed-appliance
|
||||
%{_bindir}/*
|
||||
%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}
|
||||
%{_datadir}/bash-completion
|
||||
%endif
|
||||
|
Loading…
Reference in New Issue
Block a user