Hi,
I haven't made rpm package from source a looong time ;)
The procedure used to be very simple:
./configure make checkinstall make install
Now I see there in no checkinstall in Fedora. What is the way to simple make a rpm packet?
Cheers!
On Wed, 2009-09-09 at 14:53 +0200, Valent Turkovic wrote:
Hi,
I haven't made rpm package from source a looong time ;)
The procedure used to be very simple:
./configure make checkinstall make install
Now I see there in no checkinstall in Fedora. What is the way to simple make a rpm packet?
I don't think checkinstall was ever part of Fedora. You can get it at http://www.asic-linux.com.mx/~izto/checkinstall/
poc
On Wed, Sep 9, 2009 at 9:53 AM, Valent Turkovic valent.turkovic@gmail.comwrote:
Hi,
I haven't made rpm package from source a looong time ;)
The procedure used to be very simple:
./configure make checkinstall make install
Now I see there in no checkinstall in Fedora. What is the way to simple make a rpm packet?
http://www.asic-linux.com.mx/~izto/checkinstall/files/rpm/checkinstall-1.6.1...http://www.asic-linux.com.mx/%7Eizto/checkinstall/files/rpm/checkinstall-1.6.1-1.i386.rpm
You made my day!! I´ve been using Linux for the last 9 yrs and I wasnt aware of checkinstall. I always used the very cumbersome (manual) process outlined in this outdated article... http://www.ibm.com/developerworks/library/l-rpm1/
FC
On Wed, Sep 9, 2009 at 2:53 PM, Valent Turkovicvalent.turkovic@gmail.com wrote:
Hi,
I haven't made rpm package from source a looong time ;)
The procedure used to be very simple:
./configure make checkinstall make install
Now I see there in no checkinstall in Fedora. What is the way to simple make a rpm packet?
I'd just use template specfile in Fedora's vim distribution. (Just type vim something.spec) It's almost (almost) as easy as checkinstall (if the build is that simple, just plain autotools without anything fancy), and you can reuse the specfile for newer versions.
Valent Turkovic wrote:
I haven't made rpm package from source a looong time ;)
The procedure used to be very simple:
./configure make checkinstall make install
Ewww, checkinstall is _not_ recommended¹ (and never was by anyone worth listening to as far as I am concerned).
What is the way to simple make a rpm packet?
There is a nice document on the Fedora wiki describing the process:
http://fedoraproject.org/wiki/How_to_create_an_RPM_package
¹ One of the problems with checkinstall (as of the last time I remember looking at it) was that it wants to be run with root privileges. One of the most important rules in rpm packaging is: NEVER BUILD PACKAGES AS ROOT.
Honza 'thingwath' Bartoš wrote:
I'd just use template specfile in Fedora's vim distribution. (Just type vim something.spec) It's almost (almost) as easy as checkinstall (if the build is that simple, just plain autotools without anything fancy), and you can reuse the specfile for newer versions.
FWIW, this should work from emacs as well. You can also use the rpmdev-newspec command from rpmdevtools to create a new spec from a variety of templates, e.g. perl, python, ruby, etc. See 'rpmdev-newspec -h' for a list of types.
On Wed, 09 Sep 2009 09:52:09 -0400, Todd Zullinger wrote:
There is a nice document on the Fedora wiki describing the process:
This is far, far from simple page :(
On Wed, Sep 16, 2009 at 07:15:47PM +0000, Valent Turkovic wrote:
On Wed, 09 Sep 2009 09:52:09 -0400, Todd Zullinger wrote:
There is a nice document on the Fedora wiki describing the process:
This is far, far from simple page :(
I think you're confusing "simple" with "short." Actually, the page content is very easy, there's just a lot of explanation there. It's virtually impossible to write, or follow, a numbered procedure without understanding how building an RPM works.
It could be split up into multiple pages to make it seem simpler. In fact, you could copy the page content somewhere and do that yourself, if you were inclined to contribute to Fedora!
On Wed, 2009-09-16 at 19:15 +0000, Valent Turkovic wrote:
On Wed, 09 Sep 2009 09:52:09 -0400, Todd Zullinger wrote:
There is a nice document on the Fedora wiki describing the process:
This is far, far from simple page :(
Then have a look at the Gurulabs howto
http://www.gurulabs.com/GURULABS-RPM-LAB/GURULABS-RPM-GUIDE-v1.0.PDF
which I find quite nice. You'll be wanting to look at page 18 of the PDF (on the page it reads 12-17), which handles spec files.
On Wed, Sep 16, 2009 at 6:57 PM, Jussi Lehtola jussilehtola@fedoraproject.org wrote:
On Wed, 2009-09-16 at 19:15 +0000, Valent Turkovic wrote:
On Wed, 09 Sep 2009 09:52:09 -0400, Todd Zullinger wrote:
There is a nice document on the Fedora wiki describing the process:
This is far, far from simple page :(
Then have a look at the Gurulabs howto
http://www.gurulabs.com/GURULABS-RPM-LAB/GURULABS-RPM-GUIDE-v1.0.PDF
which I find quite nice. You'll be wanting to look at page 18 of the PDF (on the page it reads 12-17), which handles spec files. -- Jussi Lehtola Fedora Project Contributor jussilehtola@fedoraproject.org
-- fedora-list mailing list fedora-list@redhat.com To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines
It is just RIDICULOUS not to have an automated way to create RPMs. If I can download some source file, and then ./configure make and make install, this automated tool is perfectly capable of finding the base system, the files installed during the process, and the requirements.
I just don't understand this *nix attitude that "complex is good". End users might want to create their own RPMs, too.
FC
Fernando Cassia wrote:
It is just RIDICULOUS not to have an automated way to create RPMs.
Feel free to write such a tool. Those that exist have various fatal flaws. I'd certainly never use checkinstall on my system nor would I want anyone producing rpms with it for inclusion in Fedora. :)
If I can download some source file, and then ./configure make and make install, this automated tool is perfectly capable of finding the base system, the files installed during the process, and the requirements.
Again, feel free to write it. No one else has done a good job of this yet.
I just don't understand this *nix attitude that "complex is good". End users might want to create their own RPMs, too.
That's not the attitude here at all. The point is that creating a proper package requires just a little bit of knowledge of the packaging system you are using. Sure, you can often use tools that automate some of this, but you need to understand how the system works if you hope to be able to pick up where such tools fall short.
I could create a simple package in a few minutes these days. For more complex software, it might take a little longer, but it's still not at all onerous a task. And I started out as just such an end user that wanted to create my own packages.
On Wed, Sep 16, 2009 at 9:32 PM, Todd Zullinger tmz@pobox.com wrote:
Fernando Cassia wrote:
It is just RIDICULOUS not to have an automated way to create RPMs.
Feel free to write such a tool. Those that exist have various fatal flaws. I'd certainly never use checkinstall on my system nor would I want anyone producing rpms with it for inclusion in Fedora. :)
Again, feel free to write it. No one else has done a good job of this yet.
Could you please tell what is wrong with checkinstall other than "it sucks" ??
I'm sure the author of checkinstall would be more than happy to receive bug reports.
Instead, the attitude I saw here was that checkinstall sucks, and that everybody should build RPMs the traditional (complex) way.
Best, FC
On Wed, 2009-09-16 at 22:24 -0300, Fernando Cassia wrote:
On Wed, Sep 16, 2009 at 9:32 PM, Todd Zullinger tmz@pobox.com wrote:
Fernando Cassia wrote:
It is just RIDICULOUS not to have an automated way to create RPMs.
Feel free to write such a tool. Those that exist have various fatal flaws. I'd certainly never use checkinstall on my system nor would I want anyone producing rpms with it for inclusion in Fedora. :)
Again, feel free to write it. No one else has done a good job of this yet.
Could you please tell what is wrong with checkinstall other than "it sucks" ??
I'm sure the author of checkinstall would be more than happy to receive bug reports.
Instead, the attitude I saw here was that checkinstall sucks, and that everybody should build RPMs the traditional (complex) way.
---- what are you complaining about?
RPM's built intelligently will check for required packages, build as user so they don't over-write existing files and be properly version'ed to update older versions and allow itself to be updated by newer versions.
The only thing checkinstall does is keep track of where the files were installed so they can be removed.
If checkinstall appeals to you, just install source tarballs into /usr/local as I expect most source installs to have both an install and an uninstall function these days anyway.
But if you want to dance to the music, you have to pay the fiddler.
Craig
Fernando Cassia wrote:
Could you please tell what is wrong with checkinstall other than "it sucks" ??
The biggest problem with checkinstall is that it requires you to run it as root. If you've taken a look at many of the Makefiles shipped with a lot of software, you'd be very cautious about running 'make install' as root, which is what checkinstall proceeds to do.
This opens you up to any mistakes or malicious code in the software's Makefiles. Say the Makefile tries to run rm -rf /$DESTDIR as it starts. And oops, it manages to not set $DESTDIR. That's fun.
(It doesn't help that checkinstall itself is a 3000 line shell script. That has a lot of potential for adding bugs.)
The last time I looked closely at the packages it produced (which has been a while now), they weren't at all close to something that would meet the standards that Fedora sets for its packages.
I'm sure the author of checkinstall would be more than happy to receive bug reports.
I am not a user of checkinstall and have no intention to be one. So I've got no reason to submit bug reports there. I submit my fair share, so I don't feel guilty in the slightest here. :)
I don't mean to disparage the checkinstall author(s). I just don't find it to be useful or a good thing to suggest others use.
Instead, the attitude I saw here was that checkinstall sucks, and that everybody should build RPMs the traditional (complex) way.
I'm sorry if that's the impression you got. I thought that I'd provided a useful link to introductory documentation on creating clean packages for Fedora. If that's not helpful, I'm sorry.
BTW, have you checked out the checkinstall README¹ file? It's not like it's a 10 line document. I could make a handful of packages in the time it would take me to read that. Or I could read the wiki page on creating rpm packages. :)
¹ http://www.asic-linux.com.mx/~izto/checkinstall/docs/README
Fernando Cassia wrote:
It is just RIDICULOUS not to have an automated way to create RPMs. If I can download some source file, and then ./configure make and make install, this automated tool is perfectly capable of finding the base system, the files installed during the process, and the requirements.
I just don't understand this *nix attitude that "complex is good". End users might want to create their own RPMs, too.
There is not a *nix attitude that "complex is good". Until the event of fancy GUIs, the trend was for simple packages that did one thing well, and could be linked to other programs to do complex tasks. (There are a couple of exceptions to this.) A lot of GUIs are front ends for one or more cli programs, so they are also following the building block tradition.
Now, creating an RPM may be simple, or it may be complex. A lot depends on the package you are working with. One thing that does add a complication is that you are NOT compiling the package on the target system. Another is that you are providing a way to easily update, or remove the files. Add to that the fact that you have to keep tract of the package requirements, as well as the fact that the same source RPM may generate more then one binary RPM, and things start to get complicated. This is almost unavoidable is you want good a package management system.
Another thing to keep in mind is that the same source RPM is often used on more then one architecture. When I was still running my Sparc Station, I used to build binary RPMs from source RPMs that were written for i386 system. For a well written RPM, all I had to do was run equivalent of "rpmbuild --rebuild <source RPM>".
Mikkel
On Thu, Sep 17, 2009 at 12:40 AM, Mikkel mikkel@infinity-ltd.com wrote:
Fernando Cassia wrote:
It is just RIDICULOUS not to have an automated way to create RPMs. If I can download some source file, and then ./configure make and make install, this automated tool is perfectly capable of finding the base system, the files installed during the process, and the requirements.
I just don't understand this *nix attitude that "complex is good". End users might want to create their own RPMs, too.
There is not a *nix attitude that "complex is good". Until the event of fancy GUIs, the trend was for simple packages that did one thing well, and could be linked to other programs to do complex tasks. (There are a couple of exceptions to this.) A lot of GUIs are front ends for one or more cli programs, so they are also following the building block tradition.
I´m fully aware of the unix philosophy and how it works. I´m not talking about that. I´m talking about thinking that all users should have the knowledge of sysadmins. That is a completely different matter.
The HP inkjet drivers (HPLIP) is one example of a "fire and forget" installer that just detects "where am I? what platform is this? what compilers do I have available? is the build environment safe? are the additional required packages available? (if not it fetches those)", etc.
But that is NOT the norm on Linux. Somehow people write long 20-step FAQs and tell the user "here it is, use this FAQ" and the FAQ includes a lot of statements that should be copied and pasted on a shell prompt (terminal).
So, why not write a damn shell script instead of pasting 10 separate lines and subject the user to copy-and-paste hell?.
That´s what I mean by "complex is good attitude".
FC
On Wed, Sep 16, 2009 at 8:56 PM, Fernando Cassia fcassia@gmail.com wrote: <...snip...>
The HP inkjet drivers (HPLIP) is one example of a "fire and forget" installer that just detects "where am I? what platform is this? what compilers do I have available? is the build environment safe? are the additional required packages available? (if not it fetches those)", etc.
But that is NOT the norm on Linux. Somehow people write long 20-step FAQs and tell the user "here it is, use this FAQ" and the FAQ includes a lot of statements that should be copied and pasted on a shell prompt (terminal).
So, why not write a damn shell script instead of pasting 10 separate lines and subject the user to copy-and-paste hell?.
_____
If it only were that easy. The problem is that many FAQs omit secondary steps. Also there may be secondary requirements such an environment variable. Who hasn't run into the typical "package cannot be installed because dependency so and so is missing" problem? Linux desktops and servers have their individual fingerprint just as every human hand has their own fingerprints.
~af
~af
2009/9/17 Aldo Foot lunixer@gmail.com:
Linux desktops and servers have their individual fingerprint just as every human hand has their own fingerprints.
And when they start showing common patterns, we either call them a bug or a feature. Sorry couldn't help myself ;)
Fernando Cassia wrote:
The HP inkjet drivers (HPLIP) is one example of a "fire and forget" installer that just detects "where am I? what platform is this? what compilers do I have available? is the build environment safe? are the additional required packages available? (if not it fetches those)", etc.
This is a great example of why packaging *isn’t* something that can be done automatically. The installer is in the same position as an RPM package.
To make the installer “fire and forget”, HP had to put a lot of work into making it “just detect” things. RPM does it better, but you still need to put the effort into creating the package so that it’s simple to use for the package end-user.
James.
On Wed, Sep 16, 2009 at 10:15 PM, Paul W. Frields stickster@gmail.com wrote:
On Wed, Sep 16, 2009 at 07:15:47PM +0000, Valent Turkovic wrote:
On Wed, 09 Sep 2009 09:52:09 -0400, Todd Zullinger wrote:
There is a nice document on the Fedora wiki describing the process:
This is far, far from simple page :(
I think you're confusing "simple" with "short." Actually, the page content is very easy, there's just a lot of explanation there. It's virtually impossible to write, or follow, a numbered procedure without understanding how building an RPM works.
It could be split up into multiple pages to make it seem simpler. In fact, you could copy the page content somewhere and do that yourself, if you were inclined to contribute to Fedora!
I contribute in wiki content and in other ways that I feel I have adequate knowledge about, RPM building is not one of them :(