binary: Link guestmount static binary with -lm.
[libguestfs.git] / TODO
diff --git a/TODO b/TODO
index 0a8641b..0f933fa 100644 (file)
--- 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<ro =E<gt> 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,8 +271,87 @@ 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
 -----------------------
 
 Access to these ioctls:
 http://git.kernel.org/linus/fcccf502540e3d7
+
+Tips for new users in guestfish
+-------------------------------
+
+$ guestfish
+Tip: You need to 'add disk.img' or 'alloc disk.img nn' to make a new image.
+Type 'notips' to disable tips permanently.
+><fs> add mydisk
+Tip: You need to type 'run' before you can see into the disk image.
+><fs> run
+Tip: Use 'list-filesystems' to see what filesystems are available.
+><fs> list-filesystems
+/dev/vda1
+Tip: Use 'mount fs /' to mount a filesystem.
+><fs> mount /dev/vda1 /
+Tip: Use 'll /' to view the filesystem or ...
+><fs> ll /
+
+Could we make guestfish interactive if commands are used without params?
+------------------------------------------------------------------------
+
+><fs> sparse
+[[Prints man page]]
+Image name? disk.img
+Size of image? 10M
+
+Common problems
+---------------
+
+How can we solve these common user problems?
+
+[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.
+
+Add-domain command
+------------------
+
+guestfs_add_domain (g, "libvirt-dom");
+
+However this would need to not depend on libvirt, eg. loading it
+on demand.