Lines Matching full:ud
24 def supports(self, ud, d): argument
28 return ud.type in ['svn']
30 def urldata_init(self, ud, d): argument
34 if not "module" in ud.parm:
35 raise MissingParameterError('module', ud.url)
37 … ud.basecmd = d.getVar("FETCHCMD_svn") or "/usr/bin/env svn --non-interactive --trust-server-cert"
39 ud.module = ud.parm["module"]
41 if not "path_spec" in ud.parm:
42 ud.path_spec = ud.module
44 ud.path_spec = ud.parm["path_spec"]
48 relpath = self._strip_leading_slashes(ud.path)
49 ud.pkgdir = os.path.join(svndir, ud.host, relpath)
50 ud.moddir = os.path.join(ud.pkgdir, ud.path_spec)
53 ud.svnlock = os.path.join(ud.pkgdir, "svn.lock")
55 ud.setup_revisions(d)
57 if 'rev' in ud.parm:
58 ud.revision = ud.parm['rev']
61 ud.pegrevision = True
62 if 'nopegrevision' in ud.parm:
63 ud.pegrevision = False
65 …ud.localfile = d.expand('%s_%s_%s_%s_%s.tar.gz' % (ud.module.replace('/', '.'), ud.host, ud.path.r…
67 def _buildsvncommand(self, ud, d, command): argument
69 Build up an svn commandline based on ud
73 proto = ud.parm.get('protocol', 'svn')
76 if proto == "svn+ssh" and "ssh" in ud.parm:
77 svn_ssh = ud.parm["ssh"]
79 svnroot = ud.host + ud.path
85 if ud.user:
86 options.append("--username %s" % ud.user)
88 if ud.pswd:
89 options.append("--password %s" % ud.pswd)
92 … svncmd = "%s info %s %s://%s/%s/" % (ud.basecmd, " ".join(options), proto, svnroot, ud.module)
94 …ncmd = "%s log --limit 1 --quiet %s %s://%s/%s/" % (ud.basecmd, " ".join(options), proto, svnroot,…
101 if not ("externals" in ud.parm and ud.parm["externals"] == "allowed"):
104 if ud.revision:
105 options.append("-r %s" % ud.revision)
106 if ud.pegrevision:
107 suffix = "@%s" % (ud.revision)
110 transportuser = ud.parm.get("transportuser", "")
111 … = "%s co %s %s://%s%s/%s%s %s" % (ud.basecmd, " ".join(options), proto, transportuser, svnroot, u…
113 svncmd = "%s update %s" % (ud.basecmd, " ".join(options))
115 raise FetchError("Invalid svn command %s" % command, ud.url)
122 def download(self, ud, d): argument
125 logger.debug2("Fetch: checking for module directory '" + ud.moddir + "'")
127 lf = bb.utils.lockfile(ud.svnlock)
130 if os.access(os.path.join(ud.moddir, '.svn'), os.R_OK):
131 svncmd = self._buildsvncommand(ud, d, "update")
132 logger.info("Update " + ud.url)
135 runfetchcmd(ud.basecmd + " upgrade", d, workdir=ud.moddir)
139 bb.fetch2.check_network_access(d, svncmd, ud.url)
140 runfetchcmd(svncmd, d, workdir=ud.moddir)
142 svncmd = self._buildsvncommand(ud, d, "fetch")
143 logger.info("Fetch " + ud.url)
145 bb.utils.mkdirhier(ud.pkgdir)
147 bb.fetch2.check_network_access(d, svncmd, ud.url)
148 runfetchcmd(svncmd, d, workdir=ud.pkgdir)
150 if not ("externals" in ud.parm and ud.parm["externals"] == "nowarn"):
152 output = runfetchcmd("svn propget svn:externals || true", d, workdir=ud.moddir)
155 bb.warn("%s contains svn:externals." % ud.url)
162 scmdata = ud.parm.get("scmdata", "")
169 runfetchcmd("tar %s -czf %s %s" % (tar_flags, ud.localpath, ud.path_spec), d,
170 cleanup=[ud.localpath], workdir=ud.pkgdir)
174 def clean(self, ud, d): argument
177 bb.utils.remove(ud.localpath)
178 bb.utils.remove(ud.moddir, True)
184 def _revision_key(self, ud, d, name): argument
188 return "svn:" + ud.moddir
190 def _latest_revision(self, ud, d, name): argument
194 bb.fetch2.check_network_access(d, self._buildsvncommand(ud, d, "log1"), ud.url)
196 output = runfetchcmd("LANG=C LC_ALL=C " + self._buildsvncommand(ud, d, "log1"), d, True)
204 def sortable_revision(self, ud, d, name): argument
209 return False, self._build_revision(ud, d)
211 def _build_revision(self, ud, d): argument
212 return ud.revision