Lines Matching defs:self
370 def __init__(self, pkg: str):
372 super(Package, self).__init__()
374 self.package = pkg
375 self.exception = None # type: Optional[Exception]
378 self.pkg_def = Package.packages[pkg]
379 self.pkg_def["__package"] = self
381 def run(self) -> None:
385 self._update_rev()
393 for deppkg in self.pkg_def.get("depends", [])
405 {self._df_copycmds()}
406 {self._df_build()}
413 tag = Docker.tagname(self._stagename(), dockerfile)
414 self.pkg_def["__tag"] = tag
419 Docker.build(self.package, tag, dockerfile)
421 self.exception = e
471 def _check_gerrit_topic(self) -> bool:
474 if not self.package.startswith("openbmc/"):
476 if gerrit_project == self.package and gerrit_rev:
485 f'https://gerrit.openbmc.org/changes/?q=status:open+project:{self.package}+topic:"{gerrit_topic_escape}"'
495 f"{self.package} has more than 1 commit under {gerrit_topic}; using lastest upstream: {len(commits)}",
511 f"Using {commit} from {gerrit_topic} for {self.package}",
514 self.pkg_def["rev"] = commit
519 f"Error loading topic {gerrit_topic} for {self.package}: ",
525 def _update_rev(self) -> None:
528 if "rev" in self.pkg_def:
531 if self._check_gerrit_topic():
535 if gerrit_project == self.package and gerrit_rev:
537 f"Found Gerrit revision for {self.package}: {gerrit_rev}",
540 self.pkg_def["rev"] = gerrit_rev
545 "ls-remote", "--heads", f"https://github.com/{self.package}"
553 self.pkg_def["rev"] = line.split()[0]
557 ) and "rev" not in self.pkg_def:
558 self.pkg_def["rev"] = line.split()[0]
561 def _stagename(self) -> str:
563 return self.package.replace("/", "-").lower()
565 def _url(self) -> str:
567 rev = self.pkg_def["rev"]
570 if "url" in self.pkg_def:
571 return self.pkg_def["url"](self.package, rev)
574 return f"https://github.com/{self.package}/archive/{rev}.tar.gz"
576 def _cmd_download(self) -> str:
579 url = self._url()
582 f"Unhandled download type for {self.package}: {url}"
593 f"Unknown tar flags needed for {self.package}: {url}"
598 def _cmd_cd_srcdir(self) -> str:
600 return f"cd {self.package.split('/')[-1]}*"
602 def _df_copycmds(self) -> str:
605 if "depends" not in self.pkg_def:
607 return Package.df_copycmds_set(self.pkg_def["depends"])
627 def _df_build(self) -> str:
633 result = f"RUN {self._cmd_download()} && {self._cmd_cd_srcdir()} && "
636 custom_post_dl = self.pkg_def.get("custom_post_dl")
641 build_type = self.pkg_def["build_type"]
643 result += self._cmd_build_autoconf()
645 result += self._cmd_build_autogen()
647 result += self._cmd_build_cmake()
649 result += self._cmd_build_custom()
651 result += self._cmd_build_make()
653 result += self._cmd_build_meson()
656 f"Unhandled build type for {self.package}: {build_type}"
660 custom_post_install = self.pkg_def.get("custom_post_install")
666 def _cmd_build_autoconf(self) -> str:
667 options = " ".join(self.pkg_def.get("config_flags", []))
668 env = " ".join(self.pkg_def.get("config_env", []))
674 def _cmd_build_autogen(self) -> str:
675 options = " ".join(self.pkg_def.get("config_flags", []))
676 env = " ".join(self.pkg_def.get("config_env", []))
681 def _cmd_build_cmake(self) -> str:
682 options = " ".join(self.pkg_def.get("config_flags", []))
683 env = " ".join(self.pkg_def.get("config_env", []))
691 def _cmd_build_custom(self) -> str:
692 return " && ".join(self.pkg_def.get("build_steps", []))
694 def _cmd_build_make(self) -> str:
697 def _cmd_build_meson(self) -> str:
698 options = " ".join(self.pkg_def.get("config_flags", []))
699 env = " ".join(self.pkg_def.get("config_env", []))