summaryrefslogtreecommitdiffstats
path: root/TODO
blob: 574a6dc3b15950830167de46af26e5e62d857918 (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
31
32
33
34
35
36
37
38
39
40
41
Tasks:

  * Fix search for opkhelper-3.0 in configure.
    - `opkhelper_3_0` should be set to the path containing the `oh-*` utilities.
  * 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.
  * See if ob-installdocs can/should handle non-directory non-regular files.
  * Write manual pages for functions and utilities.


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.