Index: /home/jh/Sources/codehaus/rpm-maven-plugin/src/main/java/org/codehaus/mojo/rpm/RPMMojo.java
===================================================================
--- /home/jh/Sources/codehaus/rpm-maven-plugin/src/main/java/org/codehaus/mojo/rpm/RPMMojo.java	(revision 5637)
+++ /home/jh/Sources/codehaus/rpm-maven-plugin/src/main/java/org/codehaus/mojo/rpm/RPMMojo.java	(working copy)
@@ -664,6 +664,14 @@
                     }
                 }
             }
+            else if (map.getSourceFile() != null)
+            {
+                if (!map.getSourceFile().isFile())
+                {
+                    throw new MojoExecutionException("SourceFile is not a plain file " + map.getSourceFile().getAbsolutePath());
+                }
+                copySource( map.getSourceFile(), dest, null, null );
+            }
             else
             {
                 List srcs = map.getSources();
@@ -904,7 +912,14 @@
             for ( Iterator it = mappings.iterator(); it.hasNext(); )
             {
                 Mapping map = (Mapping) it.next();
-                spec.println( map.getAttrString() + " " + map.getDestination() );
+                if (map.getSourceFile() != null)
+                {
+                    spec.println( map.getAttrString() + " " + map.getDestination() + File.separator + map.getSourceFile().getName());
+                }
+                else
+                {
+                    spec.println( map.getAttrString() + " " + map.getDestination() );
+                }
             }
             
             if ( preinstall != null )
Index: /home/jh/Sources/codehaus/rpm-maven-plugin/src/main/java/org/codehaus/mojo/rpm/Mapping.java
===================================================================
--- /home/jh/Sources/codehaus/rpm-maven-plugin/src/main/java/org/codehaus/mojo/rpm/Mapping.java	(revision 5637)
+++ /home/jh/Sources/codehaus/rpm-maven-plugin/src/main/java/org/codehaus/mojo/rpm/Mapping.java	(working copy)
@@ -19,6 +19,7 @@
  * under the License.
  */
 
+import java.io.File;
 import java.util.List;
 
 /**
@@ -52,7 +53,10 @@
     
     /** Mapping information for source directories. */
     private List sources;
-    
+
+    /** Single file mapping. Mutually exclusive with sources. */
+    private File sourceFile;
+
     /** Mapping information for artifacts. */
     private ArtifactMap artifact;
     
@@ -198,8 +202,26 @@
     {
         sources = srclist;
     }
-    
+
     /**
+     * Retrieve the sourceFile.
+     * @return the single sourceFile.
+     */
+    public File getSourceFile()
+    {
+        return sourceFile;
+    }
+
+    /**
+     * Set the source file.
+     * @param sourceFile a single file specification.
+     */
+    public void setSourceFile(File sourceFile)
+    {
+        this.sourceFile = sourceFile;
+    }
+
+    /**
      * Retrieve the artifact specification.
      * @return The artifact specification.
      */
@@ -313,6 +335,11 @@
      */
     public boolean isDirOnly()
     {
+        if (sourceFile != null)
+        {
+            return false;
+        }
+
         if ( ( sources != null ) && ( !sources.isEmpty() ) )
         {
             return false;

