[Cialug] CentOS Yum error

Zachary Kotlarek zach at kotlarek.com
Tue Aug 12 17:35:48 CDT 2008


On Aug 12, 2008, at 4:20 PM, Jeffrey Ollie wrote:

> Hey, you know what?  That's exactly what a .spec file (the input to
> the rpmbuild process) is.  It's a little "recipie" for building
> software from source.


I agree. Both makefiles and RPMs provide a way to store compile-time  
configuration. So would shell scripting. Or a keyboard that supports  
recording and playback -- there are lots of options. My comment was a  
response to the concern about building consistently across systems,  
not an accusation that RPMs had no support for source-based  
distribution.


> I read that as "It's like a packaging system, but you have to do all
> the work yourself."  No thanks, that's what computers are for.


That's how I read your suggestion to build RPMs rather than tarballs.  
I don't want to do the extra work of wedging files into an RPM, or  
convincing the RPM system that the package I built is sufficient to  
meet later dependencies. I'd rather spend a couple of minutes  
developing an actually dependency test -- both tarballs and RPMs  
require some extra bit of work to do dependency tracking, and I prefer  
the runtime-check method over the external database method.


> Checking for features like the way autoconf does is error prone and
> difficult to handle.


It is sometimes done poorly I agree -- autotools is a harsh mistress.  
But RPM dependencies are sometimes poorly configured too, such as  
packages that require the installation of every library that the  
package can link against, rather than just using the perfectly  
sufficient set you already have installed, because the RPM is  
configured to support all available features in a monolithic program.  
Or requiring a specific library version rather than "or  
later" (assuming there's no legitimate reason to require the specific  
version), which I know is frowned upon but is still much too common.

IMHO it's pretty trivial to check for the presence of libraries and  
headers anywhere on the system. With no options you check all the  
standard system paths. You also provide a flag for each prerequisite  
package to override the standard paths just for that package. Almost  
all mature software that has drunk the autotools Kool-Aid supports  
some form of this, which allows for arbitrary locations for all your  
packages. I haven't done a global study of packages, but in the 100+  
packages in my distro I only have to use seds or non-standard  
environmental variables on maybe 5 packages to override hard-coded  
locations, and none of those claim to be autotools friendly.


> Making RPMs is easy, so if you can't find one for your architecture
> it's pretty simple to build it yourself.


Again, so is just building a tarball. Or doing an file system diff to  
build an inventory. Or deciding "I'll never un-install OpenSSL, and if  
I did I'd have to re-compile every major package on the system, so who  
cares where it puts things". I can understand why you want to build  
RPMs when you're using an RPM-based distro, but I'm not using RPMs for  
anything, and it's not clear to me benefit what you think they  
provide, other than the external dependency database, which is one of  
the specific things I don't like about most package managers.


> You must have a different definition of lazy than I do.  I've never
> compiled gnome for myself and I stopped compiling custom kernels long
> ago.  I have better things to do.


I'm pretty sure I said that not having compiling gnome was one of  
things I thought package managers did well. And as I noted, on non-x86  
systems you often have to compile things somewhere at least once no  
matter how painful it main be.


> Sounds like gentoo is the distribution for you...


No. Gentoo has too much package management for me. That's why I roll  
my own.

	Zach

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1682 bytes
Desc: not available
Url : http://cialug.org/pipermail/cialug/attachments/20080812/54a939b2/smime.bin


More information about the Cialug mailing list