Documentation Main - Root "apebase.sourceforge.net" Repository - Home Page - SourceForge Page - Downloads - Subversion Repository - Forums - Report A Bug
Welcome to the Ape Base Compile System Documentation
Ape Base Compile System Version: 1.02-ap20104400 SVN r73 2008-03-23 09:19:42Z BrynM
Ape User Configuration Variables

The most commonly useful of thes variables are already in the template "_blank_build_script-copy_to_create_your_own.sh" for use in creating your own scripts. There are several here that are not normally included in that template which may be useful to you for more complicated tasks. Processing a compile task begins as these variables are initialized where possible in "./include/ape_config.sh" and the settings in your coopy of "_blank_build_script-copy_to_create_your_own.sh" overwrites the values where needed. Finally, "./include/scripts_common.sh" performs any needed validation before starting the requested task.

APE_CONF_ALWAYS_CFLAGS (User Configuration Variable)
Default: (empty)

Always append these CFLAGS to any existing CFLAGS at compile time.

APE_CONF_BASE_DEST_PARENT_DIR (User Configuration Variable)
Default: "/ape"

Base install path (the root directory for --prefix). Change this if you want your applications to end up in a place other than /ape or you need to override the setting in include/ape_config.sh.

APE_CONF_COMPANY_NAME (User Configuration Variable)
Default: "Company Name (www.companyurl.tld) using ESP EPM (www.epmhome.org)"

Name of the place/organization/company you are using this at for credits and vendor RPM properties.

APE_CONF_COMPILE_HOME (User Configuration Variable)
Default: "/ape/_compile"

The root directory of Ape Base.

APE_CONF_CONFIGURE_STRING (User Configuration Variable)
Required for normal usage. You need to fill this in.
Default: (empty)

This is your configure string. This is required most of the time unless you don't need any ooptions.

VERY IMPORTANT
You don't need to specify a "--prefix" as other variables will take care of it. (none) should contain everything else.

APE_CONF_DEST_DIR_LABEL (User Configuration Variable)
Default: "${APE_CONF_PACKAGE_NAME}"

Subdirectory in APE_CONF_BASE_DEST_PARENT_DIR to store versions - such as "php" for "/ape/php" to be used.

APE_CONF_DISABLE_AUTO_REMOVAL (User Configuration Variable)
Default: "off"

Force the removal step to be skipped unless specified at the command line. This will also skip APE_CONF_PRE_REMOVE_CMD and APE_CONF_POST_REMOVE_CMD.

APE_CONF_LICENSE_FILE (User Configuration Variable)
Default: (empty)

Location of user specified LICENSE file for use in rpm creation.

APE_CONF_PACKAGE_NAME (User Configuration Variable)
Required for normal usage. You need to fill this in.
Default: (empty)

Proper name of package for RPM package naming such as "php" or "mysql". Not to be confused with APE_CONF_DEST_DIR_LABEL.

APE_CONF_PACKAGE_NAME_PREFIX (User Configuration Variable)
Default: (empty)

Prefix for proper name of package used in RPM package naming to differentiate from packages built by others. Such as "ape" to produce a PHP RPM called "apePhp".

APE_CONF_POST_CONFIGURE_CMD (User Configuration Variable)
Default: (empty)

Command(s) to run after configure step.

A note about triggered commands. These can be commands, user functions or scripts local to the compile machine. They run at their appripriate steps designated by their names. None of them are required. If you would like to disable the use of a particular step, just put something that will fail with a greater than 0 exit status into its value. The easiest is something like "exit 1 # comment". If you include the comment, you can pass a message along. If a triggered command has a greater than 0 exit value (return code), further processing will be halted.

Here is an example to disable this particular step:

export APE_CONF_POST_CONFIGURE_CMD="exit 1 # APE_CONF_POST_CONFIGURE_CMD step not implemented"

Thus, running `somepackage.sh -c` will output:

## somepackage.sh # Executing APE_CONF_POST_CONFIGURE_CMD "exit 1 #  APE_CONF_POST_CONFIGURE_CMD step not implemented".
[root@localhost:~]$ echo $?
1
[root@localhost:~]$ |
APE_CONF_POST_INSTALL_CMD (User Configuration Variable)
Default: (empty)

