Apply patch from gentoo bug #264457 to prevent deleting of ccache cache
[catalyst.git] / TODO
1 This file is a rough list of changes that need to be made to catalyst.  If you
2 have questions about any of these items, or wish to help with development, send
3 them to the gentoo-catalyst@lists.gentoo.org mailing list.  Bug reports should
4 be filed at http://tinyurl.com/79slrk (http://bugs.gentoo.org) under the
5 Catalyst component.
6
7 Global:
8 - Remove spec_prefix from all exported variables
9   - variables without spec_prefix are global and used in all targets
10   - variables with spec_prefix only apply to that target
11 - add multiple target support for spec files
12   - target: stage1
13   - targets: stage1 stage2 stage3 stage4 livecd netboot
14 - add more validation and checking for code which affects both host and target
15   - setup defaults if host isn't configured
16   - allow configuration globally (catalyst.conf), per-spec, or per-target
17   - ccache
18     - check host settings (size, location, etc) and restore them when done
19   - distcc
20     - check host settings (distcc_hosts, etc) and restore them when done
21   - icecream
22     - check host settings (icecream_hosts, etc) and restore them when done
23 - add support for new portage features
24   - Cache backends
25     - metadata_overlay (portage default in 2.1.6)
26         - sqlite
27   - Jobs
28   - Load Average
29   - Dependency checking
30     - Deep checking
31         - Complete Graph
32         - Build-time dependencies
33   - USE changes
34     - newuse versus changed-use
35   - Failure detection
36     - Add --keep-going support
37 - detect GCC version in seed stages for supported settings (CFLAGS)
38
39 Config:
40 - security
41   - sign materials automatically
42 - logging
43   - add logging support
44     - file-based
45         - syslog
46   - add notification capabilities
47     - email
48         - snmp trap
49 - separate out options that control catalyst versus the package manager
50   - options key should specify catalyst options
51   - new keys for package managers
52     - portage_features
53         - pkgcore_features
54
55 Targets:
56 - add support for livedvd
57   - do we use livecd/type or something new
58   - make livedvd type perform several actions automatically, if configured
59     - auto-fetch distfiles
60         - automatically pull stages
61           - local disk via absolute or relative path
62           - URI
63 - change user creation to be more flexible
64   - stage4 and netboot support
65 - build boot software for targets on-demand
66   - removes cdtar requirement
67   - allows one to specify multiple bootloaders
68     - boot/loader: grub elilo
69         - netboot/boot/loader: pxelinux elilo
70         - livecd/boot/loader: isolinux elilo
71   - add ability to specify other "bootables" to build/install, like memtest86+
72         - livecd/boot/image: memtest|/path/to/image
73         - do we also need a way to specify an initrd with this?
74 - add variable support for spec files
75   - automatic substitution
76     - %DATESTAMP%
77         - %BUILDDIR%
78   - user-defined
79     - %DISTRIBUTION%
80         - %AUTHOR%
81