1 |
commit: 771754c749e09f8722324304a9399e67bbf9aafa |
2 |
Author: André Erdmann <dywi <AT> mailerd <DOT> de> |
3 |
AuthorDate: Fri Aug 30 14:46:41 2013 +0000 |
4 |
Commit: André Erdmann <dywi <AT> mailerd <DOT> de> |
5 |
CommitDate: Fri Aug 30 14:46:41 2013 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=771754c7 |
7 |
|
8 |
distroot: handle_file_collision() |
9 |
|
10 |
This commit adds initial support for handling file collisions by simply ignoring |
11 |
subsequent files with the same name (and screaming to stdout). |
12 |
|
13 |
TODO notes: |
14 |
* re-use volatile entries when creating manifest files |
15 |
* (could) resolve file collisions with automatic renaming |
16 |
|
17 |
--- |
18 |
roverlay/overlay/pkgdir/distroot/distroot.py | 21 +++++++++++++++++++++ |
19 |
1 file changed, 21 insertions(+) |
20 |
|
21 |
diff --git a/roverlay/overlay/pkgdir/distroot/distroot.py b/roverlay/overlay/pkgdir/distroot/distroot.py |
22 |
index 6deb06f..96c6894 100644 |
23 |
--- a/roverlay/overlay/pkgdir/distroot/distroot.py |
24 |
+++ b/roverlay/overlay/pkgdir/distroot/distroot.py |
25 |
@@ -608,4 +608,25 @@ class PersistentDistroot ( DistrootBase ): |
26 |
return tuple ( get_int ( s ) for s in strategy ) |
27 |
# --- end of _get_int_strategy (...) --- |
28 |
|
29 |
+ def handle_file_collision ( self, package_dir, package_info ): |
30 |
+ if self.distmap.get_distfile_slot ( package_dir, package_info ): |
31 |
+ return True |
32 |
+ else: |
33 |
+ # TODO/COULDFIX: |
34 |
+ # resolve conflict instead of ignoring filtering |
35 |
+ # |
36 |
+ |
37 |
+ # *** DEBUG CODE *** |
38 |
+ vartable = package_info.create_vartable ( package_dir.get_upper().name ) |
39 |
+ print ( |
40 |
+ "dropping {P} from {CATEGORY}/{PN}".format ( **vartable ) |
41 |
+ ) |
42 |
+ self.logger.info ( |
43 |
+ "dropping {!r}: distmap file collision.".format ( package_info ) |
44 |
+ ) |
45 |
+ # *** END DEBUG CODE *** |
46 |
+ |
47 |
+ return False |
48 |
+ # --- end of handle_file_collision (...) --- |
49 |
+ |
50 |
# --- end of PersistentDistroot --- |