I have a top-level project with children modules.  Three of the children 
modules create rpms, so I want the top-level project to create an empty rpm 
with 'requires' for these three rpms.  The relevant part of my pom.xml is...

                                                <build><plugins><plugin>
                                                                
<groupId>org.codehaus.mojo</groupId>
                                                                
<artifactId>rpm-maven-plugin</artifactId>
                                                                <configuration>
                                                                                
<name>eso</name>
                                                                                
<requires>
                                                                                
                <require>eso-webapp</require>
                                                                                
                <require>eso-core</require>
                                                                                
                <require>eso-dbtools</require>
                                                                                
</requires>
                                                                                
<mappings>
                                                                                
</mappings>
                                                                </configuration>
                                                </plugin></plugins></build>

Other settings for the plugin are in <pluginManagement>.

I tried creating this without the <mappings> section, but it complained that 
<mappings> didn't exist, so I created the empty <mappings>, but now rpmbuild 
dies because the plugin-generated spec file contains this...

%install
if [ -e $RPM_BUILD_ROOT ];
then
  mv /home/lezz.giles/osa/target/rpm/eso/tmp-buildroot/* $RPM_BUILD_ROOT
else
  mv /home/lezz.giles/osa/target/rpm/eso/tmp-buildroot $RPM_BUILD_ROOT
fi

...which is a problem because tmp-buildroot contains no files, and so (long 
story short) tmp-buildroot/* upsets shell and causes it to die.

One solution is to check explicitly for no <mapping> elements and to generate 
an appropriate %install section.

I can't believe I'm the first maven rpm user to want to do this, so if there is 
a proper way to get an empty rpm that would be good to know. I think my 
workaround in the short term will be to have a dummy file installed by the rpm, 
just to keep it happy.


This email and attachments may contain privileged or confidential information 
intended only for the addressee(s) indicated. The sender does not waive any of 
its rights, privileges or protections respecting this information. If you are 
not the named addressee, an employee, or agent responsible for sending this 
message to the named addressee (or this message was received by mistake), you 
are not authorized to read, print, retain, copy or disseminate this message or 
any part of it. If received in error, please notify us immediately by e-mail, 
discard any paper copies and delete all electronic files of the email.

Computer viruses can be transmitted via email. The recipient should check this 
email and any attachments for viruses. Email transmission cannot be guaranteed 
to be secured or error-free as information could be intercepted, corrupted, 
lost, destroyed, arrive late or incomplete, or contain viruses. The sender 
accepts no liability for any damage caused by any transmitted viruses or errors 
or omissions in the contents of this message.

Overture Networks, Inc. 637 Davis Drive, Morrisville, NC USA 27560 
www.overturenetworks.com

Reply via email to