redhat-list-installing_source_rpms_leaves_no_tracks_in_the_rpm_database

This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.



To: redhat-list@listman.redhat.com
From: "Greg Stewart" <durbatullukk@hotmail.com>
Subject: Installing source rpm, RH8.0
Date: Sat, 1 Mar 2003 11:15:33 -0000

I've installed RH psyche in order to learn how to program on linux, and I've
been trying to install source code, particularly that for vim.

Running:

rpm -i -v vim-6.1-14.src.rpm (as root from the package dir) prints out

vim-6.1-14

but     rpm -q -v vim-6.1-14     indicates the package isn't installed. All
that happens is that about 100 patch and tar.gz files etc are created in
/usr/src/redhat/SOURCES/.

It's as if some script was supposed to be run to amalgamate them and
doesn't. Trying to install using redhat-config-packages doesn't do much
better, except that an rpm -q will indicate the package installed - the
files in /SOURCES/ remain the same unusable bunch...

The machine isn't internet connected so I can't just download source willy
nilly from the web. Any pointers would be very useful.


===

To: redhat-list@listman.redhat.com
From: Michael Schwendt <ms0301rh@arcor.de>
Subject: Re: Installing source rpm, RH8.0
Date: Sat, 1 Mar 2003 12:49:25 +0100

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Sat, 1 Mar 2003 11:15:33 -0000, Greg Stewart wrote:

> I've installed RH psyche in order to learn how to program on linux, and I've
> been trying to install source code, particularly that for vim.
> 
> Running:
> 
> rpm -i -v vim-6.1-14.src.rpm (as root from the package dir) prints out
> 
> vim-6.1-14
> 
> but     rpm -q -v vim-6.1-14     indicates the package isn't installed.

Correct. Source rpms get extracted, not installed.

> All
> that happens is that about 100 patch and tar.gz files etc are created in
> /usr/src/redhat/SOURCES/.

Correct. That's expected behaviour, though you shouldn't extract
source rpms as root.

You write you want the source code for vim. It's in the tar.gz archive.

> It's as if some script was supposed to be run to amalgamate them and
> doesn't. Trying to install using redhat-config-packages doesn't do much
> better, except that an rpm -q will indicate the package installed - the
> files in /SOURCES/ remain the same unusable bunch...

Installing a src.rpm will never make "rpm -q" report that the file
is installed.

===

To: redhat-list@listman.redhat.com
From: "Michael A. Peters" <mpeters@mac.com>
Subject: Re: Installing source rpm, RH8.0
Date: 01 Mar 2003 05:19:55 -0800

A source rpm makes no entries to the rpm database, so rpm -q won't
display anything.

I have NO CLUE why Red Hat doesn't do this by default (they should) but
you don't want to install src.rpm's as root (or build them as root).

create a directory in your home directory called rpm
Within that directory put the necessary subdirectories:

rpm/SPECS
rpm/BUILD
rpm/SOURCES
rpm/SRPMS
rpm/RPMS/[i386,i486,i586,i686,athlon,noarch]
rpm/tmp

once those are created - create a file in your home directory called
.rpmmacros and put the following in it:

%_topdir    /home/you_user_name/rpm
%_tmppath %{_topdir}/tmp

That way - you can install src.rpm's and build rpm's without being root,
which is much safer to your system - especially if you are learning how
to program and messing with creating rpm's yourself.


===

To: redhat-list@listman.redhat.com
From: Michael Fratoni <mfratoni@tuxfan.homeip.net>
Subject: Re: Installing source rpm, RH8.0
Date: Sat, 1 Mar 2003 09:39:42 -0500

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Saturday 01 March 2003 06:15 am, Greg Stewart wrote:
> I've installed RH psyche in order to learn how to program on linux, and
> I've been trying to install source code, particularly that for vim.
>
> Running:
>
> rpm -i -v vim-6.1-14.src.rpm (as root from the package dir) prints out
>
> vim-6.1-14
>
> but     rpm -q -v vim-6.1-14     indicates the package isn't installed.
> All that happens is that about 100 patch and tar.gz files etc are
> created in /usr/src/redhat/SOURCES/.

Correct, as others have pointed out.

You should be doing this as a normal user, not root. A script to set up a 
non-root rpm environment in your home directory can be found here:
http://www.tuxfan.homeip.net:8080/hack.html (usage instructions)
http://www.tuxfan.homeip.net:8080/hacks/rpm_environment.tar.gz

One thing it changes is that packages will place the sources, patches and 
spec file in ~/rpmbuild/SOURCES/package-name, rather than dumping all 
packages in the same directory. (the spec file will be in the same 
directory, instead of a SPECS directory.) This makes things much less 
confusing.

> It's as if some script was supposed to be run to amalgamate them and
> doesn't. Trying to install using redhat-config-packages doesn't do much
> better, except that an rpm -q will indicate the package installed - the
> files in /SOURCES/ remain the same unusable bunch...

Once you have a non-root rpm environment set up, you can run 
'rpmbuild -bp package_name.spec' which will extract the source and apply 
all the included patches. The complete patched source will then be 
available in  ~/rpmbuild/BUILD/package_name/

Hope that helps,
- -- 
- -Michael

pgp key:  http://www.tuxfan.homeip.net:8080/gpgkey.txt
Red Hat Linux 7.{2,3}|8.0 in 8M of RAM: http://www.rule-project.org/

===


the rest of The Pile (a partial mailing list archive)

doom@kzsu.stanford.edu