Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Re: portage directory ownerships?
Date: Wed, 16 Sep 2015 14:20:09
Message-Id: 55F97A7C.6070906@gmail.com
In Reply to: [gentoo-user] Re: portage directory ownerships? by james
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

Replies

Subject Author
Re: [gentoo-user] Re: portage directory ownerships? Neil Bothwick <neil@××××××××××.uk>