X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=TODO;h=07e96f2964cd79745f6f0cca3cbd71a2eb41b998;hp=229178943729ef067ca1aea192b09ee4abb2345b;hb=d8346d5d6428c7293d1ddf58e4f9ec4b7de25380;hpb=f383ac139f5575754715a9dfbe88c67346eaa6e5 diff --git a/TODO b/TODO index 2291789..07e96f2 100644 --- a/TODO +++ b/TODO @@ -17,13 +17,6 @@ IDs and the host. It's not easy to automate this because you need extra details about the guest itself in order to get to its UID->username map (eg. /etc/passwd from the guest). -febootstrap / debootstrap inside appliance ------------------------------------------- - -This was originally proposed as a way to install new operating systems -in the appliance. However no one has come up with a workable -solution. - Haskell bindings ---------------- @@ -181,7 +174,6 @@ To mount read-only, add C 1> like this: which is equivalent to the following sequence of calls: $h = Sys::Guestfs->new (); - $h->set_autosync (1); $h->add_drive_ro ($filename); $h->launch (); $h->mount_ro (\"/dev/sda1\", \"/\"); @@ -242,18 +234,6 @@ However this won't work easily for VM disk images in the disk image. One would have to download those to the host and launch another libguestfs instance. -List, mount filesystems by UUID and label ------------------------------------------ - -[See related: -http://www.redhat.com/archives/libguestfs/2009-August/msg00031.html] - -List filesystems by UUID or label. - -Mount filesystems by UUID or label. (I'm not really sure if we can do -this at the moment but we ought to be able to do it, and perhaps make -it easier by having a direct command). - Map filesystems to disk blocks ------------------------------ @@ -264,6 +244,8 @@ And vice versa. Is it even possible? +See also contribs/visualize-alignment/ + Integration with host intrusion systems --------------------------------------- @@ -276,11 +258,6 @@ http://sourceforge.net/projects/aide/ http://osiris.shmoo.com/ http://sourceforge.net/projects/tripwire/ --N option should be generated ------------------------------ - -'-N' option should generate documentation in guestfish(1) manpage. - Fix 'file' ---------- @@ -320,20 +297,6 @@ Tip: Use 'mount fs /' to mount a filesystem. Tip: Use 'll /' to view the filesystem or ... > ll / -New guestfish commands ----------------------- - -'list-filesystems' => list mountable filesystems - -We could implement this as a new API call, replacing a number of areas -of the current code where this is done already (in virt-inspector and -elsewhere). What we normally do to find out if a partition contains a -mountable filesystem is to just blindly mount it, and see if that -succeeds. However the kernel won't let us do this if the filesystem -is already mounted somewhere, so a naive implementation of this in the -daemon won't work. We would have to check if the partition was -already mounted. - Could we make guestfish interactive if commands are used without params? ------------------------------------------------------------------------ @@ -347,10 +310,7 @@ Common problems How can we solve these common user problems? -- http://lists.fedoraproject.org/pipermail/users/2010-June/374931.html - In guestfish, specified -m non-existent filesystem. We could suggest - a list of filesystems, or suggest they run the virt-list-filesystems - command. +[space for common problems here] Better support for encrypted devices ------------------------------------ @@ -362,3 +322,56 @@ We would like to add: - An easier way to use this from guestfish. - Direct access to the /dev/mapper device (eg. if it contains anything apart from VGs). + +Display image as PS +------------------- + +Display the structure of an image file as a PS. + +Greater use of blkid / libblkid +------------------------------- + +guestfs_zero should use wipefs. See wipefs(8). + +There are various useful functions in libblkid for listing partitions, +devices etc which we are essentially duplicating in the daemon. It +would make more sense to just use libblkid for this. + +There are some places where we call out to the 'blkid' program. This +might be replaced by direct use of the library (if this is easier). + +Visualization +------------- + +Eric Sandeen pointed out the blktrace tool which is a better way of +capturing traces than using patched qemu (see +contrib/visualize-alignment). We would still use the same +visualization tools in conjunction with blktrace traces. + +guestfish parsing +----------------- + +At the moment guestfish uses an ad hoc parser which has many +shortcomings. We should change to using a lex/yacc-based scanner and +parser (there are better parsers out there, but yacc is sufficient and +very widely available). + +The scanner must deal with the case of parsing a whole command string, +eg. for a command that the user types in: + + > add-drive-opts "/tmp/foo" readonly:true + +and also with parsing single words from the command line: + + guestfish add-drive-opts /tmp/foo readonly:true + +Note the quotes are for scanning and don't indicate types. + +We should also allow variables and expressions as part of this new +parsing code, eg: + + set roots inspect-os + set product inspect-get-product-name %{roots[0]} + +% is better than $ because of shell escaping and confusion with shell +variables.