Command(s) to run after install step.

A note about triggered commands. These can be commands, user functions or scripts local to the compile machine. They run at their appripriate steps designated by their names. None of them are required. If you would like to disable the use of a particular step, just put something that will fail with a greater than 0 exit status into its value. The easiest is something like "exit 1 # comment". If you include the comment, you can pass a message along. If a triggered command has a greater than 0 exit value (return code), further processing will be halted.

Here is an example to disable this particular step:

export APE_CONF_POST_INSTALL_CMD="exit 1 # APE_CONF_POST_INSTALL_CMD step not implemented"

Thus, running `somepackage.sh -c` will output:

## somepackage.sh # Executing APE_CONF_POST_INSTALL_CMD "exit 1 #  APE_CONF_POST_INSTALL_CMD step not implemented".
[root@localhost:~]$ echo $?
1
[root@localhost:~]$ |
APE_CONF_POST_MAKE_CMD (User Configuration Variable)
Default: (empty)

Command(s) to run after make step.

A note about triggered commands. These can be commands, user functions or scripts local to the compile machine. They run at their appripriate steps designated by their names. None of them are required. If you would like to disable the use of a particular step, just put something that will fail with a greater than 0 exit status into its value. The easiest is something like "exit 1 # comment". If you include the comment, you can pass a message along. If a triggered command has a greater than 0 exit value (return code), further processing will be halted.

Here is an example to disable this particular step:

export APE_CONF_POST_MAKE_CMD="exit 1 # APE_CONF_POST_MAKE_CMD step not implemented"

Thus, running `somepackage.sh -c` will output:

## somepackage.sh # Executing APE_CONF_POST_MAKE_CMD "exit 1 #  APE_CONF_POST_MAKE_CMD step not implemented".
[root@localhost:~]$ echo $?
1
[root@localhost:~]$ |
APE_CONF_POST_REMOVE_CMD (User Configuration Variable)
Default: (empty)

Command(s) to run after remove step.

A note about triggered commands. These can be commands, user functions or scripts local to the compile machine. They run at their appripriate steps designated by their names. None of them are required. If you would like to disable the use of a particular step, just put something that will fail with a greater than 0 exit status into its value. The easiest is something like "exit 1 # comment". If you include the comment, you can pass a message along. If a triggered command has a greater than 0 exit value (return code), further processing will be halted.

Here is an example to disable this particular step:

export APE_CONF_POST_REMOVE_CMD="exit 1 # APE_CONF_POST_REMOVE_CMD step not implemented"

Thus, running `somepackage.sh -c` will output:

## somepackage.sh # Executing APE_CONF_POST_REMOVE_CMD "exit 1 #  APE_CONF_POST_REMOVE_CMD step not implemented".
[root@localhost:~]$ echo $?
1
[root@localhost:~]$ |
APE_CONF_POST_RPM_CMD (User Configuration Variable)
Default: "${APE_CONF_COMPILE_HOME}/rpms/up-mrepo.sh"

Command(s) to run after RPM step.

A note about triggered commands. These can be commands, user functions or scripts local to the compile machine. They run at their appripriate steps designated by their names. None of them are required. If you would like to disable the use of a particular step, just put something that will fail with a greater than 0 exit status into its value. The easiest is something like "exit 1 # comment". If you include the comment, you can pass a message along. If a triggered command has a greater than 0 exit value (return code), further processing will be halted.

Here is an example to disable this particular step:

export APE_CONF_POST_RPM_CMD="exit 1 # APE_CONF_POST_RPM_CMD step not implemented"

Thus, running `somepackage.sh -c` will output:

## somepackage.sh # Executing APE_CONF_POST_RPM_CMD "exit 1 #  APE_CONF_POST_RPM_CMD step not implemented".
[root@localhost:~]$ echo $?
1
[root@localhost:~]$ |
APE_CONF_POST_RPM_INSTALL_CMD (User Configuration Variable)
Default: (empty)

