self.settings["icecream_toolchain"] = "/%s" % m.group(1)
def build(self):
+ assert self.pkg
+
+ # Create icecream toolchain.
self.create_icecream_toolchain()
try:
for pkg in reversed(self.packages):
packager = packages.BinaryPackager(self.pakfire, pkg, self)
packager()
+ self.log.info("")
+
+ self.log.info(_("Dumping created packages"))
+ repo = repository.RepositoryDir(self.pakfire, "build-%s" % self.build_id,
+ "", self.chrootPath("result"), type="binary")
+ self.pakfire.repos.add_repo(repo)
+
+ repo.update()
+ for line in repo.dump(long=True, filelist=True).splitlines():
+ self.log.info(" %s" % line)
+ self.log.info("")
+
+ self.pakfire.repos.rem_repo(repo)
+
+ return repo
def dist(self):
self.pkg.dist(self)
return hash("-".join(hashstr))
- def dump(self, short=False, long=False):
+ def dump(self, short=False, long=False, filelist=False):
if short:
return "%s.%s : %s" % (self.name, self.arch, self.summary)
items.append((caption, req))
caption = ""
+ # Append filelist if requested.
+ if filelist:
+ for file in self.filelist:
+ items.append((_("File"), file))
+
format = "%%-%ds : %%s" % (max([len(k) for k, v in items]))
s = []
Automatically convert the UNIX timestamp from self.build_time to
a humanly readable format.
"""
+ if self.build_time is None:
+ return _("Not set")
+
return "%s UTC" % datetime.datetime.utcfromtimestamp(self.build_time)
@property
def obsoletes(self):
return self.metadata.get("PKG_OBSOLETES", "").split()
+ @property
+ def filelist(self):
+ raise NotImplementedError
+
def extract(self, path, prefix=None):
raise NotImplementedError, "%s" % repr(self)
@property
def description(self):
- return self.solvable.get_description()
+ return self.solvable.get_description() or ""
@property
def groups(self):
def filename(self):
return self.solvable.get_filename()
+ @property
+ def filelist(self):
+ # XXX need to support filelist.
+ return ["%s does not support filelists, yet." % self.__class__.__name__,]
+
@property
def is_in_cache(self):
# Local files are always kinda cached.
self.__repos[repo.name] = repo
+ def rem_repo(self, repo):
+ """
+ Remove the given repository from the global repository set.
+ """
+ try:
+ del self.__repos[repo.name]
+ except KeyError:
+ logging.debug("Repository that was to be removed does not exist: %s" % repo.name)
+
def get_repo(self, name):
"""
Get the repository with the given name, if not available, return
assert self.index
self.index.clear()
+ def dump(self, long=False, filelist=False):
+ dumps = []
+ # Dump all package information of the packages in this repository.
+ for pkg in self:
+ dump = pkg.dump(long=long, filelist=filelist)
+ dumps.append(dump)
+
+ return "\n\n".join(dumps)
+
class RepositoryDummy(RepositoryFactory):
"""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-08-06 20:55+0200\n"
+"POT-Creation-Date: 2011-08-07 12:13+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
msgstr ""
#: ../pakfire/base.py:188 ../pakfire/base.py:202 ../pakfire/base.py:244
-#: ../pakfire/base.py:279 ../pakfire/base.py:312
+#: ../pakfire/base.py:284 ../pakfire/base.py:317
msgid "Nothing to do"
msgstr ""
msgid "There are no packages to install."
msgstr ""
-#: ../pakfire/base.py:508
+#: ../pakfire/base.py:513
msgid "Everything is fine."
msgstr ""
msgid "Extracting: %s (source)"
msgstr ""
+#: ../pakfire/builder.py:702
+msgid "Dumping created packages"
+msgstr ""
+
#: ../pakfire/cli.py:42
msgid "Pakfire command line interface."
msgstr ""
msgid "Requires"
msgstr ""
+#: ../pakfire/packages/base.py:125
+msgid "File"
+msgstr ""
+
+#: ../pakfire/packages/base.py:305
+msgid "Not set"
+msgstr ""
+
#: ../pakfire/repository/index.py:220
#, python-format
msgid ""