[Yum-devel] Making yum a more `portable' package manager
yanegomi at gmail.com
Mon Jun 21 18:42:02 UTC 2010
On Mon, Jun 21, 2010 at 9:48 AM, James Antill <james at fedoraproject.org> wrote:
> On Sun, 2010-06-20 at 00:57 -0700, Garrett Cooper wrote:
>> The end-goal is of course to have the Linux compat layer be able to
>> pull down packages to /compat/linux so that folks can install or query
>> the yum repos for packages such that a) we can stay aware of updates
>> in the project, and b) we don't have to go hunting for packages to
>> download (like one had to do in the olde school Redhat days... bleh).
>> Ideally the infrastructure would actually live in /compat/linux/usr to
>> mimic an encapsulated Linux environment as the Linux compat stuff in
>> FreeBSD does some interesting tricks in terms of pathing and execution
>> in order to ensure that precedence between the Linux tools and FreeBSD
>> native tools is maintained.
> So, again, I'd caution you to think about what your users will want to
> do and how much work you want to do etc.
> I see two "pretty good" options, and I'm not sure you are picking one
> of them :)
> 1. Have yum/rpm/etc. be in FreeBSD ports, installing into /usr
> or /usr/local ... but configured so that they act on /compat/linux/*
> Advantage: Fairly simple modifications needed for most
> operations, although getting the "running kernel package" might
> be "interesting".
> Advantage: Can have minimal packages installed in /compat/linux
Yeah, that's a good idea (for the most part), but I'll have to figure
out how to work with the $(confdir) stuff (/etc/, blah), as the python
code has a fair number of built-in assumptions as to where stuff will
be installed. Will be trivial though to do though (and I'm working on
> 2. Have yum/rpm/etc. install into a chroot in /compat/linux, and have
> wrappers like yum="chroot /compat/linux yum".
> Advantage: Zero modifications needed to yum/rpm/etc.
Problem is that it falls back to the FreeBSD tools if and when the
Linux ones don't exist (by design), so this isn't doable :(...
More information about the Yum-devel