Re: [opensuse] building RPMs




lists Guillot wrote:
[...]
You know, I've always been uncomfortable with building from source for
precisely the reasons you say, but it never occurred to me to build my
own RPMs. I somehow had an idea that it would be a complicated process
that only people who *distribute* software (and not all of them!)
would find worth doing, and that for your home system you just had to
go with "make install".

The "make install" procedure has some obvious drawbacks you might have
just observed: uninstalling the software is a problem, the consistency
of your system (RPM database) is a problem, etc. When you install
software via "make install", then the RPM package manager does not know
about it and cannot resolve dependencies or tell you about conflicts
with already installed software. Therefore, you're better off installing
all your software as RPM packages (if possible).

I'm going to follow your advice. Johannes intimated above that
checkinstall has a bad reputation, and you also don't seem to think
too highly of it with your "(at least)". So what would be a good tool
for this? I see that I have rpmbuild on my system so I'm tempted to
use that, though the man page is not exactly a detailed instructions
manual.

checkinstall is a useful tool but has also some drawbacks. I think just
give it a try.

I would recommend the following order for installing new software (note
that this is my personal opinion):

1) Think twice whether you need a new version or new software. New
software will not only have new features, but most likely also new
bugs.

2) Try and find a ready-to-use RPM with the version you like and built
for your system (e.g. SuSE 10.0). You should be able to install this
RPM without problems. If the RPM has lots of dependencies, it might
be easier to add the corresponding repository as installation source
(if a repository is available).

3) If a ready-to-use RPM does not exist, try to get a source-RPM (SRPM)
and rebuild it on your system using "rpmbuild". This will create an
RPM package on your local system which can then be installed.

4) If neither 2 nor 3 is possible, compile the source code on your local
system and a) as an expert create your on .spec file and an RPM
package or b) as a "normal" user use checkinstall to create an RPM
package. This RPM package can then be installed as usual.

You could also "borrow" a .spec file from an older SuSE SRPM and
adjust it according to your needs (and for the new version).

5) As a last fallback solution, you can use "make install". However,
think twice and note the obvious problems it might cause.

If you want to learn more about RPM, have a look at the "Maximum RPM"
book: http://www.rpm.org/max-rpm/ - however, it might be a bit tough
since it is targeted rather at the developer than a normal user. The
checkinstall homepage can be found here:
http://asic-linux.com.mx/~izto/checkinstall/ - but I am sure you also
find a SuSE repository that offers checkinstall RPMs.

Hope this helps.
Th.

--
To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse+help@xxxxxxxxxxxx



Relevant Pages

  • Re: Anjuta2.2
    ... Uh, if you do checkinstall, then you don't need `make install` and the ... see if an "Official" rpm package will come out soon. ...
    (alt.os.linux.suse)
  • Re: [SLE] rpm build + install for K3b
    ... I tried going down the checkinstall route. ... I downloaded+installed checkinstall from the RPM at ... the last step to create the rpm for my install. ... Can't produce the rpm, rpmbuild not available. ...
    (SuSE)
  • Re: Source files compiled. Why no loadable module?
    ... > Downloaded the source files and extracted them: ... You may want to use "checkinstall make install" to create a specific rpm ... Checkinstall is available as rpm I think:). ...
    (alt.os.linux)
  • Re: Source files compiled. Why no loadable module?
    ... > Downloaded the source files and extracted them: ... You may want to use "checkinstall make install" to create a specific rpm ... Checkinstall is available as rpm I think:). ...
    (comp.os.linux.hardware)
  • Re: Source files compiled. Why no loadable module?
    ... > Downloaded the source files and extracted them: ... You may want to use "checkinstall make install" to create a specific rpm ... Checkinstall is available as rpm I think:). ...
    (comp.os.linux.x)