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/
Date: Mon, 25 Jun 2012 18:20:30
Message-Id: 1340647927.edd8719acc718698e597ff4cebe52aa520237d17.dywi@gentoo
1 commit: edd8719acc718698e597ff4cebe52aa520237d17
2 Author: André Erdmann <dywi <AT> mailerd <DOT> de>
3 AuthorDate: Mon Jun 25 18:12:07 2012 +0000
4 Commit: André Erdmann <dywi <AT> mailerd <DOT> de>
5 CommitDate: Mon Jun 25 18:12:07 2012 +0000
6 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/R_overlay.git;a=commit;h=edd8719a
7
8 extend PackageInfo
9
10 ---
11 roverlay/packageinfo.py | 80 +++++++++++++++++++++++++++++++---------------
12 1 files changed, 54 insertions(+), 26 deletions(-)
13
14 diff --git a/roverlay/packageinfo.py b/roverlay/packageinfo.py
15 index 712b5a6..fdce322 100644
16 --- a/roverlay/packageinfo.py
17 +++ b/roverlay/packageinfo.py
18 @@ -136,19 +136,22 @@ class PackageInfo ( object ):
19 return self._info [key_low]
20
21 # 'virtual' keys - calculate result
22 - elif key_low == 'distdir':
23 - if 'package_dir' in self._info:
24 - return self._info ['package_dir']
25 -
26 - elif 'package_file' in self._info:
27 - return os.path.dirname ( self._info ['package_file'] )
28 + elif key_low == 'name':
29 + # no special name, using package_name
30 + return self._info ['package_name']
31 +
32 + elif key_low == 'package_file':
33 + # assuming that origin is in self._info
34 + return os.path.join (
35 + self._info ['origin'].distdir,
36 + self._info ['package_filename']
37 + )
38
39 - #elif 'origin' in self._info:
40 + elif key_low == 'distdir':
41 + if 'origin' in self._info:
42 + return self._info ['origin'].distdir
43 else:
44 - return os.path.join (
45 - config.get_or_fail ( ['DISTFILES', 'root' ] ),
46 - self._info ['origin']
47 - )
48 + return os.path.dirname ( self._info ['package_file'] )
49
50 elif key_low == 'has_suggests':
51 if 'has_suggests' in self._info:
52 @@ -164,9 +167,17 @@ class PackageInfo ( object ):
53 # comment from ebuild:
54 ## calculate SRC_URI using self._data ['origin'],
55 ## either here or in eclass
56 - return "http://TODO!!!/" + self._info ['package_filename']
57 +
58 #return "**packageinfo needs information from sync module!"
59
60 + if 'origin' in self._info:
61 + return self._info ['origin'].get_src_uri (
62 + self._info ['package_filename']
63 + )
64 + else:
65 + return "http://localhost/R-packages/" + \
66 + self._info ['package_filename']
67 +
68
69 # fallback
70 if do_fallback:
71 @@ -228,6 +239,9 @@ class PackageInfo ( object ):
72 elif key == 'filepath':
73 self._use_filepath ( value )
74
75 + elif key == 'filename':
76 + self._use_filename ( value )
77 +
78 elif key == 'origin':
79 self ['origin'] = value
80
81 @@ -243,16 +257,13 @@ class PackageInfo ( object ):
82 self._update_lock.release()
83 # --- end of update (**kw) ---
84
85 - def _use_filepath ( self, _filepath ):
86 + def _use_filename ( self, _filename ):
87 """auxiliary method for update(**kw)
88
89 arguments:
90 - * _filepath --
91 + * _filename --
92 """
93 -
94 - filepath = os.path.abspath ( _filepath )
95 -
96 - filename_with_ext = os.path.basename ( filepath )
97 + filename_with_ext = _filename
98
99 # remove .tar.gz .tar.bz2 etc.
100 filename = PackageInfo.PKGSUFFIX_REGEX.sub ( '', filename_with_ext )
101 @@ -281,25 +292,42 @@ class PackageInfo ( object ):
102 )
103 raise
104
105 -
106 -
107 # using package name as name (unless modified later),
108 # using pkg_version for the ebuild version
109 self ['name'] = package_name
110 self ['ebuild_verstr'] = version_str
111
112 -
113 # for DescriptionReader
114 - self ['package_file'] = filepath
115 self ['package_name'] = package_name
116
117 self ['package_filename'] = filename_with_ext
118 + # --- end of _use_filename (...) ---
119
120 - # keys never used (FIXME remove or use)
121 - #self ['filename'] = filename
122 - #self ['filepath'] = filepath
123 - #self ['package_version'] = package_version
124 + def _use_filepath ( self, _filepath ):
125 + """auxiliary method for update(**kw)
126 +
127 + arguments:
128 + * _filepath --
129 + """
130 + LOGGER.info (
131 + 'Please note that _use_filepath is only meant for testing.'
132 + )
133 + filepath = os.path.abspath ( _filepath )
134 + self ['package_file'] = filepath
135 + self._use_filename ( os.path.basename ( filepath ) )
136 # --- end of _use_filepath (...) ---
137
138 def _use_depres_result ( self, result ):
139 + """auxiliary method for update(**kw)
140 +
141 + arguments:
142 + * result --
143 + """
144 self ['has_suggests'] = result [2]
145 + # --- end of _use_depres_result (...) ---
146 +
147 + def __str__ ( self ):
148 + return "<PackageInfo for %s>" % self.get (
149 + 'package_file', fallback_value='[unknown file]', do_fallback=True
150 + )
151 + # --- end of __str__ (...) ---