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 %definearguments | 
| <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 expectbe 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. ~/.gnupgor%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 isfalsebrp-repack-jars will be disabled by:%define __jar_repack 0This 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

