RPM - Configuration Parameters
Contents
Configuration Parameters
General Settings
- name
The name of the resulting package
default:
adempiere
example:
%global name adempiere
- company
The name of the packager (your company)
default:
custom
example:
%global company Some Company, Inc.
Compile Settings
- applyQuickFix
whether quick fixes should be applied
Sometimes the source does not compile and some quick fixes or workarounds must be applied. The script
SOURCES/s041_quickFix.sh
is called to apply such workarounds.values:
0
= do not apply quick Fixes1
= apply quick Fixes
default: 1
example: %global applyQuickFix 1
Version Settings
- version
the Adempiere version to download and compile
values:
current
,head
= download newest files of the current Adempiere versionrelease
= download original files of the current Adempiere version as it was originally releasedprevious
= download newest files of the previous Adempiere version (just before it changed to the current version)version = specific Adempiere version to download
tip
= download the current Mercurial tiphg
revision = download specific Mercurial revision
Note that versions are relative to the current branch (see hgBranch) in the Mercurial repository.
When comparing the Adempiere version with tags in the Mercurial repository,
both are converted to lower-case, all non-alphanumeric characters are stripped, and any "adempiere" or "release"
prepending the version number are removed. Thus release-2.5.3b-initial
becomes 253binitial
,
adempiere340-trunk-frozen
becomes 340trunkfrozen
, and
Adempiere360LTS
becomes 360lts
.
default: current
example: %global version 360lts
Alternatively, it is possible to directly specify a Mercurial revision. In this case it is assumed that you know what you are doing, and no further sanity checks are performed. This also overrides any settings in the hgBranch parameter.
Mercurial Settings
Mercurial is needed to download the source code as well as gather information on the version.
- hgOptions
general options to use with the hg command
default:
--noninteractive --encoding utf8
example:
%global hgOptions --quiet --noninteractive --encoding utf8
- hgRepository
URL of the source code repository
default:
http://adempiere.hg.sourceforge.net:8000/hgroot/adempiere/adempiere
example:
%global hgRepository http://adempiere.hg.sourceforge.net/hgroot/adempiere/adempiere
- hgBranch
Named branch in the source code repository
values:
master
= the main stable branch containing official releasesdevelopment
= the main development branch with newest features and bugfixesrelease/
name = temporary branch with "frozen" code of the next release candidatehotfix/
name = temporary branch for fixing bugs found in live production version of master branchname = any other named branch
- hgVersionFile
the file from which to read version information
default:
base/src/org/compiere/Adempiere.java
example:
%global hgVersionFile base/src/org/compiere/Adempiere.java
default: master
example: %global hgBranch master
Adempiere User Settings
OS level environment settings for the 'adempiere' user
- userDir
the home directory of the adempiere user
(this will be the parent directory of
ADEMPIERE_HOME
)default:
/opt/adempiere
example:
%global userDir /opt/adempiere
- adempiereHome
the location of
ADEMPIERE_HOME
If starting with a /, it is the absolute path to
ADEMPIERE_HOME
. Otherwise it will be a subdirectory under%{userDir}
.Note that
%{adempiereHome}
will not actually be a directory, but a symbolic link.The package will be installed under
%{userDir}
with version information, for example/opt/adempiere/adempiere360lts
for the pristine package/opt/adempiere/server360lts
for the server package/opt/adempiere/client360lts
for the client package- userName
the name of the adempiere user
default:
adempiere
example:
%global userName adempiere
- userID
the user ID number for the adempiere user
If the requested user ID is already taken, the next available system ID will be used.
values:
200
<= x <500
default:
215
example:
%global userID 215
- groupName
the adempiere user's private group name
default: same as
%{userName}
example:
%global groupName adempiere
- groupID
the primary group ID number for the adempiere user
If the requested group ID is already taken, the next available system ID will be used.
values:
200
<= x <500
default:
215
example:
%global groupID 215
Then a symbolic link will be created from the package directory to %{adempiereHome}
, for example
ln -s /opt/adempiere/server360lts /opt/adempiere/adempiere
This way it is possible to have different packages and versions installed on the same machine, and by changing the symbolic link you can choose which version to run.
default: adempiere
example: %global adempiereHome /opt/adempiere/adempiere
Pristine Package Settings
The pristine package is the release as distributed by Adempiere without any extensions or patches. It can be used for testing before filing support requests or bug reports.
It contains both server and client, and it is not pre-configured.
- buildPristine
whether to build the pristine package
values:
0
= do not build the pristine package1
= build the pristine package
default: 0
example: %global buildPristine 0
Client Package Settings
The client package is installed on remote machines.
It includes desktop menu entries for connection to the server.
The client package is a custom release to which patches and extensions are applied.
- buildClient
whether to build the client package
values:
0
= do not build the client package1
= build the client package
default: 1
example: %global buildClient 1
Server Package Settings
The server package is the live server. It also includes its own client.
The server package is a custom release to which patches and extensions are applied.
- buildServer
whether to build the server package
values:
0
= do not build the server package1
= build the server package- preconfigureServer
whether to pre-configure the server so that it will run out of the box without executing ./RUN_Setup.sh
values:
0
= do not pre-configure the server package1
= pre-configure the server package
default: 1
example: %global buildServer 1
default: 0
example: %global preconfigureServer 0
Server Configuration Parameters
These parameters are used for pre-configuring the server
Certificate Configuration
- serverFQDN
The fully qualified domain name of the server
This string is used to identify the application server as well generate default entries for mail and database server.
default:
localhost.localdomain
example:
%global serverFQDN myAppServer.mydomain.com
- keystore
the server's keystore file (relative to
ADEMPIERE_HOME
)default:
keystore/myKeystore
example:
%global keystore keystore/myKeystore
- keystorePass
the password for the server's keystore
default:
adempiere
example:
%global keystorePass adempiere
- keystoreCN
The CN (common name) component of the DN (distinguished name) for the server's keystore.
default: name portion of
serverFQDN
example:
%global keystoreCN myAppServer
- keystoreOU
The OU (organizational unit) component of the DN (distinguished name) for the server's keystore.
default: name of currently logged-in user
example:
%global keystoreOU myName
- keystoreO
The O (organization) component of the DN (distinguished name) for the server's keystore.
default:
AdempiereUser
example:
%global keystoreO AdempiereUser
- keystoreL
The L (location) component of the DN (distinguished name) for the server's keystore.
default:
myTown
example:
%global keystoreL myTown
- keystoreST
The ST (state) component of the DN (distinguished name) for the server's keystore.
default:
myState
example:
%global keystoreST myState
- keystoreC
The C (country) component of the DN (distinguished name) for the server's keystore.
default: country from system's
LANG
setting in/etc/sysconfig/i18n
example:
%global keystoreC US
- keystoreCodeAlias
the certificate alias for code signing on the server
Note that although this is a configurable parameter, the alias 'adempiere' is hardcoded in some source files, so it might be a bad idea to change it.
default:
adempiere
example:
%global keystoreCodeAlias adempiere
- keystoreWebAlias
the certificate alias for secure web connections to the server
Note that although this is a configurable parameter, the alias 'adempiere' is hardcoded in some source files, so it might be a bad idea to change it.
default:
adempiere
example:
%global keystoreWebAlias adempiere
Java Configuration
- javaType
the Java type installed on the server
Note that ibm is not implemented yet, and there are still some issues with openJDK.
values:
sun
,mac
,ibm
,OpenJDK
default:
OpenJDK
example:
%global javaType OpenJDK
- javaHome
the Java path on the server
default:
/usr/lib/jvm/java-openjdk
example:
%global javaHome /usr/lib/jvm/java-openjdk
- javaOptions
options with which to start the virtual machine under which Adempiere is run
(see Java documentation)
default:
-Xms64M -Xmx512M
example:
%global javaOptions -Xms64M -Xmx512M
Application Server Configuration
- serverType
the type of application server
values:
jboss
,glassfish
default:
jboss
example:
%global serverType jboss
- deployDir
the application server deployment directory (relative to
ADEMPIERE_HOME
)default:
jboss/server/adempiere/deploy
for JBossglassfish/glassfish/domains/domain1
for Glassfish- jnpPort
the JNP port (whatever that is)
default:
1099
for JBoss3700
for Glassfish- webPort
the TCP port to be used by the application server for HTTP
default:
8888
example:
%global webPort 8888
- sslPort
the TCP port to be used by the application server for HTTPS
default:
8443
example:
%global sslPort 8443
- logFacility
which facility to use for the system logger
values:
local0
…local7
default:
local1
example:
%global logFacility local1
- logLevel
the minimum severity level for messages to be logged
values:
DEBUG
,INFO
,NOTICE
,WARNING
,ERROR
,CRITICAL
,ALERT
,EMERGENCY
default:
INFO
example:
%global logLevel INFO
example: %global deployDir jboss/server/adempiere/deploy
example: %global jnpPort 1099
Database Configuration
- dbServer
the name of the database server
default: name portion of
%{serverFQDN}
(assuming that Adempiere is installed on the same machine as the database)example:
%global dbServer myDatabaseServer
- dbType
the type of database (database vendor)
values:
oracle
,oracleXE
,postgresql
default:
postgresql
example:
%global dbType postgresql
- dbPort
the database port
default:
5432
for PostgreSQL1521
for Oracle- dbName
the name of the database
default:
adempiere
for PostgreSQLorcl
for Oraclexe
for OracleXE- dbUrl
the url for the jdbc driver to connect to the database
default:
jdbc:postgresql://
%{dbServer}
:%{dbPort}
/%{dbName}
for PostgreSQLjdbc:oracle:thin:@//
%{dbServer}
:%{dbPort}
/%{dbName}
for Oracle- dbUser
the name of the adempiere database user
default:
adempiere
example:
%global dbUser adempiere
- dbPassword
the password of the adempiere database user
default:
adempiere
example:
%global dbPassword adempiere
- dbSystemUser
the user name of the database system administrator
default:
postgres
for PostgreSQLsystem
for Oracle- dbSystemPassword
the password of the database system administrator
default:
postgres
for PostgreSQLmanager
for Oracle- oracleHome
When using Oracle, the adempiere user needs to have access to the Oracle client on the local machine.
This is the
ORACLE_HOME
environment variable pointing to the oracle product directory.To keep the adempiere packages independent of the installed Oracle version, if the Oracle product directory contains a version in its name, it is recommended to create symbolic link from the Oracle product directory to a version-free name such as
/opt/oracle/oracle
at the time of Oracle installation.This can be done with the command
#
ln -s /opt/oracle/product/10.2.01 /opt/oracle/oracledefault:
/opt/oracle/oracle
example:
%global oracleHome /opt/oracle/product/10.2.01
- oracleTnsAdmin
When using Oracle, the adempiere user needs to have access to the Oracle client on the local machine.
This is the
TNS_ADMIN
environment variable pointing to the location where Oracle Net Services look for configuration files.default:
%{oracleHome}
/network/adminexample:
%global oracleTnsAdmin /opt/oracle/product/10.2.01/network/admin
example: %global dbPort 1521
example: %global dbName adempiere
example: %global dbUrl jdbc:postgresql://myDatabaseServer:5432/adempiere
example: %global dbSystemUser postgres
example: %global dbSystemPassword postgres
FTP Configuration
- ftpServer
name of the FTP server
default: name portion of
%{serverFQDN}
example:
%global ftpServer myAppServer
- ftpPrefix
the FTP prefix to use
(no idea what this does)
default:
my
example:
%global ftpPrefix my
- ftpUser
the FTP user
default:
anonymous
example:
%global ftpUser anonymous
- ftpPassword
the FTP user's password
default:
user@host.com
example:
%global ftpPassword user@host.com
E-Mail Configuration
- mailServer
the mail server to use
default: mailserver.(domain portion of
%{serverFQDN}
)example:
%global mailServer mailserver.mydomain.com
- mailAddress
the default administrative mail address to use
It can be overwritten on client level
default: adempiere@(domain portion of
%{serverFQDN}
)example:
%global mailAddress adempiere@mydomain.com
- mailUser
the user of the default mail account
default:
adempiere
example:
%global mailUser adempiere
- mailPassword
the password of the default mail account
default:
adempiere
example:
%global mailPassword adempiere
Corporate Format Settings
Some sites may want to enforce their own corporate formats, i.e. no matter what locale the user is working in or what language a business partner has defined, always the same decimal point, date format, and paper size are used, regardless of what the locale conventions are.
(And the locale conventions are often wrong in Java, anyway).
This is technically a patch, but as the target file may change frequently, it would be very cumbersome to always keep the patch file up to date.
It has therefore been incorporated as a script in the %prep section.
- useCorporateFormat
whether to apply the corporate format patch
Note that this changes the locale conventions for the complete installation and thus affects all clients.
values:
0
= do not use corporate formats1
= use corporate formats- formatDecimal
whether to use a point as decimal separator
values:
0
= use a comma as decimal separator1
= use a point as decimal separator- formatDate
the date format to use
- formatPaper
the paper size to use.
default: 0
example: %global useCorporateFormat 0
default: 1
example: %global formatDecimal 1
The formats are probably described somewhere in Java documentation. Have a look at looks/src/org/compiere/util/Language.java for examples.
default: yyyy-MM-dd
example: %global formatDate yyyy-MM-dd
The formats are probably described somewhere in Java documentation. Have a look at looks/src/org/compiere/util/Language.java for examples.
values: ISO.A4
, NA.LETTER
default: ISO.A4
example: %global formatPaper ISO.A4