On Saturday 24 December 2005 02:18, Andrew Gaffney wrote: > Ricardo Loureiro wrote: > > -----BEGIN PGP SIGNED MESSAGE----- > > Hash: SHA1 > > > > Hi all, > > > > I'm the guy trying to put the portage tree in a relational database > > and making a portage-lite script to search and caculate deps from the > > database. I have currently some questions I couldn't find looking at > > the huge portage.py file: > > > > - - Where does portage saves information about installed files besides > > the world file, like versions installed and such? > > /var/db/pkg/ > > > - - I came across some dependancies like "useflag? ( || > > ( cat/package ) )". I can't find a logic in this and assume it's a > > mistake, or am I missing something? > > "|| ( cat/pkga cat/pkgb )" means that either pkga or pkgb will satisfy the > dependency.
If there is only one atom, there is no point. Ie. "foo/bar" is equivalent to "|| ( foo/bar )". It says "you can choose any out of this 1 and only option." > > - - What exactly are CDEPEND, PDEPEND and EAPI specified on the cache > > format? > > I don't think CDEPEND is used anymore. PDEPEND is post-depend...packages > that should be installed *after* the current one is emerged. I'm not sure > about EAPI. CDEPEND was never used. It has now been removed although it's forever taken it's place within the flat_list keys. The value itself is now always empty and nothing in portage ever accesses it. PDEPEND is just RDEPEND. The only difference is that RDEPEND is currently treated the same as DEPEND; that is, it is treated as if it is needed during building even though it's only a runtime dependency. Usually (always?) you'll that if PkgA PDEPENDs on PkgB then PkgB will DEPEND on PkgA. EAPI is new. It specifies the version of the environment that is provided to ebuilds. For example, if a new phase is provided the EAPI is bumped. Ebuilds can use the new features before a supporting portage version is widely used (EAPI-aware portages will mask ebuilds with EAPIs that it can't support). Portage on the other hand can adjust how it deals with ebuilds based on the EAPI that the ebuild requests. -- Jason Stubbs -- [email protected] mailing list
