1 |
Author: zmedico |
2 |
Date: 2008-07-02 08:21:20 +0000 (Wed, 02 Jul 2008) |
3 |
New Revision: 10892 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/_emerge/__init__.py |
7 |
main/trunk/pym/portage/__init__.py |
8 |
Log: |
9 |
Remove $PORTAGE_BUILDDIR locking from portage.pkgmerge() and use |
10 |
an instance of EbuildBuildDir instead. |
11 |
|
12 |
|
13 |
Modified: main/trunk/pym/_emerge/__init__.py |
14 |
=================================================================== |
15 |
--- main/trunk/pym/_emerge/__init__.py 2008-07-02 08:07:38 UTC (rev 10891) |
16 |
+++ main/trunk/pym/_emerge/__init__.py 2008-07-02 08:21:20 UTC (rev 10892) |
17 |
@@ -2124,12 +2124,18 @@ |
18 |
short_msg = "emerge: (%s of %s) %s Merge Binary" % \ |
19 |
(pkg_count.curval, pkg_count.maxval, pkg.cpv) |
20 |
logger.log(msg, short_msg=short_msg) |
21 |
- merge = BinpkgMerge(find_blockers=find_blockers, |
22 |
- ldpath_mtimes=ldpath_mtimes, pkg=pkg, pretend=opts.pretend, |
23 |
- pkg_path=pkg_path, settings=settings) |
24 |
- retval = merge.execute() |
25 |
- if retval != os.EX_OK: |
26 |
- return retval |
27 |
+ |
28 |
+ build_dir = EbuildBuildDir(pkg=pkg, settings=settings) |
29 |
+ try: |
30 |
+ build_dir.lock() |
31 |
+ merge = BinpkgMerge(find_blockers=find_blockers, |
32 |
+ ldpath_mtimes=ldpath_mtimes, pkg=pkg, pretend=opts.pretend, |
33 |
+ pkg_path=pkg_path, settings=settings) |
34 |
+ retval = merge.execute() |
35 |
+ if retval != os.EX_OK: |
36 |
+ return retval |
37 |
+ finally: |
38 |
+ build_dir.unlock() |
39 |
return os.EX_OK |
40 |
|
41 |
class BinpkgFetcher(Task): |
42 |
|
43 |
Modified: main/trunk/pym/portage/__init__.py |
44 |
=================================================================== |
45 |
--- main/trunk/pym/portage/__init__.py 2008-07-02 08:07:38 UTC (rev 10891) |
46 |
+++ main/trunk/pym/portage/__init__.py 2008-07-02 08:21:20 UTC (rev 10892) |
47 |
@@ -6589,8 +6589,6 @@ |
48 |
return 1 |
49 |
|
50 |
tbz2_lock = None |
51 |
- builddir_lock = None |
52 |
- catdir_lock = None |
53 |
mycat = None |
54 |
mypkg = None |
55 |
did_merge_phase = False |
56 |
@@ -6622,12 +6620,7 @@ |
57 |
catdir_lock = portage.locks.lockdir(catdir) |
58 |
portage.util.ensure_dirs(catdir, |
59 |
uid=portage_uid, gid=portage_gid, mode=070, mask=0) |
60 |
- builddir_lock = portage.locks.lockdir(builddir) |
61 |
try: |
62 |
- portage.locks.unlockdir(catdir_lock) |
63 |
- finally: |
64 |
- catdir_lock = None |
65 |
- try: |
66 |
shutil.rmtree(builddir) |
67 |
except (IOError, OSError), e: |
68 |
if e.errno != errno.ENOENT: |
69 |
@@ -6678,7 +6671,7 @@ |
70 |
mysettings.pop("PORTAGE_BINPKG_FILE", None) |
71 |
if tbz2_lock: |
72 |
portage.locks.unlockfile(tbz2_lock) |
73 |
- if builddir_lock: |
74 |
+ if True: |
75 |
if not did_merge_phase: |
76 |
# The merge phase handles this already. Callers don't know how |
77 |
# far this function got, so we have to call elog_process() here |
78 |
@@ -6692,21 +6685,6 @@ |
79 |
if e.errno != errno.ENOENT: |
80 |
raise |
81 |
del e |
82 |
- portage.locks.unlockdir(builddir_lock) |
83 |
- try: |
84 |
- if not catdir_lock: |
85 |
- # Lock catdir for removal if empty. |
86 |
- catdir_lock = portage.locks.lockdir(catdir) |
87 |
- finally: |
88 |
- if catdir_lock: |
89 |
- try: |
90 |
- os.rmdir(catdir) |
91 |
- except OSError, e: |
92 |
- if e.errno not in (errno.ENOENT, |
93 |
- errno.ENOTEMPTY, errno.EEXIST): |
94 |
- raise |
95 |
- del e |
96 |
- portage.locks.unlockdir(catdir_lock) |
97 |
|
98 |
def deprecated_profile_check(): |
99 |
if not os.access(DEPRECATED_PROFILE_FILE, os.R_OK): |
100 |
|
101 |
-- |
102 |
gentoo-commits@l.g.o mailing list |