Before it's non-embarrassingly releasable:
- - more flexible running modes
- + combined scan+dump mode which doesn't even generate an index
- file (nearly indistinguishable from find(1))
- + load mode which reads a dump from standard input and builds
- the index (need to nail down a perfectly general dump format)
- + at least some ability to chain actions within the same run:
- "agedu -s dirname -w" would seem handy.
-
- work out what to do about atimes on directories in the absence of
the Linux syscall magic
* one option is to read them during the scan and reinstate them
+ configurable recursive output depth
+ show the right bits last
- - figure out what to do about scans starting in the root directory
- + Currently we end up with a double leading slash on the
- pathnames, which is ugly, and we also get a zero-length href
- in between those slashes which means the web interface doesn't
- let you click back up to the top level at all.
- + One big problem here is that a lot of the code assumes that
- you can find the extent of a pathname by searching for "foo"
- and "foo^A", trusting that anything inside the directory will
- begin "foo/". So I'd need to consistently fix this everywhere
- so that a trailing slash is disregarded while doing it, but
- not actually removed.
- + The text output gets it all wrong.
- + The HTML output is fiddly even at the design stage: where
- would I _ideally_ put the link to click on to get back to /?
- It's unclear!
-
- cross-Unix portability:
+ use autoconf
* configure use of stat64
too, if it's available and O_NOATIME is too.
* what do we do elsewhere about _GNU_SOURCE?
- - prepare a little in advance for a potential future Windows port:
- + store the path separator character in the index file when
- writing it, and load it back in when reading
- + store literal byte sizes in all the size fields, instead of
- Unixoid 512-byte sectors
-
- - man page, licence.
+ - man page, licence, --version.
-Future directions:
+Future possibilities:
- IPv6 support in the HTTP server
+ * of course, Linux magic auth can still work in this context; we
+ merely have to be prepared to open one of /proc/net/tcp or
+ /proc/net/tcp6 as appropriate.
- run-time configuration in the HTTP server
* I think this probably works by having a configuration form, or