rpm:unpack

Full name:

de.dentrassi.maven:rpm:1.10.1:unpack

Description:

Unpack a RPM file.

Limitations / Restrictions

  • Symbolic links are not supported, but details about them are written to debug log,
  • only directories and regular files are supported currently, partially due to Java Nio limitations,
  • POSIX file permissions can only be preserved if supported by file system. Otherwise just read/write will be set,
  • user ownership can only be preserved on POSIX and/or ACL file systems, as long as user exists and extracting user has suitable permissions (cmp. #preserveOwner),
  • group ownership can only be preserved on POSIX file systems, as long as group exists and extracting user has suitable permissions (cmp. #preserveOwner),
  • contained file names must be valid.

File Name Validation

File names are validated before unpacking and must satisfy the following conditions to be accepted. Any file name violating will result in abortion.

  • at most 256 characters in length,
  • must not contain "../" sequence,
  • printable characters excluding backslash, colon, wild card characters (* and ?) and shell special characters (<, > and |).

Attributes:

Required Parameters

Name Type Since Description
<rpmFile> File - RPM file to unpack.
User property is: rpm.file.

Optional Parameters

Name Type Since Description
<preserveLastModificationTime> boolean - Retain file modification times from the RPM when creating files.

If true (the default) it will be attempted to preserve the last-modification time of the files. If false or the user or system does not support it, the time will reflect the time of unpacking.


Default value is: true.
User property is: rpm.preserveLastModificationTime.
<preserveOwner> boolean - Specifies whether to change the ownership of the files.

If false (the default) they will be owned by the user extracting them.

If true it will be attempted to change the ownership of the files. For this the underlying file system must supports POSIX permissions and the extracting user have suitable OS permissions to do so. The process will not fail due to lack of support or permissions, the files will be just remain owned by the user extracting them.

Warning: Use with caution.


Default value is: false.
User property is: rpm.preserveOwner.
<unpackDirectory> File - Directory to unpack to.
Default value is: ${project.build.directory}/rpm/unpack.
User property is: rpm.unpackDirectory.

Parameter Details

<preserveLastModificationTime>

Retain file modification times from the RPM when creating files.

If true (the default) it will be attempted to preserve the last-modification time of the files. If false or the user or system does not support it, the time will reflect the time of unpacking.

  • Type: boolean
  • Required: No
  • User Property: rpm.preserveLastModificationTime
  • Default: true

<preserveOwner>

Specifies whether to change the ownership of the files.

If false (the default) they will be owned by the user extracting them.

If true it will be attempted to change the ownership of the files. For this the underlying file system must supports POSIX permissions and the extracting user have suitable OS permissions to do so. The process will not fail due to lack of support or permissions, the files will be just remain owned by the user extracting them.

Warning: Use with caution.

  • Type: boolean
  • Required: No
  • User Property: rpm.preserveOwner
  • Default: false

<rpmFile>

RPM file to unpack.
  • Type: java.io.File
  • Required: Yes
  • User Property: rpm.file

<unpackDirectory>

Directory to unpack to.
  • Type: java.io.File
  • Required: No
  • User Property: rpm.unpackDirectory
  • Default: ${project.build.directory}/rpm/unpack