[PATCH] appliance: Not all of Grub is needed, only grub-install
by Hilko Bengen
---
appliance/packagelist.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/appliance/packagelist.in b/appliance/packagelist.in
index 6533a2a..d241ec9 100644
--- a/appliance/packagelist.in
+++ b/appliance/packagelist.in
@@ -62,7 +62,7 @@ ifelse(DEBIAN,1,
genisoimage
gfs-tools
gfs2-tools
- grub-pc
+ grub2-common
hfsplus
iproute
libaugeas0
--
1.9.1
10 years, 8 months
[PATCH] php: raise the per-test timeout to 300 secs
by Pino Toscano
Some tests might spawn an appliance, which will take time on slower
architectures and on some virtualized environments.
Hence raise the per-test timeout from the default of 60s to 300s (which
should be hopefully enough for now).
---
php/run-php-tests.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/php/run-php-tests.sh b/php/run-php-tests.sh
index 53216be..169d24f 100755
--- a/php/run-php-tests.sh
+++ b/php/run-php-tests.sh
@@ -44,4 +44,4 @@ printenv | grep -E '^(LIBGUESTFS|LIBVIRT|LIBVIRTD|VIRTLOCKD|LD|MALLOC)_' >> env
TESTS=$(echo tests/guestfs_php_*.phpt)
echo TESTS: $TESTS
-make test TESTS="$TESTS" PHP_EXECUTABLE="$PWD/php-for-tests.sh" REPORT_EXIT_STATUS=1
+make test TESTS="$TESTS" PHP_EXECUTABLE="$PWD/php-for-tests.sh" REPORT_EXIT_STATUS=1 TEST_TIMEOUT=300
--
1.8.3.1
10 years, 8 months
[PATCH] Fix translation issue in Ukrainian translation
by Pino Toscano
__FOO__ markers have to be left as they are, as they represent
placeholders for further sections.
Unfortunately it seems there's no easy way to exclude them from the
template, so for now just manually ensure/fix they are not translated
differently than English.
---
po-docs/uk.po | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/po-docs/uk.po b/po-docs/uk.po
index 2823cb5..3e06deb 100644
--- a/po-docs/uk.po
+++ b/po-docs/uk.po
@@ -70153,7 +70153,7 @@ msgstr ""
#. type: textblock
#: ../src/guestfs.pod:2485
msgid "__AVAILABILITY__"
-msgstr "__ДОСТУПНІСТЬ__"
+msgstr "__AVAILABILITY__"
#. type: =head2
#: ../src/guestfs.pod:2487
--
1.8.3.1
10 years, 8 months
About Guest running Tiny Core Linux
by Arup Raton Roy
Hi,
I am using Tiny Core Linux for the guests running on KVM. Is it possible to
use libguestsfs tools for this kind of VMs? For example, VM_TC (the name of
the VM provided in libvirt) uses a qcow2 disk image. This disk image is
created from iso file of Tiny Core Linux using qemu-img utility. My host is
ubuntu 12.04. I have tried to use virt-ls tool but could not succeed and is
receiving the following error. Your help in this regard is highly
appreciated.
virt-ls -d VM_TC /
virt-ls: no operating system was found on this disk
If using guestfish '-i' option, remove this option and instead
use the commands 'run' followed by 'list-filesystems'.
You can then mount filesystems you want by hand using the
'mount' or 'mount-ro' command.
If using guestmount '-i', remove this option and choose the
filesystem(s) you want to see by manually adding '-m' option(s).
Use 'virt-filesystems' to see what filesystems are available.
If using other virt tools, this disk image won't work
with these tools. Use the guestfish equivalent commands
(see the virt tool manual page).
Regards
Arup Raton Roy
Graduate Student
David R. Cheriton School of Computer Science
University of Waterloo, Ontario, Canada
10 years, 8 months
[PATCH] Fix building on architectures where ocamlopt is not available
by Hilko Bengen
---
builder/Makefile.am | 18 +++++++++++++-
configure.ac | 2 ++
mllib/Makefile.am | 60 +++++++++++++++++++++++++++++++---------------
ocaml/Makefile.am | 28 +++++++++++++++-------
ocaml/examples/Makefile.am | 13 ++++++++++
resize/Makefile.am | 18 +++++++++++++-
sparsify/Makefile.am | 18 +++++++++++++-
sysprep/Makefile.am | 18 +++++++++++++-
8 files changed, 143 insertions(+), 32 deletions(-)
diff --git a/builder/Makefile.am b/builder/Makefile.am
index f0cb1dd..bc7ab6e 100644
--- a/builder/Makefile.am
+++ b/builder/Makefile.am
@@ -68,7 +68,7 @@ noinst_DATA =
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 \
@@ -109,6 +109,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
@@ -134,12 +140,22 @@ OCAMLCLIBS = \
-pthread -lpthread \
-lncurses -lcrypt
+if HAVE_OCAMLOPT
virt-builder: $(OBJECTS)
$(OCAMLFIND) ocamlopt $(OCAMLOPTFLAGS) \
mlguestfs.cmxa -linkpkg $^ \
-cclib '$(OCAMLCLIBS)' \
$(OCAML_GCOV_LDFLAGS) \
-o $@
+else
+virt-builder: $(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/configure.ac b/configure.ac
index 0326640..61281f2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1026,6 +1026,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 920928d..2e35d1e 100644
--- a/mllib/Makefile.am
+++ b/mllib/Makefile.am
@@ -69,6 +69,25 @@ 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 \
+ timezone \
+ firstboot \
+ perl_edit \
+ tTY \
+ fsync \
+ progress \
+ uRI \
+ crypt \
+ password \
+ mkdtemp \
+ planner
+
OBJECTS = \
$(top_builddir)/fish/guestfish-progress.o \
$(top_builddir)/fish/guestfish-uri.o \
@@ -77,25 +96,13 @@ OBJECTS = \
progress-c.o \
uri-c.o \
crypt-c.o \
- mkdtemp-c.o \
- config.cmx \
- libdir.cmx \
- common_gettext.cmx \
- common_utils.cmx \
- urandom.cmx \
- random_seed.cmx \
- hostname.cmx \
- timezone.cmx \
- firstboot.cmx \
- perl_edit.cmx \
- tTY.cmx \
- fsync.cmx \
- progress.cmx \
- uRI.cmx \
- crypt.cmx \
- password.cmx \
- mkdtemp.cmx \
- planner.cmx
+ mkdtemp-c.o
+
+if HAVE_OCAMLOPT
+OBJECTS += $(patsubst %,%.cmx,$(ocaml_modules))
+else
+OBJECTS += $(patsubst %,%.cmo,$(ocaml_modules))
+endif
noinst_SCRIPTS = dummy
@@ -116,11 +123,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 $@
@@ -153,9 +169,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..708b2e7 100644
--- a/ocaml/Makefile.am
+++ b/ocaml/Makefile.am
@@ -40,7 +40,10 @@ if HAVE_OCAML
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 +54,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 +121,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 \
@@ -178,3 +184,7 @@ install-data-hook:
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 9c9ab14..22da6fd 100644
--- a/sysprep/Makefile.am
+++ b/sysprep/Makefile.am
@@ -85,7 +85,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 \
@@ -106,6 +106,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
@@ -128,12 +134,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.9.0
10 years, 8 months
[PATCH 1/2] builder: allow the index parser to parse files with no sections
by Pino Toscano
Gracefully handle files with no sections; extend the validate.sh test
to try to validate an empty file.
---
builder/index-parse.y | 2 ++
builder/website/validate.sh | 7 +++++++
2 files changed, 9 insertions(+)
diff --git a/builder/index-parse.y b/builder/index-parse.y
index 9355bd4..5133959 100644
--- a/builder/index-parse.y
+++ b/builder/index-parse.y
@@ -108,6 +108,8 @@ sections:
{ $$ = $1; }
| section EMPTY_LINE emptylines sections
{ $$ = $1; $$->next = $4; }
+ | emptylines
+ { $$ = NULL; }
section:
SECTION_HEADER fields
diff --git a/builder/website/validate.sh b/builder/website/validate.sh
index bd9a4ed..f2e24cf 100755
--- a/builder/website/validate.sh
+++ b/builder/website/validate.sh
@@ -19,6 +19,13 @@
export LANG=C
set -e
+fn=test-filename-for-index-validate
+
+rm -f $fn
+touch $fn
+
$VG ../virt-index-validate $srcdir/index
$VG ../virt-index-validate $srcdir/index.asc
+$VG ../virt-index-validate $fn
+rm $fn
--
1.8.3.1
10 years, 8 months
[PATCH 1/3] builder/virt-index-validate: try to cleanup in any occasion
by Pino Toscano
Always close the file (ignoring its result) after a parsing, and cleanup
the parse_context object before any exit().
This eases the debugging of memory issues in the actual parser.
---
builder/index-validate.c | 18 +++++++++++++-----
1 file changed, 13 insertions(+), 5 deletions(-)
diff --git a/builder/index-validate.c b/builder/index-validate.c
index 4b7fe93..fed0f81 100644
--- a/builder/index-validate.c
+++ b/builder/index-validate.c
@@ -62,6 +62,7 @@ main (int argc, char *argv[])
struct section *sections;
struct parse_context context;
FILE *in;
+ int ret;
setlocale (LC_ALL, "");
bindtextdomain (PACKAGE, LOCALEBASEDIR);
@@ -109,19 +110,22 @@ main (int argc, char *argv[])
exit (EXIT_FAILURE);
}
- if (do_parse (&context, in) != 0) {
- fprintf (stderr, _("%s: '%s' could not be validated, see errors above\n"),
+ ret = do_parse (&context, in);
+
+ if (fclose (in) == EOF) {
+ fprintf (stderr, _("%s: %s: error closing input file: %m (ignored)\n"),
program_name, input);
- exit (EXIT_FAILURE);
}
- if (fclose (in) == EOF) {
- fprintf (stderr, _("%s: %s: error reading input file: %m\n"),
+ if (ret != 0) {
+ parse_context_free (&context);
+ fprintf (stderr, _("%s: '%s' could not be validated, see errors above\n"),
program_name, input);
exit (EXIT_FAILURE);
}
if (compat_1_24_1 && context.seen_comments) {
+ parse_context_free (&context);
fprintf (stderr, _("%s: %s contains comments which will not work with virt-builder 1.24.1\n"),
program_name, input);
exit (EXIT_FAILURE);
@@ -134,6 +138,7 @@ main (int argc, char *argv[])
if (compat_1_24_0) {
if (strchr (sections->name, '_')) {
+ parse_context_free (&context);
fprintf (stderr, _("%s: %s: section [%s] has invalid characters which will not work with virt-builder 1.24.0\n"),
program_name, input, sections->name);
exit (EXIT_FAILURE);
@@ -144,6 +149,7 @@ main (int argc, char *argv[])
if (compat_1_24_0) {
if (strchr (fields->key, '[') ||
strchr (fields->key, ']')) {
+ parse_context_free (&context);
fprintf (stderr, _("%s: %s: section [%s], field '%s' has invalid characters which will not work with virt-builder 1.24.0\n"),
program_name, input, sections->name, fields->key);
exit (EXIT_FAILURE);
@@ -152,6 +158,7 @@ main (int argc, char *argv[])
if (compat_1_24_1) {
if (strchr (fields->key, '.') ||
strchr (fields->key, ',')) {
+ parse_context_free (&context);
fprintf (stderr, _("%s: %s: section [%s], field '%s' has invalid characters which will not work with virt-builder 1.24.1\n"),
program_name, input, sections->name, fields->key);
exit (EXIT_FAILURE);
@@ -162,6 +169,7 @@ main (int argc, char *argv[])
}
if (compat_1_24_0 && !seen_sig) {
+ parse_context_free (&context);
fprintf (stderr, _("%s: %s: section [%s] is missing a 'sig' field which will not work with virt-builder 1.24.0\n"),
program_name, input, sections->name);
exit (EXIT_FAILURE);
--
1.8.3.1
10 years, 8 months