Lines Matching full:ud
66 def supports(self, ud, d): argument
70 return ud.type in ['ccrc']
75 def urldata_init(self, ud, d): argument
79 ud.proto = "https"
80 if 'protocol' in ud.parm:
81 ud.proto = ud.parm['protocol']
82 if not ud.proto in ('http', 'https'):
83 raise ParameterError("Invalid protocol type", ud.url)
85 ud.vob = ''
86 if 'vob' in ud.parm:
87 ud.vob = ud.parm['vob']
89 msg = ud.url+": vob must be defined so the fetcher knows what to get."
92 if 'module' in ud.parm:
93 ud.module = ud.parm['module']
95 ud.module = ""
97 ud.basecmd = d.getVar("FETCHCMD_ccrc") or "/usr/bin/env cleartool || rcleartool"
102 ud.label = d.getVar("SRCREV", False)
103 ud.customspec = d.getVar("CCASE_CUSTOM_CONFIG_SPEC")
105 ud.server = "%s://%s%s" % (ud.proto, ud.host, ud.path)
107 ud.identifier = "clearcase-%s%s-%s" % ( ud.vob.replace("/", ""),
108 ud.module.replace("/", "."),
109 ud.label.replace("/", "."))
111 ud.viewname = "%s-view%s" % (ud.identifier, d.getVar("DATETIME", d, True))
112 ud.csname = "%s-config-spec" % (ud.identifier)
113 ud.ccasedir = os.path.join(d.getVar("DL_DIR"), ud.type)
114 ud.viewdir = os.path.join(ud.ccasedir, ud.viewname)
115 ud.configspecfile = os.path.join(ud.ccasedir, ud.csname)
116 ud.localfile = "%s.tar.gz" % (ud.identifier)
118 self.debug("host = %s" % ud.host)
119 self.debug("path = %s" % ud.path)
120 self.debug("server = %s" % ud.server)
121 self.debug("proto = %s" % ud.proto)
122 self.debug("type = %s" % ud.type)
123 self.debug("vob = %s" % ud.vob)
124 self.debug("module = %s" % ud.module)
125 self.debug("basecmd = %s" % ud.basecmd)
126 self.debug("label = %s" % ud.label)
127 self.debug("ccasedir = %s" % ud.ccasedir)
128 self.debug("viewdir = %s" % ud.viewdir)
129 self.debug("viewname = %s" % ud.viewname)
130 self.debug("configspecfile = %s" % ud.configspecfile)
131 self.debug("localfile = %s" % ud.localfile)
133 ud.localfile = os.path.join(d.getVar("DL_DIR"), ud.localfile)
135 def _build_ccase_command(self, ud, command): argument
137 Build up a commandline based on ud
142 if "rcleartool" in ud.basecmd:
143 options.append("-server %s" % ud.server)
145 basecmd = "%s %s" % (ud.basecmd, command)
148 if not "rcleartool" in ud.basecmd:
151 options.append("-tag %s" % ud.viewname)
152 options.append(ud.viewdir)
156 options.append("%s" % ud.viewdir)
160 options.append(ud.configspecfile)
169 def _write_configspec(self, ud, d): argument
171 Create config spec file (ud.configspecfile) for ccase view
181 config_spec += "element * %s\n" % ud.label
182 config_spec += "load %s%s\n" % (ud.vob, ud.module)
186 with open(ud.configspecfile, 'w') as f:
189 def _remove_view(self, ud, d): argument
190 if os.path.exists(ud.viewdir):
191 cmd = self._build_ccase_command(ud, 'rmview');
192 logger.info("cleaning up [VOB=%s label=%s view=%s]", ud.vob, ud.label, ud.viewname)
193 bb.fetch2.check_network_access(d, cmd, ud.url)
194 output = runfetchcmd(cmd, d, workdir=ud.ccasedir)
197 def need_update(self, ud, d): argument
198 if ("LATEST" in ud.label) or (ud.customspec and "LATEST" in ud.customspec):
199 ud.identifier += "-%s" % d.getVar("DATETIME",d, True)
201 if os.path.exists(ud.localpath):
208 def sortable_revision(self, ud, d, name): argument
209 return False, ud.identifier
211 def download(self, ud, d): argument
215 bb.utils.mkdirhier(ud.ccasedir)
216 self._write_configspec(ud, d)
217 cmd = self._build_ccase_command(ud, 'mkview')
218 logger.info("creating view [VOB=%s label=%s view=%s]", ud.vob, ud.label, ud.viewname)
219 bb.fetch2.check_network_access(d, cmd, ud.url)
229 cmd = self._build_ccase_command(ud, 'setcs');
230 logger.info("fetching data [VOB=%s label=%s view=%s]", ud.vob, ud.label, ud.viewname)
231 bb.fetch2.check_network_access(d, cmd, ud.url)
232 output = runfetchcmd(cmd, d, workdir=ud.viewdir)
236 shutil.copyfile(ud.configspecfile, os.path.join(ud.viewdir, ud.csname))
240 … runfetchcmd('tar -czf "%s" .' % (ud.localpath), d, cleanup = [ud.localpath], workdir = ud.viewdir)
243 self.clean(ud, d);
245 def clean(self, ud, d): argument
246 self._remove_view(ud, d)
247 bb.utils.remove(ud.configspecfile)