1 |
commit: 0d79d130c27af4ba9676c9297639e064d18d9528 |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Sep 1 06:45:01 2011 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Sep 1 06:45:01 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=0d79d130 |
7 |
|
8 |
unmerge: never unmerge outside of EROOT |
9 |
|
10 |
--- |
11 |
pym/portage/dbapi/vartree.py | 9 ++++++++- |
12 |
1 files changed, 8 insertions(+), 1 deletions(-) |
13 |
|
14 |
diff --git a/pym/portage/dbapi/vartree.py b/pym/portage/dbapi/vartree.py |
15 |
index 1a38d42..0c0ed6a 100644 |
16 |
--- a/pym/portage/dbapi/vartree.py |
17 |
+++ b/pym/portage/dbapi/vartree.py |
18 |
@@ -1980,10 +1980,11 @@ class dblink(object): |
19 |
unmerge_desc["!mtime"] = _("!mtime") |
20 |
unmerge_desc["!obj"] = _("!obj") |
21 |
unmerge_desc["!sym"] = _("!sym") |
22 |
+ unmerge_desc["!prefix"] = _("!prefix") |
23 |
|
24 |
real_root = self.settings['ROOT'] |
25 |
real_root_len = len(real_root) - 1 |
26 |
- eroot_split_len = len(self.settings["EROOT"].split(os.sep)) - 1 |
27 |
+ eroot = self.settings["EROOT"] |
28 |
|
29 |
# These files are generated by emerge, so we need to remove |
30 |
# them when they are the only thing left in a directory. |
31 |
@@ -2023,6 +2024,12 @@ class dblink(object): |
32 |
|
33 |
file_data = pkgfiles[objkey] |
34 |
file_type = file_data[0] |
35 |
+ |
36 |
+ # don't try to unmerge the prefix offset itself |
37 |
+ if len(obj) <= len(eroot) or not obj.startswith(eroot): |
38 |
+ show_unmerge("---", unmerge_desc["!prefix"], file_type, obj) |
39 |
+ continue |
40 |
+ |
41 |
statobj = None |
42 |
try: |
43 |
statobj = os.stat(obj) |