1 |
Hi, |
2 |
|
3 |
sorry for the late reply. |
4 |
|
5 |
Michał Górny <gentoo@××××××××××.pl>: |
6 |
> a) Common variables - the variables which would have to be used by |
7 |
> various SCM eclasses as default/fallback values. |
8 |
> |
9 |
> 1. ESCM_DISTDIR (defaulting to PORTAGE_ACTUAL_DISTDIR/PORTDIR) |
10 |
> - an alternate parent dir to all SCM stores. It would be useful |
11 |
> if user would like to use an small file-inefficient filesystem |
12 |
> for main DISTDIR or rsync it with other machine (where SCM |
13 |
> files are not as important as the tarballs are). |
14 |
|
15 |
Sounds reasonable, though mostly a nice-have. |
16 |
|
17 |
> 2. ESCM_OFFLINE (most eclasses use it already) |
18 |
> - a common switch to easily switch off all network interaction. |
19 |
|
20 |
Crucial, at least for me. :) |
21 |
|
22 |
> 3. ESCM_LIVE_FAIL_IF_REPO_NOT_UPDATED (similar to the one in |
23 |
> git.eclass) |
24 |
> - a common switch to force unpack() phase to fail if no updates |
25 |
> were found during the pull/update. |
26 |
|
27 |
Something better named would be great...it looks just stupid in |
28 |
make.conf. |
29 |
|
30 |
> b) Common eclass-specific variables - these ones should allow user to |
31 |
> override above variables for single SCM. |
32 |
> |
33 |
> 1. E*_STORE_DIR (defaulting to ${ESCM_DISTDIR}/*-src) |
34 |
> - already used by few eclasses, allowing user to change |
35 |
> the location where SCM-specific clones are stored. |
36 |
> |
37 |
> 2. E*_OFFLINE (defaulting to ${ESCM_OFFLINE}) |
38 |
> - allowing user to override global 'offline switch'. Thus, it |
39 |
> should also support setting 'false' value to enable network |
40 |
> interaction for single SCM. |
41 |
> |
42 |
> 3. E*_LIVE_FAIL_... |
43 |
> - another override for the global one. |
44 |
|
45 |
Ok with those. |
46 |
|
47 |
> 4. E*_REPO_URI |
48 |
> - the URI to the main repository. It might be extended to support |
49 |
> multiple URIs. |
50 |
> 5. E*_REVISION |
51 |
> - explicit expected-revision/tag specification, preferably along |
52 |
> with implicit one (e.g. in ESVN_REPO_URI) deprecation. |
53 |
> This would allow applications to easily distinguish |
54 |
> between 'real' live ebuilds and snapshot ones fetching |
55 |
> directly from the repo. |
56 |
|
57 |
Those are not really user settings, but defined by the using ebuild. |
58 |
|
59 |
|
60 |
> c) Common export variables - these ones should be exported by SCM |
61 |
> eclass and stored in environment.bz2 after successful emerge. |
62 |
> |
63 |
> 1. E*_VERSION (or _REVISION, or ...) |
64 |
> - the version/revision to which the package was updated. This |
65 |
> would be useful to determine whether the current repo is newer |
66 |
> than one used when merging package. |
67 |
> |
68 |
> 2. E*_WC_PATH |
69 |
> - the absolute path to the last-used clone dir (i.e. |
70 |
> ${E*_STORE_DIR}/sth) and thus the most probable location |
71 |
> to perform further updates in. |
72 |
|
73 |
Portage team should comment here, maybe. What is the use case for |
74 |
this, honestly? |
75 |
|
76 |
> d) Other: |
77 |
> |
78 |
> 1. ESCM_CUSTOM_FETCH |
79 |
> - this one is not directly related to eclasses but for use of |
80 |
> ebuild authors. Setting this in an ebuild should notice applications |
81 |
> that the ebuild does use custom fetching procedures |
82 |
> (i.e. fetches from multiple repositories in a manner |
83 |
> unsupported directly by the eclass) and thus external |
84 |
> applications should not try to update the repository |
85 |
> themselves. |
86 |
|
87 |
Use case? |
88 |
|
89 |
V-Li |
90 |
|
91 |
-- |
92 |
Christian Faulhammer, Gentoo Lisp project |
93 |
<URL:http://www.gentoo.org/proj/en/lisp/>, #gentoo-lisp on FreeNode |
94 |
|
95 |
<URL:http://gentoo.faulhammer.org/> |