PyChrootBuilder
Modus Operandi
Initialization
# Validate environment (not root, parse parameters, set-up verbosity and logging)
# Display license
Execution Stages
Chroot base setup
# Set-up RAM disk
# Set-up root base
# Set-up dev FS
# Set-up proc FS
# Set-up yum directories
# Set-up compilation directories
Core Package Installation
# Make and install unmodified core SRPMs from repositories.
# Install closed source RPMs (mostly Oracle.
# Configure, make and install "key" applications from source archives with overrides for "--nodeps" and "--force" flags where needed.
# Retrieve PECL packages
Chroot Clean Out
# Extract generated RPMs.
# Configure Zoneinfo.
# Configure i18n, charmaps, gconv, iconv and locale.
# Remove blacklisted files.
# Prune RPM remains.
# Prune empty directories.
Audit & Test
# Build package list
# Build package dependency list
# Build ldd dependency list
# Build tree list
# Run test suites
Closed Down
# Unset RAM disk
Initial Build Requirements
Apache + mod_security + mod_limitipconn + mod_fcgi + mod_extract_forwarded + mod_evasive + mod_ssl + mod_cband
LigHTTPd + spawn-fcgi + lighttpd-mod_geoip + mod_accesslog, mod_access, mod_alias, mod_auth, mod_compress, mod_dirlisting, mod_evasive, mod_evhost, mod_expire, mod_extforward, mod_fastcgi, mod_magnet, mod_proxy, mod_redirect, mod_rewrite, mod_setenv, mod_status
PHP 4.4.9 + oracle-instantclient-basiclite (9i) + APC + suhosin-patch-4.4.9-0.9.6.patch.gz
PHP 5.3 + oracle-instantclient-basiclite (11g) + APC + suhosin-patch-5.3.1-0.9.8.patch.gz
PHP 6 (snap)
xdebug + XHProf
GeoIP
mm
php-zlib + php-tidy + php-tidy + php-ZendFramework + php-pgsql
SSMTP
memcached
glibc + nscd + gamin + libaio + openssl
Leave RPM DB
