Re: make vs rpm vs srpm vs yum : questions about package management in Linux.



Rahul <nospam@xxxxxxxxxxxxxx> writes:

Having been recently exposed to the arcana of software installation on
Linux (RHEL in particular) I have a few nagging questions:

(1) What's the difference between an rpm and an srpm (source rpm)? I did
google around before I posted and got the impression that an srpm was
more "customizable" with respect to architecture etc. I was referred to
the rpm --rebuild option several times in the past when Fedora had a
package I wanted as a rpm but not RHEL.

An rpm is a package of compiled files for installation on your system. An
srpm is a package of source files which still need to be compiled. For an
rpm, all you need at the runtime files and libraries on which the programs
depend. For an srpm you also need all of the build libraries (devel
packages) so you can compile the programs.



But if its customizable what's the difference between that and a "from
source" install.

The srpm will also contain any patch files which the packager has included,
and with one command will build and package all of the files into an rpm
package.



(2) RPM's from what I read ( http://www.rpm.org/max-rpm/index.html ) were
an abstraction designed to shield the user from the hassles of package
installation. So, what additional utility does the "yum" layer (or apt /
ebuild etc.) provide?
yum is a suse thing. I do not know it.
However I believe it has features in common with the urpmi program on
Mandriva-- ie it examines an rpm package to determine which other packages
it depends on and then also tries to find and install those as well.


(3) Other than the default repo from where my RHEL yum pulls software off
I believe there are other repos. I've heard DAG
(http://dag.wieers.com/rpm/) been mentioned. Fedora too has its own repo.
Is it advisable to point to these too in a quest to have access to a
greater range of packages? Or is that plain stupid?

Sure, why not.



(4) Is there no elegant way of having multiple versions of a code on a
Linux system? Say I have Packages A B and C that need Python2 and X Y Z
that need Python3. How can I satisfy this requirement. I've been often
chided for having multiple versions of a code on my system (or installing
software outside of yum / rpm) but isn't this a practical issue that
other people face too?

For libraries this is common and you will have libpyton2 and libpython3
packages both of which can be installed.



(5) Is it advisable to *never* do a configure;make;make install; I can
always do a rpmbuild and then rpm -ihv right? That way all the packages I
install will be registered with the rpm package manager. Or not? What are
the pitfalls?

Yes, that is the advantage. However you have to have a .spec file which
tells rpmbuild how to build the package, what it depends on, etc. That must
be set up first.



I'm just a newbie to Linux package management so just wanted to get a
better handle on what are the preferred practices / workarounds etc. from
the more experienced guys around. I apologize in advance if any (or all!)
of this seems too trivial, naive or (and) verbose.

--
Rahul
.



Relevant Pages

  • Re: [SLE] deCSS
    ... >> Anyone know of a reasonably easy decss program to copy DVDs to my hard ... This let's you compile from source but converts it to an rpm ... Then instead of make install you type checkinstall. ... package to meet the dependencies it may not be recognized by the other ...
    (SuSE)
  • Re: RH 9.0, Putting Samba on Linux with RPM?
    ... I need to install Samba with RPM. ... downloading the various manuals in the package forms. ...
    (linux.redhat.misc)
  • [PATCH 1/2] kbuil: add deb-pkg target
    ... # To prepare kbuild for more kernel packaging formats move all packaging ... # In top-level Makefile introduce generic support for all package ... Included the old rpm target for backward ... # and builddeb scripts. ...
    (Linux-Kernel)
  • Re: Conventions for NFS sharing of binaries
    ... Do you have distro & local packages with same name? ... mount it r/w on your "master installation machine" (with RPM management). ... If you replace a package with a different one with the same name, hmm, you ...
    (comp.os.linux.misc)
  • Re: ./configure command
    ... The package is not available. ... machines which don't even have an OS at all, let alone RPM, ... There is not a "the tool to package and install on Fedora". ... If he wants to avoid trouble, ...
    (Fedora)