rpm:rpm

Full name:

de.dentrassi.maven:rpm:1.2.0:rpm

Description:

Build an RPM file

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


<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


<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 <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>

<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 false, then he build hostname localhost will be used instead of the actual hostname


Default value is: true.
User property is: rpm.evalHostname.
<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 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.


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 <packageName>-<version>-<release>.<arch>.rpm. Also see naming.

Using this override will completely disable the internal name builder and simply use the provided value.


User property is: rpm.outputFileName.
<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 ${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


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 GPP signing the final RPM

Also see signing


User property is: rpm.signature.
<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 yyyyMMddHHmm will be used.


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: snapshotBuildId


Default value is: 0..
User property is: rpm.snapshotReleasePrefix.
<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 process
Default value is: ${project.version}.

Parameter Details

<afterInstallation>

A script which is run after the installation took place

Also see scripts

  • Type: de.dentrassi.rpm.builder.Script
  • Required: No

<afterRemoval>

A script which is run after the removal took place

Also see scripts

  • Type: de.dentrassi.rpm.builder.Script
  • Required: No

<architecture>

The architecture
  • Type: java.lang.String
  • Required: No
  • User Property: rpm.architecture
  • Default: noarch

<attach>

Whether to attach the output file
  • Type: boolean
  • Required: No
  • User Property: rpm.attach
  • Default: true

<beforeInstallation>

A script which is run before the installation takes place

Also see scripts

  • Type: de.dentrassi.rpm.builder.Script
  • Required: No

<beforeRemoval>

A script which is run before the removal takes place

Also see scripts

  • Type: de.dentrassi.rpm.builder.Script
  • Required: No

<classifier>

The classifier of the attached rpm
  • Type: java.lang.String
  • Required: No
  • User Property: rpm.classifier
  • Default: rpm

<conflicts>

RPM package conflicts

Also see dependencies

  • Type: java.util.List
  • Required: No

<defaultRuleset>

The default ruleset to use if no other is specified
  • Type: java.lang.String
  • Required: No

<defaultScriptInterpreter>

The default script interpreter which is used if neither the script has one set explicitly, nor one could be detected
  • Type: java.lang.String
  • Required: No
  • User Property: rpm.defaultScriptInterpreter
  • Default: /bin/sh

<description>

The "description" field of the RPM file

This defaults to the Maven project description

  • Type: java.lang.String
  • Required: No
  • User Property: rpm.description
  • Default: ${project.description}

<distribution>

The "distribution" field in the RPM file
  • Type: java.lang.String
  • Required: No
  • User Property: rpm.distribution

<enhances>

Hint backward dependency.

Also see dependencies and Weak dependencies.

  • Type: java.util.List
  • Required: No

<entries>

The actual payload/file 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>

The RPM epoch, leave unset for default
  • Type: java.lang.Integer
  • Required: No
  • User Property: rpm.epoch

<evalHostname>

Whether the plugin should try to evaluate to hostname

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

<forceRelease>

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

  • Type: boolean
  • Since: 0.6.0
  • Required: No
  • User Property: rpm.forceRelease
  • Default: false

<generateDefaultSourcePackage>

Whether to generate a default source package.

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>

Override the lead architecture value.

Also see Lead information.

  • Type: org.eclipse.packagedrone.utils.rpm.Architecture
  • Since: 0.10.2
  • Required: No
  • User Property: rpm.leadOverride.architecture

<leadOverrideOperatingSystem>

Override the lead operating system value.

Also see Lead information.

  • Type: org.eclipse.packagedrone.utils.rpm.OperatingSystem
  • Since: 0.10.2
  • Required: No
  • User Property: rpm.leadOverride.operatingSystem

<license>

The license of the RPM file

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>

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.

  • Type: org.eclipse.packagedrone.utils.rpm.build.RpmBuilder$Version
  • Since: 0.11.0
  • Required: No
  • User Property: rpm.maximumSupportedRpmVersion

<naming>

Provide package naming options

Also see naming

  • Type: de.dentrassi.rpm.builder.Naming
  • Required: No
  • User Property: rpm.naming

<obsoletes>

RPM obsoletes information

Also see dependencies

  • Type: java.util.List
  • Required: No

<operatingSystem>

The "operatingSystem" field in the RPM file.
  • Type: java.lang.String
  • Since: 0.10.2
  • Required: No
  • User Property: rpm.operatingSystem

<outputFileName>

The file name of the output file.

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

<packageName>

The RPM package name
  • Type: java.lang.String
  • Required: No
  • User Property: rpm.packageName
  • Default: ${project.artifactId}

<packager>

The name of the packager in the RPM file

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>

Build relocatable packages.
      <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>

RPM package requirements needed before the installation starts

Also see dependencies

  • Type: java.util.List
  • Required: No

<provides>

RPM provides information

Also see dependencies

  • Type: java.util.List
  • Required: No

<recommends>

Weak forward dependency.

Also see dependencies and Weak dependencies.

  • Type: java.util.List
  • Required: No

<release>

The release which will be used if this is not a snapshot build
  • Type: java.lang.String
  • Required: No
  • User Property: rpm.release
  • Default: 1

<requires>

RPM package requirements

Also see dependencies

  • Type: java.util.List
  • Required: No

<rulesets>

Rulesets to configure the file information like "user", "modes", etc.

Also see rulesets.

  • Type: java.util.List
  • Required: No

<signature>

An optional signature descriptor for GPP signing the final RPM

Also see signing

  • Type: de.dentrassi.rpm.builder.Signature
  • Required: No
  • User Property: rpm.signature

<skip>

Disable the mojo altogether.
  • Type: boolean
  • Since: 1.1.1
  • Required: No
  • User Property: rpm.skip
  • Default: false

<skipSigning>

Disable all package signing
  • Type: boolean
  • Required: No
  • User Property: rpm.skipSigning
  • Default: false

<snapshotBuildId>

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 yyyyMMddHHmm will be used.

  • Type: java.lang.String
  • Since: 0.6.0
  • Required: No
  • User Property: rpm.snapshotBuildId

<snapshotReleasePrefix>

The prefix of the release if this is a snapshot build, will be suffixed with the snapshot build id

Also see: snapshotBuildId

  • Type: java.lang.String
  • Required: No
  • User Property: rpm.snapshotReleasePrefix
  • Default: 0.

<sourcePackage>

Set the name of the source package.
  • Type: java.lang.String
  • Since: 0.11.0
  • Required: No
  • User Property: rpm.sourcePackage

<suggests>

Hint forward dependency.

Also see dependencies and Weak dependencies.

  • Type: java.util.List
  • Required: No

<summary>

The "summary" field of the RPM file

This defaults to the project name

  • Type: java.lang.String
  • Required: No
  • User Property: rpm.summary
  • Default: ${project.name}

<supplements>

Weak backward dependency.

Also see dependencies and Weak dependencies.

  • Type: java.util.List
  • Required: No

<targetDir>

The location to place the RPM file into.
  • Type: java.io.File
  • Since: 0.10.1
  • Required: No
  • User Property: rpm.targetDir
  • Default: ${project.build.directory}

<vendor>

The vendor name of the RPM file

This defaults to the name of the organization in the POM file.

  • Type: java.lang.String
  • Required: No
  • User Property: rpm.vendor

<version>

The version string to process
  • Type: java.lang.String
  • Required: No
  • Default: ${project.version}