# $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 on remaining arches - 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%