Command(s) to run after someone installs your RPM. This command is stored in the RPM itself by EPM. Note that the user may nor have the benefit of any of the Ape variables or functions existing in their environament at install time. It is best to stick with a pre-installed script which you include via a SKEL or normal shell command for this particular trigger.

APE_CONF_POST_RPM_LIST_CMD (User Configuration Variable)
Default: (empty)

Command(s) to run immediately after the EPM list file is created prior to RPM packaging.

A note about triggered commands. These can be commands, user functions or scripts local to the compile machine. They run at their appripriate steps designated by their names. None of them are required. If you would like to disable the use of a particular step, just put something that will fail with a greater than 0 exit status into its value. The easiest is something like "exit 1 # comment". If you include the comment, you can pass a message along. If a triggered command has a greater than 0 exit value (return code), further processing will be halted.

Here is an example to disable this particular step:

export APE_CONF_POST_RPM_LIST_CMD="exit 1 # APE_CONF_POST_RPM_LIST_CMD step not implemented"

Thus, running `somepackage.sh -c` will output:

## somepackage.sh # Executing APE_CONF_POST_RPM_LIST_CMD "exit 1 #  APE_CONF_POST_RPM_LIST_CMD step not implemented".
[root@localhost:~]$ echo $?
1
[root@localhost:~]$ |
APE_CONF_POST_SKEL_CMD (User Configuration Variable)
Default: (empty)

Command(s) to run after SKEL step.

A note about triggered commands. These can be commands, user functions or scripts local to the compile machine. They run at their appripriate steps designated by their names. None of them are required. If you would like to disable the use of a particular step, just put something that will fail with a greater than 0 exit status into its value. The easiest is something like "exit 1 # comment". If you include the comment, you can pass a message along. If a triggered command has a greater than 0 exit value (return code), further processing will be halted.

Here is an example to disable this particular step:

export APE_CONF_POST_SKEL_CMD="exit 1 # APE_CONF_POST_SKEL_CMD step not implemented"

Thus, running `somepackage.sh -c` will output:

## somepackage.sh # Executing APE_CONF_POST_SKEL_CMD "exit 1 #  APE_CONF_POST_SKEL_CMD step not implemented".
[root@localhost:~]$ echo $?
1
[root@localhost:~]$ |
APE_CONF_PRE_CONFIGURE_CMD (User Configuration Variable)
Default: (empty)

Command(s) to run before the configure step.

A note about triggered commands. These can be commands, user functions or scripts local to the compile machine. They run at their appripriate steps designated by their names. None of them are required. If you would like to disable the use of a particular step, just put something that will fail with a greater than 0 exit status into its value. The easiest is something like "exit 1 # comment". If you include the comment, you can pass a message along. If a triggered command has a greater than 0 exit value (return code), further processing will be halted.

Here is an example to disable this particular step:

export APE_CONF_PRE_CONFIGURE_CMD="exit 1 # APE_CONF_PRE_CONFIGURE_CMD step not implemented"

Thus, running `somepackage.sh -c` will output:

## somepackage.sh # Executing APE_CONF_PRE_CONFIGURE_CMD "exit 1 #  APE_CONF_PRE_CONFIGURE_CMD step not implemented".
[root@localhost:~]$ echo $?
1
[root@localhost:~]$ |
APE_CONF_PRE_INSTALL_CMD (User Configuration Variable)
Default: (empty)

Command(s) to run before the make install step.

A note about triggered commands. These can be commands, user functions or scripts local to the compile machine. They run at their appripriate steps designated by their names. None of them are required. If you would like to disable the use of a particular step, just put something that will fail with a greater than 0 exit status into its value. The easiest is something like "exit 1 # comment". If you include the comment, you can pass a message along. If a triggered command has a greater than 0 exit value (return code), further processing will be halted.

Here is an example to disable this particular step:

export APE_CONF_PRE_INSTALL_CMD="exit 1 # APE_CONF_PRE_INSTALL_CMD step not implemented"

Thus, running `somepackage.sh -c` will output:

