[ale] rpm-fu question

Jim jcphil at mindspring.com
Wed Jul 3 10:03:37 EDT 2002


Maybe for this one binary, you should experiment with another tool for 
creating RPM's. I like checkinstall. You can find it at:

http://checkinstall.izto.org/

Once you have completed the make process, you just run:

checkinstall make install

It then builds an RPM for you and installs it. It leaves the RPM in 
/usr/src/RedHat/rpms/i386 for later reference. It has worked very well 
for me.

Charles Shapiro wrote:
> I'm using crust (http://www.rusthq.com/) to create distribution rpms for
> a bunch of software, and running into an interesting problem creating an
> rpm file for our jabber ( http://www.jabber.org/ ) binary. Usually,
> jabber is distributed as source and then compiled on your system, but in
> our case we have a lot of systems set up in exactly the same way, all
> with no C compiler on 'em. I'm trying to move from a tar(1)-based
> distribution method to the kewl new happenin' rpm(8)-based way.
> 
> The problem is that rpm appears to truncate the jabber binary. I start
> with an /opt/jabber/jabberd/jabberd which looks like this:
> 
> [ cshapiro ~/cvswork/nu/system/shared/opt/jabber/jabberd ]ls -l jabberd
> -rwxr-xr-x    1 cshapiro users      725301 Feb 11 17:14 jabberd
> [ cshapiro ~/cvswork/nu/system/shared/opt/jabber/jabberd ]cksum jabberd
> 3641875751 725301 jabberd
> 
> I then use crust to create an rpm with only that file in it, yet when I
> unpack the rpm on another system I get:
> 
> [root at localhost jabberd]# ls -l jabberd
> -rwxr-xr-x    1 root     root       277112 Jul  2 15:09 jabberd
> [root at localhost jabberd]# cksum jabberd
> 1727297577 277112 jabberd
> 
> 
> I can ask the rpm itself what it thinks the file is like, and here's the
> response I get:
> 
> [ cshapiro ~/rust/RPMS/i386 ]rpm -ql --dump -p
> Jabber-shared-1.5-5.i386.rpm 
> /opt/jabber 4096 1025702712  040755 root root 0 0 0 X
> /opt/jabber/jabberd 4096 1025702712  040755 root root 0 0 0 X
> /opt/jabber/jabberd/jabberd 277112 1025702712
> 64b1467c26e28886da28fc51e2f298b0 0100755 root root 0 0 0 X
> 
> The final line here shows that rpm has packed the binary at 277112
> bytes, rather than its true size of 725301 bytes.
> 
> The source rpm which crust automagically produces holds a tar file which
> contains the jabber  binary at its correct size; run "rpm -ba" manually
> to generate the rpm from the crust-generated spec and source files and
> the rpm still makes /opt/jabber/jabberd/jabberd 277112 bytes in size. 
> I've checked disk space on everything in sight and tried it on a
> different machine with the same results.  I'm running rpm v 4.0.3;
> according to  http://www.rpm.org/ the latest & greatest is V4.0.4, but
> the change log gives no hint about file corruption under any
> circumstances.  
> 
> I'll email the crust-generated spec file under separate cover if you ask
> me. It's a little large to dump into this email, which is already
> lengthy.
> 
> Heck, a homebrew to the first guy who gives me a hint I can use!
> 
> -- CHS
> 
> 
> ---
> This message has been sent through the ALE general discussion list.
> See http://www.ale.org/mailing-lists.shtml for more info. Problems should be 
> sent to listmaster at ale dot org.
> 
> 




---
This message has been sent through the ALE general discussion list.
See http://www.ale.org/mailing-lists.shtml for more info. Problems should be 
sent to listmaster at ale dot org.






More information about the Ale mailing list