1 |
On Monday 08 September 2003 03:03, Jon Portnoy wrote: |
2 |
|
3 |
> You haven't shared many of your views |
4 |
Here they are again summed up for the interested reader: |
5 |
|
6 |
-prevent ebuilds from modifying the life filesystem (from pkg_postinst for |
7 |
example), portage is the only one allowed to do so. that means a real sandbox |
8 |
over full ebuild time. the image is ready after src_install. portage than |
9 |
puts the files at the right place. The ebuild itself can in no way touch the |
10 |
live filesystem. there is no need for the ebuild to do so. |
11 |
(putting the build system into UML would be a considerable option for this. |
12 |
maybe oversized) |
13 |
|
14 |
-allow the actual package install process only to add files to the filesystem |
15 |
or to only modify/remove files that belong to an revision of the same ebuild |
16 |
(qa would benefit from this suggestions too.). Portage, before putting all the |
17 |
files from the image into the life filesystem, scans the image for all files |
18 |
in there. now it has a list of files it is going to install. So it |
19 |
scans now the live filesystem if thes files, or some of them exist. If they |
20 |
exist in the live filesystem, portage checks if they belong to a revision of |
21 |
the same ebuild. |
22 |
-if they dont belong to a revision of the same ebuild and are not found in |
23 |
the live filesystem it would be an addition of new software so the files are |
24 |
put into action |
25 |
-if they are found in the filesystem and belong to a revision of the same |
26 |
ebuild it would be an upgrade or downgrade and are put into action |
27 |
-if they are found in the filesystem and do not belong to a revision of the |
28 |
same ebuild -> something is wrong (might be init going to be overwritten) -> |
29 |
inform the user and fail |
30 |
|
31 |
-provide an secure abtraction for things, like adding values to global config |
32 |
files, depmod -a, that may be required to do after installing the files to |
33 |
the life filesystem. |
34 |
|
35 |
From my answer to Jon: |
36 |
> So we should never be able to tweak config files et al in an ebuild? |
37 |
an ebuild may freely modify its own config files. |
38 |
modification of config files not belonging to the ebuild should be done via an |
39 |
already suggested, secure abstraction, lets say a function like: |
40 |
changeconf phph.ini "line to add to phpini" |
41 |
portage could then intercept, respecting the suggested CONFIG_EXCLUDE or other |
42 |
user settings, or, if no user setting is the way, go to apply the change. |
43 |
This way it would be impossible for the ebuild to wipe php.ini. |
44 |
Also the user, via CONFIG_EXCLUDE, may completely switch of editing of php.ini |
45 |
by ebuilds. On the other hand, if the user doesnt care, the ebuild is free to |
46 |
add this line to php.ini. |
47 |
- |
48 |
another one was the above mentioned |
49 |
CONFIG_EXCLUDE in /etc/make.conf: |
50 |
This variable would accept a list of directories/files for which the behaviour |
51 |
of portage would be like follows: |
52 |
whenever portage has the image of the to install software ready it scans this |
53 |
image for the values in CONFIG_EXCLUDE. |
54 |
whenever it finds such a directory/file in the image it moves the |
55 |
directory/file to the doc-directory (eg: |
56 |
/usr/share/doc/${PF}/excluded_config/ ) of the image (and maybe writes a |
57 |
message to the user/log) |
58 |
after that portage continues normally. |
59 |
|
60 |
> repeated yourself without elaborating or expressing |
61 |
> specific concepts. |
62 |
If, in your eyes, above things arent concepts and specific i dont know what |
63 |
else actually is. I dont understand you, you dont understand me, so thats the |
64 |
wrong place for me, i quit. |
65 |
|
66 |
I always tried to be strictly technical, maybe sometimes i failed. i am human. |
67 |
Sorry. Dont hate me, i, as you, only try to do my best. |
68 |
|
69 |
Have a nice time |
70 |
|
71 |
Jan |
72 |
|
73 |
|
74 |
-- |
75 |
gentoo-dev@g.o mailing list |