Previously we bound the 'tune2fs -l' command so that we could list out
the tunables of an ext2/3/4 filesystem. Also commands like
set_e2label and set_e2uuid used tune2fs.
This commit binds many of the tunables that can be set using tune2fs.
The coverage is not complete, but we can add more later because this
uses optional parameters so the call is extensible without breaking
ABI. The current change gives us enough for using libguestfs within
OpenStack.
The bitmask was being constructed backwards(!)
As a result, any test which tested optional arguments didn't work.
There are very few such tests and they happened not to be affected by
this.
In the libguestfs live case we need to be careful not to modify the
real /etc/lvm/lvm.conf file (when setting the filter rule).
When the daemon starts, make a complete copy of /etc/lvm in a
temporary directory, and adjust LVM_SYSTEM_DIR to point to the copy.
All changes are made in the temporary copy.
Although this doesn't matter for the ordinary (appliance) case, it
matters for the libguestfs live case. In that case it could cause the
guest to be exploited by a tmp/symlink attack.
xmlstarlet is good, but not available in Red Hat Enterprise Linux.
Build a simple but sane XPath query parser into virt-inspector
directly so that we don't need any external tools.
The major/minor fields only exist in Python >= 2.7. This works for at
least Python 2.5 and 2.6.
Thanks to Hilko Bengen.
This updates commit 646142f513.
These fixes allow libguestfs bindings to work with Python 3 (tested
with Python 3.2)
You can select which Python you compile against by doing:
PYTHON=python ./configure && make && make check
or:
PYTHON=python3 ./configure && make && make check
If the user set PYTHON when configuring, this variable is not passed
through to the tests, so it is possible the tests will fail because
they are testing the wrong version of python. By passing $PYTHON
through to the tests we ensure that we test against the same version
of python that we configured with.
The manual for sys.version warns that you should not parse the string,
which we were doing. It would have failed on python "2.10" or
similar.
Do it correctly using the sys.version_info struct instead.
This is a short (10-15 min) talk that I give to introduce the main
features of libguestfs. The "slides" are in the form of a complete
self-contained HTML page with a handful images that can be easily
distributed before the talk.
When given an invalid debug command, libguestfs responds with the
error message:
libguestfs: error: debug: use 'debug help' to list the supported commands
However this command does not work, as debug requires two
arguments. This change updates the message to prompt the user to use
'debug help 0'.
size_after on Debian was 10136K. The host filesystem was ext3 (vs
ext4 for Fedora where we did the original testing). Probably indirect
blocks (vs more efficient extents on ext4) causes the difference,
although I did not look at it in detail.