blob: c16778b59267c55ee8e7aa030724cabbdeea699c (
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
|
* Try replacing `sed` "arrays" with `eval` "arrays" in `install_find_pkgs()`
and `install_get_pkgs()`, using `tr` to sanitize package names (as in
opkbuild). Benchmark. This essentially replaces one `sed` command per
package (in `install_get_pkgs()`) with two `tr` commands (one per function;
no need to convert case as in opkbuild), which should reduce the algorithmic
complexity of installations from O(*n*) (where *n* is the number of packages
in the archive) to something closer to O(1).
* Add interactive frontend for installers:
- Clean up `install_system()` and `installer-pc` output
+ Maybe write everything to an installation log file in `${root}/var/log/`
- New `lib/tui.sh` interface to `lib/tui/select.sh` and `lib/tui/dialog.sh`
backends (with `configure` looking for **dialog**)
- Make `install_system()` accept an output callback to use instead of
`info()`
- Add a `prof_get_platforms_by_tag(suite, tag, plat_cb)` function that calls
`${plat_cb} "${name}" "${desc}"` on each matching platform
+ ProteanOS implementation: download and parse (control file)
<http://files.proteanos.com/pub/proteanos-archplat-lists/${suite}/plat>
- Add library functions for a `select` implementation, pretty-printing sizes
in decimal and binary units, and searching for block devices
- Implement an interactive mode of `installer-pc`:
+ Change usage to `[-a <arch> -p <plat> [-m <mirror>] <suite> <device>]`
(i.e. make all arguments optional)
+ Get a `Manifest` of suites from profile, present options to user
+ Call `prof_get_platforms_by_tag()` with a "pc" tag
+ Call a profile function to get architectures (with names and
descriptions) for a given suite and platform
+ Pass a tui function as the output callback to `install_system()`
* Make `installer-pc` check architecture compatibility (host CPU and kernel
vs. those of system to install)?
- Can't do a "foreign" installation, unless LILO is not to be installed (as
on libreboot-specific platforms)
|