## somepackage.sh # Executing APE_CONF_PRE_INSTALL_CMD "exit 1 #  APE_CONF_PRE_INSTALL_CMD step not implemented".
[root@localhost:~]$ echo $?
1
[root@localhost:~]$ |
APE_CONF_PRE_MAKE_CMD (User Configuration Variable)
Default: (empty)

Command(s) to run before the make step.

A note about triggered commands. These can be commands, user functions or scripts local to the compile machine. They run at their appripriate steps designated by their names. None of them are required. If you would like to disable the use of a particular step, just put something that will fail with a greater than 0 exit status into its value. The easiest is something like "exit 1 # comment". If you include the comment, you can pass a message along. If a triggered command has a greater than 0 exit value (return code), further processing will be halted.

Here is an example to disable this particular step:

export APE_CONF_PRE_MAKE_CMD="exit 1 # APE_CONF_PRE_MAKE_CMD step not implemented"

Thus, running `somepackage.sh -c` will output:

## somepackage.sh # Executing APE_CONF_PRE_MAKE_CMD "exit 1 #  APE_CONF_PRE_MAKE_CMD step not implemented".
[root@localhost:~]$ echo $?
1
[root@localhost:~]$ |
APE_CONF_PRE_REMOVE_CMD (User Configuration Variable)
Default: (empty)

Command(s) to run before the remove step.

A note about triggered commands. These can be commands, user functions or scripts local to the compile machine. They run at their appripriate steps designated by their names. None of them are required. If you would like to disable the use of a particular step, just put something that will fail with a greater than 0 exit status into its value. The easiest is something like "exit 1 # comment". If you include the comment, you can pass a message along. If a triggered command has a greater than 0 exit value (return code), further processing will be halted.

Here is an example to disable this particular step:

export APE_CONF_PRE_REMOVE_CMD="exit 1 # APE_CONF_PRE_REMOVE_CMD step not implemented"

Thus, running `somepackage.sh -c` will output:

## somepackage.sh # Executing APE_CONF_PRE_REMOVE_CMD "exit 1 #  APE_CONF_PRE_REMOVE_CMD step not implemented".
[root@localhost:~]$ echo $?
1
[root@localhost:~]$ |
APE_CONF_PRE_RPM_CMD (User Configuration Variable)
Default: (empty)

Command(s) to run before the EPM/RPM step.

A note about triggered commands. These can be commands, user functions or scripts local to the compile machine. They run at their appripriate steps designated by their names. None of them are required. If you would like to disable the use of a particular step, just put something that will fail with a greater than 0 exit status into its value. The easiest is something like "exit 1 # comment". If you include the comment, you can pass a message along. If a triggered command has a greater than 0 exit value (return code), further processing will be halted.

Here is an example to disable this particular step:

export APE_CONF_PRE_RPM_CMD="exit 1 # APE_CONF_PRE_RPM_CMD step not implemented"

Thus, running `somepackage.sh -c` will output:

## somepackage.sh # Executing APE_CONF_PRE_RPM_CMD "exit 1 #  APE_CONF_PRE_RPM_CMD step not implemented".
[root@localhost:~]$ echo $?
1
[root@localhost:~]$ |
APE_CONF_PRE_SKEL_CMD (User Configuration Variable)
Default: (empty)

Command(s) to run before the SKEL step.

A note about triggered commands. These can be commands, user functions or scripts local to the compile machine. They run at their appripriate steps designated by their names. None of them are required. If you would like to disable the use of a particular step, just put something that will fail with a greater than 0 exit status into its value. The easiest is something like "exit 1 # comment". If you include the comment, you can pass a message along. If a triggered command has a greater than 0 exit value (return code), further processing will be halted.

Here is an example to disable this particular step:

export APE_CONF_PRE_SKEL_CMD="exit 1 # APE_CONF_PRE_SKEL_CMD step not implemented"

Thus, running `somepackage.sh -c` will output:

## somepackage.sh # Executing APE_CONF_PRE_SKEL_CMD "exit 1 #  APE_CONF_PRE_SKEL_CMD step not implemented".
[root@localhost:~]$ echo $?
1
[root@localhost:~]$ |
APE_CONF_QUIET_COMPILES (User Configuration Variable)
Default: "no"

