1 |
On 16/09/2015 15:46, james wrote: |
2 |
> Neil Bothwick <neil <at> digimed.co.uk> writes: |
3 |
> |
4 |
> |
5 |
> |
6 |
>>> Here, all of /etc/portage is root:root |
7 |
>>> The tree and all overlays are portage:portage |
8 |
> |
9 |
>> Just to add some confusion to the mix |
10 |
> |
11 |
> <snip> |
12 |
> |
13 |
> Good example and it got me thinking.... |
14 |
> |
15 |
>> So some are portage:portage, some are root:root - all use /var/portage |
16 |
>> for $PORTDIR so that's not an issue. One of the portage:portage ones is |
17 |
>> the one that syncs with the mirrors and acts as an rsync host for the |
18 |
>> others, this may or may not be significant. |
19 |
> |
20 |
> I might swith to /var/portage on a new install. Whats the pedantic |
21 |
> reasons for for it? On an SSD for speed ? tmpdir? I'm curious, so tell me more. |
22 |
|
23 |
Nothing to do with tmpdir stuff. |
24 |
|
25 |
/usr has always been something that must mountable read-only and still |
26 |
work should the user want it that way. |
27 |
/var is where data goes that can change. The tree is a database, it can |
28 |
change, and does every time you sync. |
29 |
|
30 |
The tree was in /usr/portage for years for NO OTHER REASON than that's |
31 |
where FreeBSD put it (portage is based off/inspired by FreeBSD ports). |
32 |
That works on FreeBSD nicely but strictly according to Linux conventions |
33 |
and FHS should have been in /var all along. |
34 |
|
35 |
You can put the tree any place you like, just modify PORTDIR to suit |
36 |
plus a few other bits (eg profile symlink in /etc/portage). The switch |
37 |
to /var is only a change to the hard-coded default |
38 |
|
39 |
|
40 |
> |
41 |
> |
42 |
> 1. So 'the tree' (/usr/portage/) is portage:portage OK. |
43 |
> |
44 |
> 2. and /etc/portages is root:root except for distfiles (root:portage) OK. |
45 |
> |
46 |
> 3. and /var/lib/layman and subdirs are root:root ??? |
47 |
> Note, these are the overlays I use but do not hack on. |
48 |
|
49 |
That's fine. If you only --sync as root it all works out |
50 |
|
51 |
> |
52 |
> |
53 |
> 4. and /usr/local/portage is james:james |
54 |
> this where I hack on codes that are mostly other overlays that |
55 |
> need enhancements or raw codes I am processing into ebuilds. |
56 |
> |
57 |
> 5. /usr/local/experimental is james:james |
58 |
> where I working on codes that can compile |
59 |
> install or be removed without the baggage of portage/ebuilds. It |
60 |
> will be for embedded and cluster/cloud/vm movements of binaries |
61 |
> to attach directly to the 4.x kernel, dynamically. |
62 |
> I'm working on a new build semantic with DAGs, Tup, ninja and CheckInstall |
63 |
> |
64 |
> |
65 |
> So I can ignore (5) in make.conf. But I'm now getting ebuilds installed |
66 |
> in /usr/local/portage, I think because of this line in my make.conf:: |
67 |
> |
68 |
> PORTDIR_OVERLAY="source /etc/portage/repos.conf/layman.conf" |
69 |
> PORTDIR_OVERLAY="/usr/local/portage" |
70 |
|
71 |
No man, rip that shit out. Delete both lines and replace with entries in |
72 |
/etc/portage/repos.conf/ |
73 |
|
74 |
There was a news item on 2 Feb that gives full details. |
75 |
Then emerge layman with use="sync-plugin-portage" |
76 |
|
77 |
And btw, your second line overrides and replaces the first. |
78 |
|
79 |
> For goals of 1-5 what are improvements (any and all suggestions) on |
80 |
> make.conf I should make? I need to ensure that overlays that I do |
81 |
> not modify stay separate for the ebuild I modify. In fact some packages |
82 |
> are in both 3 and 4. I use git to seed category 4 so what caveates |
83 |
> do I use to ensure that git only seeds categroy 4 packages (ebuilds)once |
84 |
> and does not contaminant my 'old school; vim' hackery. |
85 |
|
86 |
Edit only inside the overlay you want to change. If you have another |
87 |
overlay that is essentially read-only (or you don't change), and you do |
88 |
edit it, well then you just changed it and the computer will follow your |
89 |
lead :-) |
90 |
|
91 |
so vi then git add/commit/push the stuff you edit. |
92 |
|
93 |
Or maybe I don't grok what you mean here |
94 |
|
95 |
> |
96 |
> |
97 |
> I think this is the only change I need:: |
98 |
> PORTDIR_OVERLAY="/usr/local/portage" ==> |
99 |
> PORTDIR_OVERLAY="/var/lib/layman" |
100 |
|
101 |
No. DoItRite as above. That PORTDIR_OVERLAY crap never did work right - |
102 |
all overlays were essentially considered equal and it would be pot luck |
103 |
where your next ebuild comes from.... |
104 |
|
105 |
|
106 |
> Or does layman and git (syncs) know where to place things. I do use |
107 |
> 'git clone' to seed category 4 packages-->ebuilds and will |
108 |
> eventually be use more of git's features to push out updates. |
109 |
|
110 |
layman doesn't know anything other than what's in it's config. There's |
111 |
no magic. If you tell it a repo in mastered at place X, and you make |
112 |
changes to X, layman will sync those changes. |
113 |
|
114 |
Don't use 'git clone' for this. A clone is your first checkout. Rather |
115 |
push the stuff you edit and pull updates from there with layman |
116 |
|
117 |
> |
118 |
> I just gotta get this straight, consistent and keep things seperate |
119 |
> in my mind, because being an old fart, reading lots of codes, sometimes |
120 |
> I forget the origins of hacks. (yea yea document the code you old hack) |
121 |
|
122 |
|
123 |
|
124 |
-- |
125 |
Alan McKinnon |
126 |
alan.mckinnon@×××××.com |