+This file is a rough list of changes that need to be made to catalyst. If you
+have questions about any of these items, or wish to help with development, send
+them to the gentoo-catalyst@lists.gentoo.org mailing list. Bug reports should
+be filed at http://tinyurl.com/79slrk (http://bugs.gentoo.org) under the
+Catalyst component.
+
+Global:
- Remove spec_prefix from all exported variables
-- sign materials automatically
-- create logs
-- send emails
-- add multiple target support
+ - 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
+ - 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
-- add a new livecd/type for livedvd
- - make livedvd type perform several actions automatically
+ - 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
-- check that distcc_hosts is set before enabling distcc
-- allow setting of distcc_hosts in catalyst.conf with override in the specs
-- check ccache settings, such as size, and ensure we don't overwrite them
-- perform user management via a loop in livecd-stage2
-- add portage jobs support
- - --jobs
- - --keep-going
- - --load-average
-- perform GCC version detection in seed stages to determine supported settings
-- build bootloaders for targets on-demand, rather than using pre-built tarballs
-- support for placeholders in spec file, both automatic and user-specifed
- - %DATESTAMP% could be automatic
- - %BUILDDIR% would be nice for livecd/iso instead of specifying full path
-- switch to "mix-in" cdtar files
- - rebuilding 5 cdtar files to bump memtest86+ is stupid
- - livecd/cdtar: isolinux elilo memtest86+
+ - 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%
+