1 |
Author: zmedico |
2 |
Date: 2008-07-02 12:04:53 +0000 (Wed, 02 Jul 2008) |
3 |
New Revision: 10895 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/_emerge/__init__.py |
7 |
Log: |
8 |
Fix EbuildBuildDir so that it works properly with binary packages. |
9 |
|
10 |
|
11 |
Modified: main/trunk/pym/_emerge/__init__.py |
12 |
=================================================================== |
13 |
--- main/trunk/pym/_emerge/__init__.py 2008-07-02 11:33:55 UTC (rev 10894) |
14 |
+++ main/trunk/pym/_emerge/__init__.py 2008-07-02 12:04:53 UTC (rev 10895) |
15 |
@@ -1594,7 +1594,7 @@ |
16 |
|
17 |
class EbuildBuildDir(SlotObject): |
18 |
|
19 |
- __slots__ = ("pkg", "settings", |
20 |
+ __slots__ = ("dir_path", "pkg", "settings", |
21 |
"locked", "_catdir", "_lock_obj") |
22 |
|
23 |
def __init__(self, **kwargs): |
24 |
@@ -1611,17 +1611,21 @@ |
25 |
if self._lock_obj is not None: |
26 |
raise self.AlreadyLocked((self._lock_obj,)) |
27 |
|
28 |
- root_config = self.pkg.root_config |
29 |
- portdb = root_config.trees["porttree"].dbapi |
30 |
- ebuild_path = portdb.findname(self.pkg.cpv) |
31 |
- settings = self.settings |
32 |
- debug = settings.get("PORTAGE_DEBUG") == "1" |
33 |
- use_cache = 1 # always true |
34 |
+ dir_path = self.dir_path |
35 |
+ if dir_path is None: |
36 |
+ root_config = self.pkg.root_config |
37 |
+ portdb = root_config.trees["porttree"].dbapi |
38 |
+ ebuild_path = portdb.findname(self.pkg.cpv) |
39 |
+ settings = self.settings |
40 |
+ debug = settings.get("PORTAGE_DEBUG") == "1" |
41 |
+ use_cache = 1 # always true |
42 |
+ portage.doebuild_environment(ebuild_path, "setup", root_config.root, |
43 |
+ self.settings, debug, use_cache, portdb) |
44 |
+ dir_path = self.settings["PORTAGE_BUILDDIR"] |
45 |
|
46 |
- portage.doebuild_environment(ebuild_path, "setup", root_config.root, |
47 |
- self.settings, debug, use_cache, portdb) |
48 |
- catdir = os.path.dirname(settings["PORTAGE_BUILDDIR"]) |
49 |
+ catdir = os.path.dirname(dir_path) |
50 |
self._catdir = catdir |
51 |
+ |
52 |
portage.util.ensure_dirs(os.path.dirname(catdir), |
53 |
uid=portage.portage_uid, gid=portage.portage_gid, |
54 |
mode=070, mask=0) |
55 |
@@ -1631,8 +1635,7 @@ |
56 |
portage.util.ensure_dirs(catdir, |
57 |
gid=portage.portage_gid, |
58 |
mode=070, mask=0) |
59 |
- self._lock_obj = portage.locks.lockdir( |
60 |
- self.settings["PORTAGE_BUILDDIR"]) |
61 |
+ self._lock_obj = portage.locks.lockdir(dir_path) |
62 |
finally: |
63 |
self.locked = self._lock_obj is not None |
64 |
if catdir_lock is not None: |
65 |
@@ -2125,7 +2128,11 @@ |
66 |
(pkg_count.curval, pkg_count.maxval, pkg.cpv) |
67 |
logger.log(msg, short_msg=short_msg) |
68 |
|
69 |
- build_dir = EbuildBuildDir(pkg=pkg, settings=settings) |
70 |
+ dir_path = os.path.join(settings["PORTAGE_TMPDIR"], |
71 |
+ "portage", pkg.category, pkg.pf) |
72 |
+ build_dir = EbuildBuildDir(dir_path=dir_path, |
73 |
+ pkg=pkg, settings=settings) |
74 |
+ |
75 |
try: |
76 |
build_dir.lock() |
77 |
merge = BinpkgMerge(find_blockers=find_blockers, |
78 |
|
79 |
-- |
80 |
gentoo-commits@l.g.o mailing list |