-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

On 03/07/14 04:47 AM, Joshua Kinard wrote:
> On 07/03/2014 03:00, Michael Haubenwallner wrote:
>> 
>> On 07/03/2014 08:18 AM, Joshua Kinard wrote:
>>> On 07/02/2014 13:54, Michał Górny wrote:
>>>> Dnia 2014-07-02, o godz. 10:44:16
>>> [snip]
>>>> 
>>>> I don't feel like we ought to vote on something like this
>>>> without understanding most of the current profiles. And I'm
>>>> afraid there are only few people who have any idea about the
>>>> current profile structure...
>>>> 
>>> 
>>> I am going to throw this out there and see what people think.
>>> Maybe it's insane, maybe it's not, maybe it's a mix of insane
>>> and not-insane.
>>> 
>>> Years ago, before we had the current stacking profile design
>>> (we were discussing the current design, actually), I kinda
>>> conjured up this "building blocks" like approach for a profile
>>> design.
>> 
>>> The idea being that, in /etc/make.conf (or wherever that file
>>> is now), you'd define $PROFILE like this:
>>> 
>>> linux-mips o32 uclibc server: 
>>> PROFILE="base:kernel/linux:arch/mips:subarch/mips-o32:libc/uclibc:roles/server:releases/13.0"
>>
>>
>>> 
What about making /etc/portage/make.profile a directory rather than a
symlink,
>> having /etc/portage/make.profile/parent to reference all the
>> flavours?
>> 
>> Tools that need to respect the /current/ profile should work
>> without any change, and tools that need to respect the
>> /available/ profiles (repoman) already do have a list of profiles
>> to respect (profiles/profiles.desc).
>> 
>> So the only missing thing would be the eselect profile module to
>> manage entries of /etc/portage/make.profile/parent, maybe using
>> /usr/portage/profiles/profiles.desc as the source for available
>> flavours.
>> 
>> my 2 cents /haubi/
> 
> That's the thing, make.profile technically *is* a directory -- a
> symlink to one.  The original design of make.profile was to specify
> generic, base settings for a given profile and keep that in the
> tree.  Things like default CHOST, default ARCH, default <VARIABLE>,
> etc.  make.conf then overrides in-tree settings with settings
> specific to your system.  So making /etc/make.profile an actual
> directory disconnects it from the tree, which I don't think will
> work very well for Portage, since it won't know what your 
> currently-chosen profile is.
> 

I did a test where I dropped my make.profile symlink, made a directory
of the same name, and populated a 'parent' file in that directory with
paths to various /usr/portage/profiles/ bits which made up my previous
main profile.  Everything continued to work as expected.

I expect for portage proper, we could accomodate mixins or whatever
new structure method we want simply by adjusting 'eselect profile' to
list the various possible combinations and adjust an
/etc/make.profile/parent file accordingly.

(We probably also need to ensure portage warns or errors appropriately
when one of these inherit lines in the parent file no longer points to
a directory, the same as it does now with the symlink points to
nothing; I didn't test but I expect that error would not be pretty or
easily understood right now)




-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (GNU/Linux)

iF4EAREIAAYFAlO1f4IACgkQ2ugaI38ACPB1wgEApznnssegz2ImYIq6fAeR2oGa
RX0TNT6bThDcypkn0skA/j/w33cWekomOQanCKIspuOWxXgOAeMxMWlnhsORZfj7
=Qwj0
-----END PGP SIGNATURE-----

Reply via email to