Richard W.M. Jones [Thu, 3 Feb 2011 09:39:49 +0000 (09:39 +0000)]
daemon: Parse /proc/mounts instead of /etc/mtab
Since Fedora util-linux 2.19, the %post script does:
rm -f /etc/mtab
ln -s /proc/mounts /etc/mtab
We are no longer running %post scripts, so this means that /etc/mtab
is a plain file in the appliance. Usual 'mount' still updates it, but
for some reason mount.ntfs does *not* update it in Fedora 15, meaning
that you couldn't mount and then operate on NTFS partitions.
It seems better to always parse /proc/mounts (ie. what the kernel
thinks is mounted) unconditionally, rather than relying on the
capriciousness of the external mount command.
Therefore, parse /proc/mounts instead of /etc/mtab, but add a note
saying that in future we should really be parsing
/proc/self/mountinfo, but that needs a custom parser, and the format
is rather tricky:
http://lxr.linux.no/#linux+v2.6.37/Documentation/filesystems/proc.txt#L1462
Richard W.M. Jones [Wed, 2 Feb 2011 20:26:19 +0000 (20:26 +0000)]
regressions: Fix rhbz557655.sh so it works with tracing enabled.
Richard W.M. Jones [Mon, 31 Jan 2011 09:34:47 +0000 (09:34 +0000)]
guestfs-perl: Fix missing \n
This updates commit
477eebc83dcd33d00d34398692692dae6af04f22.
Richard W.M. Jones [Sun, 30 Jan 2011 23:53:15 +0000 (23:53 +0000)]
Version 1.9.7.
Richard W.M. Jones [Sun, 30 Jan 2011 23:53:04 +0000 (23:53 +0000)]
virt-make-fs: Fix typo in man page.
Richard W.M. Jones [Sun, 30 Jan 2011 23:41:05 +0000 (23:41 +0000)]
perl: Translate C examples into Perl and include a manual page.
Richard W.M. Jones [Sat, 29 Jan 2011 07:01:06 +0000 (07:01 +0000)]
perl: Ignore internal_* functions in POD coverage test.
This updates commit
1d999540bddd7aea7c2d0fef8b15223d4acc645f.
Richard W.M. Jones [Fri, 28 Jan 2011 22:51:36 +0000 (22:51 +0000)]
Fix test-guestfish-a.sh regression test for new trace format.
This fixes commit
1d999540bddd7aea7c2d0fef8b15223d4acc645f.
Richard W.M. Jones [Fri, 28 Jan 2011 21:41:06 +0000 (21:41 +0000)]
autobuild: Add a 'make clean' step.
Richard W.M. Jones [Fri, 28 Jan 2011 17:11:40 +0000 (17:11 +0000)]
lib: Fix use-after-free bug in XPath parsing code.
Richard W.M. Jones [Fri, 28 Jan 2011 15:28:25 +0000 (15:28 +0000)]
Add a new internal-autosync API to perform autosync.
Instead of explicitly calling umount-all; sync, we add a daemon
function called internal-autosync which does the same.
Apart from slightly simplifying the process of closing the handle, the
main advantage is we can modify the daemon for the standalone case so
that internal-autosync does not do the umount-all operation.
Richard W.M. Jones [Fri, 28 Jan 2011 11:14:42 +0000 (11:14 +0000)]
Add a prefix to output when tracing (RHBZ#673479).
Also separate the call and return lines so that everything can be
easily 'grepped' from debug output. The trace output now looks like
this:
$ guestfish -x -N fs exit
libguestfs: trace: is_config
libguestfs: trace: is_config = 1
libguestfs: trace: add_drive "test1.img"
libguestfs: trace: add_drive = 0
libguestfs: trace: is_config
libguestfs: trace: is_config = 1
libguestfs: trace: launch
libguestfs: trace: launch = 0
libguestfs: trace: part_disk "/dev/sda" "mbr"
libguestfs: trace: part_disk = 0
&c.
Richard W.M. Jones [Thu, 27 Jan 2011 17:27:41 +0000 (17:27 +0000)]
daemon: Replace root_mounted global with intelligence.
We used to maintain a global flag 'root_mounted' which tells us if the
user has mounted something on root (ie. on the sysroot directory).
This flag caused a lot of trouble (eg. RHBZ#599503) because it's hard
to keep the flag updated correctly when the user can do arbitrary
mounts and also use mkmountpoint.
Remove this flag and replace it with a test to see if something is
mounted on *or under* the sysroot. (It has to be *or under* because
of mkmountpoint and friends).
This also replaces a rather convoluted "have we mounted root yet"
check in the mount* APIs with a simpler check to see if the mountpoint
exists and is an ordinary directory.
Richard W.M. Jones [Thu, 27 Jan 2011 15:54:00 +0000 (15:54 +0000)]
daemon: Add perror to two exit paths to make errors clearer.
Richard W.M. Jones [Thu, 27 Jan 2011 09:23:01 +0000 (09:23 +0000)]
debian: Include actual shared libraries in python-guestfs package.
Nikita A Menkovich [Wed, 26 Jan 2011 15:34:01 +0000 (15:34 +0000)]
mkfs-opts: Add optional "features" parameter.
This allows the -O parameter to be added to the mkfs command line.
This is used to select filesystem features.
Nikita A Menkovich [Wed, 26 Jan 2011 15:32:18 +0000 (15:32 +0000)]
mkfs-opts: Add a note about blocksize param and UFS filesystems.
Richard W.M. Jones [Wed, 26 Jan 2011 14:15:23 +0000 (14:15 +0000)]
generator: Fix generation of library-side stubs with optional String arguments.
Richard W.M. Jones [Wed, 26 Jan 2011 10:00:44 +0000 (10:00 +0000)]
packagelist: Add ufsutils for Debian and Ubuntu.
Note there is no mkfs.ufs available for Fedora (see RHBZ#541618
for details).
Richard W.M. Jones [Sat, 22 Jan 2011 18:05:35 +0000 (18:05 +0000)]
Version 1.9.6.
Richard W.M. Jones [Sat, 22 Jan 2011 14:46:37 +0000 (14:46 +0000)]
fish: Fix typo in error message (copy-in should be copy-out).
Richard W.M. Jones [Wed, 19 Jan 2011 21:47:23 +0000 (21:47 +0000)]
Use /var/tmp for the cached appliance (for FHS compliance).
The FHS advises large files not to be stored in the root
filesystem[1], and that /var/tmp is persistent across reboots[2]
(whereas /tmp is possibly not[3]).
Therefore we should store the large cached supermin appliance in
/var/tmp instead of /tmp. /tmp is still used for all other temporary
files and directories.
In either case you can override this by setting $TMPDIR.
[1] http://www.pathname.com/fhs/pub/fhs-2.3.html#THEROOTFILESYSTEM
[2] http://www.pathname.com/fhs/pub/fhs-2.3.html#VARTMPTEMPORARYFILESPRESERVEDBETWEE
[3] http://www.pathname.com/fhs/pub/fhs-2.3.html#TMPTEMPORARYFILES
Richard W.M. Jones [Tue, 18 Jan 2011 22:38:05 +0000 (22:38 +0000)]
fish: Initialize pcmd structure.
On Debian we get this warning which I'm pretty sure is bogus:
fish.c:690: error: 'pcmd.cmd' may be used uninitialized in this
function [-Wuninitialized]
Richard W.M. Jones [Tue, 18 Jan 2011 13:21:30 +0000 (13:21 +0000)]
Version 1.9.5
Richard W.M. Jones [Tue, 18 Jan 2011 11:46:03 +0000 (11:46 +0000)]
fish: <! cmd executes a shell command and inlines the resulting commands.
The new guestfish construct "<! cmd" executes the shell command
"cmd", and then anything printed to stdout by "cmd" is parsed
and executed as a guestfish command.
This allows some very hairy shell scripting with guestfish.
Richard W.M. Jones [Tue, 18 Jan 2011 11:24:38 +0000 (11:24 +0000)]
fish: Factor out command line parsing.
Factor out the code which splits a string into a command line.
Richard W.M. Jones [Tue, 18 Jan 2011 10:33:01 +0000 (10:33 +0000)]
fish: Make exit_on_error into a completely local variable.
Note that 'time' and 'glob' (which both run subcommands) do not
correctly pass the exit_on_error flag in the remote case. This is not
a regression: the current code doesn't work either.
Richard W.M. Jones [Tue, 18 Jan 2011 10:21:49 +0000 (10:21 +0000)]
fish: exit_on_error is a local variable.
Richard W.M. Jones [Sat, 15 Jan 2011 16:40:49 +0000 (16:40 +0000)]
todo: Live CD inspection works, but not for Windows 7.
Richard W.M. Jones [Sat, 15 Jan 2011 14:56:36 +0000 (14:56 +0000)]
Version 1.9.4.
Richard W.M. Jones [Sat, 15 Jan 2011 14:56:25 +0000 (14:56 +0000)]
README: Note that po4a is mandatory if compiling from git.
Richard W.M. Jones [Fri, 14 Jan 2011 22:20:51 +0000 (22:20 +0000)]
Add ability to inspect install disks and live CDs.
For examples of the virt-inspector output, see the additional
inspector/example-*.xml files in this commit.
Richard W.M. Jones [Sat, 15 Jan 2011 13:18:36 +0000 (13:18 +0000)]
inspect: Add macros for file size limits.
This also bumps the file size limit for "small text files"
up to 2 MB, since we want to parse Windows CD txtsetup.sif
files that are usually around 500K in size.
Nikita A Menkovich [Fri, 14 Jan 2011 13:39:38 +0000 (13:39 +0000)]
New API: resize2fs-M to resize ext2/3/4 to minimum size.
Richard W.M. Jones [Tue, 11 Jan 2011 21:54:57 +0000 (21:54 +0000)]
Version 1.9.3.
Richard W.M. Jones [Tue, 11 Jan 2011 13:55:23 +0000 (13:55 +0000)]
df: Skip final '/' character when calculating basename.
Previously it was including the final '/' character when calculating
the basename for the -a option eg:
Filesystem Size Used Available Use%
/Ubuntu1010x64:/dev/sda1 9.4G 2.3G 6.6G 25%
With this patch the '/' is not printed.
Richard W.M. Jones [Tue, 11 Jan 2011 10:43:51 +0000 (10:43 +0000)]
fish: Don't fail if some mountpoints in /etc/fstab are bogus (RHBZ#668574).
Fix guestfish (and other C tools) so that they ignore errors
when /etc/fstab contains bogus entries.
Update the documentation for inspect-get-mountpoints to emphasize
that callers must be aware of this when mounting the returned
values.
Add a regression test.
Update the example code ("inspect_vm") to reflect the way this
API ought to be called.
For more detail see:
https://bugzilla.redhat.com/show_bug.cgi?id=668574
Richard W.M. Jones [Tue, 11 Jan 2011 10:47:11 +0000 (10:47 +0000)]
Add logo used on the website.
Richard W.M. Jones [Mon, 10 Jan 2011 10:41:20 +0000 (10:41 +0000)]
Add cartoon fish logo (not completed).
Richard W.M. Jones [Sun, 9 Jan 2011 13:13:02 +0000 (13:13 +0000)]
todo: /proc/self/mountinfo
Richard W.M. Jones [Sat, 8 Jan 2011 20:51:58 +0000 (20:51 +0000)]
todo: Add notes on inspecting ISO images.
Richard W.M. Jones [Sat, 8 Jan 2011 10:15:39 +0000 (10:15 +0000)]
virt-filesystems: Ignore errors when getting label and UUID (RHBZ#668112).
If virt-filesystems was pointed to an image that contained
bogus or blank filesystems, then calls to vfs-label and/or vfs-uuid
could fail, resulting in errors like this:
libguestfs: error: vfs_label: /dev/vda1:
These errors can be ignored and shouldn't stop virt-filesystems
from working.
Richard W.M. Jones [Fri, 7 Jan 2011 20:38:55 +0000 (20:38 +0000)]
resize: Fix typo in man page (thanks avesh@IRC).
Richard W.M. Jones [Tue, 4 Jan 2011 16:05:11 +0000 (16:05 +0000)]
fish: fails to tilde expand '~' when $HOME env is unset (RHBZ#617440).
This also adds a regression test.
Richard W.M. Jones [Tue, 4 Jan 2011 16:02:48 +0000 (16:02 +0000)]
fish: Fix off-by-one bug in tilde expansion.
Although this doesn't seem to cause a crash, valgrind confirms
that this is a genuine off-by-one bug. It could potentially
cause a crash if you did:
echo 'echo ~root/foo' | guestfish
Richard W.M. Jones [Mon, 3 Jan 2011 17:31:46 +0000 (17:31 +0000)]
Version 1.9.2.
Richard W.M. Jones [Mon, 3 Jan 2011 17:16:44 +0000 (17:16 +0000)]
New tools: virt-copy-in, virt-copy-out, virt-tar-in, virt-tar-out.
Relatively trivial wrappers around the equivalent guestfish
commands. Change also includes new man pages.
Richard W.M. Jones [Mon, 3 Jan 2011 17:17:54 +0000 (17:17 +0000)]
.gitignore: Use full paths for some ignored files.
Richard W.M. Jones [Mon, 3 Jan 2011 14:36:19 +0000 (14:36 +0000)]
docs: Add QMP to ROADMAP file.
Richard W.M. Jones [Sun, 2 Jan 2011 22:55:48 +0000 (22:55 +0000)]
filesystems: Document the columns in --long output.
Richard W.M. Jones [Sun, 2 Jan 2011 21:43:22 +0000 (21:43 +0000)]
Add initial announcement to release notes.
Richard W.M. Jones [Sun, 2 Jan 2011 21:01:43 +0000 (21:01 +0000)]
Update TODO file.
Richard W.M. Jones [Sun, 2 Jan 2011 21:01:41 +0000 (21:01 +0000)]
inspector: Apps in Windows VMs are now listed - update documentation.
Douglas Schilling Landgraf [Sun, 2 Jan 2011 18:55:12 +0000 (18:55 +0000)]
Lib.pm: unknown filesystem /dev/hd{x} (cdrom) (RHBZ#666577)
This a purpose patch to avoid the message "unknown filesystem /dev/hdc".
Where /dev/hdc is an entry in fstab for CDROM.
Example of fstab:
/dev/hdc /media/cdrom auto
pamconsole,exec,noauto,managed 0 0
https://bugzilla.redhat.com/show_bug.cgi?id=666577
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Douglas Schilling Landgraf [Sun, 2 Jan 2011 18:53:55 +0000 (18:53 +0000)]
Lib.pm: unknown filesystem label SWAP-sda2 (RHBZ#666578)
Hi,
This is a purpose patch to avoid the message: unknown filesystem label
SWAP-sda2.
Instead of validate the label with 'eq', use '=~' and /$label/i.
https://bugzilla.redhat.com/show_bug.cgi?id=666578
Thanks
Douglas
Douglas Schilling Landgraf [Sun, 2 Jan 2011 18:52:52 +0000 (18:52 +0000)]
Lib.pm: avoid message "unknown filesystem /dev/fd0" (RHBZ#666577)
This patch to avoid the message "unknown filesystem /dev/fd0".
https://bugzilla.redhat.com/show_bug.cgi?id=666577
Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com>
Thanks
Douglas
Richard W.M. Jones [Sun, 2 Jan 2011 16:50:39 +0000 (16:50 +0000)]
Tempora mutantur, nos et mutamur in illis.
Richard W.M. Jones [Fri, 31 Dec 2010 11:11:02 +0000 (11:11 +0000)]
podwrapper: Fix up the HTML output so most inter-page links work.
Richard W.M. Jones [Fri, 31 Dec 2010 10:44:32 +0000 (10:44 +0000)]
podwrapper: Fix script indentation.
Richard W.M. Jones [Fri, 31 Dec 2010 10:39:05 +0000 (10:39 +0000)]
podwrapper: 'builddir' was not defined - use a properly defined path.
Richard W.M. Jones [Fri, 31 Dec 2010 08:41:44 +0000 (08:41 +0000)]
Version 1.9.1.
Richard W.M. Jones [Thu, 30 Dec 2010 23:32:09 +0000 (23:32 +0000)]
docs: add-domain: Remove ref to not impl add-libvirt-dom API call.
Richard W.M. Jones [Thu, 30 Dec 2010 23:14:12 +0000 (23:14 +0000)]
docs: Refresh programming language list in guestfs(3).
Richard W.M. Jones [Thu, 30 Dec 2010 23:08:18 +0000 (23:08 +0000)]
docs: Refresh programming language equivalence example in guestfs(3).
Richard W.M. Jones [Thu, 30 Dec 2010 22:56:25 +0000 (22:56 +0000)]
docs: Fix missing g handle in guestfs(3) man page.
Richard W.M. Jones [Thu, 30 Dec 2010 22:56:07 +0000 (22:56 +0000)]
docs: Refresh guestfs(3)/DOWNLOADING.
Richard W.M. Jones [Thu, 30 Dec 2010 22:46:29 +0000 (22:46 +0000)]
docs: Refresh guestfs(3)/MOUNTING
Jaswinder Singh [Thu, 23 Dec 2010 13:45:26 +0000 (13:45 +0000)]
Update Punjabi translations (RHBZ#665358).
Richard W.M. Jones [Tue, 21 Dec 2010 17:23:08 +0000 (17:23 +0000)]
recipes: Refresh guestfish recipes.
Piotr Drąg [Tue, 21 Dec 2010 13:42:27 +0000 (13:42 +0000)]
Updated Polish translation (RHBZ#502533).
Richard W.M. Jones [Mon, 20 Dec 2010 22:33:45 +0000 (22:33 +0000)]
fish: --ro will be default in 1.10, not 1.8.
Richard W.M. Jones [Sun, 19 Dec 2010 21:58:05 +0000 (21:58 +0000)]
docs: Update API support.
Richard W.M. Jones [Sun, 19 Dec 2010 22:08:49 +0000 (22:08 +0000)]
api-support: Fix detection of similar APIs.
Because we didn't match on word boundaries, the previous
code would get confused by similar APIs, eg. getxattr vs getxattrs.
Richard W.M. Jones [Sun, 19 Dec 2010 21:53:09 +0000 (21:53 +0000)]
docs: Obsolete HACKING file, move content into guestfs(3) man page.
Add a new section called "EXTENDING LIBGUESTFS" to the
guestfs manual page which contains all the information
previously in "HACKING".
Richard W.M. Jones [Sun, 19 Dec 2010 21:52:46 +0000 (21:52 +0000)]
docs: Refresh README file.
Richard W.M. Jones [Sun, 19 Dec 2010 19:29:02 +0000 (19:29 +0000)]
Update TODO file.
Richard W.M. Jones [Sun, 19 Dec 2010 15:53:07 +0000 (15:53 +0000)]
Version 1.9.0.
Richard W.M. Jones [Sun, 19 Dec 2010 15:39:04 +0000 (15:39 +0000)]
Update BUGS, PO files for 1.8.0.
Richard W.M. Jones [Sun, 19 Dec 2010 14:31:01 +0000 (14:31 +0000)]
Prepare for next stable branch: version 1.8.0.
Richard W.M. Jones [Sun, 19 Dec 2010 14:25:50 +0000 (14:25 +0000)]
Update RELEASE-NOTES.
Richard W.M. Jones [Sun, 19 Dec 2010 14:20:17 +0000 (14:20 +0000)]
Add ROADMAP for 1.10.
Richard W.M. Jones [Sun, 19 Dec 2010 12:04:43 +0000 (12:04 +0000)]
fuse: Add more tracing for calls into guestmount functions.
Richard W.M. Jones [Sun, 19 Dec 2010 11:01:59 +0000 (11:01 +0000)]
appliance: Don't exclude upstart (/sbin/reboot) (RHBZ#661280).
Don't exclude upstart from the appliance. It provides /sbin/reboot
which is required by virt-rescue.
Richard W.M. Jones [Sun, 19 Dec 2010 10:56:06 +0000 (10:56 +0000)]
appliance: Don't hard-code febootstrap --exclude parameters.
Create a separate file 'excludelist.in' that contains these
regular expressions, and process it the same way as packagelist.in.
Richard W.M. Jones [Sun, 19 Dec 2010 10:55:03 +0000 (10:55 +0000)]
appliance: Use a temporary file when processing packagelist.in.
Richard W.M. Jones [Fri, 17 Dec 2010 18:56:15 +0000 (18:56 +0000)]
docs: Add section on using /dev/fd/* with upload and download calls.
Richard W.M. Jones [Fri, 17 Dec 2010 10:21:41 +0000 (10:21 +0000)]
docs: Fix link to function in documentation of "du" and "du-s" commands.
Richard W.M. Jones [Thu, 16 Dec 2010 23:21:29 +0000 (23:21 +0000)]
Version 1.7.24.
Richard W.M. Jones [Thu, 16 Dec 2010 20:23:17 +0000 (20:23 +0000)]
ntfs-3g: Document problems with symlinks and alternatives (RHBZ#663407).
Richard W.M. Jones [Thu, 16 Dec 2010 20:05:48 +0000 (20:05 +0000)]
New APIs: getxattr and lgetxattr to get single extended attributes.
These APIs are essentially required to work around a problem
with ntfs-3g. This filesystem (or FUSE?) does not list all
extended attributes of a file when you call listxattr(2). However
if you know the name of an extended attribute, you can retrieve
it directly using getxattr(2).
The current APIs (getxattrs etc) are simple to use, but they
don't work if we can't list out the extended attributes (ie.
by calling listxattr(2)).
Example using the new APIs on an ntfs-3g filesystem:
><fs> lgetxattr "/Documents and Settings" system.ntfs_attrib | hexdump -C
00000000 16 24 00 00 |.$..|
00000004
><fs> lgetxattr "/Documents and Settings" system.ntfs_reparse_data | hexdump -C
00000000 03 00 00 a0 34 00 00 00 00 00 18 00 1a 00 10 00 |....4...........|
00000010 5c 00 3f 00 3f 00 5c 00 43 00 3a 00 5c 00 55 00 |\.?.?.\.C.:.\.U.|
00000020 73 00 65 00 72 00 73 00 00 00 43 00 3a 00 5c 00 |s.e.r.s...C.:.\.|
00000030 55 00 73 00 65 00 72 00 73 00 00 00 |U.s.e.r.s...|
0000003c
><fs> getxattr "/Documents and Settings" system.ntfs_reparse_data | hexdump -C
libguestfs: error: getxattr: getxattr: No such file or directory
><fs> getxattr "/Documents and Settings" system.ntfs_attrib | hexdump -C
libguestfs: error: getxattr: getxattr: No such file or directory
><fs> lgetxattr "/Documents and Settings" system.ntfs_attrib | hexdump -C
00000000 16 24 00 00 |.$..|
00000004
><fs> getxattr "/Users" system.ntfs_attrib | hexdump -C
00000000 11 00 00 00 |....|
00000004
Richard W.M. Jones [Thu, 16 Dec 2010 18:45:08 +0000 (18:45 +0000)]
appliance: Add 'attr' package for xattr support in virt-rescue.
Richard W.M. Jones [Sun, 12 Dec 2010 23:18:26 +0000 (23:18 +0000)]
generator: List files generated in a separate file.
Richard W.M. Jones [Sun, 12 Dec 2010 23:02:44 +0000 (23:02 +0000)]
docs: Update RELEASE-NOTES to latest.
Richard W.M. Jones [Sun, 12 Dec 2010 23:02:30 +0000 (23:02 +0000)]
README: Advise using febootstrap >= 3.3.
Richard W.M. Jones [Sun, 12 Dec 2010 22:36:06 +0000 (22:36 +0000)]
Version 1.7.23.
Thomas S Hatch [Sun, 12 Dec 2010 17:55:09 +0000 (10:55 -0700)]
Removed hfsprogs from supermin packages for Arch
Richard W.M. Jones [Sun, 12 Dec 2010 10:02:00 +0000 (10:02 +0000)]
fish: Clarify documentation for --ro option.
Richard W.M. Jones [Sun, 12 Dec 2010 10:01:30 +0000 (10:01 +0000)]
fish: Document equivalence of -a/add etc. in man page.
Richard W.M. Jones [Sun, 12 Dec 2010 09:48:59 +0000 (09:48 +0000)]
fish: Split ..|.. options into separate items in man page.
Richard W.M. Jones [Sat, 11 Dec 2010 23:35:18 +0000 (23:35 +0000)]
appliance: Don't set utime on cachedir until we know it is safe.
This could be used to touch an arbitrary file (albeit one which
must already exist), and this could have been a security problem.