From 0c3d5efb749a1fea36ce53828344f2c0c995f8e2 Mon Sep 17 00:00:00 2001 From: Steve Dibb Date: Mon, 8 Feb 2010 16:44:34 +0000 Subject: Cleanup some ineffeciencies git-svn-id: file:///var/svn/portage@84 3218660a-b0cf-4799-a991-8ddcc5b9e0f3 --- class.portage.ebuild.php | 45 +++++++++++++++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 8 deletions(-) diff --git a/class.portage.ebuild.php b/class.portage.ebuild.php index 3875f25..3f3bfb5 100644 --- a/class.portage.ebuild.php +++ b/class.portage.ebuild.php @@ -1,5 +1,7 @@ atom = trim($str); $this->arr_suffix = array('alpha', 'beta', 'rc', 'pre', 'p'); - $this->portage = '/usr/portage'; + $this->portage = $tree->getTree(); $this->cache = $this->portage.'/metadata/cache'; $this->has_version = $this->hasVersion(); - $this->filename = $this->portage."/".$this->getCategory()."/".$this->getPackageName()."/".$this->getFullPackageName().".ebuild"; + $this->dir = $this->portage."/".$this->getCategory()."/".$this->getPackageName(); + $this->manifest_filename = $this->dir."/Manifest"; + + $this->basename = $this->getFullPackageName().".ebuild"; + $this->filename = $this->dir."/".$this->basename; $this->filename_cache = $this->cache."/".$this->getCategory()."/".$this->getFullPackageName(); if(file_exists($this->filename_cache)) $this->cache_mtime = filemtime($this->filename_cache); - $this->arr_metadata_keys = array('depend', 'rdepend', 'slot', 'src_uri', 'restrict', 'homepage', 'license', 'description', 'keywords', 'inherited', 'iuse', 'cdepend', 'pdepend', 'provide', 'eapi', 'properties', 'defined_phases'); - - - // Run this first to check if it has a version or not -// $this->getPackageName(); - } public function __get($var) { @@ -165,6 +178,10 @@ case 'source': return $this->source = file_get_contents($this->filename); break; + + case 'sha1sum': + return $this->sha1sum = $this->getSha1Sum(); + break; } @@ -438,6 +455,18 @@ } + function getSha1Sum() { + + require_once 'class.portage.package.manifest.php'; + + $manifest = new PackageManifest($this->manifest_filename); + + $str = $manifest->getFilenameSha1Sum($this->basename); + + return $str; + + } + function hasVersion() { $str = $this->stripCategory(); -- cgit v1.2.3-65-gdbad