Quiet compiles. This can also be enabled by using "-q" at the command line. Enabling this pipe compile messages to log files and display only Ape messaging where possible. This will affect the "-c", "-m" and "-i" options. The "-o" command line compile option is the only exception to this setting.

APE_CONF_RELEASE (User Configuration Variable)
Default: "ap`expr \`date +%s\` / 7200 # 2 hour intervals since epoch`"

Release number (minor version so RPMs can be upgraded to new compiles of the same sources) if you want to specify something other than an auto generated one. This is auto-generated in ./include/ape_config.sh to be the number of seconds since the Unix epoch split into two hour increments with the letters "ap" prepended. An example value would be "ap167321"

APE_CONF_REVISION_MESSAGE (User Configuration Variable)
Default: "Custom Build release ${APE_CONF_RELEASE}."

Extra message for the description detailing RPM revision. This shows up in `rpm` and `yum` commands.

APE_CONF_RPM_NO_CLOBBER (User Configuration Variable)
Default: (empty)

This will set the no-clobber flag for files installed from your RPM. This will trigger the creation of "filename.rpmnew" if the destination file exists and has been altered. File names or paths are accepted separated by spaces.

APE_CONF_RPM_OS_DESTINATIONS (User Configuration Variable)
Default: "on"

This variable is deprecated. Please do not alter it.

APE_CONF_RPM_PROVIDES (User Configuration Variable)
Default: (empty)

What, if anything special, your RPM package provides. Separate names with spaces or tabs. You don't need to speify the package name, such as "apePhp", because that is added automatically. Example:

export APE_CONF_PACKAGE_NAME_PREFIX="ape"
export APE_CONF_PACKAGE_NAME=cups
export APE_CONF_RPM_PROVIDES="cups cupssys cupssys-client" # note that "apeCups" will be auto added at runtime
APE_CONF_RPM_REQUIRES (User Configuration Variable)
Default: (empty)

Any other things that should be required to install your RPM. Separate files or packages with spaces and denote version numbers with @. Example:

APE_CONF_RPM_REQUIRES="bind@30:9.3.3-10.el5 mysql@5.0.0 perl perl-DBI"
APE_CONF_RPM_USER_DESTINATION (User Configuration Variable)
Default: (empty)

User destination for created RPM file. If you have installed ape.mrepoHttpd you probably should leave this alone.

APE_CONF_SKEL_LINKTO_SCRIPT (User Configuration Variable)
Default: (empty)

User specified link-to-current script to install. Leave this alone unless you are debugging.

APE_CONF_SOURCE_DIR_NAME (User Configuration Variable)
Default: "${APE_CONF_PACKAGE_NAME}-${APE_CONF_VERSION}"

The name of your source directory such as "epm-4.1". This is expected to be found within Ape's ./src directory. Using the previous example, a (none) value of "epm-4.1" the path from the Ape root would be "./src/epm-4.1" for the source files. If you would like to organize your applications into subdirectories of ./src, then adjust this variable as follows in your user script. You will notice that the variables representing the application and version are still present.

# Name of the source dir underneath ${APE_CONF_COMPILE_HOME}/src (designated below)
# This is the directory with the actual source code in it.
# Change this from the detected settings if you need to.
#
export APE_CONF_SOURCE_DIR_NAME="subdirectory/${APE_CONF_PACKAGE_NAME}-${APE_CONF_VERSION}"

If you would like to place your source directory completely ourside of APE_CONF_COMPILE_HOME, then you would adjust APE_CONF_SOURCE_DIR_NAME as follows.

# Name of the source dir underneath ${APE_CONF_COMPILE_HOME}/src (designated below)
# This is the directory with the actual source code in it.
# Change this from the detected settings if you need to.
#
export APE_CONF_SOURCE_DIR_NAME="/path/to/your/source/directory"
APE_CONF_TAG_OUTPUT_DELIM (User Configuration Variable)
Default: "#"

Delimiter used output tags during Ape scripts. For example, setting

export APE_CONF_TAG_OUTPUT_DELIM="*"

