# --- 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 - 2006 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 https://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 beautiful distribution build system. ROCKCFG_ARCH This option 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_CROSS_TESTALL If enabled, try to cross-build packages which are not known to support cross-compilation. USE WITH CARE: cross-building packages which don't support cross-compilation might overwrite files on your real root filesystem, rendering your system unusable! ROCKCFG_PSEUDONATIVE Many packages cannot be cross-build, but building them natively might considerably slow down the build process (e.g. on old hardware). Pseudo-native builds combine the advantages of cross-builds (fast hardware) and native builds (being able to execute compiled programs): like in cross-builds, most of the build is done on a non-native machine; programs that require native execution, however, are transparently run on another, native machine. ROCKCFG_PSEUDONATIVE_NATIVEHOST The IP adress of the native host for pseudo-native builds. ROCKCFG_PSEUDONATIVE_NFSROOT The NFS root to be mounted on the native host for pseudo-native builds. 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. - Epiam ROCK Linux: A distribution specially for VIA Epiam processors. - Generic ROCK Linux: A generic, all-purpose distribution that has simply everything. - ROCK Linux LiveCD: A system that can boot and run directly from CD without the need to install anything on a hard disk. - ROCK Linux Video Player (lvp): A distribution that works as a video player and boots from CD. - 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. - ROCK Linux Server: This target is intended to build a not blown up server distribution to install web-, mail-, fileserver or similar. ROCKCFG_LINGUAS Here you can choose the languages for which message translation catalogs should be installed. Note that not all programs provide translations for each language. If set to 'all', all available translations will be installed, and none if set to 'none'. 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_NOBROKENDEPS Do not try building packages if any of their build-time dependencies failed. 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 builds 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_SENDMAIL If enabled, Build-Target will send emails when special events happen, currently on failed package builds and on completed target builds. ROCKCFG_SENDMAIL_BIN The program used by the build scripts for sending email notifications. ROCKCFG_SENDMAIL_TO Email notifications about build events will be sent to this email address. ROCKCFG_MYTHTVOSD Use a Myth TV on-screen display for certain output of the build scripts. ROCKCFG_OUTPUT_HTML Write the output of the build scripts to HTML files. ROCKCFG_OUTPUT_HTML_DIR The directory which build output should be written to. ROCKCFG_OUTPUT_TTS Use a text-to-speech system for certain output of the build scripts. ROCKCFG_OUTPUT_TERM_COLOR Use ANSI colors for output to a terminal. ROCKCFG_VERBOSE If enabled, all output during builds is not only written to the respective build log but also displayed on the console. 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_CKSUM Disable Checksum creation. Leave this enabled unless you know why you want to disable it. 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_SPLIT_DOC If enabled, each binary package is split, with one split containing only documentation files, e.g. kdelibs.gem and kdelibs:doc.gem. This allows to easily distribute and install package splits separately. Altough man and info pages are documentation files as well, they are not included in :doc splits because they are considered too important. ROCKCFG_SPLIT_DEV If enabled, each binary package is split, with one split containing only files required for software development, e.g. kdelibs.gem and kdelibs:dev.gem. This allows to easily distribute and install package splits separately. Files required solely for the purpose of software development include static libraries and C header files. ROCKCFG_PKGSEL If selected you can modify the package list for the build. ROCKCFG_PKGSEL_TPL Package preselection templates are sets of package selection rules, where each template is used for a distinct set of packages. Package preselection templates (together with the default package selections of each target) can be seen as starting points for creating your own package selection (using "Custom package selection"). MENU_PKGSEL_RULES Here you can modify the package list for the build. You have the choice between 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-System 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_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 With this option, the type of optimisation can be selected. ROCKCFG_C_FLAGS These parameters (flags) will be used for every invocation of gcc. ROCKCFG_CONFIGURE_OPTS These parameters will be used for every invocation of GNU configure. ROCKCFG_CREATE_DOCS If enabled, the build scripts will automatically install documentation files like README, INSTALL and Changelog, contained in each packages sources. ROCKCFG_DEBUG Enable this option if you want to have debug symbols in your binaries. 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_STATIC Create statically linked binaries. ROCKCFG_MULTILIB Enable installing several versions of the same library. ROCKCFG_AUTOPCH Compiling C++ headers more than once (e.g. when included from different files) often causes a significant increase in build time. Enable this option and a wrapper for the C++ compiler will try to make sure the time-expensive part of compiling C++ headers is done only once at most. 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.