public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
Search results ordered by [date|relevance]  view[summary|nested|Atom feed]
thread overview below | download: 
* [gentoo-dev] Re: Unification of variables used within SCM eclasses
  @ 2010-04-12  8:10 99% ` Christian Faulhammer
  0 siblings, 0 replies; 1+ results
From: Christian Faulhammer @ 2010-04-12  8:10 UTC (permalink / raw
  To: Gentoo Development

[-- Attachment #1: Type: text/plain, Size: 3315 bytes --]

Hi,

sorry for the late reply.

Michał Górny <gentoo@mgorny.alt.pl>:
> a) Common variables - the variables which would have to be used by
> various SCM eclasses as default/fallback values.
> 
> 1. ESCM_DISTDIR (defaulting to PORTAGE_ACTUAL_DISTDIR/PORTDIR)
>     - an alternate parent dir to all SCM stores. It would be useful
> 	if user would like to use an small file-inefficient filesystem
> 	for main DISTDIR or rsync it with other machine (where SCM
> 	files are not as important as the tarballs are).

 Sounds reasonable, though mostly a nice-have.
 
> 2. ESCM_OFFLINE (most eclasses use it already)
>     - a common switch to easily switch off all network interaction.

 Crucial, at least for me. :)

> 3. ESCM_LIVE_FAIL_IF_REPO_NOT_UPDATED (similar to the one in
> git.eclass)
>     - a common switch to force unpack() phase to fail if no updates
> 	were found during the pull/update.

 Something better named would be great...it looks just stupid in
make.conf.

> b) Common eclass-specific variables - these ones should allow user to
> override above variables for single SCM.
> 
> 1. E*_STORE_DIR (defaulting to ${ESCM_DISTDIR}/*-src)
>     - already used by few eclasses, allowing user to change
> 	the location where SCM-specific clones are stored.
> 
> 2. E*_OFFLINE (defaulting to ${ESCM_OFFLINE})
>     - allowing user to override global 'offline switch'. Thus, it
> 	should also support setting 'false' value to enable network
> 	interaction for single SCM.
> 
> 3. E*_LIVE_FAIL_...
>     - another override for the global one.

 Ok with those.
 
> 4. E*_REPO_URI
>     - the URI to the main repository. It might be extended to support
> 	multiple URIs.
> 5. E*_REVISION
>     - explicit expected-revision/tag specification, preferably along
> 	with implicit one (e.g. in ESVN_REPO_URI) deprecation.
> 	This would allow applications to easily distinguish
> 	between 'real' live ebuilds and snapshot ones fetching
> directly from the repo.

 Those are not really user settings, but defined by the using ebuild.

 
> c) Common export variables - these ones should be exported by SCM
> eclass and stored in environment.bz2 after successful emerge.
> 
> 1. E*_VERSION (or _REVISION, or ...)
>     - the version/revision to which the package was updated. This
> would be useful to determine whether the current repo is newer
> 	than one used when merging package.
> 
> 2. E*_WC_PATH
>     - the absolute path to the last-used clone dir (i.e.
> 	${E*_STORE_DIR}/sth) and thus the most probable location
> 	to perform further updates in.

 Portage team should comment here, maybe.  What is the use case for
this, honestly?

> d) Other:
> 
> 1. ESCM_CUSTOM_FETCH
>     - this one is not directly related to eclasses but for use of
> ebuild authors. Setting this in an ebuild should notice applications
> 	that the ebuild does use custom fetching procedures
> 	(i.e. fetches from multiple repositories in a manner
> 	unsupported directly by the eclass) and thus external
> 	applications should not try to update the repository
> themselves.

 Use case?

V-Li

-- 
Christian Faulhammer, Gentoo Lisp project
<URL:http://www.gentoo.org/proj/en/lisp/>, #gentoo-lisp on FreeNode

<URL:http://gentoo.faulhammer.org/>

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[relevance 99%]

Results 1-1 of 1 | reverse | options above
-- pct% links below jump to the message on this page, permalinks otherwise --
2010-03-24 11:28     [gentoo-dev] Unification of variables used within SCM eclasses Michał Górny
2010-04-12  8:10 99% ` [gentoo-dev] " Christian Faulhammer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox