Making an RPM Distribution play nicely with ./configure && make && make install packages

Tim Wunder tim
Mon May 17 12:00:18 PDT 2004


On 3/5/2004 2:07 PM, I believe that Roger Oberholtzer wrote:

> On Fri, 2004-03-05 at 18:14, Tim Wunder wrote:
> 
>>On 3/5/2004 11:03 AM, I believe that Roger Oberholtzer wrote:
>>
>>
>>>On Sat, 06 Mar 2004 02:19:35 +1100
>>>James McDonald <james at jamesmcdonald.id.au> wrote:
>>>
>>>
>>>
>>>>I use Redhat Fedora Core 1. I have installed apt4rpm and done the usual 
>>>>apt-get upgrade etc. So once you get to that stage you then have to 
>>>>compile from source to get 'the latest'.
>>>>
>>>>Typically I also install packages that I don't bother to role into an 
>>>>rpm but they are required by other components I want to install via rpm 
>>>>/ apt-get.
>>>>
>>>>How do you tell apt-get / rpm to either ignore that it can't see the 
>>>>package in it's database or update the rpm database with the package 
>>>>despite it wasn't installed via rpm?
>>>
>>>
>>>gentoo ... Gentoo ... GENTOO
>>>
>>
>>I'm fairly ignorant on other package management systems used by non-rpm 
>>distros, slackware, gentoo, debian. I'm fairly familiar with how rpm 
>>works and believe apt to be similar, a database tracks what's installed. 
>>Is gentoo different? Slackware?
> 
> 
> Gentoo deals with dependencies very well. It uses sandboxes to make
> things so it ALWAYS knows what will be installed, not depending on a
> list or makefile. Also, it compiles from source on your system. This
> really helps lessen library conflicts. If I wanted the latest  firefin,
> I would type:
> 
> 	emerge firebird
> 
> It will get all needed parts that are not installed as part of doing
> this. I need not worry. It also has a concept of stable and non-stable
> releases. You can decide what you want. It you are curious if anything
> you have installed has a newer version, you would:
> 
> 	emerge rsync		(update concept of what is 'out there')
> 
> 	emerge -up world	(tell me what is new. But don't do 
> 					anything about it. Remove the 
> 					-p and it will update.)
> 
> 'world' is what you have already installed. Not everything out there.
> 
> It works quite well. Since it is compiled locally, my preferences are
> used. So, if I want any packages that use ALSA to have that enabled, I
> set 'alsa' once in a global config file. Each package checks these to
> see how to set flags. So, the maintainer of the package makes the
> connection between Gentoo's variables and what the specific package
> wants to make that happen. I need not sort that out. Everything you have
> installed is compiled how you want it, not how it was made for some RPM.
> Still, the package's config method is used. Gentoo does not make a new
> compilation system for each package. That would be a real drag. Instead,
> it maps your wished to the package.
> 

But as I read this, it still seems like it depends on a packager, "the 
maintainer of the package makes the connection between Gentoo's 
variables and what the specific package wants to make that happen."

And I don't see where I can mangage multiple versions of a package like 
I can with rpm.

Lemme throw another example out there:
I follow the gnucash project fairly closely. I run 1.8.8, which is the 
current stable release, for my day-to-day use. I also like to have 
compiled and installed, the 1.8.x branch, and the HEAD branch from CVS.
I have two scripts that run perodically (a couple times per week.) One 
pulls down the 1.8.x branch, compiles it, and installs it via RPM (well, 
checkinstall,) the other does the same with HEAD. They get different 
names when installed and yum/apt/rpm are all fine with it. Nothing gets 
in the way of anything else. They're all separate. If I want to 
uninstall the HEAD, or 1.8x branch CVS copies, I just rpm -e <insert 
correct package name here> and I'm done. If I want to back rev from a 
bad HEAD install, I rpm -e..., then rpm -i... and I'm done.
Can this be similarly done with Gentoo's package manager?

Regards,
Tim





More information about the Linux-users mailing list