summaryrefslogtreecommitdiffstats
path: root/TODO
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2012-11-14 22:17:25 (EST)
committer P. J. McDermott <pjm@nac.net>2012-11-14 22:17:25 (EST)
commit1931ab98cbd829763a948da54149791c71cfd0b8 (patch)
treefef75bcd92cd486b5531edb10bf25fa7f9d0ca94 /TODO
parent16264c1877a8df3edca8082db116fc9e68fc9c84 (diff)
Update TODO.
Diffstat (limited to 'TODO')
-rw-r--r--TODO28
1 files changed, 25 insertions, 3 deletions
diff --git a/TODO b/TODO
index 92c8c1f..e191277 100644
--- a/TODO
+++ b/TODO
@@ -1,9 +1,31 @@
Tasks:
- * See if ob-installdocs can/should handle non-directory non-regular files.
- * Review "IFS=... cmd ..." commands.
- * Review eval commands.
+ * Rewrite cache file handling.
+ - Make a new library module with the following functions:
+ * ob_init_cache file
+ * ob_read_cache
+ * ob_set_cache_var name value
+ - Use ob_set_cache_var in _ob_set_{source,binary}_parameter.
+ - Remove code to read cache file from ob_parse_package_metadata.
+ - Remove code to write cache file from ob_parse_package_metadata.
+ - TODO: Should ob_{init,read}_cache ever be called automatically?
+ * If not, `ob_parse_package_metadata -c FILE` could be:
+ - `ob_init_cache_file FILE; ob_read_cache || ob_parse_package_metadata`
+ * Fix ob-applypatches to not fall over when it runs too much.
+ - Current behavior: "I've been here already! What do? *trip*"
+ - Track applied patches in ob-applypatches.
+ * Use ob_set_cache_var to cache the list of patches.
+ * General code auditing and cleanup:
+ - Switch to using printf (safer and more portable than echo) for everything.
+ - Protect against command operands beginning with "-", e.g.:
+ * `[ "x${foo}" = 'xbar' ]` instead of `[ "${foo}" = 'bar' ]`
+ * `mkdir -p -- "${foo}"` instead of `mkdir -p "${foo}"`
+ - Add more error handling.
+ - Review "IFS=... cmd ..." commands.
+ * "IFS=... read" is fine.
+ - Review eval commands.
* Finish ob-checkbuilddeps.
* Write ob-genchanges.
+ * See if ob-installdocs can/should handle non-directory non-regular files.
* Write manual pages for functions and utilities.
* Support package signing (requires opkg to be built with GnuPG and GPGME).