Sample Configuration
Below is a sample project descriptor which utilizes all of the basic parameters and a few of the advanced parameters. Note that the servlet API jar is not packaged in the RPM because it is not a runtime dependency.
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>collection.trash</groupId>
<artifactId>landfill</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>Land-Based Trash Repository</name>
<description>This is a sample using trash collection as an example.</description>
<organization>
<name>Sanitation Workers of Washington, D.C.</name>
<url>http://www.trash.gov/</url>
</organization>
<dependencies>
<dependency>
<groupId>jmock</groupId>
<artifactId>jmock</artifactId>
<version>1.0.1</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.4</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>rpm-maven-plugin</artifactId>
<version>2.3.0</version>
<executions>
<execution>
<id>generate-rpm</id>
<goals>
<goal>rpm</goal>
</goals>
</execution>
</executions>
<configuration>
<license>GPL (c) 2005, SWWDC</license>
<distribution>Trash 2005</distribution>
<group>Application/Collectors</group>
<icon>src/main/resources/icon.gif</icon>
<packager>SWWDC</packager>
<prefix>/usr/local</prefix>
<changelogFile>src/changelog</changelogFile>
<defineStatements>
<defineStatement>_unpackaged_files_terminate_build 0</defineStatement>
</defineStatements>
<mappings>
<mapping>
<directory>/usr/local/bin/landfill</directory>
<filemode>440</filemode>
<username>dumper</username>
<groupname>dumpgroup</groupname>
<sources>
<source>
<location>target/classes</location>
</source>
</sources>
</mapping>
<mapping>
<directory>/usr/local/doc/landfill</directory>
<documentation>true</documentation>
<filemode>444</filemode>
<username>dumper</username>
<groupname>dumpgroup</groupname>
<sources>
<source>
<location>target/site</location>
</source>
</sources>
</mapping>
<mapping>
<directory>/usr/local/lib</directory>
<filemode>750</filemode>
<username>dumper</username>
<groupname>dumpgroup</groupname>
<dependency>
<includes>
<include>jmock:jmock</include>
<include>javax.servlet:servlet-api:2.4</include>
</includes>
<excludes>
<exclude>junit:junit</exclude>
</excludes>
</dependency>
</mapping>
<mapping>
<directory>/usr/local/bin</directory>
<filemode>750</filemode>
<username>dumper</username>
<groupname>dumpgroup</groupname>
<sources>
<source>
<location>src/main/bin</location>
</source>
<softlinkSource>
<location>/usr/local/bin/new.sh</location>
<destination>old.sh</destination>
</softlinkSource>
</sources>
</mapping>
<mapping>
<directory>/usr/local/oldbin</directory>
<filemode>750</filemode>
<username>dumper</username>
<groupname>dumpgroup</groupname>
<sources>
<softlinkSource>
<location>/usr/local/bin</location>
</softlinkSource>
</sources>
</mapping>
<mapping>
<directory>/usr/local/conf/landfill</directory>
<configuration>true</configuration>
<filemode>640</filemode>
<username>dumper</username>
<groupname>dumpgroup</groupname>
<sources>
<source>
<location>src/main/conf</location>
</source>
</sources>
</mapping>
<mapping>
<directory>/usr/local/log/landfill</directory>
<filemode>750</filemode>
<username>dumper</username>
<groupname>dumpgroup</groupname>
</mapping>
</mappings>
<preinstallScriptlet>
<script>echo "installing ${project.name} now"</script>
</preinstallScriptlet>
<postinstallScriptlet>
<scriptFile>src/main/scripts/postinstall</scriptFile>
<fileEncoding>utf-8</fileEncoding>
<filter>true</filter>
</postinstallScriptlet>
<preremoveScriptlet>
<scriptFile>src/main/scripts/preremove</scriptFile>
<fileEncoding>utf-8</fileEncoding>
</preremoveScriptlet>
</configuration>
</plugin>
</plugins>
</build>
</project>

