Improved RPMBuilder Module

0 views
Skip to first unread message

Johnny Costello

unread,
Oct 7, 2009, 3:11:43 PM10/7/09
to contr...@googlegroups.com
I redid a Updated RpmBuilder and rpm module here as some sub types. I
would like to see these included or merged with the Existing Rpm and
Rpm Builder as they greatly increase the abilities of these two types.
I was using RpmBuilder and it lacked the ability to add Requires and
Provides to the RPM it created. It also did not pass in many values
sunch as Vendor, Packager, URL and other values into the Create
Command of RPM. In order to add these abilities I had to subtype rpm.
I created a couple of extra settings RpmProvides, RpmRequires,
RpmAutoreq (which needs to be set to 1 if using Provides or requires).
I changed the spec.template file to two files. spec.header and
spec.footer. I changed the logic in the create command to check these
settings. If these settings are set it will then append the Values to
the Header and then Merge the Footer. I also allowed the SubTyped
RpmBuilder as a referrer so that it can use the Settings in Sub Typed
Rpm In the RpmBuilder

On MY Builder I overwrote the createPackage command. I added new
settings that will allow these as well as adding the missing settings
to create the Rpm with Values such as Packager etc.

I have included a Object xml in my Builder that

The one big drawback i have in the current RpmBuilder is the Manifest.
In many settings I can see a typical workflow for Rpms would be CC
detects a change > runs unit tests > calls RpmBuilder > Builder then
imports Rpms to a Yum Repository.

In the Current RpmBuilder you make relocatable Rpms which is great for
ControlTier deployment of them. But I think may people who do Rpm's
might want to use Yum instead. As far as I can tell you can not
relocate RPMS when you use Yum. I would do the work if anyone has some
ideas on how to implement this in ControlTier. Since ControlTier uses
Manifest.txt as its filebase for the spec file, I am not sure how to
edit this so that it a. has all the files it and b. Only have the
install root as the path of the files. It would need to be something
similar to how people build RPMS where you add the files to the BUILD
dir and the rpm build process excludes everything before the BUILD dir
path. I anyone has some ideas or comments on this I would appreciate
this.

Thanks Moses and Anthony on helping me with this.

Johnny

RpmBuilderImproved.zip

Anthony Shortland

unread,
Nov 7, 2009, 8:19:05 PM11/7/09
to contr...@googlegroups.com
Hi Johnny,

Thanks a million for this contribution!

There are many community members who use the RPM modules and the
addition of "requires" and "provides" management will be a great boon.

I've merged your enhancements into the rpm and RpmBuilder core and
Elements types and they'll be included in the 3.4.9 release next week.
Here's the tracker entry: https://sourceforge.net/tracker/?func=detail&aid=2880644&group_id=151079&atid=779850

In addition, I've cleaned up, tested and documented the example you
provided on the Wiki: http://wiki.controltier.org/wiki/RpmBuilder#Web_content_RPM_example
- a good quick way to package the standard Linux Apache web server
content as an RPM.

Anthony.
> <RpmBuilderImproved.zip>


Reply all
Reply to author
Forward
0 new messages