| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
Remove some debug messages which were basically left over from when
the code was being developed.
However we leave debug messages where it is printing an external
command that is about to be executed, since those are useful.
|
| |
|
|
|
|
|
|
|
|
| |
Because of the previous change to size_t, when pos == 0 the loop would
wrap around and cause a segmentation fault.
This fixes a regression introduced by
commit 10167cea98f93a74abe63f0a54d3a662997e7489.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This applies in all the commands which use the common C option parsing
code, ie:
* guestfish
* guestmount
* virt-cat
* virt-df
* virt-filesystems
* virt-inspector
* virt-ls
* virt-rescue
|
|
|
|
|
|
| |
This makes a backwards-compatible change to the add-domain API. If
the optional allowuuid flag is true then UUIDs can be used instead of
names in the domain name parameter.
|
|
|
|
|
|
|
|
|
|
|
| |
Install an error handler on the libvirt error connection so that
errors are not printed on stderr (instead they go up through the usual
libguestfs error mechanism).
Unfortunately this doesn't suppress initial connection error messages
to stderr. I cannot see how to do this without affecting the global
libvirt error handler, which is not acceptable for a library to be
doing.
|
|
|
|
| |
This is now used consistently across all the documentation.
|
|
|
|
|
|
|
|
| |
Add examples.
Refresh description.
Use I<...> to refer to command line options.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Only the "first half" (ie. the call) is traced, because by the time
the function returns the handle has gone and there's no way to
generate events.
You should see:
libguestfs: trace: close
|
| |
|
|
|
|
| |
This is just code motion.
|
| |
|
| |
|
| |
|
|
|
|
| |
This updates commit 2cac52000a6a96a583af72e289a4296c596047d5.
|
| |
|
|
|
|
|
| |
This implements set_event_callback and delete_event_callback so that
Python programs can use the new event mechanism.
|
|
|
|
|
|
|
| |
Move the hand-written functions into two new files:
guestfs-py.h and guestfs-py-byhand.c
This is just code motion.
|
|
|
|
| |
This updates commit bc468c87d04b34faacd208c49cca4a5096e5103c.
|
|
|
|
|
| |
The virt-v2v transfer ISO had a /windows directory. The core
inspection code thought this was a Windows root filesystem.
|
|
|
|
|
| |
virt-inspector would exit silently if list-applications failed along
this error path.
|
|
|
|
| |
Previously we returned "rhel" for these, which was not accurate.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Release the Python global interpreter lock while running libguestfs
calls.
We don't release it around guestfs_create() because that is a short
call that just allocates memory. We do release it around
guestfs_close() since that is a potentially long-running (it can call
wait(2) amongst other things). We also release it around all the
other generated Python calls.
We don't yet support callbacks into Python code (ie. the new event
API). But when we do in future, we will need to also handle the GIL
around those callbacks.
This code is adapted from libvirt's python/typewrappers.h. Thanks to
Dan Berrange for showing us how to do this properly.
|
| |
|
| |
|
| |
|
|
|
|
| |
Also use 'exec' to run the program.
|
| |
|
|
|
|
| |
This updates commit d95874db3dc6c415061b86275d03770b4f28ffbb.
|
|
|
|
|
|
|
|
|
|
|
| |
Remove the hack that let you run ./fish/guestfish or
./fuse/guestmount. You now have to do:
./run ./fish/guestfish
or
./run ./fuse/guestmount
to run these programs without installing.
|
|
|
|
|
| |
Remove all the run*locally scripts and replace with a single top level
./run shell script.
|
| |
|
|
|
|
|
|
|
|
| |
It turns out that db_load incrementally updates the database (instead
of writing a new one). Remove the old database to force db_load to
write a new one.
This also ensures that we handle write failure gracefully.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This commit downloads the Packages RPM database allowing us to find
other details about installed RPM packages (via
inspect-list-applications). This adds version and release. Epoch
cannot yet be found.
This commit also updates the Fedora example image so that it contains
a dummy RPM Packages database with some data.
|
|
|
|
|
|
|
|
|
|
|
| |
There are two changes here:
(1) The code for listing RPM applications ran db_dump and parsed the
output. We abstract out that parsing code into a separate reusable
module (src/dbdump.c).
(2) The old db_dump parsing code used db_dump -p (printable) format.
Instead use db_dump -k (hex) format so we can read binary fields.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The src/inspect.c file had grown rather large -- 3,500 lines. Split
it across several files according to function.
This is just moving code.
After the split the files are more evenly divided:
536 src/inspect_apps.c
766 src/inspect.c
537 src/inspect_fs.c
404 src/inspect_fs_cd.c
785 src/inspect_fs_unix.c
535 src/inspect_fs_windows.c
3563 total
|
|
|
|
| |
This is just moving code around.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
During inspection we download various files such as the Windows
'software' and 'system' registries. Previously these were downloaded
as temporary files and discarded immediately after use. This meant
that the 'software' registry was being downloaded twice by
virt-inspector (it's required once for basic OS inspection, and a
second time to list Windows applications).
This commit changes this so that these files are cached in g->tmpdir,
and thus the second time we just reuse the file we've already
downloaded.
Callers shouldn't be relying on inspect-list-applications to reread
the actual registry from the VM (unless you close and reopen the
handle). It says in the documentation that the results of inspection
may be cached in the handle.
|
|
|
|
|
|
|
|
| |
In preparation for caching inspection information in the temporary
directory (g->tmpdir), allow the temporary directory to contain
arbitrary files, and remove all of them when the handle is closed.
This just generalizes the previous method of cleaning up the tmpdir.
|