X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=TODO;h=ee431d2fc05ab82de7764f0c880f5cbc6dc39e7a;hp=e90d408d45b933884dcfef009e4dc73b26fd15a5;hb=2729421d176e1194537b499911a5eeb5e32a8b09;hpb=e832959a4d5645cb0168bd7b810d5cfcd6767168 diff --git a/TODO b/TODO index e90d408..ee431d2 100644 --- a/TODO +++ b/TODO @@ -17,18 +17,16 @@ 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 ---------------- Complete the Haskell bindings (see discussion on haskell-cafe). +PHP bindings +------------ + +Add bindtests to PHP bindings. + Complete bind tests ------------------- @@ -85,11 +83,6 @@ This is mainly useful from live CDs, ie. virt-p2v. Should we bother having the daemon at all and just link the guestfsd code directly into libguestfs? -Supermin appliance to febootstrap ---------------------------------- - -Supermin appliance functionality should be moved into febootstrap. - Ideas for extra commands ------------------------ @@ -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,12 +258,6 @@ http://sourceforge.net/projects/aide/ http://osiris.shmoo.com/ http://sourceforge.net/projects/tripwire/ --N option should be generated ------------------------------ - -'-N' option should be generated code, and should generate -documentation in guestfish(1) manpage. - Fix 'file' ---------- @@ -295,6 +271,9 @@ Occasionally we break virt-inspector through some change. We should add a regression test for it. However this is hard because we'd need to avoid having to carry huge images. +Update: I managed to fit a real-but-minimal Fedora 13 image into 6.2 MB. +See: http://rwmj.wordpress.com/2010/09/07/tip-pack-files-into-a-new-disk-image/#content + Freeze/thaw filesystems ----------------------- @@ -318,11 +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 - Could we make guestfish interactive if commands are used without params? ------------------------------------------------------------------------ @@ -336,7 +310,75 @@ 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 +------------------------------------ + +Currently LUKS support only works if the device contains volume +groups. If it contains, eg., partitions, you cannot access them. +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. + +live CD inspection +------------------ + +guestfish -i livecd.iso + +Could this be done through the core API and existing calls?