aboutsummaryrefslogtreecommitdiff
path: root/TODO
blob: a868508e7b0e10161f54c600af641eb506860134 (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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# $Id$

This file is a rough list of changes that need to be made to catalyst.

Global:
- Remove spec_prefix from all exported variables
  - variables without spec_prefix are global and used in all targets
  - variables with spec_prefix only apply to that target
- add multiple target support for spec files
  - target: stage1
  - targets: stage1 stage2 stage3 stage4 livecd netboot
- add more validation and checking for code which affects both host and target
  - setup defaults if host isn't configured
  - allow configuration globally (catalyst.conf), per-spec, or per-target
  - ccache
    - check host settings (size, location, etc) and restore them when done
  - distcc
    - check host settings (distcc_hosts, etc) and restore them when done
  - icecream
    - check host settings (icecream_hosts, etc) and restore them when done
- add support for new portage features
  - Cache backends
    - metadata_overlay (portage default in 2.1.6)
	- sqlite
  - Jobs
  - Load Average
  - Dependency checking
    - Deep checking
	- Complete Graph
	- Build-time dependencies
  - USE changes
    - newuse versus changed-use
  - Failure detection
    - Add --keep-going support
- detect GCC version in seed stages for supported settings (CFLAGS)

Config:
- security
  - sign materials automatically
- logging
  - add logging support
    - file-based
	- syslog
  - add notification capabilities
    - email
	- snmp trap
- separate out options that control catalyst versus the package manager
  - options key should specify catalyst options
  - new keys for package managers
    - portage_features
	- pkgcore_features

Targets:
- add support for livedvd
  - do we use livecd/type or something new
  - make livedvd type perform several actions automatically, if configured
    - auto-fetch distfiles
	- automatically pull stages
	  - local disk via absolute or relative path
	  - URI
- change user creation to be more flexible
  - stage4 and netboot support
- build boot software for targets on-demand
  - removes cdtar requirement
  - allows one to specify multiple bootloaders
    - boot/loader: grub elilo
	- netboot/boot/loader: pxelinux elilo
	- livecd/boot/loader: isolinux elilo
  - add ability to specify other "bootables" to build/install, like memtest86+
	- livecd/boot/image: memtest|/path/to/image
	- do we also need a way to specify an initrd with this?
- add variable support for spec files
  - automatic substitution
    - %DATESTAMP%
	- %BUILDDIR%
  - user-defined
    - %DISTRIBUTION%
	- %AUTHOR%