Making an RPM Distribution play nicely with ./configure && make && make install packages
Tim Wunder
tim
Mon May 17 12:00:19 PDT 2004
On 3/5/2004 4:03 PM, I believe that Roger Oberholtzer wrote:
> On Fri, 2004-03-05 at 21:12, Tim Wunder wrote:
>
>>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."
>
>
> Yes it does. But the package is a script. So you could choose to change
> to suit.I have never had to do this,
>
>
>>And I don't see where I can mangage multiple versions of a package like
>>I can with rpm.
>
>
> Yep. In emerge-speak they are called slots.
>
>
>>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?
>
>
> I guess that depends in part on the package itself. Some developers
> insist that things be in a specific place. Short of changing the source
> code you are not going to make it work. I do know that Gentoo supports
> many features in this area that I do not use. I would be surprised if
> Gentoo did not support this type of thing. At any given time, for any
> given package, there are always multiple versions available. Including
> old versions, new versions and stable versions.
>
> Check out http://packages.gentoo.org/search/?sstring=gnucash for the
> current gnucash for Gentoo. BTW, note that Gentoo is available for
> numerous CPUs.
>
>
>
Thanks for the info. Did a little surfing on the projects at gentoo.org,
and it looks like it's reasonably do-able. They have a project for
installing multiple versions of KDE:
http://www.gentoo.org/proj/en/desktop/kde/index.xml
I'd just have to figure out how that's done and incorporate that into
gnucash. I'd also probly need to have /usr on a separate partition,
since it looks like they put everything there...
Gentoo is starting to look a little more interesting. Perhaps my next
experiment will have to involve trying that out...hmmm, I just cleared
off 15 GB's on an IBM R40 laptop, that might be a good place to play...
Regards,
Tim
More information about the Linux-users
mailing list