Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if index >= len(packages_to_be_built):
index = 0
pkg_name = packages_to_be_built[index]
repo_status = self.package_builds_by_name[pkg_name]
if self.args.needed and repo_status.version_already_installed:
packages_to_be_built.remove(pkg_name)
continue
try:
repo_status.build(
all_package_builds=self.package_builds_by_name,
resolved_conflicts=self.resolved_conflicts
)
except (BuildError, DependencyError) as exc:
print_stderr(exc)
print_stderr(
color_line(_("Can't build '{name}'.").format(name=pkg_name) + '\n', 9)
)
# if not ask_to_continue():
# raise SysExit(125)
for _pkg_name in repo_status.package_names:
failed_to_build_package_names.append(_pkg_name)
self.discard_install_info(_pkg_name)
for remaining_aur_pkg_name in packages_to_be_built[:]:
if remaining_aur_pkg_name not in self.all_aur_packages_names:
packages_to_be_built.remove(remaining_aur_pkg_name)
except DependencyNotBuiltYet:
index += 1
for _pkg_name in repo_status.package_names:
deps_fails_counter.setdefault(_pkg_name, 0)
deps_fails_counter[_pkg_name] += 1
).format(
bold_line(', '.join(self.package_names))
)
))
pkgver_result = joined_spawn(
isolate_root_cmd(
MakePkgCommand.get() + [
'--nobuild', '--noprepare', '--nocheck', '--nodeps'
],
cwd=self.build_dir
),
cwd=self.build_dir,
)
if pkgver_result.returncode != 0:
print_error(_("failed to retrieve latest dev sources:"))
print_stderr(pkgver_result.stdout_text)
if not ask_to_continue(default_yes=False):
raise SysExit(125)
SrcInfo(self.build_dir).regenerate()
self._source_repo_updated = True
# save git hash of last successfully installed package
if self.package_builds_by_name:
package_builds_by_base = {
pkgbuild.package_base: pkgbuild
for pkgbuild in self.package_builds_by_name.values()
}
for package_build in package_builds_by_base.values():
if len(package_build.built_packages_paths) == len(package_build.package_names):
if not self.args.downloadonly:
package_build.update_last_installed_file()
if not package_build.keep_build_dir:
remove_dir(package_build.build_dir)
if self.failed_to_build_package_names:
print_stderr('\n'.join(
[color_line(_("Failed to build following packages:"), 9), ] +
self.failed_to_build_package_names
))
raise SysExit(1)
from STDIN as an answer. Then returns the character as lower character.
Valid answers are passed as 'answers' variable (the default is in capital).
Invalid answer will return an empty string.
'''
default = ' '
for letter in answers:
if letter.isupper():
default = letter.lower()
break
if not sys.stdin.isatty():
return default
print_stderr(question, flush=True, end=" ", lock=False)
previous_tty_settings = tty.tcgetattr(sys.stdin.fileno()) # type: ignore
try:
tty.setraw(sys.stdin.fileno())
answer = sys.stdin.read(1).lower()
# Exit when CRTL+C or CTRL+D
if ord(answer) == 3 or ord(answer) == 4:
raise SysExit(1)
# Default when Enter
if ord(answer) == 13:
answer = default
return default
if answer in [choice.lower() for choice in answers]:
return answer
return ' '
except Exception:
except CloneError as err:
package_build = err.build
print_stderr(color_line(
(
_("Can't clone '{name}' in '{path}' from AUR:")
if package_build.clone else
_("Can't pull '{name}' in '{path}' from AUR:")
).format(
name=', '.join(package_build.package_names),
path=package_build.repo_path
),
9
))
print_stderr(err.result.stdout_text)
print_stderr(err.result.stderr_text)
if self.args.noconfirm:
answer = _("a")
else: # pragma: no cover
prompt = '{} {}\n{}\n{}\n{}\n{}\n> '.format(
color_line('::', 11),
_("Try recovering?"),
_("[c] git checkout -- '*'"),
# _("[c] git checkout -- '*' ; git clean -f -d -x"),
_("[r] remove dir and clone again"),
_("[s] skip this package"),
_("[a] abort")
)
answer = get_input(prompt, _('c') + _('r') + _('s') + _('a').upper())
answer = answer.lower()[0]
if answer == _("c"): # pragma: no cover
def mkdir(to_path) -> None:
mkdir_result = spawn(isolate_root_cmd(['mkdir', '-p', to_path]))
if mkdir_result.returncode != 0:
print_stdout(mkdir_result.stdout_text)
print_stderr(mkdir_result.stderr_text)
raise Exception(_(f"Can't create destination directory '{to_path}'."))
bold_line(
_n(
"Following package cannot be found in repositories:",
"Following packages cannot be found in repositories:",
num_packages
)
if repo else
_n(
"Following package cannot be found in AUR:",
"Following packages cannot be found in AUR:",
num_packages
)
)
)
for package in not_found_packages:
print_stderr(format_paragraph(package))
):
return
if not os.path.exists(DATA_ROOT):
os.makedirs(DATA_ROOT)
shutil.move(_OLD_AUR_REPOS_CACHE_PATH, AUR_REPOS_CACHE_PATH)
# pylint:disable=import-outside-toplevel
from .pprint import print_warning, print_stderr
print_stderr()
print_warning(
_("AUR repos dir has been moved from '{old}' to '{new}'.".format(
old=_OLD_AUR_REPOS_CACHE_PATH,
new=AUR_REPOS_CACHE_PATH
))
)
print_stderr()
def get_repo_list(cls, quiet=False) -> List[pyalpm.Package]:
if not cls._packages_list_cache.get(PackageSource.REPO):
with DbLockRepo():
if not quiet:
print_stderr(_("Reading repository package databases..."))
cls._packages_list_cache[PackageSource.REPO] = cls.search_repo(
search_query=''
)
return cls._packages_list_cache[PackageSource.REPO]