Will result in output like:

## foo-1.0.sh * Detected "i386" mode.
APE_CONF_TAG_OUTPUT_PREFIX (User Configuration Variable)
Default: "##"

Prefix to output tags during Ape scripts. For example, setting

export APE_CONF_TAG_OUTPUT_PREFIX="*"

Will result in output like:

* foo-1.0.sh # Detected "i386" mode.
APE_CONF_TAG_OUTPUT_TAG (User Configuration Variable)
Default: "`basename $0`"

The actual tag used to differentiate Ape output from the output of things Ape may be running. By default this is set to the name of the current script. Note that if you would like a datestamp to appear in the tag, you could use APE_CONF_TAG_OUTPUT_TIMESTAMP if you don't need a custom timestamp.

Example:

export APE_CONF_TAG_OUTPUT_TAG="some text `basename $0` something"

Will result in output something like:

## some text foo-1.0.sh something # Detected "i386" mode.
APE_CONF_TAG_OUTPUT_TIMESTAMP (User Configuration Variable)
Default: "no"

Whether or not to append timestamps to the output tags. The output tag is the "## scriptname.sh #" prefix to Ape output. This is useful if you are piping output to a log file. Yes, no, true, false, 0, 1 and empry are accepted values for APE_CONF_TAG_OUTPUT_TIMESTAMP.

Example:

export APE_CONF_TAG_OUTPUT_TIMESTAMP="yes"

Will result in output something like:

## foo-1.0.sh  2008.03.16.06:57.45 # Detected "i386" mode.

Note: If you are piping your output to a log file, remember to pipe STDERR to your log with something like `script.sh 2>&1 >>logfile.log`.

APE_CONF_TARBALL (User Configuration Variable)
Default: "${APE_CONF_PACKAGE_NAME}-${APE_CONF_VERSION}-${APE_CONF_RELEASE}-${APE_SYS_DETECTED_ARCHITECTURE}.tgz"

The file name of the tarball to produce during the Tar step. Do not include directory or path information. Just the file name.

APE_CONF_TMPDIR (User Configuration Variable)
Default: **SEE BELOW

What to set the gcc TMPDIR and RPM temporary destination to. EPM will be given this setting with the "--output-dir" directive and the resulting RPM is moved to where it belongs afterward. The default value of this variable is set with the first found directory in APE_SYS_POSSIBLE_TEMPS. APE_SYS_POSSIBLE_TEMPS itself should not be changed unless you know what you are doing.

APE_CONF_USER_ARCHITECTURE (User Configuration Variable)
Default: (empty)

Use this to specify a different target architecture than the `uname -i` detected one for the RPM build. A primary usage is to force architecture independant ('noarch') RPMs.

APE_CONF_USER_EPM_STUB (User Configuration Variable)
Default: "${APE_CONF_COMPILE_HOME}/epm-extra/${APE_CONF_PACKAGE_NAME}-${APE_CONF_VERSION}.stub"

Stub epm list file with basic or extra information. Most of the time you can leave this alone and make a file in the appropriate place if you need to add things to the generated EPM list file. This file will be appended to the generated EPM list file. You can use any directives available in the EPM documentation.

APE_CONF_VERSION (User Configuration Variable)
Required for normal usage. You need to fill this in.
Default: (empty)

Version number that we will use for the final directory name of the install such as "5.2.0.2" or "0.2.1beta".

Documentation for the Ape Base Compile System v1.02-ap20104400 SVN r73 2008-03-23 09:19:42Z BrynM at http://apebase.sourceforge.net:80/apeDocs/ (127.0.0.1)
Last Modified: Sunday, 23-Mar-2008 05:47:47 UTC - Now: Friday, 29-Mar-2024 09:30:42 UTC
Ape logo originally from image in "Round-about Rambles in Lands of Fact and Fancy" by Frank Richard Stockton via Project Gutenberg (direct link)
Valid XHTML 1.0 Transitional SourceForge.net Logo
Home Page - SourceForge Page - Downloads - Subversion Repository - Forums - Report A Bug
Ape Base Compile System project hosted by SourceForge.