+ label = rp['Label']
+ codename = rp['Codename']
+ labelcode = '_'.join([rp['Label'], rp['Codename']])
+
+ # cleanup
+ release_file.close()
+
+ return {'baseurl': baseurl, 'archs': archs, 'components': components,
+ 'codename': codename, 'label': label, 'labelcode': labelcode}
+
+
+ def checkOfficialRelease(self, rurl, force_update=False):
+ ri = self.getReleaseInfo(rurl, force_update=force_update)
+
+ # try with a i386 packages file, since that should be the most common
+ # one
+ # loop over all components
+ for c in ri['components']:
+ pkgsurl = self.buildPkgsURL(ri['baseurl'], c, 'i386')
+ packages_file = self.cache.get(pkgsurl,
+ update=force_update)
+
+ # now check every package, whether we also have it in the DB already
+ for st in deb822.Packages.iter_paragraphs(packages_file):
+ pkg = st['Package']
+ if self.has_section(pkg):
+ # store the label code
+ self.appendUniqueCSV(pkg, "releases", ri['labelcode'])
+ # and the associated component
+ self.ensureUnique(pkg, "%s component" % ri['labelcode'], c)
+ # and version
+ self.set(pkg, "%s version" % ri['labelcode'], st['Version'])
+
+ # cleanup
+ packages_file.close()
+
+
+ def buildPkgsURL(self, baseurl, component, arch):
+ return '/'.join([baseurl, component, 'binary-' + arch, 'Packages.bz2'])
+
+
+ def importRelease(self, rurl, force_update=False):
+
+ ri = self.getReleaseInfo(rurl, force_update=force_update)