[PATCH] rename local variable to avoid clash with match macro
by Olaf Hering
match will expand to guestfs___match, rename the local variable to avoid clash.
Signed-off-by: Olaf Hering <olaf(a)aepfle.de>
diff --git a/src/inspect-fs-unix.c b/src/inspect-fs-unix.c
index 06ff96d..c30ad5a 100644
--- a/src/inspect-fs-unix.c
+++ b/src/inspect-fs-unix.c
@@ -1128,14 +1128,14 @@ map_md_devices(guestfs_h *g, Hash_table **map)
mdadm_app_free);
if (!*map) g->abort_cb();
- for (char **match = matches; *match != NULL; match++) {
+ for (char **_match = matches; *_match != NULL; _match++) {
/* Get device name and uuid for each array */
- char *dev_path = safe_asprintf(g, "%s/devicename", *match);
+ char *dev_path = safe_asprintf(g, "%s/devicename", *_match);
char *dev = guestfs_aug_get(g, dev_path);
free(dev_path);
if (!dev) goto error;
- char *uuid_path = safe_asprintf(g, "%s/uuid", *match);
+ char *uuid_path = safe_asprintf(g, "%s/uuid", *_match);
char *uuid = guestfs_aug_get(g, uuid_path);
free(uuid_path);
if (!uuid) {
--
1.7.12
12 years, 2 months
[PATCH] python: PyInt_* no longer exists in python3, replace with PyLong_*
by Hilko Bengen
---
generator/python.ml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/generator/python.ml b/generator/python.ml
index 482b189..b4bc3ce 100644
--- a/generator/python.ml
+++ b/generator/python.ml
@@ -381,7 +381,7 @@ free_strings (char **argv)
pr " optargs_s.bitmask |= %s_%s_BITMASK;\n" c_optarg_prefix uc_n;
(match optarg with
| OBool _ | OInt _ ->
- pr " optargs_s.%s = PyInt_AsLong (py_%s);\n" n n;
+ pr " optargs_s.%s = PyLong_AsLong (py_%s);\n" n n;
pr " if (PyErr_Occurred ()) return NULL;\n"
| OInt64 _ ->
pr " optargs_s.%s = PyLong_AsLongLong (py_%s);\n" n n;
--
1.7.10.4
12 years, 2 months
[PATCH] sysprep: handle SuSE in random-seed operation
by Olaf Hering
Signed-off-by: Olaf Hering <olaf(a)aepfle.de>
diff --git a/sysprep/sysprep_operation_random_seed.ml b/sysprep/sysprep_operation_random_seed.ml
index f124c02..1c6060e 100644
--- a/sysprep/sysprep_operation_random_seed.ml
+++ b/sysprep/sysprep_operation_random_seed.ml
@@ -27,6 +27,7 @@ let random_seed_perform g root =
let files = [
"/var/lib/random-seed"; (* Fedora *)
"/var/lib/urandom/random-seed"; (* Debian *)
+ "/var/lib/misc/random-seed"; (* SuSE *)
] in
List.iter (
fun file ->
--
1.7.12
12 years, 2 months
[PATCH] sysprep: add zypper to package-manager-cache operation
by Olaf Hering
libzypp and zypper store their cache files in
/var/cache/zypp/{packages,raw,solv}/ and /var/cache/zypper/RPMS/
Add a single pattern to match both cases.
Signed-off-by: Olaf Hering <olaf(a)aepfle.de>
diff --git a/sysprep/sysprep_operation_package_manager_cache.ml b/sysprep/sysprep_operation_package_manager_cache.ml
index f529769..95c0d23 100644
--- a/sysprep/sysprep_operation_package_manager_cache.ml
+++ b/sysprep/sysprep_operation_package_manager_cache.ml
@@ -25,6 +25,8 @@ let package_manager_cache_perform g root =
let packager = g#inspect_get_package_management root in
let cache_dirs =
match packager with
+ | "zypper" ->
+ Some (g#glob_expand "/var/cache/zypp*/*")
| "yum" ->
Some (g#glob_expand "/var/cache/yum/*")
| "apt" ->
--
1.7.12
12 years, 2 months
[PATCH] sysprep: remove apache2, audit and ntp in logfile operation
by Olaf Hering
Add more entries to the dump ground of logfile patterns.
Signed-off-by: Olaf Hering <olaf(a)aepfle.de>
diff --git a/sysprep/sysprep_operation_logfiles.ml b/sysprep/sysprep_operation_logfiles.ml
index 5e6ce7f..a2b1585 100644
--- a/sysprep/sysprep_operation_logfiles.ml
+++ b/sysprep/sysprep_operation_logfiles.ml
@@ -38,6 +38,10 @@ let globs = List.sort compare [
"/var/log/spooler*";
"/var/log/tallylog*";
"/var/log/wtmp*";
+ "/var/log/apache2/*_log";
+ "/var/log/apache2/*_log-*";
+ "/var/log/audit/audit.log";
+ "/var/log/ntp";
(* logfiles configured by /etc/logrotate.d/* *)
"/var/log/BackupPC/LOG";
--
1.7.12
12 years, 2 months
virt-sysprep cron-spool, no at jobs
by Olaf Hering
sysprep/sysprep_operation_cron_spool.ml claims to remove at jobs, but
those are not stored in /var/spool/cron/ on my system. Is the
description wrong, or do other distros store the spool data in the cron
dir?
For me it looks like this (000110156d537 is currently executed):
root@probook:~ # find /var/spool/at* -ls
67540 1 drwx------ 2 at at 1024 Sep 19 18:55 /var/spool/atjobs
68080 6 -rwx------ 1 olaf users 5203 Sep 19 18:54 /var/spool/atjobs/=000110156d537
67539 1 -rw------- 1 at at 6 Sep 19 18:54 /var/spool/atjobs/.SEQ
67984 6 -rwx------ 1 olaf users 5257 Sep 19 18:52 /var/spool/atjobs/a000100156d678
67542 1 drwx------ 2 at at 1024 Sep 19 18:55 /var/spool/atspool
68169 1 -rw------- 1 at at 49 Sep 19 18:55 /var/spool/atspool/a000110156d537
Olaf
12 years, 2 months
uploads and unpacks .zip file
by 周涛
hi jones!
how to upload and unpack zip file tarball into a windows VM.
i tried tar_in、tgz_in, but failed!
thanks!
周涛
---------------------------------------------------------------------------------------------------
Confidentiality Notice: The information contained in this e-mail and any accompanying attachment(s)
is intended only for the use of the intended recipient and may be confidential and/or privileged of
Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of this communication is
not the intended recipient, unauthorized use, forwarding, printing, storing, disclosure or copying
is strictly prohibited, and may be unlawful.If you have received this communication in error,please
immediately notify the sender by return e-mail, and delete the original message and all copies from
your system. Thank you.
---------------------------------------------------------------------------------------------------
12 years, 2 months
Remaining syntax-check errors in libguestfs
by Richard W.M. Jones
... and why they are (probably) not errors.
> bindtextdomain
> daemon/guestfsd.c
> erlang/erl-guestfs-proto.c
> examples/copy_over.c
> examples/create_disk.c
> examples/display_icon.c
> examples/inspect_vm.c
> examples/mount_local.c
> examples/virt-dhcp-address.c
> tests/c-api/test-add-drive-opts.c
> tests/c-api/test-add-libvirt-dom.c
> tests/c-api/test-command.c
> tests/c-api/test-config.c
> tests/c-api/test-create-handle.c
> tests/c-api/test-debug-to-file.c
> tests/c-api/test-just-header.c
> tests/c-api/test-last-errno.c
> tests/c-api/test-private-data.c
> tests/c-api/test-user-cancel.c
> tests/charsets/test-charset-fidelity.c
> tests/mount-local/test-parallel-mount-local.c
> tests/regressions/rhbz501893.c
> tests/regressions/rhbz790721.c
> maint.mk: the above files do not call bindtextdomain
> make: *** [sc_bindtextdomain] Error 1
I think for examples, tests and the rather special Erlang case, it's
wrong to demand calls to bindtextdomain. The daemon is arguable, but
we don't include any locale data in the appliance.
> cast_of_argument_to_free
> generator/erlang.ml:403: pr " free ((char *) optargs_s.%s);\n" n
> generator/ocaml.ml:588: pr " free ((char *) optargs_s.%s);\n" n
> generator/python.ml:437: pr " free ((char **) optargs_s.%s);\n" n
> maint.mk: don't cast free argument
> make: *** [sc_cast_of_argument_to_free] Error 1
It seems to me this is another shortcoming of 'const' in C.
We currently define the optargs structs as having const char *
string fields, eg:
struct guestfs_add_domain_argv {
//...
const char *libvirturi;
//...
}
I tried to change this so that the fields are plain 'char *' but the
structs are const, but that doesn't work. ie. The following code
would not work:
some_func (const char *uri)
{
const struct guestfs_add_domain_argv optargs = { libvirturi = uri };
guestfs_add_domain_argv (g, dom, &optargs);
}
Apparently const-ness of a struct does not get inherited by fields
inside it, probably because const-ness of a struct just indicates the
pointer to the string is const, not the string itself. (Phantom types
solve this problem properly and much more generally - having a const
keyword in C is an unnecessary mistake IMHO).
Anyway, the cast seems necessary in the three cases above.
> error_message_period
> php/README-PHP:33: echo ("Error: ".guestfs_last_error ($g)."\n");
> php/README-PHP:44: echo ("Error: ".guestfs_last_error ($g)."\n");
> php/extension/guestfs_php_002.phpt:30: die ("Error: ".guestfs_last_error ($g)."\n");
> php/extension/guestfs_php_002.phpt:35: echo ("Error: ".guestfs_last_error ($g)."\n");
> po-docs/ja.po-37794-"force>)."
> po-docs/libguestfs-docs.pot-33647-"I<--resize-force>)."
> po-docs/uk.po-35901-"force>)."
> resize/resize.ml:285: error (f_"%s: unknown partition table type\nvirt-resize only supports MBR (DOS) and GPT partition tables.") infile
> resize/resize.ml:685: error (f_"You cannot use --expand when there is no surplus space to expand into. You need to make the target disk larger by at least %s.")
> resize/resize.ml:697: error (f_"You cannot use --shrink when there is no deficit (see 'deficit' in the virt-resize(1) man page).");
> resize/resize.ml:714: error (f_"There is a deficit of %Ld bytes (%s). You need to make the target disk larger by at least this amount or adjust your resizing requests.")
> src/launch-appliance.c:758: error (g, _("command failed: %s\nerrno: %s\n\nIf qemu is located on a non-standard path, try setting the LIBGUESTFS_QEMU\nenvironment variable. There may also be errors printed above."),
> src/launch-libvirt.c-841- "'--format' option, or via the optional 'format' argument to 'add-drive'."),
> src/launch.c-196- "This is a limitation of qemu."));
> src/launch.c-284- "This is a limitation of qemu."));
> src/libvirtdomain.c-571- "See ATTACHING TO RUNNING DAEMONS in guestfs(3) for further information."));
> maint.mk: found error message ending in period
> make: *** [sc_error_message_period] Error 1
The PHP warning seems to be a bug in the script. The other cases are
acceptable because the error messages are proper sentences.
> makefile_at_at_check
> erlang/examples/Makefile.am:1248: --verbatim $(srcdir)/create_disk.erl:@EXAMPLE1@ \
> erlang/examples/Makefile.am:1249: --verbatim $(srcdir)/inspect_vm.erl:@EXAMPLE2@ \
> examples/Makefile.am:1375: --verbatim $(srcdir)/create_disk.c:@EXAMPLE1@ \
> examples/Makefile.am:1376: --verbatim $(srcdir)/inspect_vm.c:@EXAMPLE2@ \
> fish/Makefile.am:1611: --insert $(srcdir)/guestfish-actions.pod:@ACTIONS@ \
> fish/Makefile.am:1612: --insert $(srcdir)/guestfish-commands.pod:@FISH_COMMANDS@ \
> java/examples/Makefile.am:2570: --verbatim $(srcdir)/CreateDisk.java:@EXAMPLE1@ \
> java/examples/Makefile.am:2571: --verbatim $(srcdir)/InspectVM.java:@EXAMPLE2@ \
> ocaml/examples/Makefile.am:2848: --verbatim $(srcdir)/create_disk.ml:@EXAMPLE1@ \
> ocaml/examples/Makefile.am:2849: --verbatim $(srcdir)/inspect_vm.ml:@EXAMPLE2@ \
> perl/examples/Makefile.am:2985: --verbatim $(srcdir)/create_disk.pl:@EXAMPLE1@ \
> perl/examples/Makefile.am:2986: --verbatim $(srcdir)/inspect_vm.pl:@EXAMPLE2@ \
> po-docs/ja/Makefile.am:3215: --insert $(srcdir)/guestfs-actions.pod:@ACTIONS@ \
> po-docs/ja/Makefile.am:3216: --insert $(srcdir)/guestfs-availability.pod:@AVAILABILITY@ \
> po-docs/ja/Makefile.am:3217: --insert $(srcdir)/guestfs-structs.pod:@STRUCTS@ \
> po-docs/ja/Makefile.am:3225: --insert $(srcdir)/guestfish-actions.pod:@ACTIONS@ \
> po-docs/ja/Makefile.am:3226: --insert $(srcdir)/guestfish-commands.pod:@FISH_COMMANDS@ \
> po-docs/ja/Makefile.am:3234: --insert sysprep-extra-options.pod:@EXTRA_OPTIONS@ \
> po-docs/ja/Makefile.am:3235: --insert sysprep-operations.pod:@OPERATIONS@ \
> po-docs/uk/Makefile.am:3353: --insert $(srcdir)/guestfs-actions.pod:@ACTIONS@ \
> po-docs/uk/Makefile.am:3354: --insert $(srcdir)/guestfs-availability.pod:@AVAILABILITY@ \
> po-docs/uk/Makefile.am:3355: --insert $(srcdir)/guestfs-structs.pod:@STRUCTS@ \
> po-docs/uk/Makefile.am:3363: --insert $(srcdir)/guestfish-actions.pod:@ACTIONS@ \
> po-docs/uk/Makefile.am:3364: --insert $(srcdir)/guestfish-commands.pod:@FISH_COMMANDS@ \
> po-docs/uk/Makefile.am:3372: --insert sysprep-extra-options.pod:@EXTRA_OPTIONS@ \
> po-docs/uk/Makefile.am:3373: --insert sysprep-operations.pod:@OPERATIONS@ \
> python/examples/Makefile.am:3611: --verbatim $(srcdir)/create_disk.py:@EXAMPLE1@ \
> python/examples/Makefile.am:3612: --verbatim $(srcdir)/inspect_vm.py:@EXAMPLE2@ \
> ruby/examples/Makefile.am:3931: --verbatim $(srcdir)/create_disk.rb:@EXAMPLE1@ \
> ruby/examples/Makefile.am:3932: --verbatim $(srcdir)/inspect_vm.rb:@EXAMPLE2@ \
> src/Makefile.am:4293: --insert $(srcdir)/guestfs-actions.pod:@ACTIONS@ \
> src/Makefile.am:4294: --insert $(srcdir)/guestfs-availability.pod:@AVAILABILITY@ \
> src/Makefile.am:4295: --insert $(srcdir)/guestfs-structs.pod:@STRUCTS@ \
> sysprep/Makefile.am:4460: --insert sysprep-extra-options.pod:@EXTRA_OPTIONS@ \
> sysprep/Makefile.am:4461: --insert sysprep-operations.pod:@OPERATIONS@ \
> maint.mk: use $(...), not @...@
> make: *** [sc_makefile_at_at_check] Error 1
Real bug (in libguestfs). Podwrapper should be changed to use a
different character for its substitutions. There is a possibility
that these could be accidentally substituted by autoconf.
> prohibit_always-defined_macros
> cat/virt-ls.c:#define O_CLOEXEC 0
> daemon/daemon.h:#define O_CLOEXEC 0
> daemon/guestfsd.c:# define O_CLOEXEC 0
> examples/mount_local.c:#define O_CLOEXEC 0
> fish/fish.h:#define O_CLOEXEC 0
> generator/tests_c_api.ml:#define O_CLOEXEC 0
> src/guestfs-internal.h:#define O_CLOEXEC 0
> src/info.c:#define O_CLOEXEC 0
> tests/c-api/test-last-errno.c:#define O_CLOEXEC 0
> tests/c-api/test-user-cancel.c:#define O_CLOEXEC 0
> tests/xml/fake-libvirt-xml.c:#define O_CLOEXEC 0
> maint.mk: define the above via some gnulib .h file
> make: *** [sc_prohibit_always-defined_macros] Error 1
I don't think I understand what's wrong about this. Does gnulib
define O_CLOEXEC now?
> prohibit_doubled_word
> po/pl.po:2947:do do
> maint.mk: doubled words
> make: *** [sc_prohibit_doubled_word] Error 1
Apparently 'do do' is OK in Polish ...
> prohibit_empty_lines_at_EOF
> contrib/intro/overview.png
> contrib/intro/tools.png
> contrib/intro/virt-manager-t.png
> contrib/intro/virt-manager.png
> contrib/intro/vmm-icons-t.png
> contrib/intro/vmm-icons.png
> contrib/visualize-alignment/qemu-0.13-trace-block-device-access.patch
> erlang/tests/010-load.erl
> guestfs-release-notes.txt
> html/draft.png
> logo/fish.png
> po/libguestfs.pot
> tests/data/bin-i586-dynamic
> tests/data/bin-sparc-dynamic
> tests/data/bin-win32.exe
> tests/data/bin-win64.exe
> tests/data/bin-x86_64-dynamic
> tests/data/filesanddirs-100M.tar.xz
> tests/data/filesanddirs-10M.tar.xz
> tests/data/helloworld.tar
> tests/data/helloworld.tar.gz
> tests/data/helloworld.tar.xz
> tests/data/known-4
> tests/data/known-5
> tests/data/lib-i586.so
> tests/data/lib-sparc.so
> tests/data/lib-win32.dll
> tests/data/lib-win64.dll
> tests/data/lib-x86_64.so
> tests/data/mbr-ext2-empty.img.gz
> tests/guests/guest-aux/debian-packages
> tests/guests/guest-aux/minimal-hive
> tests/guests/guest-aux/windows-software
> tests/guests/guest-aux/windows-system
> tests/regressions/rhbz576879.sh
> maint.mk: empty line(s) or no newline at EOF
> make: *** [sc_prohibit_empty_lines_at_EOF] Error 1
One problem with this test is it's matching binaries.
> prohibit_magic_number_exit
> po-docs/ja.po:59861:"might be called indirectly from L<exit(3)>, which can cause unexpected "
> po-docs/libguestfs-docs.pot:50902:"might be called indirectly from L<exit(3)>, which can cause unexpected "
> po-docs/uk.po:57345:"might be called indirectly from L<exit(3)>, which can cause unexpected "
> src/guestfs.pod:2028:callback might be called indirectly from L<exit(3)>, which can cause
> tests/mount-local/test-parallel-mount-local.c:104: exit (77);
> tests/mount-local/test-parallel-mount-local.c:110: exit (77);
> tests/regressions/rhbz790721.c:79: exit (77);
> maint.mk: use EXIT_* values rather than magic number
> make: *** [sc_prohibit_magic_number_exit] Error 1
I think exit (77) is acceptable. To automake, this means that the
test has been skipped, and there is no constant for it. However
writing a regexp that matches all numbers except "77" is quite hard.
> prohibit_path_max_allocation
> daemon/initrd.c:41: char filename[PATH_MAX];
> daemon/initrd.c:126: char fullpath[PATH_MAX];
> daemon/inotify.c:310: char buf[PATH_MAX];
> daemon/link.c:38: char link[PATH_MAX];
> daemon/link.c:63: char link[PATH_MAX];
> daemon/realpath.c:86: char ret[PATH_MAX+1] = "/";
> daemon/xattr.c:272: char pathname[PATH_MAX];
> src/launch-appliance.c:179: addr.sun_path[UNIX_PATH_MAX-1] = '\0';
> src/launch-libvirt.c:200: addr.sun_path[UNIX_PATH_MAX-1] = '\0';
> src/launch-libvirt.c:224: addr.sun_path[UNIX_PATH_MAX-1] = '\0';
> src/launch-unix.c:64: addr.sun_path[UNIX_PATH_MAX-1] = '\0';
> maint.mk: Avoid stack allocations of size PATH_MAX
> make: *** [sc_prohibit_path_max_allocation] Error 1
The daemon ones are bugs in libguestfs. I haven't fixed them yet.
However the use of UNIX_PATH_MAX looks OK to me. I think the regexp
is over-matching.
> prohibit_strcmp
> examples/mount_local.c:150: if (p && strcmp (p+1, "bash") == 0) {
> examples/virt-dhcp-address.c:129: if (strcmp (guest_type, "linux") == 0) {
> examples/virt-dhcp-address.c:134: if (strcmp (guest_distro, "fedora") == 0 ||
> examples/virt-dhcp-address.c:135: strcmp (guest_distro, "rhel") == 0 ||
> examples/virt-dhcp-address.c:136: strcmp (guest_distro, "redhat-based") == 0) {
> examples/virt-dhcp-address.c:139: else if (strcmp (guest_distro, "debian") == 0 ||
> examples/virt-dhcp-address.c:140: strcmp (guest_distro, "ubuntu") == 0) {
> examples/virt-dhcp-address.c:151: else if (strcmp (guest_type, "windows") == 0) {
> test-tool/test-tool.c:43://#define STRNEQ(a,b) (strcmp((a),(b)) != 0)
> maint.mk: maint.mk: replace strcmp calls above with STREQ/STRNEQ
> make: *** [sc_prohibit_strcmp] Error 1
We want to use strcmp in examples. They don't follow the ordinary
code conventions used in the rest of libguestfs.
There's something wrong with check matching test-tool.c.
> prohibit_strcmp_and_strncmp
> examples/mount_local.c:150: if (p && strcmp (p+1, "bash") == 0) {
> examples/virt-dhcp-address.c:129: if (strcmp (guest_type, "linux") == 0) {
> examples/virt-dhcp-address.c:134: if (strcmp (guest_distro, "fedora") == 0 ||
> examples/virt-dhcp-address.c:135: strcmp (guest_distro, "rhel") == 0 ||
> examples/virt-dhcp-address.c:136: strcmp (guest_distro, "redhat-based") == 0) {
> examples/virt-dhcp-address.c:139: else if (strcmp (guest_distro, "debian") == 0 ||
> examples/virt-dhcp-address.c:140: strcmp (guest_distro, "ubuntu") == 0) {
> examples/virt-dhcp-address.c:151: else if (strcmp (guest_type, "windows") == 0) {
> maint.mk: use STREQ(LEN) in place of the above uses of strcmp(strncmp)
> make: *** [sc_prohibit_strcmp_and_strncmp] Error 1
Examples should be excluded.
> prohibit_strncpy
> src/launch-appliance.c:178: strncpy (addr.sun_path, guestfsd_sock, UNIX_PATH_MAX);
> src/launch-libvirt.c:199: strncpy (addr.sun_path, guestfsd_sock, UNIX_PATH_MAX);
> src/launch-libvirt.c:223: strncpy (addr.sun_path, console_sock, UNIX_PATH_MAX);
> src/launch-unix.c:63: strncpy (addr.sun_path, sockpath, UNIX_PATH_MAX);
> maint.mk: do not use strncpy, period
> make: *** [sc_prohibit_strncpy] Error 1
I think use of strncpy is justified here.
> prohibit_test_minus_ao
> appliance/init:26:if [ ! -L /etc/init.d/udev -a -x /etc/init.d/udev ]; then
> configure.ac:1276: [test "x$GOBJECT_LIBS" != "x" -a "x$GIO_LIBS" != "x"])
> edit/test-virt-edit.sh:32:if [ "$(../cat/virt-cat -a test.qcow2 /etc/test3)" != "a
> edit/test-virt-edit.sh:47: if [ "$(../cat/virt-cat -a test.qcow2 /etc/test3)" != "1
> edit/test-virt-edit.sh:61:if [ "$(../fish/guestfish -i -a test.qcow2 --ro lstat /etc/test3 | grep -E '^(mode|uid|gid):' | sort)" != "gid: 11
> fish/test-mount-local.sh:36:if [ $# -gt 0 -a "$1" = "--run-test" ]; then
> format/test-virt-format.sh:29:if [ "$(../cat/virt-filesystems -a test1.img)" != "/dev/sda1" ]; then
> fuse/test-fuse-umount-race.sh:75:if [ "$(../fish/guestfish -a test-copy.qcow2 --ro -i is-file /test-umount)" != "true" ]; then
> fuse/test-fuse.sh:55:if [ ! -x "$guestfish" -o ! -x "$guestmount" ]; then
> src/api-support/update-from-tarballs.sh:39: if [ $v != "1.2.0" -a $v != "1.3.0" -a ! -f $v ]; then
> sysprep/test-virt-sysprep-script.sh:40:if [ ! -f stamp-script1.sh -o ! -f stamp-script2.sh ]; then
> tests/md/test-inspect-fstab-md.sh:33:if [ -z "$f" -o ! -f "$f" ]; then
> tools/test-virt-make-fs.sh:48:if [ "$ntfs3g_available" = "yes" -a "$ntfsprogs_available" = "yes" ]; then
> maint.mk: use "test C1 && test C2", not "test C1 -a C2"; use "test C1 || test C2", not "test C1 -o C2"
> make: *** [sc_prohibit_test_minus_ao] Error 1
What was wrong with -a and -o? Perhaps we should exempt this test for
scripts that explicitly begin #!/bin/bash, since presumably these will
use bash's built-in test.
> prohibit_trailing_blank_lines
> contrib/visualize-alignment/qemu-0.13-trace-block-device-access.patch
> guestfs-release-notes.txt
> po/libguestfs.pot
> tests/guests/guest-aux/debian-packages
> maint.mk: found trailing blank line(s)
> make: *** [sc_prohibit_trailing_blank_lines] Error 1
guestfs-release-notes.txt and po/libguestfs.pot are generated files.
debian-packages is effectively a binary file.
> prohibit_undesirable_word_seq
> BUGS:147:can not
> guestfs-release-notes.pod:561:can not
> guestfs-release-notes.pod:1630:can not
> guestfs-release-notes.pod:1657:can not
> guestfs-release-notes.pod:1665:can not
> guestfs-release-notes.txt:495:can not
> guestfs-release-notes.txt:1550:can not
> guestfs-release-notes.txt:1577:can not
> guestfs-release-notes.txt:1585:can not
> po-docs/ja.po:31860:can not
> po-docs/ja.po:34550:can not
> po-docs/ja.po:34577:can not
> po-docs/ja.po:34585:can not
> po-docs/libguestfs-docs.pot:28130:can not
> po-docs/libguestfs-docs.pot:30835:can not
> po-docs/libguestfs-docs.pot:30871:can not
> po-docs/libguestfs-docs.pot:30882:can not
> po-docs/uk.po:30301:can not
> po-docs/uk.po:32978:can not
> po-docs/uk.po:33005:can not
> po-docs/uk.po:33013:can not
> maint.mk: undesirable word sequence
> make: *** [sc_prohibit_undesirable_word_seq] Error 1
> require_config_h
> examples/copy_over.c
> examples/create_disk.c
> examples/display_icon.c
> examples/inspect_vm.c
> examples/mount_local.c
> examples/virt-dhcp-address.c
> tests/c-api/test-just-header.c
> maint.mk: the above files do not include <config.h>
> make: *** [sc_require_config_h] Error 1
Examples shouldn't include <config.h>. The test-just-header.c test
needs to not include it, because of what it is testing.
> require_config_h_first
> examples/copy_over.c
> examples/create_disk.c
> examples/display_icon.c
> examples/inspect_vm.c
> examples/mount_local.c
> examples/virt-dhcp-address.c
> tests/c-api/test-just-header.c
> maint.mk: the above files include some other header before <config.h>
> make: *** [sc_require_config_h_first] Error 1
> trailing_blank
> TODO:405: - swap devices (both of block device and file) should be wiped. This may
> Binary file contrib/intro/overview.png matches
> Binary file contrib/intro/tools.png matches
> Binary file contrib/intro/virt-manager-t.png matches
> Binary file contrib/intro/virt-manager.png matches
> Binary file contrib/intro/vmm-icons-t.png matches
> Binary file contrib/intro/vmm-icons.png matches
> contrib/visualize-alignment/qemu-0.13-trace-block-device-access.patch:34:
> contrib/visualize-alignment/qemu-0.13-trace-block-device-access.patch:58:
> contrib/visualize-alignment/qemu-0.13-trace-block-device-access.patch:75:
> contrib/visualize-alignment/qemu-0.13-trace-block-device-access.patch:86:
> contrib/visualize-alignment/qemu-0.13-trace-block-device-access.patch:95:
> contrib/visualize-alignment/qemu-0.13-trace-block-device-access.patch:101:
> contrib/visualize-alignment/qemu-0.13-trace-block-device-access.patch:102:--
> guestfs-release-notes.txt:300:
> guestfs-release-notes.txt:303:
> guestfs-release-notes.txt:305:
> guestfs-release-notes.txt:308:
> guestfs-release-notes.txt:313:
> guestfs-release-notes.txt:316:
> guestfs-release-notes.txt:319:
> guestfs-release-notes.txt:322:
> guestfs-release-notes.txt:325:
> guestfs-release-notes.txt:327:
> guestfs-release-notes.txt:330:
> guestfs-release-notes.txt:332:
> guestfs-release-notes.txt:335:
> guestfs-release-notes.txt:337:
> guestfs-release-notes.txt:344:
> guestfs-release-notes.txt:346:
> guestfs-release-notes.txt:348:
> guestfs-release-notes.txt:356:
> guestfs-release-notes.txt:360:
> guestfs-release-notes.txt:364:
> guestfs-release-notes.txt:367:
> guestfs-release-notes.txt:374:
> guestfs-release-notes.txt:376:
> guestfs-release-notes.txt:419:
> guestfs-release-notes.txt:422:
> guestfs-release-notes.txt:425:
> guestfs-release-notes.txt:428:
> guestfs-release-notes.txt:431:
> guestfs-release-notes.txt:434:
> guestfs-release-notes.txt:436:
> guestfs-release-notes.txt:438:
> guestfs-release-notes.txt:441:
> guestfs-release-notes.txt:444:
> guestfs-release-notes.txt:446:
> guestfs-release-notes.txt:449:
> guestfs-release-notes.txt:451:
> guestfs-release-notes.txt:453:
> guestfs-release-notes.txt:455:
> guestfs-release-notes.txt:457:
> guestfs-release-notes.txt:459:
> guestfs-release-notes.txt:461:
> guestfs-release-notes.txt:464:
> guestfs-release-notes.txt:466:
> guestfs-release-notes.txt:468:
> guestfs-release-notes.txt:470:
> guestfs-release-notes.txt:473:
> guestfs-release-notes.txt:475:
> guestfs-release-notes.txt:477:
> guestfs-release-notes.txt:479:
> guestfs-release-notes.txt:481:
> guestfs-release-notes.txt:483:
> guestfs-release-notes.txt:536:
> guestfs-release-notes.txt:540:
> guestfs-release-notes.txt:542:
> guestfs-release-notes.txt:545:
> guestfs-release-notes.txt:547:
> guestfs-release-notes.txt:556:
> guestfs-release-notes.txt:558:
> guestfs-release-notes.txt:560:
> guestfs-release-notes.txt:562:
> guestfs-release-notes.txt:564:
> guestfs-release-notes.txt:571:
> guestfs-release-notes.txt:578:
> guestfs-release-notes.txt:584:
> guestfs-release-notes.txt:587:
> guestfs-release-notes.txt:589:
> guestfs-release-notes.txt:592:
> guestfs-release-notes.txt:595:
> guestfs-release-notes.txt:601:
> guestfs-release-notes.txt:623:
> guestfs-release-notes.txt:626:
> guestfs-release-notes.txt:629:
> guestfs-release-notes.txt:631:
> guestfs-release-notes.txt:634:
> guestfs-release-notes.txt:637:
> guestfs-release-notes.txt:639:
> guestfs-release-notes.txt:642:
> guestfs-release-notes.txt:644:
> guestfs-release-notes.txt:647:
> guestfs-release-notes.txt:671:
> guestfs-release-notes.txt:674:
> guestfs-release-notes.txt:677:
> guestfs-release-notes.txt:684:
> guestfs-release-notes.txt:686:
> guestfs-release-notes.txt:711:
> guestfs-release-notes.txt:715:
> guestfs-release-notes.txt:718:
> guestfs-release-notes.txt:732:
> guestfs-release-notes.txt:735:
> guestfs-release-notes.txt:737:
> guestfs-release-notes.txt:743:
> guestfs-release-notes.txt:750:
> guestfs-release-notes.txt:752:
> guestfs-release-notes.txt:754:
> guestfs-release-notes.txt:765:
> guestfs-release-notes.txt:778:
> guestfs-release-notes.txt:780:
> guestfs-release-notes.txt:788:
> guestfs-release-notes.txt:790:
> guestfs-release-notes.txt:793:
> guestfs-release-notes.txt:795:
> guestfs-release-notes.txt:797:
> guestfs-release-notes.txt:800:
> guestfs-release-notes.txt:804:
> guestfs-release-notes.txt:841:
> guestfs-release-notes.txt:843:
> guestfs-release-notes.txt:846:
> guestfs-release-notes.txt:849:
> guestfs-release-notes.txt:855:
> guestfs-release-notes.txt:857:
> guestfs-release-notes.txt:860:
> guestfs-release-notes.txt:867:
> guestfs-release-notes.txt:877:
> guestfs-release-notes.txt:879:
> guestfs-release-notes.txt:881:
> guestfs-release-notes.txt:885:
> guestfs-release-notes.txt:892:
> guestfs-release-notes.txt:894:
> guestfs-release-notes.txt:896:
> guestfs-release-notes.txt:898:
> guestfs-release-notes.txt:900:
> guestfs-release-notes.txt:903:
> guestfs-release-notes.txt:905:
> guestfs-release-notes.txt:908:
> guestfs-release-notes.txt:910:
> guestfs-release-notes.txt:913:
> guestfs-release-notes.txt:932:
> guestfs-release-notes.txt:935:
> guestfs-release-notes.txt:937:
> guestfs-release-notes.txt:939:
> guestfs-release-notes.txt:941:
> guestfs-release-notes.txt:943:
> guestfs-release-notes.txt:945:
> guestfs-release-notes.txt:947:
> guestfs-release-notes.txt:972:
> guestfs-release-notes.txt:975:
> guestfs-release-notes.txt:977:
> guestfs-release-notes.txt:979:
> guestfs-release-notes.txt:982:
> guestfs-release-notes.txt:984:
> guestfs-release-notes.txt:987:
> guestfs-release-notes.txt:989:
> guestfs-release-notes.txt:993:
> guestfs-release-notes.txt:998:
> guestfs-release-notes.txt:1001:
> guestfs-release-notes.txt:1004:
> guestfs-release-notes.txt:1006:
> guestfs-release-notes.txt:1009:
> guestfs-release-notes.txt:1012:
> guestfs-release-notes.txt:1016:
> guestfs-release-notes.txt:1020:
> guestfs-release-notes.txt:1022:
> guestfs-release-notes.txt:1024:
> guestfs-release-notes.txt:1026:
> guestfs-release-notes.txt:1028:
> guestfs-release-notes.txt:1030:
> guestfs-release-notes.txt:1033:
> guestfs-release-notes.txt:1035:
> guestfs-release-notes.txt:1038:
> guestfs-release-notes.txt:1041:
> guestfs-release-notes.txt:1044:
> guestfs-release-notes.txt:1048:
> guestfs-release-notes.txt:1066:
> guestfs-release-notes.txt:1069:
> guestfs-release-notes.txt:1072:
> guestfs-release-notes.txt:1074:
> guestfs-release-notes.txt:1109:
> guestfs-release-notes.txt:1112:
> guestfs-release-notes.txt:1114:
> guestfs-release-notes.txt:1116:
> guestfs-release-notes.txt:1122:
> guestfs-release-notes.txt:1126:
> guestfs-release-notes.txt:1130:
> guestfs-release-notes.txt:1135:
> guestfs-release-notes.txt:1137:
> guestfs-release-notes.txt:1140:
> guestfs-release-notes.txt:1142:
> guestfs-release-notes.txt:1145:
> guestfs-release-notes.txt:1147:
> guestfs-release-notes.txt:1150:
> guestfs-release-notes.txt:1153:
> guestfs-release-notes.txt:1156:
> guestfs-release-notes.txt:1159:
> guestfs-release-notes.txt:1161:
> guestfs-release-notes.txt:1164:
> guestfs-release-notes.txt:1167:
> guestfs-release-notes.txt:1169:
> guestfs-release-notes.txt:1175:
> guestfs-release-notes.txt:1177:
> guestfs-release-notes.txt:1180:
> guestfs-release-notes.txt:1199:
> guestfs-release-notes.txt:1202:
> guestfs-release-notes.txt:1204:
> guestfs-release-notes.txt:1207:
> guestfs-release-notes.txt:1210:
> guestfs-release-notes.txt:1212:
> guestfs-release-notes.txt:1214:
> guestfs-release-notes.txt:1216:
> guestfs-release-notes.txt:1219:
> guestfs-release-notes.txt:1222:
> guestfs-release-notes.txt:1224:
> guestfs-release-notes.txt:1227:
> guestfs-release-notes.txt:1251:
> guestfs-release-notes.txt:1255:
> guestfs-release-notes.txt:1259:
> guestfs-release-notes.txt:1261:
> guestfs-release-notes.txt:1263:
> guestfs-release-notes.txt:1266:
> guestfs-release-notes.txt:1269:
> guestfs-release-notes.txt:1272:
> guestfs-release-notes.txt:1275:
> guestfs-release-notes.txt:1278:
> guestfs-release-notes.txt:1280:
> guestfs-release-notes.txt:1286:
> guestfs-release-notes.txt:1288:
> guestfs-release-notes.txt:1291:
> guestfs-release-notes.txt:1293:
> guestfs-release-notes.txt:1296:
> guestfs-release-notes.txt:1298:
> guestfs-release-notes.txt:1300:
> guestfs-release-notes.txt:1302:
> guestfs-release-notes.txt:1304:
> guestfs-release-notes.txt:1306:
> guestfs-release-notes.txt:1308:
> guestfs-release-notes.txt:1310:
> guestfs-release-notes.txt:1312:
> guestfs-release-notes.txt:1314:
> guestfs-release-notes.txt:1316:
> guestfs-release-notes.txt:1319:
> guestfs-release-notes.txt:1322:
> guestfs-release-notes.txt:1325:
> guestfs-release-notes.txt:1328:
> guestfs-release-notes.txt:1337:
> guestfs-release-notes.txt:1415:
> guestfs-release-notes.txt:1417:
> guestfs-release-notes.txt:1420:
> guestfs-release-notes.txt:1422:
> guestfs-release-notes.txt:1424:
> guestfs-release-notes.txt:1426:
> guestfs-release-notes.txt:1428:
> guestfs-release-notes.txt:1430:
> guestfs-release-notes.txt:1435:
> guestfs-release-notes.txt:1438:
> guestfs-release-notes.txt:1442:
> guestfs-release-notes.txt:1445:
> guestfs-release-notes.txt:1448:
> guestfs-release-notes.txt:1451:
> guestfs-release-notes.txt:1455:
> guestfs-release-notes.txt:1458:
> guestfs-release-notes.txt:1460:
> guestfs-release-notes.txt:1463:
> guestfs-release-notes.txt:1465:
> guestfs-release-notes.txt:1467:
> guestfs-release-notes.txt:1469:
> guestfs-release-notes.txt:1471:
> guestfs-release-notes.txt:1473:
> guestfs-release-notes.txt:1475:
> guestfs-release-notes.txt:1477:
> guestfs-release-notes.txt:1479:
> guestfs-release-notes.txt:1481:
> Binary file html/draft.png matches
> Binary file logo/fish.png matches
> Binary file tests/data/bin-i586-dynamic matches
> Binary file tests/data/bin-sparc-dynamic matches
> Binary file tests/data/bin-win32.exe matches
> Binary file tests/data/bin-x86_64-dynamic matches
> Binary file tests/data/filesanddirs-100M.tar.xz matches
> Binary file tests/data/filesanddirs-10M.tar.xz matches
> Binary file tests/data/helloworld.tar matches
> Binary file tests/data/lib-i586.so matches
> Binary file tests/data/lib-sparc.so matches
> Binary file tests/data/lib-win32.dll matches
> Binary file tests/data/lib-win64.dll matches
> Binary file tests/data/lib-x86_64.so matches
> Binary file tests/guests/guest-aux/minimal-hive matches
> Binary file tests/guests/guest-aux/windows-software matches
> Binary file tests/guests/guest-aux/windows-system matches
> tools/virt-win-reg:711:
> maint.mk: found trailing blank(s)
> make: *** [sc_trailing_blank] Error 1
Binary files should probably not be matched.
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines. Supports shell scripting,
bindings from many languages. http://libguestfs.org
12 years, 2 months