request for statistics on use of `include' in signatures

Henry Cejtin henry@sourcelight.com
Thu, 20 Sep 2001 12:49:30 -0500


Here is the magic to using source RPM's.

In your home directory make a file called
which consists of the following line:
    %_topdir        ???
where  ???  is  the  full  path  name  to  some  new directory you have write
permission for.

Now in the ??? directory make the following sub-directories:
    BUILD
    RPMS
    RPMS/i386
    RPMS/i686
    RPMS/noarch
    SOURCES
    SPECS
    SRPMS

If you don't do the above, then you will need to be  root  when  you  install
source RPMs and they will go in /usr/src/redhat instead of ???.

Now given a source RPM, run
    rpm --install xxx
where  xxx  is  the source rpm file name.  (Note, unlike binary RPMs, nothing
keeps track of what source RPMs you have installed.)

No go to ???/SPECS.  You will see that installing the source RPM placed  some
spec file there.  If you just want to see the sources for this RPM, do
    rpm -bp zzz.spec
in  that  directory.  This will unpack the sources and apply all the patches,
leaving the sources in
    ???/BUILD/yyy
where yyy will be the RPM name with version junk added on to the end.

If you want to do a full re-compile from the sources, making new  binary  and
source RPMs, then in ???/SPECS do
    rpm -ba zzz.spec

It  is  a slightly goofy system, but I really have gotten to like it.  One of
the nice things is that given any file aaa on your machine you can say
    rpm -qf aaa
and it will tell you which installed binary RPM owns that file.