I want to build the latest openssh for Red Hat 6.2. I grabbed the SRPM and did an 'rpm --rebuild' on it and created a bunch of new RPM files. The only problme is that the default configuration wasn't exactly what I wanted. Unfortunately --rebuild removes all the intermediate data, so I couldn't modify patch files, config files or spec files --- whatever it is that I would have to change to, for instance, enable MD5 passwords.
I've read the man page multiple times and read the (unmaintained) RPM HOWTO and I can't seem to find a way to to unwrap the pieces from an SRPM file so they can be modified. The build instructions seem to be telling me that you need a spec file (-b) or a spec file embedded in a maybe-compressed tar file (-t).
I'm sure I'm missing something obvious, but could somebody please either explain the procedure or point out where in TFM I should read to get an explanation that I can understand, for unwinding an SRPM and recreating a new RPM?
pete peterson Teradyne, Inc. 7 Technology Park Drive Westford, MA 01886-0033
Pete> I'm sure I'm missing something obvious, but could somebody Pete> please either explain the procedure or point out where in TFM I Pete> should read to get an explanation that I can understand, for Pete> unwinding an SRPM and recreating a new RPM?
You need to install the source rpm and go from there. The files will be installed into /usr/src/redhat, unless you have configured another top directory.
On Wed, Dec 05, 2001 at 11:27:24AM -0500, Pete Peterson wrote:
> I want to build the latest openssh for Red Hat 6.2. I grabbed the > SRPM and did an 'rpm --rebuild' on it and created a bunch of new > RPM files. The only problme is that the default configuration > wasn't exactly what I wanted. Unfortunately --rebuild removes > all the intermediate data, so I couldn't modify patch files, > config files or spec files --- whatever it is that I would have > to change to, for instance, enable MD5 passwords.
> I've read the man page multiple times and read the (unmaintained) > RPM HOWTO and I can't seem to find a way to to unwrap the pieces > from an SRPM file so they can be modified. The build instructions > seem to be telling me that you need a spec file (-b) or a spec > file embedded in a maybe-compressed tar file (-t).
> I'm sure I'm missing something obvious, but could somebody please > either explain the procedure or point out where in TFM I should read to get > an explanation that I can understand, for unwinding an SRPM and recreating > a new RPM?
Do 'rpm -i <package name>', which will install the sources in _topdir/SOURCES and the specfile in _topdir/SPECS (where "_topdir" is either whatever you've set it to in ~/.rpmmacros or /usr/src/redhat by default).
The go into the specfile and look at the configure options in the %build section. Change them as appropriate.
To rebuild the package, then run 'rpm -ba <specfile>' from inside the SPECS directory and you end up with binary rpms and a source rpm with your new settings (ready for a future rpm --rebuild ...). If you just want the binary rpms, just do 'rpm -bp <specfile>'.
Cheers, Malcolm
-- Experience is something you don't get until just after you need it.
> I want to build the latest openssh for Red Hat 6.2. I grabbed the > SRPM and did an 'rpm --rebuild' on it and created a bunch of new > RPM files. The only problme is that the default configuration > wasn't exactly what I wanted. Unfortunately --rebuild removes > all the intermediate data, so I couldn't modify patch files, > config files or spec files --- whatever it is that I would have > to change to, for instance, enable MD5 passwords.
rpm -i sourcerpm.src.rpm cd /usr/src/redhat/SPECS rpm -bp sourcerpm.spec
Or if you just want to unroll the RPM to peek inside: rpm2cpio anyrpm.rpm | cpio -id
On Thu, 6 Dec 2001 00:43:14 +0800, Malcolm Tredinnick wrote: >To rebuild the package, then run 'rpm -ba <specfile>' from inside the >SPECS directory and you end up with binary rpms and a source rpm with >your new settings (ready for a future rpm --rebuild ...). If you just >want the binary rpms, just do 'rpm -bp <specfile>'.
I recommend appending your initials to the release number in the spec file so that it's clear that your rebuild has been tweaked and is no longer stock from the distributor.
Ken mailto:sh...@well.com http://www.sewingwitch.com/ken/ [If answering a mailing list posting, please don't cc me your reply. I'll take my answer on the list.]