Gentoo Archives: gentoo-commits

From: "André Erdmann" <dywi@×××××××.de>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/R_overlay:master commit in: roverlay/overlay/pkgdir/distroot/
Date: Mon, 02 Sep 2013 08:44:36
Message-Id: 1378111404.441fcf253606e593a7e3b253278a75cfd1ae9d1c.dywi@gentoo
1 commit: 441fcf253606e593a7e3b253278a75cfd1ae9d1c
2 Author: André Erdmann <dywi <AT> mailerd <DOT> de>
3 AuthorDate: Mon Sep 2 08:43:24 2013 +0000
4 Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
5 CommitDate: Mon Sep 2 08:43:24 2013 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=441fcf25
7
8 distroot, file collisions: rename distfiles
9
10 ---
11 roverlay/overlay/pkgdir/distroot/distroot.py | 31 ++++++++++++++--------------
12 1 file changed, 16 insertions(+), 15 deletions(-)
13
14 diff --git a/roverlay/overlay/pkgdir/distroot/distroot.py b/roverlay/overlay/pkgdir/distroot/distroot.py
15 index 2ec43ec..c866bea 100644
16 --- a/roverlay/overlay/pkgdir/distroot/distroot.py
17 +++ b/roverlay/overlay/pkgdir/distroot/distroot.py
18 @@ -612,22 +612,23 @@ class PersistentDistroot ( DistrootBase ):
19 if self.distmap.get_distfile_slot ( package_dir, package_info ):
20 return True
21 else:
22 - # TODO/COULDFIX:
23 - # resolve conflict instead of simply ignoring files
24 - # (-> e.g. rename files)
25 - #
26 + distfile = package_info.get_src_uri_dest().rpartition ( os.sep )
27 + rename_prefix = package_info ['repo_name'].lower() + '_'
28
29 - # *** DEBUG CODE ***
30 - vartable = package_info.create_vartable ( package_dir.get_upper().name )
31 - print (
32 - "dropping {P} from {CATEGORY}/{PN}".format ( **vartable )
33 - )
34 - self.logger.info (
35 - "dropping {!r}: distmap file collision.".format ( package_info )
36 - )
37 - # *** END DEBUG CODE ***
38 -
39 - return False
40 + if distfile[2][:len(rename_prefix)] == rename_prefix:
41 + # already prefixed with the repo name
42 + return False
43 + else:
44 + package_info.update (
45 + src_uri_dest=(
46 + distfile[0] + distfile[1] + rename_prefix + distfile[2]
47 + )
48 + )
49 + #return self.distmap.get_distfile_slot(...)
50 + if self.distmap.get_distfile_slot ( package_dir, package_info ):
51 + return True
52 + else:
53 + return False
54 # --- end of handle_file_collision (...) ---
55
56 # --- end of PersistentDistroot ---