Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r10892 - in main/trunk/pym: _emerge portage
Date: Wed, 02 Jul 2008 08:21:27
Message-Id: E1KDxab-0000YD-LJ@stork.gentoo.org
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