| … | |
… | |
| 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. |
| 6 | Gentoo Linux Installer |
6 | Gentoo Linux Installer |
| 7 | |
7 | |
| 8 | $Id: GLIPortage.py,v 1.26 2006/01/03 02:02:12 agaffney Exp $ |
8 | $Id: GLIPortage.py,v 1.27 2006/01/03 02:31:38 agaffney Exp $ |
| 9 | """ |
9 | """ |
| 10 | |
10 | |
| 11 | import re |
11 | import re |
| 12 | import GLIUtility |
12 | import GLIUtility |
| 13 | from GLIException import GLIException |
13 | from GLIException import GLIException |
| … | |
… | |
| 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 | # The runtimedeps.py script generates a package install order that is *very* different from emerge itself |
36 | # The runtimedeps.py script generates a package install order that is *very* different from emerge itself |
| 37 | # tmppkglist = GLIUtility.spawn("python ../../runtimedeps.py " + self._chroot_dir + " " + pkg, return_output=True)[1].strip().split("\n") |
37 | # tmppkglist = GLIUtility.spawn("python ../../runtimedeps.py " + self._chroot_dir + " " + pkg, return_output=True)[1].strip().split("\n") |
| 38 | tmppkglist = [] |
38 | tmppkglist = [] |
| 39 | tmppkglist2 = GLIUtility.spawn("emerge -p " + pkg + r" 2>/dev/null | grep -e '^\[[a-z]' | cut -d ']' -f2 | sed -e 's:^ ::' -e 's: .\+$::'", chroot=self._chroot_dir, return_output=True)[1].strip().split("\n") |
39 | for tmppkg in GLIUtility.spawn("emerge -p " + pkg + r" 2>/dev/null | grep -e '^\[[a-z]' | cut -d ']' -f2 | sed -e 's:^ ::' -e 's: .\+$::'", chroot=self._chroot_dir, return_output=True)[1].strip().split("\n"): |
| 40 | if not tmppkglist2: |
|
|
| 41 | pkg = self.get_best_version_vdb(pkg) |
|
|
| 42 | if os.path.isdir("/var/db/pkg/" + pkg) and os.stat("/var/db/pkg/" + pkg + "/RDEPEND")[6] <= 1 and os.stat("/var/db/pkg/" + pkg + "/PDEPEND")[6] <= 1: |
|
|
| 43 | tmppkglist2 = [pkg] |
|
|
| 44 | for tmppkg in tmppkglist2: |
|
|
| 45 | if self._debug: self._logger.log("get_deps(): looking at " + tmppkg) |
40 | if self._debug: self._logger.log("get_deps(): looking at " + tmppkg) |
| 46 | if self.get_best_version_vdb("=" + tmppkg): |
41 | if self.get_best_version_vdb("=" + tmppkg): |
| 47 | if self._debug: self._logger.log("get_deps(): package " + tmppkg + " in host vdb...adding to tmppkglist") |
42 | if self._debug: self._logger.log("get_deps(): package " + tmppkg + " in host vdb...adding to tmppkglist") |
| 48 | tmppkglist.append(tmppkg) |
43 | tmppkglist.append(tmppkg) |
| 49 | if self._debug: self._logger.log("get_deps(): deplist for " + pkg + ": " + str(tmppkglist)) |
44 | if self._debug: self._logger.log("get_deps(): deplist for " + pkg + ": " + str(tmppkglist)) |