Tasks: * 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. * 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). Copyright ========= Copyright (C) 2012 Patrick "P. J." McDermott Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.