Gentoo Archives: gentoo-commits

From: "Zac Medico (zmedico)" <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] portage r14203 - in main/trunk/pym: _emerge portage portage/dbapi
Date: Sat, 05 Sep 2009 22:25:08
Message-Id: E1Mk3gv-0006gD-QJ@stork.gentoo.org
1 Author: zmedico
2 Date: 2009-09-05 22:25:05 +0000 (Sat, 05 Sep 2009)
3 New Revision: 14203
4
5 Modified:
6 main/trunk/pym/_emerge/main.py
7 main/trunk/pym/portage/__init__.py
8 main/trunk/pym/portage/dbapi/vartree.py
9 Log:
10 Add a vardbapi._pkgs_changed attribute to use instead of PORTAGE_COUNTER_HASH
11 for emerge to check whether any packages have been added/removed. This is an
12 optimization, since vardbapi._counter_hash() can be somewhat slow on embedded
13 systems. Thanks to Marat Radchenko <slonopotamusorama@×××××.com> for
14 reporting.
15
16
17 Modified: main/trunk/pym/_emerge/main.py
18 ===================================================================
19 --- main/trunk/pym/_emerge/main.py 2009-09-05 22:06:46 UTC (rev 14202)
20 +++ main/trunk/pym/_emerge/main.py 2009-09-05 22:25:05 UTC (rev 14203)
21 @@ -314,9 +314,7 @@
22
23 _flush_elog_mod_echo()
24
25 - counter_hash = settings.get("PORTAGE_COUNTER_HASH")
26 - if "--pretend" in myopts or (counter_hash is not None and \
27 - counter_hash == vardbapi._counter_hash()):
28 + if not vardbapi._pkgs_changed:
29 display_news_notification(root_config, myopts)
30 # If vdb state has not changed then there's nothing else to do.
31 sys.exit(retval)
32 @@ -1075,11 +1073,6 @@
33 mysettings = trees[myroot]["vartree"].settings
34 mysettings.unlock()
35 adjust_config(myopts, mysettings)
36 - if '--pretend' not in myopts and myaction in \
37 - (None, 'clean', 'depclean', 'prune', 'unmerge'):
38 - mysettings["PORTAGE_COUNTER_HASH"] = \
39 - trees[myroot]["vartree"].dbapi._counter_hash()
40 - mysettings.backup_changes("PORTAGE_COUNTER_HASH")
41 mysettings.lock()
42 del myroot, mysettings
43
44
45 Modified: main/trunk/pym/portage/__init__.py
46 ===================================================================
47 --- main/trunk/pym/portage/__init__.py 2009-09-05 22:06:46 UTC (rev 14202)
48 +++ main/trunk/pym/portage/__init__.py 2009-09-05 22:25:05 UTC (rev 14203)
49 @@ -1438,7 +1438,6 @@
50 "GENTOO_MIRRORS", "NOCONFMEM", "O",
51 "PORTAGE_BACKGROUND",
52 "PORTAGE_BINHOST_CHUNKSIZE", "PORTAGE_CALLER",
53 - "PORTAGE_COUNTER_HASH",
54 "PORTAGE_ELOG_CLASSES",
55 "PORTAGE_ELOG_MAILFROM", "PORTAGE_ELOG_MAILSUBJECT",
56 "PORTAGE_ELOG_MAILURI", "PORTAGE_ELOG_SYSTEM",
57
58 Modified: main/trunk/pym/portage/dbapi/vartree.py
59 ===================================================================
60 --- main/trunk/pym/portage/dbapi/vartree.py 2009-09-05 22:06:46 UTC (rev 14202)
61 +++ main/trunk/pym/portage/dbapi/vartree.py 2009-09-05 22:25:05 UTC (rev 14203)
62 @@ -790,6 +790,10 @@
63 self.root = _unicode_decode(root,
64 encoding=_encodings['content'], errors='strict')
65
66 + # Used by emerge to check whether any packages
67 + # have been added or removed.
68 + self._pkgs_changed = False
69 +
70 #cache for category directory mtimes
71 self.mtdircache = {}
72
73 @@ -1041,9 +1045,11 @@
74 self._aux_cache_obj = None
75
76 def _add(self, pkg_dblink):
77 + self._pkgs_changed = True
78 self._clear_pkg_cache(pkg_dblink)
79
80 def _remove(self, pkg_dblink):
81 + self._pkgs_changed = True
82 self._clear_pkg_cache(pkg_dblink)
83
84 def _clear_pkg_cache(self, pkg_dblink):