/[gli]/branches/overhaul/src/GLIPortage.py
Gentoo

Diff of /branches/overhaul/src/GLIPortage.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1192 Revision 1196
3# This source code is distributed under the terms of version 2 of the GNU 3# This source code is distributed under the terms of version 2 of the GNU
4# General Public License as published by the Free Software Foundation, a copy 4# General Public License as published by the Free Software Foundation, a copy
5# of which can be found in the main directory of this project. 5# of which can be found in the main directory of this project.
6Gentoo Linux Installer 6Gentoo Linux Installer
7 7
8$Id: GLIPortage.py,v 1.9 2005/12/26 04:23:38 agaffney Exp $ 8$Id: GLIPortage.py,v 1.12 2005/12/26 19:26:26 agaffney Exp $
9""" 9"""
10 10
11import re 11import re
12import GLIUtility 12import GLIUtility
13import GLIException 13import GLIException
31# del(os.environ['ROOT']) 31# del(os.environ['ROOT'])
32 tmppkglist = GLIUtility.spawn("emerge -p " + pkgs + r" | grep -e '^\[[a-z]' | cut -d ']' -f2 | sed -e 's:^ ::' -e 's: .\+$::'", chroot=self._chroot_dir, return_output=True)[1].strip().split("\n") 32 tmppkglist = GLIUtility.spawn("emerge -p " + pkgs + r" | grep -e '^\[[a-z]' | cut -d ']' -f2 | sed -e 's:^ ::' -e 's: .\+$::'", chroot=self._chroot_dir, return_output=True)[1].strip().split("\n")
33# os.environ['ROOT'] = self._chroot_dir 33# os.environ['ROOT'] = self._chroot_dir
34 else: 34 else:
35 if self._debug: self._logger.log("get_deps(): grabbing binary deps") 35 if self._debug: self._logger.log("get_deps(): grabbing binary deps")
36 tmppkglist = GLIUtility.spawn("env ROOT='" + self._chroot_dir + "' python ../../runtimedeps.py " + pkg, return_output=True)[1].strip().split("\n") 36 tmppkglist = GLIUtility.spawn("python " + self._chroot_dir + " ../../runtimedeps.py " + pkg, return_output=True)[1].strip().split("\n")
37 if self._debug: self._logger.log("get_deps(): deplist for " + pkg + ": " + str(tmppkglist)) 37 if self._debug: self._logger.log("get_deps(): deplist for " + pkg + ": " + str(tmppkglist))
38 for tmppkg in tmppkglist: 38 for tmppkg in tmppkglist:
39 if self._debug: self._logger.log("get_deps(): checking to see if " + tmppkg + " is already in pkglist") 39 if self._debug: self._logger.log("get_deps(): checking to see if " + tmppkg + " is already in pkglist")
40 if not tmppkg in pkglist: 40 if not tmppkg in pkglist and not self.get_best_version_vdb_chroot("=" + tmppkg):
41 if self._debug: self._logger.log("get_deps(): adding " + tmppkg + " to pkglist") 41 if self._debug: self._logger.log("get_deps(): adding " + tmppkg + " to pkglist")
42 pkglist.append(tmppkg) 42 pkglist.append(tmppkg)
43 if self._debug: self._logger.log("get_deps(): pkglist is " + str(pkglist)) 43 if self._debug: self._logger.log("get_deps(): pkglist is " + str(pkglist))
44 return pkglist 44 return pkglist
45 45
114 if not GLIUtility.exitsuccess(GLIUtility.spawn("rm -rf " + self._chroot_dir + image_dir)): 114 if not GLIUtility.exitsuccess(GLIUtility.spawn("rm -rf " + self._chroot_dir + image_dir)):
115 raise GLIException("CopyPackageToChrootError", 'fatal', 'copy_pkg_to_chroot', "Could not remove + " + image_dir + " for " + package) 115 raise GLIException("CopyPackageToChrootError", 'fatal', 'copy_pkg_to_chroot', "Could not remove + " + image_dir + " for " + package)
116 116
117 def add_pkg_to_world(self, package): 117 def add_pkg_to_world(self, package):
118 if package.find("/") == -1: 118 if package.find("/") == -1:
119 package = GLIUtility.spawn("portageq best_version / " + package, chroot=self._chroot_dir, return_output=True)[1].strip() 119 package = self.get_best_version_vdb_chroot(package)
120 if not package: return False 120 if not package: return False
121 expr = re.compile('^(.+?)(-\d.+)?$') 121 expr = re.compile('^(.+?)(-\d.+)?$')
122 res = expr.match(package) 122 res = expr.match(package)
123 if res: 123 if res:
124 GLIUtility.spawn("echo " + res.group(1) + " >> " + self._chroot_dir + "/var/lib/portage/world") 124 GLIUtility.spawn("echo " + res.group(1) + " >> " + self._chroot_dir + "/var/lib/portage/world")
125 125
126 def get_best_version_vdb(self, package): 126 def get_best_version_vdb(self, package):
127 return GLIUtility.spawn("portageq best_version / " + package, return_output=True)[1].strip() 127 return GLIUtility.spawn("portageq best_version / " + package, return_output=True)[1].strip()
128 128
129 def get_best_version_vdb_chroot(self, package):
130 return GLIUtility.spawn("portageq best_version / " + package, chroot=self._chroot_dir, return_output=True)[1].strip()
131
129# def get_best_version_tree(self, package): 132# def get_best_version_tree(self, package):
130# return portage.best(tree.match(package)) 133# return portage.best(tree.match(package))

Legend:
Removed from v.1192  
changed lines
  Added in v.1196

  ViewVC Help
Powered by ViewVC 1.1.20