[CentOS] recommended way to install source rpms?

Mon Oct 11 16:08:34 UTC 2010
Lamar Owen <lowen at pari.edu>

On Sunday, October 10, 2010 05:56:47 pm Robert P. J. Day wrote:
> frankly, the wiki page on downloading from source: 
> http://wiki.centos.org/PackageManagement/SourceInstalls 
> seems just a touch on the hysterical side.  

For certain uses and certain software stacks from source is the only sane way.  For other stacks and uses the opposite is true.  Plone from the Plone.org UnifiedInstaller is one stack where you simply want to stay with a from-source managed-by-zc.buildout setup, not from RPM's.  It is one of the very few cases where this is so.  In that case you have to balance support from the OS versus support from the Plone upstream; in the case of Plone upstream is preferred.  YMMV.

> i don't disagree that
> installing packages from the source rpm is probably a questionable
> idea.  but that doesn't justify simply not explaining how to do it
> easily.

The referenced wiki page has nothing to do with rebuilding a source RPM, but has to do with the 'traditional' ./configure&&make&& sudo make install mantra that is a support nightmare.

Properly controlling from source-rpm builds is a sane activity, as long as you take the responsibility for the package, set the EVR for the RPM properly, etc.  Good info on how to do this is in the Fedora developer docs.  EPEL contains all the rpm developer tools you need, so enable EPEL, load rpmdevtools, and have fun.  Support is in your own hands, of course.  When there are specific options I need (like building a package with a non-default set of compile-time arguments or modules) I'll do this myself, and keep all the changes in my own setup with EVR >  the CentOS package EVR (twiddling epoch, though really really ugly, is quite effective to make you package always win the comparison).

But I packaged PostgreSQL for five years, and am not a novice.  I'm not as in practice as I once was, but I do try to keep up with most of the current ways of doing things.  And I always try to start with the CentOS base package where possible.

>   my plan is to install yum-utils to get yumdownloader, add the repo
> file suggested above, then have students:
> 
>   $ yumdownloader --source <package>
> 
> so they can examine the source of some packages.  is the approach i'm
> suggesting reasonable?  thanks.

Very reasonable for a learning tool, which is what your question was really asking.  Not as reasonable for a production server.

Do use the Fedora/EPEL rpmdevtools, though.