From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 97AE41381F3 for ; Tue, 16 Jul 2013 16:37:08 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 3ADE4E0A87; Tue, 16 Jul 2013 16:36:49 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 9F15DE0A87 for ; Tue, 16 Jul 2013 16:36:33 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 7EA4A33E9E4 for ; Tue, 16 Jul 2013 16:36:32 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id 36910E546A for ; Tue, 16 Jul 2013 16:36:30 +0000 (UTC) From: "André Erdmann" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "André Erdmann" Message-ID: <1373992402.d7db304d7a087f04613cc0d62cf0d39504311f14.dywi@gentoo> Subject: [gentoo-commits] proj/R_overlay:master commit in: doc/rst/ X-VCS-Repository: proj/R_overlay X-VCS-Files: doc/rst/usage.rst X-VCS-Directories: doc/rst/ X-VCS-Committer: dywi X-VCS-Committer-Name: André Erdmann X-VCS-Revision: d7db304d7a087f04613cc0d62cf0d39504311f14 X-VCS-Branch: master Date: Tue, 16 Jul 2013 16:36:30 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: 3e136cec-aaa3-4dff-983e-e3de4b9793a9 X-Archives-Hash: c70d3b1c335fd0a48b767c2da7cf6d4d Message-ID: <20130716163630.B5GZv4SUPE2Eykho8Qcadt6PXGd_dRh0--0RQotmEs8@z> commit: d7db304d7a087f04613cc0d62cf0d39504311f14 Author: André Erdmann mailerd de> AuthorDate: Tue Jul 16 16:33:22 2013 +0000 Commit: André Erdmann mailerd de> CommitDate: Tue Jul 16 16:33:22 2013 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=d7db304d doc/rst: api, manifest creation --- doc/rst/usage.rst | 77 +++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 67 insertions(+), 10 deletions(-) diff --git a/doc/rst/usage.rst b/doc/rst/usage.rst index 36fa031..df18824 100644 --- a/doc/rst/usage.rst +++ b/doc/rst/usage.rst @@ -2311,8 +2311,6 @@ CACHEDIR This option is **required**. - <> - .. _DISTFILES: DISTFILES @@ -3206,9 +3204,63 @@ Example Session: Roverlay Interface ==================== -<> +Roverlay provides an API for accessing its functionality independently of +R overlay creation. Only dependency resolution is available, currently. + +Note, however, that a minimal config file may still be required for accessing +*roverlay interfaces*. + +The table below lists all interfaces and where to find them: + +.. table:: roverlay interfaces + + +-----------------+---------------------------+-----------------------------+ + | name | module | description | + +=================+===========================+=============================+ + | RootInterface | roverlay.interface.root | meta interface for managing | + | | | other interfaces | + +-----------------+---------------------------+-----------------------------+ + | MainInterface | roverlay.interface.main | RootInterface with delayed | + | | | initialization | + +-----------------+---------------------------+-----------------------------+ + | DepresInterface | roverlay.interface.depres | dependency resolution | + +-----------------+---------------------------+-----------------------------+ + + +For extending the API, roverlay provides the abstract *RoverlayInterface* and +*RoverlaySubInterface* classes. + + +------------------ + DepRes Interface +------------------ + +The *DepResInterface* offers the following functionality: + +* rule creation + + * load rules from text input, files and/or configured files (SIMPLE_RULES_FILE_) + + * *compile* rules after loading them + +* manage dependency rule pools (container for rules) + + * rule pools are kept in a stack-like data structure, which makes it easy + to "forget" the most recent rules (*discard_pool()* et al.) -API to roverlay functionality. Currently supports dependency resolution. + * *visualize* pools: convert rules into text (inverse of rule creation) + +* easy access to the resolver via *resolve()*, *can_resolve()* + and *cannot_resolve()* + +* "low-level" access to dependency resolution, e.g. *EbuildJobChannels*, is + also possible + + +Refer to in-code documentation on how to use this interface. +See the dependency resolution test suite for a usage example +(``tests.depres``, not part of the roverlay installation). +(The depres console is also a candidate for using this interface in future.) ========================= Implementation Overview @@ -3401,13 +3453,18 @@ for which an ebuild has been created. Manifest Creation +++++++++++++++++++ -<> +Two implementations for writing manifest files are available, *ebuild* and +*next*. + +The *ebuild* implementation calls the ``ebuild`` executable for each package +directory in a filtered environment where where FETCHCOMMAND and +RESUMECOMMAND are set to no-operation (/bin/true on systems that support it). -Manifest files are created by calling the *ebuild* executable for each -package directory in a filtered environment where FETCHCOMMAND and -RESUMECOMMAND are set to no-operation. The directories that contain the R -package files are passed in the PORTAGE_RO_DISTDIRS variable and DISTDIR -is set to `DISTFILES_ROOT`_/__tmp__. +*next* is an internal implementation that uses the +``roverlay.overlay.pkgdir.manifest`` module for creating Manifest files. +It falls back to *ebuild* when creating Manifest entries for imported ebuilds, +since roverlay does not support reading *SRC_URI* from ebuilds reliably (that +would require variable interpolation, e.g. for ``${PN}``). -----------------