Gentoo Archives: gentoo-portage-dev

From: Brian Dolbec <dolsen@g.o>
To: gentoo-portage-dev@l.g.o
Subject: Re: [gentoo-portage-dev] New proposed modular sync system
Date: Thu, 09 Jan 2014 19:26:15
Message-Id: 1389295335.7103.91.camel@big_daddy.dol-sen.ca
In Reply to: Re: [gentoo-portage-dev] New proposed modular sync system by Sebastian Luther
1 On Thu, 2014-01-09 at 19:46 +0100, Sebastian Luther wrote:
2
3 > The layout makes sense. Except the problems I see with where the
4 > modules are installed (see later).
5 >
6 > Not sure about module_spec yet.
7 >
8 > > [...]
9 > >
10
11 The module_spec is a means to make available to the operational manager
12 what the module supplies and any options it provides.
13
14 The second thing it does is not import the files and modules it
15 supplies. This reduces the memory requirements by not loading modules,
16 files that are not needed. It also speeds up run time as a result.
17
18 > > <stuff about ebuilds installing plugins>
19 > >
20 > While I see a valid use case here (especially with your squashfs
21 > example), I wonder how that is supposed to work.
22 >
23 > 1) Where should the ebuild install the plugin?
24 > 2) How does portage find those plugins.
25
26 That is to be determined. It doesn't matter where to the plugin
27 manager. It needs a path to the plug-in directory on initialization.
28 It does not need to be in a subdirectory where it is located.
29
30
31 > 3) How does portage's behavior to run with the currently selected
32 > python version, mix with the fact that ebuilds usually install only
33 > for some set of python versions? (especially python 2 vs 3).
34 >
35
36 The plug-in must be able to work with all supported python versions in
37 one form or another.
38
39 In esearch, it supports python 3, but layman does not (yet), so when you
40 use the -l switch to sync layman overlays as well as the main tree. It
41 first tries to import the layman modules, upon failure it falls back to
42 calling layman using a subprocess call. Just like portage currently
43 calls rsync and git in a subprocess now.
44
45 see working code:
46 https://github.com/fuzzyray/esearch/blob/master/esearch/sync.py
47 layman_sync() line # 149
48
49
50 If a proposed module is to be added to the tree, it should be capable of
51 working in all configurations a user may have withing portage's
52 capability. If not, if it isn't shipped by and with portage, then it is
53 a user issue. Not ours. In such a case we (the portage-tools team)
54 would insist on ewarns in the ebuild stating such constraints, etc..
55
56 > > This system would also make it possible to modify emerge-s cli to
57 > > accept target repos to sync. and not any others also installed.
58 > > Similarly to "layman -s some-overlay", "emerge --sync
59 > > some-overlay"
60 >
61 > "emerge --sync some-overlay" already works.
62 >
63 >
64 > > P.S. sorry for such a long email
65 > >
66 >
67 >

Attachments

File name MIME type
signature.asc application/pgp-signature