rpm:rpm
Full name:
org.codehaus.mojo:rpm-maven-plugin:2.3.0:rpm
Description:
Attributes:
- Requires a Maven project to be executed.
- Requires dependency resolution of artifacts in scope:
runtime
. - The goal is thread-safe and supports parallel builds.
- Binds by default to the lifecycle phase:
package
.
Required Parameters
Name | Type | Since | Description |
---|---|---|---|
<group> |
String |
- |
The package group for the package. |
<name> |
String |
- |
The name portion of the output file name. Default value is: ${project.artifactId} .User property is: rpm.name . |
<projversion> |
String |
- |
The version portion of the RPM file name. Default value is: ${project.version} .User property is: rpm.version .Alias is: version . |
<releaseProperty> |
String |
2.1-alpha-2 |
The system property to read the calculated release from, normally set by the version mojo. Default value is: rpm.release . |
<versionProperty> |
String |
2.1-alpha-2 |
The system property to read the calculated version from, normally set by the version mojo. Default value is: rpm.version . |
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
<autoProvides> |
boolean |
2.0-beta-4 |
Automatically add provided shared libraries. Default value is: true . |
<autoRequires> |
boolean |
2.0-beta-4 |
Automatically add requirements deduced from included shared libraries. Default value is: true . |
<buildRequires> |
LinkedHashSet<String> |
2.1.6 |
The list of build requirements for this package. |
<changelogFile> |
File |
2.0-beta-3 |
The changelog file. If the file does not exist, it is ignored. |
<cleanScriptlet> |
Scriptlet |
2.0-beta-4 |
The clean scriptlet. |
<conflicts> |
LinkedHashSet<String> |
- |
The list of conflicts for this package. |
<copyTo> |
File |
2.1. |
Option to copy the created RPM to another location User property is: rpm.copyTo . |
<defaultDirmode> |
String |
2.0-beta-2 |
The default directory mode (octal string) to assign to directories when installed.
Only applicable to a Mapping if filemode, username, AND groupname are NOT populated. |
<defaultFilemode> |
String |
2.0-beta-2 |
The default file mode (octal string) to assign to files when installed.
Only applicable to a Mapping if filemode, username, AND groupname are NOT populated. |
<defaultGroupname> |
String |
2.0-beta-2 |
The default group name for files when installed.
Only applicable to a Mapping if filemode, username, AND groupname are NOT populated. |
<defaultUsername> |
String |
2.0-beta-2 |
The default user name for files when installed.
Only applicable to a Mapping if filemode, username, AND groupname are NOT populated. |
<defineStatements> |
List<String> |
- |
A list of %define arguments |
<description> |
String |
- |
The long description of the package. Default value is: ${project.description} .User property is: rpm.description . |
<disabled> |
boolean |
2.0 |
Indicates if the execution should be disabled. If true , nothing will occur during execution.Default value is: false .User property is: rpm.disabled . |
<distribution> |
String |
- |
The distribution containing this package. |
<epoch> |
String |
- |
The epoch of this package. As defined here: http://www.rpm.org/max-rpm-snapshot/s1-rpm-inside-tags.html |
<escapeString> |
String |
2.0 |
Expression preceded with the String won't be interpolated \${foo} will be replaced with ${foo} User property is: maven.rpm.escapeString . |
<filters> |
List<String> |
2.0 |
Filters (property files) to include during the interpolation of the pom.xml. |
<hardLinkDependencies> |
boolean |
TODO |
Indicates if the dependencies should be hard linked instead of copied.
NOTE: Hard link requires maven repository to be on same partition as project's build dir. Default value is: false . |
<icon> |
File |
- |
An icon for the package. |
<installScriptlet> |
Scriptlet |
2.0-beta-4 |
The installation scriptlet. |
<keyname> |
String |
- |
Set to a key name to sign the package using GPG. If keyPassphrase is not also provided, this will require the input of the passphrase at the terminal. User property is: gpg.keyname . |
<keyPassphrase> |
Passphrase |
2.0-beta-4 |
The passphrase for the keyname to sign the rpm. This utilizes expect and requires that expect be on the PATH.
Note that the data type used is NOT <configuration> ... <keyPassphrase> <passphrase>password</passphrase> </keyPassphrase> </configuration> |
<keypath> |
File |
2.1.2 |
The directory from which gpg will load keyrings. If not specified, gpg will use the value configured for its installation, e.g. ~/.gnupg or %APPDATA%/gnupg .User property is: gpg.homedir . |
<license> |
String |
2.1-alpha-4 |
The one-line license information. |
<mappings> |
List<Mapping> |
- |
The list of file mappings. |
<needarch> |
String |
- |
The target architecture for the rpm. The default value is noarch.
For passivity purposes, a value of This can also be used in conjunction with Source targetArchitecture to flex the contents of the rpm based on the architecture. |
<obsoletes> |
LinkedHashSet<String> |
2.0-beta-3 |
The list of obsoletes for this package. |
<packager> |
String |
- |
The name of the person or group creating the package. Default value is: ${project.organization.name} .User property is: rpm.packager . |
<passphraseServerId> |
String |
- |
Server id to lookup the gpg passphrase under Maven settings. The default value intentionally selected to match with maven-gpg-plugin. Default value is: gpg.passphrase .User property is: gpg.passphraseServerId . |
<postinstallScriptlet> |
Scriptlet |
2.0-beta-4 |
The post install scriptlet. |
<postremoveScriptlet> |
Scriptlet |
2.0-beta-4 |
The post-removal scriptlet. |
<posttransScriptlet> |
Scriptlet |
2.0-beta-4 |
The posttrans script. |
<prefix> |
String |
- |
The relocation prefix for this package. |
<prefixes> |
List<String> |
2.1-alpha-4 |
Additional relocation prefixes if needed. |
<preinstallScriptlet> |
Scriptlet |
2.0-beta-4 |
The pre-installation scriptlet. |
<prepareScriptlet> |
Scriptlet |
2.0-beta-4 |
The prepare scriptlet; |
<preremoveScriptlet> |
Scriptlet |
2.0-beta-4 |
The pre-removal scriptlet. |
<prereqs> |
LinkedHashSet<String> |
2.0-beta-3 |
The list of prerequisites for this package. |
<pretransScriptlet> |
Scriptlet |
2.0-beta-4 |
The pretrans scriptlet. |
<provides> |
LinkedHashSet<String> |
- |
The list of virtual packages provided by this package. |
<release> |
String |
- |
The release portion of the RPM file name.
Beginning with 2.0-beta-2, this is an optional parameter. By default, the release will be generated from the modifier portion of the project version using the following rules:
User property is: rpm.release . |
<repackJars> |
boolean |
2.1-alpha-4 |
Should brp-repack-jars be used in the RPM build. Defaults to false . If it is false brp-repack-jars will be disabled by:
%define __jar_repack 0 This will have no effect on RHEL5 or earlier release. |
<requires> |
LinkedHashSet<String> |
- |
The list of requirements for this package. |
<requiresPost> |
LinkedHashSet<String> |
2.1.6 |
The list of requirements for running the post install scriptlet. |
<requiresPre> |
LinkedHashSet<String> |
2.1.6 |
The list of requirements for running the pre-installation scriptlet. |
<requiresPreun> |
LinkedHashSet<String> |
2.1.6 |
The list of requirements for running the pre-removal scriptlet. |
<rpmbuildStage> |
String |
- |
The stage to build. Default to '-bb' but let users specify for instance '-ba' if they want source rpms as well. Default value is: -bb .User property is: rpm.rpmbuild.stage .Alias is: rpmbuildStage . |
<skipPOMs> |
boolean |
2.1.6 |
Indicates if the execution should be disabled for POM projects. If true , nothing will happen during execution in projects with packaging "pom".Default value is: false . |
<summary> |
String |
- |
The one-line description of the package. Default value is: ${project.name} .User property is: rpm.summary . |
<targetOS> |
String |
2.0-beta-3 |
The target os for building the RPM. By default, this will be populated to Os.OS_NAME.
This can be used in conjunction with Source targetOSName to flex the contents of the rpm based on operating system. |
<targetVendor> |
String |
2.0-beta-3 |
The target vendor for building the RPM. By default, this will be populated to the result of rpm -E %{_host_vendor}. |
<triggers> |
List<BaseTrigger> |
2.0-beta-4 |
The list of triggers to take place on installation of other packages.
<triggers> <installTrigger> <subpackage>optional</subpackage> <program>program to execute (if not shell) optional</program> <script>actual contents of script - optional</script> <scriptFile>location of file containing script - optional</script> <fileEncoding>character encoding for script file - recommended</fileEncoding> <triggers> <trigger>package/version to trigger on (i.e. jre > 1.5)</trigger> ... </triggers> </installTrigger> <removeTrigger> ... </removeTrigger> <postRemoveTrigger> ... </postRemoveTrigger> ... </triggers> See also: BaseTrigger |
<url> |
String |
- |
A URL for the vendor. Default value is: ${project.organization.url} .User property is: rpm.url . |
<vendor> |
String |
- |
The vendor supplying the package. Default value is: ${project.organization.name} .User property is: rpm.vendor . |
<verifyScriptlet> |
Scriptlet |
2.0-beta-4 |
The verify scriptlet. |
<workarea> |
File |
- |
The area for RPM to use for building the package.
NOTE: The absolute path to the workarea MUST NOT have a space in any of the directory names. Beginning with release 2.0-beta-3, sub-directories will be created within the workarea for each execution of the plugin within a life cycle. Default value is: ${project.build.directory}/rpm . |
Parameter Details
<autoProvides>
- Type:
boolean
- Since:
2.0-beta-4
- Required:
No
- Default:
true
<autoRequires>
- Type:
boolean
- Since:
2.0-beta-4
- Required:
No
- Default:
true
<buildRequires>
- Type:
java.util.LinkedHashSet<java.lang.String>
- Since:
2.1.6
- Required:
No
<changelogFile>
- Type:
java.io.File
- Since:
2.0-beta-3
- Required:
No
<cleanScriptlet>
- Type:
org.codehaus.mojo.rpm.Scriptlet
- Since:
2.0-beta-4
- Required:
No
<conflicts>
- Type:
java.util.LinkedHashSet<java.lang.String>
- Required:
No
<copyTo>
- Type:
java.io.File
- Since:
2.1.
- Required:
No
- User Property:
rpm.copyTo
<defaultDirmode>
Only applicable to a Mapping if filemode, username, AND groupname are NOT populated.
- Type:
java.lang.String
- Since:
2.0-beta-2
- Required:
No
<defaultFilemode>
Only applicable to a Mapping if filemode, username, AND groupname are NOT populated.
- Type:
java.lang.String
- Since:
2.0-beta-2
- Required:
No
<defaultGroupname>
Only applicable to a Mapping if filemode, username, AND groupname are NOT populated.
- Type:
java.lang.String
- Since:
2.0-beta-2
- Required:
No
<defaultUsername>
Only applicable to a Mapping if filemode, username, AND groupname are NOT populated.
- Type:
java.lang.String
- Since:
2.0-beta-2
- Required:
No
<defineStatements>
%define
arguments- Type:
java.util.List<java.lang.String>
- Required:
No
<description>
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.description
- Default:
${project.description}
<disabled>
true
, nothing will occur during execution.- Type:
boolean
- Since:
2.0
- Required:
No
- User Property:
rpm.disabled
- Default:
false
<distribution>
- Type:
java.lang.String
- Required:
No
<epoch>
- Type:
java.lang.String
- Required:
No
<escapeString>
- Type:
java.lang.String
- Since:
2.0
- Required:
No
- User Property:
maven.rpm.escapeString
<filters>
- Type:
java.util.List<java.lang.String>
- Since:
2.0
- Required:
No
<group>
- Type:
java.lang.String
- Required:
Yes
<hardLinkDependencies>
NOTE: Hard link requires maven repository to be on same partition as project's build dir.
- Type:
boolean
- Since:
TODO
- Required:
No
- Default:
false
<icon>
- Type:
java.io.File
- Required:
No
<installScriptlet>
- Type:
org.codehaus.mojo.rpm.Scriptlet
- Since:
2.0-beta-4
- Required:
No
<keyname>
- Type:
java.lang.String
- Required:
No
- User Property:
gpg.keyname
<keyPassphrase>
expect
be on the PATH.
Note that the data type used is NOT String
.
<configuration> ... <keyPassphrase> <passphrase>password</passphrase> </keyPassphrase> </configuration>
- Type:
org.codehaus.mojo.rpm.Passphrase
- Since:
2.0-beta-4
- Required:
No
<keypath>
~/.gnupg
or %APPDATA%/gnupg
.- Type:
java.io.File
- Since:
2.1.2
- Required:
No
- User Property:
gpg.homedir
<license>
- Type:
java.lang.String
- Since:
2.1-alpha-4
- Required:
No
<mappings>
- Type:
java.util.List<org.codehaus.mojo.rpm.Mapping>
- Required:
No
<name>
- Type:
java.lang.String
- Required:
Yes
- User Property:
rpm.name
- Default:
${project.artifactId}
<needarch>
For passivity purposes, a value of true
or false
will indicate whether the architecture of the build machine will be used. Any other value (such as x86_64
) will set the architecture of the rpm to x86_64
.
This can also be used in conjunction with Source targetArchitecture to flex the contents of the rpm based on the architecture.
- Type:
java.lang.String
- Required:
No
<obsoletes>
- Type:
java.util.LinkedHashSet<java.lang.String>
- Since:
2.0-beta-3
- Required:
No
<packager>
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.packager
- Default:
${project.organization.name}
<passphraseServerId>
- Type:
java.lang.String
- Required:
No
- User Property:
gpg.passphraseServerId
- Default:
gpg.passphrase
<postinstallScriptlet>
- Type:
org.codehaus.mojo.rpm.Scriptlet
- Since:
2.0-beta-4
- Required:
No
<postremoveScriptlet>
- Type:
org.codehaus.mojo.rpm.Scriptlet
- Since:
2.0-beta-4
- Required:
No
<posttransScriptlet>
- Type:
org.codehaus.mojo.rpm.Scriptlet
- Since:
2.0-beta-4
- Required:
No
<prefix>
- Type:
java.lang.String
- Required:
No
<prefixes>
- Type:
java.util.List<java.lang.String>
- Since:
2.1-alpha-4
- Required:
No
<preinstallScriptlet>
- Type:
org.codehaus.mojo.rpm.Scriptlet
- Since:
2.0-beta-4
- Required:
No
<prepareScriptlet>
- Type:
org.codehaus.mojo.rpm.Scriptlet
- Since:
2.0-beta-4
- Required:
No
<preremoveScriptlet>
- Type:
org.codehaus.mojo.rpm.Scriptlet
- Since:
2.0-beta-4
- Required:
No
<prereqs>
- Type:
java.util.LinkedHashSet<java.lang.String>
- Since:
2.0-beta-3
- Required:
No
<pretransScriptlet>
- Type:
org.codehaus.mojo.rpm.Scriptlet
- Since:
2.0-beta-4
- Required:
No
<projversion>
- Type:
java.lang.String
- Required:
Yes
- User Property:
rpm.version
- Default:
${project.version}
- Alias:
version
<provides>
- Type:
java.util.LinkedHashSet<java.lang.String>
- Required:
No
<release>
Beginning with 2.0-beta-2, this is an optional parameter. By default, the release will be generated from the modifier portion of the project version using the following rules:
- If no modifier exists, the release will be
1
. - If the modifier ends with SNAPSHOT, the timestamp (in UTC) of the build will be appended to end.
- All instances of
'-'
in the modifier will be replaced with'_'
. - If a modifier exists and does not end with SNAPSHOT,
"_1"
will be appended to end.
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.release
<releaseProperty>
- Type:
java.lang.String
- Since:
2.1-alpha-2
- Required:
Yes
- Default:
rpm.release
<repackJars>
false
. If it is false
brp-repack-jars will be disabled by:
%define __jar_repack 0
This will have no effect on RHEL5 or earlier release.- Type:
boolean
- Since:
2.1-alpha-4
- Required:
No
<requires>
- Type:
java.util.LinkedHashSet<java.lang.String>
- Required:
No
<requiresPost>
- Type:
java.util.LinkedHashSet<java.lang.String>
- Since:
2.1.6
- Required:
No
<requiresPre>
- Type:
java.util.LinkedHashSet<java.lang.String>
- Since:
2.1.6
- Required:
No
<requiresPreun>
- Type:
java.util.LinkedHashSet<java.lang.String>
- Since:
2.1.6
- Required:
No
<rpmbuildStage>
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.rpmbuild.stage
- Default:
-bb
- Alias:
rpmbuildStage
<skipPOMs>
true
, nothing will happen during execution in projects with packaging "pom".- Type:
boolean
- Since:
2.1.6
- Required:
No
- Default:
false
<summary>
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.summary
- Default:
${project.name}
<targetOS>
This can be used in conjunction with Source targetOSName to flex the contents of the rpm based on operating system.
- Type:
java.lang.String
- Since:
2.0-beta-3
- Required:
No
<targetVendor>
- Type:
java.lang.String
- Since:
2.0-beta-3
- Required:
No
<triggers>
<triggers> <installTrigger> <subpackage>optional</subpackage> <program>program to execute (if not shell) optional</program> <script>actual contents of script - optional</script> <scriptFile>location of file containing script - optional</script> <fileEncoding>character encoding for script file - recommended</fileEncoding> <triggers> <trigger>package/version to trigger on (i.e. jre > 1.5)</trigger> ... </triggers> </installTrigger> <removeTrigger> ... </removeTrigger> <postRemoveTrigger> ... </postRemoveTrigger> ... </triggers>
See also: BaseTrigger
- Type:
java.util.List<org.codehaus.mojo.rpm.BaseTrigger>
- Since:
2.0-beta-4
- Required:
No
<url>
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.url
- Default:
${project.organization.url}
<vendor>
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.vendor
- Default:
${project.organization.name}
<verifyScriptlet>
- Type:
org.codehaus.mojo.rpm.Scriptlet
- Since:
2.0-beta-4
- Required:
No
<versionProperty>
- Type:
java.lang.String
- Since:
2.1-alpha-2
- Required:
Yes
- Default:
rpm.version
<workarea>
NOTE: The absolute path to the workarea MUST NOT have a space in any of the directory names.
Beginning with release 2.0-beta-3, sub-directories will be created within the workarea for each execution of the plugin within a life cycle.
The pattern will be workarea/name[-classifier]
.
The classifier portion is only applicable for the attached-rpm goal.
- Type:
java.io.File
- Required:
No
- Default:
${project.build.directory}/rpm