# --- ROCK-COPYRIGHT-NOTE-BEGIN --- # # This copyright note is auto-generated by ./scripts/Create-CopyPatch. # Please add additional copyright information _after_ the line containing # the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by # the ./scripts/Create-CopyPatch script. Do not edit this copyright text! # # ROCK Linux: rock-src/scripts/config.hlp # ROCK Linux is Copyright (C) 1998 - 2003 Clifford Wolf # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. A copy of the GNU General Public # License can be found at Documentation/COPYING. # # Many people helped and are helping developing ROCK Linux. Please # have a look at http://www.rocklinux.org/ and the Documentation/TEAM # file for details. # # --- ROCK-COPYRIGHT-NOTE-END --- COMMENT_ARCHCPUOPT In this section you are able to select the architecture, the CPU and whether you are cross-building/porting to another architecture. COMMENT_TARGET In this section you can select which distribution target you would like to use. COMMENT_BUILD_SYS_CONF Here you can set some basic options for our beautifull distribution build system. ROCKCFG_ARCH This options controls the target architecture like alpha, ia64, mips, ppc, sparc or x86. ROCKCFG_CROSSBUILD This option needs to be selected to perform a cross-build to another architecture. ROCKCFG_DISABLE_BROKEN If you select this option packages that have not built in the last referency build will not be built. ROCKCFG_TARGET Please select the Target you want to build. Here's a short overview: - Boot-, Install- and Rescue-System: The boot-system. You need this if you want to install the system you built with CD or floppy-disk. - Desktop ROCK Linux: Intended for use on workstations / desktops. - Diet LibC based ROCK Linux: A distribution using Diet LibC instead of GLibC. DietLibC is a light-weight C-Library useful for embedded systems and other low-memory devices. - Generic ROCK Linux: A generic, all-purpose distribution that has simply everything. - Minimal ROCK Linux: A basic system that has only minimally more than a LFS. - Reference-Build for creating *.cache files: This target is for internal use only. It's purpose is to create package/*/*/*.cache files which are used to validate a package and consolidate its various information. - ROCK Router Linux: This is a _very_ minimal system with only routing-capabilities. ROCKCFG_PARALLEL Select this option if you want to perform a parallel build on several machines or if you build on a multiprocessor machine. See Documentation/BUILD-CLUSTER for more details. ROCKCFG_PARALLEL_MAX This options controls the maximum number of simultaneous build jobs. ROCKCFG_PARALLEL_ADDJOB If you're using an external command scheduler, enter it here. See Documentation/BUILD-CLUSTER for more details. ROCKCFG_ABORT_ON_ERROR If selected the build will stop on each package build error. ROCKCFG_RETRY_BROKEN This options controls whether the Build-System should try to build a package that has not built flawlessly during the last build. ROCKCFG_DISABLE_BROKEN Please check here if you want to skip building packages which are marked as broken. Note that this differs from ROCKCFG_RETRY_BROKEN. The reason a package is deemed 'broken' can also be missing *.cache file or others. ROCKCFG_ALWAYS_CLEAN When a package built flawlessly then the temporary directory which was used for building is deleted. Select this options if you also want this cleanup for packages with build error. (This safes disk-space but makes debugging hard ...) ROCKCFG_XTRACE Please check here if you want additional (debug)-output in the build log-files. ROCKCFG_SRC_TMPFS Check here if you want package buids to use tmpfs instead of the regular filesystem on which ROCK resides. ROCKCFG_SRC_TMPFS_OPT Please enter the tmpfs mount options here. For example: size=800M,nr_inodes=100k will mount an 800 Megabyte tmp-filesystem with 100,000 inodes. size=4G,nr_inodes=500k will mount a 4 Gigabyte tmp-filesystem with 500,000 inodes. Please make sure that the filesystem is big enough to hold - package-sources (unpacked) - compile-time binaries - and the binary package The filesystem size also must not be so big as to hog all your RAM or else your system might crash or start swapping. ROCKCFG_SRC_TMPFS_LOG Please enter the path to the tmpfs-logfile. ROCKCFG_EXPERT This button will enable a lot of additional configuration options. Some of these will make small changes to what the system will look like while others will have a huge impact on performance, stability and usability of the final system. Don't touch these if you don't know what you are doing. YOU HAVE BEEN WARNED! ROCKCFG_CREATE_TARBZ2 If selected binary packages in .tar.bz2 format will be created. ROCKCFG_CREATE_GEM If selected binary packages in .gem format will be created. ROCKCFG_PKGFILE_VER If selected the package version number will be added to the binary package filenme. ROCKCFG_PKGSEL If selected you can modify the package list for the build. MENU_PKGSEL_RULES Here you can modify the package list for the build. You have the choice beween enable, disable or complete removal. A disabled package can still be reenabled by a target, while a removed one can not be selected by a target. Use "X " to enable packages Use "O " to disable packages Use "- " to remove packages For example: "- gnome*" will not build Gnome at all. ROCKCFG_SHOW_PKGLIST This will display the complete, current package list. ROCKCFG_CONFOPT_FILE:0 Here you can specify additional parameters passed to every ./configure script. Use "--with-option" to enable a feature Use "--without-option" to disable a feature Use "--option[=value]" to specify a custom option The Build-Syste will always check whether the configure script supports the options before the options is really passed as argument. COMMENT_FLIST Please see the help for the choice-menu. ROCKCFG_FLIST This help is taken from Rolling ROCK Issue #2 2003 The ROCK Linux build scripts auto-detect which files are created by a package build and use this information to create the package file-list. There are three techniques which can be used to auto-detect this file list * flist-wrapper The flist-wrapper is the recommended way of doing it. It's an "elf preload library". This is a library which is loaded _before_ the c-library and so can overwrite functions of the c library. The flist-wrapper lib is overwriting all functions which can be used to create files and is writing the filenames to a log file before running the original c library function. This log file is used to create the package file list after the build has been completed. The problem with the flist-wrapper lib is that it doesn't work with statically built binaries or with non glibc c libraries. In such environments (e.g. when building a dietlibc based system), other techniques - such as those described below - must be used for creating the file list. * strace This one is rather easy: The whole build is running in a process- tree which is monitored by strace. The log file created by strace is later used to create the package file list. However: this does only work on architectures which do have an strace command - which is not the case for all architectures the Linux kernel and glibc have been ported to. * find This one is rather ugly (but sometimes the only alternative): When the build is started, a 'timestamp-file' is created. After the build has been completed, the find program is used to find all files which are newer than the 'timestamp-file'. This is really slow now and has the disadvantage that nothing else than the build process may create or modify files while the build is running. This should only be used if no other system for creating the file list can be used. ROCKCFG_USE_CROSSCC This option controls whether to use a pseudo-cross-compiler even for native (non cross) builds. This is needed when the host and target gcc or glibc differ in the ABI. THIS IS STRONGLY RECOMMENDED! ROCKCFG_DO_REBUILD_STAGE This options controls whether to rebuild all packages in the final rebuild-stage. Each and every package is rebuilt in Stage 9 once more and only then are the binary-packages created. This has the advantage that circular dependencies are resolved, but it also almost doubles the build time. In former times this was recommended - but nowadays this is only a paranoia thing. ROCKCFG_DO_CHECK This options enables to run a make check / test target for packages with support for this. This can be used as extended quality assurance to make sure the resulting binaries work correct. ROCKCFG_OPT If this option is enabled binaries and libraries are optimised and debugging information are not build into those binaries and additionally stripped. That is non-vital information are removed from binaries. See `man strip` for details. If disabled debugging informations are included into the binaries. ROCKCFG_OPTSIZE Enable this option if you want to optimise binaries for file-size instead of performance. This is useful for embedded devices and other low-memory systems. (But on the other hand is also the best performance setting, too). ROCKCFG_LIMITCXX Check here if you want to disable the C++ exceptions run-time type identification. This can make the C++ binaries about 25% smaller, but any C++ sources using exceptions or rtti, for example QT/KDE, will fail to compile. If you don't know, don't touch. ROCKCFG_MULTILIB Enable installing several versions of the same library. ROCKCFG_DISABLE_NLS Please check here if you do not want to use Native Language Support. ROCKCFG_CREATE_CACHE Please check here if you want to create *.cache files after a build has completed. This is the same as a reference build. ROCKCFG_PARANOIA_CHECK Please check here if you want to run sanity checks before building. THIS IS STRONGLY RECOMMENDED! ROCKCFG_IDCKSUM Please check here if you want to use a checksum instead of the long explanatory ROCKCFG-ID.