Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Other than --rebuild, how do I use an SRPM file?

18 views
Skip to first unread message

Pete Peterson

unread,
Dec 5, 2001, 11:28:16 AM12/5/01
to

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.p...@teradyne.com or pete...@genrad.com
+1-978-589-7478 (Teradyne); +1-978-589-2088 (Closest FAX);
+1-978-589-7007 (Main Teradyne Westford FAX)

_______________________________________________
Rpm-list mailing list
Rpm-...@redhat.com
https://listman.redhat.com/mailman/listinfo/rpm-list

Matthew R. MacIntyre

unread,
Dec 5, 2001, 11:35:21 AM12/5/01
to

Hi,

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.

Good luck,

-matt

Malcolm Tredinnick

unread,
Dec 5, 2001, 11:39:12 AM12/5/01
to
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.

Andrew E. Mileski

unread,
Dec 5, 2001, 1:57:11 PM12/5/01
to
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.

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

--
Andrew E. Mileski
Ottawa, Canada

Kenneth Porter

unread,
Dec 5, 2001, 2:38:15 PM12/5/01
to
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.]

0 new messages