summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 5d42bbfb16f02a7fdfb91734cbd0b050e925ece3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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).