rpm:rpm
Full name:
de.dentrassi.maven:rpm:1.10.1:rpm
Description:
Attributes:
- Requires a Maven project to be executed.
- Binds by default to the lifecycle phase:
package
.
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
<afterInstallation> |
Script |
- |
A script which is run after the installation took place
Also see scripts |
<afterRemoval> |
Script |
- |
A script which is run after the removal took place
Also see scripts |
<afterTransaction> |
Script |
- |
A script which is run after the entire transaction finishes
Also see scripts |
<architecture> |
String |
- |
The architecture Default value is: noarch .User property is: rpm.architecture . |
<attach> |
boolean |
- |
Whether to attach the output file Default value is: true .User property is: rpm.attach . |
<beforeInstallation> |
Script |
- |
A script which is run before the installation takes place
Also see scripts |
<beforeRemoval> |
Script |
- |
A script which is run before the removal takes place
Also see scripts |
<beforeTransaction> |
Script |
- |
A script which is run before the entire transaction starts
Also see scripts |
<classifier> |
String |
- |
The classifier of the attached rpm Default value is: rpm .User property is: rpm.classifier . |
<conflicts> |
List |
- |
RPM package conflicts
Also see dependencies |
<defaultRuleset> |
String |
- |
The default ruleset to use if no other is specified |
<defaultScriptInterpreter> |
String |
- |
The default script interpreter which is used if neither the script
has one set explicitly, nor one could be detected Default value is: /bin/sh .User property is: rpm.defaultScriptInterpreter . |
<description> |
String |
- |
The "description" field of the RPM file
This defaults to the Maven project description Default value is: ${project.description} .User property is: rpm.description . |
<distribution> |
String |
- |
The "distribution" field in the RPM file User property is: rpm.distribution . |
<enhances> |
List |
- |
Hint backward dependency.
Also see dependencies and Weak dependencies. |
<entries> |
List |
- |
The actual payload/file entries
Also see entries This is a list of <entries> <entry> <!-- target name --> <name>/etc/foo/bar.conf</name> <!-- either one of: <file>src/main/resources/bar.conf</file> <directory>true</directory> <collect> <from>src/main/resources/dir</from> </collect> --> </entry> </entries> |
<epoch> |
Integer |
- |
The RPM epoch, leave unset for default User property is: rpm.epoch . |
<evalHostname> |
boolean |
- |
Whether the plugin should try to evaluate to hostname
If set to Default value is: true .User property is: rpm.evalHostname . |
<fileDigestAlgorithm> |
String |
1.10.0 |
Configure the digest algorithm for files.
This configures the algorithm which is used to calculate a digest for each file. This information is stored (per file) in the RPM header section. The following variants are possible (from
NOTE: This relies on the JVM to provide a
NOTE: This used to be Default value is: SHA-256 .User property is: rpm.fileDigestAlgorithm . |
<forceRelease> |
boolean |
0.6.0 |
Always use the "release" string
This parameter enforces the build to always use the RPM release information from the parameter "release", whether this is a snapshot build or not Default value is: false .User property is: rpm.forceRelease . |
<generateDefaultSourcePackage> |
boolean |
0.11.0 |
Whether to generate a default source package.
If the The default name will consist of the package name and the
version with the suffix Before version 0.11.0 the source package was always empty. The
new default behavior is to fill the source package with a package
name derived from the package name. Setting this flag to
Default value is: true .User property is: rpm.generateDefaultSourcePackage . |
<group> |
String |
- |
The RPM group
See also https://fedoraproject. org/wiki/RPMGroups Default value is: Unspecified .User property is: rpm.group . |
<leadOverrideArchitecture> |
Architecture |
0.10.2 |
Override the lead architecture value.
Also see Lead information. User property is: rpm.leadOverride.architecture . |
<leadOverrideOperatingSystem> |
OperatingSystem |
0.10.2 |
Override the lead operating system value.
Also see Lead information. User property is: rpm.leadOverride.operatingSystem . |
<license> |
String |
- |
The license of the RPM file
This defaults to a comma separated list of all license names specified in the projects POM file. User property is: rpm.license . |
<maximumSupportedRpmVersion> |
RpmBuilder$Version |
0.11.0 |
The highest supported RPM version this package must conform to.
This allows to set a maximum version of RPM this package must be compatible with. If unset, it will not check the required RPM version. User property is: rpm.maximumSupportedRpmVersion . |
<naming> |
Naming |
- |
Provide package naming options
Also see naming User property is: rpm.naming . |
<obsoletes> |
List |
- |
RPM obsoletes information
Also see dependencies |
<operatingSystem> |
String |
0.10.2 |
The "operatingSystem" field in the RPM file. User property is: rpm.operatingSystem . |
<outputFileName> |
String |
0.10.1 |
The file name of the output file.
This defaults the to an internal builder which will use
Using this override will completely disable the internal name builder and simply use the provided value. User property is: rpm.outputFileName . |
<outputFileNameProperty> |
String |
1.9.1 |
Name of the property, which is set according to the final
outputFileName Default value is: project.build.rpm.outputFileName .User property is: rpm.outputFileNameProperty . |
<outputTimestamp> |
String |
XXX |
Timestamp for reproducible output archive entries, either formatted
as ISO 8601 yyyy-MM-dd'T'HH:mm:ssXXX or as an int
representing seconds since the epoch (like SOURCE_DATE_EPOCH).Default value is: ${project.build.outputTimestamp} . |
<packageName> |
String |
- |
The RPM package name Default value is: ${project.artifactId} .User property is: rpm.packageName . |
<packager> |
String |
- |
The name of the packager in the RPM file
This defaults to See also http://www.rpm.org/max-rpm/s1-rpm-inside-tags.html#S3-RPM-INSIDE-PACKAGER -TAG User property is: rpm.packager . |
<prefixes> |
List |
1.1.0 |
Build relocatable packages.
<prefixes> <prefix>/opt</prefix> <prefix>/var/log</prefix> </prefixes> See also The prefix tag User property is: rpm.prefixes . |
<prerequisites> |
List |
- |
RPM package requirements needed before the installation starts
Also see dependencies |
<provides> |
List |
- |
RPM provides information
Also see dependencies |
<recommends> |
List |
- |
Weak forward dependency.
Also see dependencies and Weak dependencies. |
<release> |
String |
- |
The release which will be used if this is not a snapshot build Default value is: 1 .User property is: rpm.release . |
<requires> |
List |
- |
RPM package requirements
Also see dependencies |
<rulesets> |
List |
- |
Rulesets to configure the file information like "user", "modes",
etc.
Also see rulesets. |
<signature> |
Signature |
- |
An optional signature descriptor for GPG signing the final RPM
Also see signing User property is: rpm.signature . |
<signatureConfiguration> |
String |
1.4.0 |
Specify the "hint" for a provider of a signature configuration.
By default, the RPM writer will calculate and add information like MD5, SHA1, SHA256, etc. to the signature header of the RPM file. However, some, especially older (really old) RPM versions, have issues when the encounter signature information they don't understand. This parameter allows you to configure this process. What you configure here is the so-called "hint" (Plexus
component name/hint) of the provider to use. This plexus component
has to be found in the class path of the plugin, during runtime.
There are two default providers available, one is
The default is to add as much information as possible to the RPM. So normally you don't need this parameter. Specifying a configuration provider which cannot be found during the build, will fail the build. |
<skip> |
boolean |
1.1.1 |
Disable the mojo altogether. Default value is: false .User property is: rpm.skip . |
<skipSigning> |
boolean |
- |
Disable all package signing Default value is: false .User property is: rpm.skipSigning . |
<snapshotBuildId> |
String |
0.6.0 |
Set the build id which is used when a snapshot build is active.
If this parameter is left unset or empty then the current time
(UTC) in the format User property is: rpm.snapshotBuildId . |
<snapshotReleasePrefix> |
String |
- |
The prefix of the release if this is a snapshot build, will be
suffixed with the snapshot build id
Also see: Default value is: 0. .User property is: rpm.snapshotReleasePrefix . |
<snapshotVersion> |
String |
- |
The version string to be processed in case of a SNAPSHOT build User property is: rpm.snapshotVersion . |
<sourcePackage> |
String |
0.11.0 |
Set the name of the source package. User property is: rpm.sourcePackage . |
<suggests> |
List |
- |
Hint forward dependency.
Also see dependencies and Weak dependencies. |
<summary> |
String |
- |
The "summary" field of the RPM file
This defaults to the project name Default value is: ${project.name} .User property is: rpm.summary . |
<supplements> |
List |
- |
Weak backward dependency.
Also see dependencies and Weak dependencies. |
<targetDir> |
File |
0.10.1 |
The location to place the RPM file into. Default value is: ${project.build.directory} .User property is: rpm.targetDir . |
<vendor> |
String |
- |
The vendor name of the RPM file
This defaults to the name of the organization in the POM file. User property is: rpm.vendor . |
<version> |
String |
- |
The version string to be processed in case of a release build Default value is: ${project.version} . |
Parameter Details
<afterInstallation>
Also see scripts
- Type:
de.dentrassi.rpm.builder.Script
- Required:
No
<afterRemoval>
Also see scripts
- Type:
de.dentrassi.rpm.builder.Script
- Required:
No
<afterTransaction>
Also see scripts
- Type:
de.dentrassi.rpm.builder.Script
- Required:
No
<architecture>
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.architecture
- Default:
noarch
<attach>
- Type:
boolean
- Required:
No
- User Property:
rpm.attach
- Default:
true
<beforeInstallation>
Also see scripts
- Type:
de.dentrassi.rpm.builder.Script
- Required:
No
<beforeRemoval>
Also see scripts
- Type:
de.dentrassi.rpm.builder.Script
- Required:
No
<beforeTransaction>
Also see scripts
- Type:
de.dentrassi.rpm.builder.Script
- Required:
No
<classifier>
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.classifier
- Default:
rpm
<conflicts>
Also see dependencies
- Type:
java.util.List
- Required:
No
<defaultRuleset>
- Type:
java.lang.String
- Required:
No
<defaultScriptInterpreter>
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.defaultScriptInterpreter
- Default:
/bin/sh
<description>
This defaults to the Maven project description
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.description
- Default:
${project.description}
<distribution>
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.distribution
<enhances>
Also see dependencies and Weak dependencies.
- Type:
java.util.List
- Required:
No
<entries>
Also see entries
This is a list of <entry>
elements with
additional information:
<entries> <entry> <!-- target name --> <name>/etc/foo/bar.conf</name> <!-- either one of: <file>src/main/resources/bar.conf</file> <directory>true</directory> <collect> <from>src/main/resources/dir</from> </collect> --> </entry> </entries>
- Type:
java.util.List
- Required:
No
<epoch>
- Type:
java.lang.Integer
- Required:
No
- User Property:
rpm.epoch
<evalHostname>
If set to false
, then he build hostname
localhost
will be used instead of the actual
hostname
- Type:
boolean
- Required:
No
- User Property:
rpm.evalHostname
- Default:
true
<fileDigestAlgorithm>
This configures the algorithm which is used to calculate a digest for each file. This information is stored (per file) in the RPM header section.
The following variants are possible (from
DigestAlgorithm
, in no particular order):
MD2
MD5
SHA1
Double-SHA
SHA-224
SHA-256
(default)SHA-384
SHA-512
RIPE-MD160
Tiger-192
Haval-5-160
NOTE: This relies on the JVM to provide a
MessageDigest
provider. If you choose a file digest
algorithm for which the JVM doesn't provide an implementation, the
build will fail. By default, JVMs (as of 1.8) should at least
support MD5, SHA1, and SHA256. In practice SHA-224 to SHA-512 are
supported by most JVMs.
NOTE: This used to be MD5
in
releases before 1.10.0
. Starting with
1.10.0
this defaults to SHA-256
and can
be overridden using this setting.
- Type:
java.lang.String
- Since:
1.10.0
- Required:
No
- User Property:
rpm.fileDigestAlgorithm
- Default:
SHA-256
<forceRelease>
This parameter enforces the build to always use the RPM release information from the parameter "release", whether this is a snapshot build or not
- Type:
boolean
- Since:
0.6.0
- Required:
No
- User Property:
rpm.forceRelease
- Default:
false
<generateDefaultSourcePackage>
If the sourceProperty
package is null
or empty, this flag controls if a default value is generated for
the source package or not.
The default name will consist of the package name and the
version with the suffix .src.rpm
. The output file name
is not used as a basis for the default source package name. If you
need more control over the source package name you need to use the
sourcePackage
property instead.
Before version 0.11.0 the source package was always empty. The
new default behavior is to fill the source package with a package
name derived from the package name. Setting this flag to
false
will revert to the old default behavior of
leaving the source package header field unset.
- Type:
boolean
- Since:
0.11.0
- Required:
No
- User Property:
rpm.generateDefaultSourcePackage
- Default:
true
<group>
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.group
- Default:
Unspecified
<leadOverrideArchitecture>
Also see Lead information.
- Type:
org.eclipse.packager.rpm.Architecture
- Since:
0.10.2
- Required:
No
- User Property:
rpm.leadOverride.architecture
<leadOverrideOperatingSystem>
Also see Lead information.
- Type:
org.eclipse.packager.rpm.OperatingSystem
- Since:
0.10.2
- Required:
No
- User Property:
rpm.leadOverride.operatingSystem
<license>
This defaults to a comma separated list of all license names specified in the projects POM file.
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.license
<maximumSupportedRpmVersion>
This allows to set a maximum version of RPM this package must be compatible with. If unset, it will not check the required RPM version.
- Type:
org.eclipse.packager.rpm.build.RpmBuilder$Version
- Since:
0.11.0
- Required:
No
- User Property:
rpm.maximumSupportedRpmVersion
<naming>
Also see naming
- Type:
de.dentrassi.rpm.builder.Naming
- Required:
No
- User Property:
rpm.naming
<obsoletes>
Also see dependencies
- Type:
java.util.List
- Required:
No
<operatingSystem>
- Type:
java.lang.String
- Since:
0.10.2
- Required:
No
- User Property:
rpm.operatingSystem
<outputFileName>
This defaults the to an internal builder which will use
<packageName>-<version>-<release>.<arch>.rpm
.
Also see naming.
Using this override will completely disable the internal name builder and simply use the provided value.
- Type:
java.lang.String
- Since:
0.10.1
- Required:
No
- User Property:
rpm.outputFileName
<outputFileNameProperty>
- Type:
java.lang.String
- Since:
1.9.1
- Required:
No
- User Property:
rpm.outputFileNameProperty
- Default:
project.build.rpm.outputFileName
<outputTimestamp>
yyyy-MM-dd'T'HH:mm:ssXXX
or as an int
representing seconds since the epoch (like SOURCE_DATE_EPOCH).- Type:
java.lang.String
- Since:
XXX
- Required:
No
- Default:
${project.build.outputTimestamp}
<packageName>
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.packageName
- Default:
${project.artifactId}
<packager>
This defaults to ${project.organization.name}
<${project.organization.url}>
if both values are
set.
See also http://www.rpm.org/max-rpm/s1-rpm-inside-tags.html#S3-RPM-INSIDE-PACKAGER -TAG
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.packager
<prefixes>
<prefixes> <prefix>/opt</prefix> <prefix>/var/log</prefix> </prefixes>
See also The prefix tag
- Type:
java.util.List
- Since:
1.1.0
- Required:
No
- User Property:
rpm.prefixes
<prerequisites>
Also see dependencies
- Type:
java.util.List
- Required:
No
<provides>
Also see dependencies
- Type:
java.util.List
- Required:
No
<recommends>
Also see dependencies and Weak dependencies.
- Type:
java.util.List
- Required:
No
<release>
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.release
- Default:
1
<requires>
Also see dependencies
- Type:
java.util.List
- Required:
No
<rulesets>
Also see rulesets.
- Type:
java.util.List
- Required:
No
<signature>
Also see signing
- Type:
de.dentrassi.rpm.builder.Signature
- Required:
No
- User Property:
rpm.signature
<signatureConfiguration>
By default, the RPM writer will calculate and add information like MD5, SHA1, SHA256, etc. to the signature header of the RPM file. However, some, especially older (really old) RPM versions, have issues when the encounter signature information they don't understand. This parameter allows you to configure this process.
What you configure here is the so-called "hint" (Plexus
component name/hint) of the provider to use. This plexus component
has to be found in the class path of the plugin, during runtime.
There are two default providers available, one is
default
and the other is md5-only
. The
latter only adds MD5 checksum information.
The default is to add as much information as possible to the RPM. So normally you don't need this parameter.
Specifying a configuration provider which cannot be found during the build, will fail the build.
- Type:
java.lang.String
- Since:
1.4.0
- Required:
No
<skip>
- Type:
boolean
- Since:
1.1.1
- Required:
No
- User Property:
rpm.skip
- Default:
false
<skipSigning>
- Type:
boolean
- Required:
No
- User Property:
rpm.skipSigning
- Default:
false
<snapshotBuildId>
If this parameter is left unset or empty then the current time
(UTC) in the format yyyyMMddHHmm
will be used.
- Type:
java.lang.String
- Since:
0.6.0
- Required:
No
- User Property:
rpm.snapshotBuildId
<snapshotReleasePrefix>
Also see: snapshotBuildId
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.snapshotReleasePrefix
- Default:
0.
<snapshotVersion>
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.snapshotVersion
<sourcePackage>
- Type:
java.lang.String
- Since:
0.11.0
- Required:
No
- User Property:
rpm.sourcePackage
<suggests>
Also see dependencies and Weak dependencies.
- Type:
java.util.List
- Required:
No
<summary>
This defaults to the project name
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.summary
- Default:
${project.name}
<supplements>
Also see dependencies and Weak dependencies.
- Type:
java.util.List
- Required:
No
<targetDir>
- Type:
java.io.File
- Since:
0.10.1
- Required:
No
- User Property:
rpm.targetDir
- Default:
${project.build.directory}
<vendor>
This defaults to the name of the organization in the POM file.
- Type:
java.lang.String
- Required:
No
- User Property:
rpm.vendor
<version>
- Type:
java.lang.String
- Required:
No
- Default:
${project.version}