[arch] fix: date parsing when checking for updates (AUR)

This commit is contained in:
Vinicius Moreira
2022-05-27 10:11:01 -03:00
parent 4d1a118b25
commit 95b0e5d45e
3 changed files with 13 additions and 6 deletions

View File

@@ -43,7 +43,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Arch
- conflict resolution: removing hard dependencies that would be satisfied with the inclusion of the new package [#268](https://github.com/vinifmor/bauh/issues/268)
- e.g: `pipewire-pulse` conflicts with `pulseaudio`. `pulseaudio-alsa` (a dependency of pulseaudio) should not be removed, since `pipewire-pulse` provides `pulseaudio`
- AUR build: error raised when the temporary directory does not exist (when changing the CPUs governors)
- AUR:
- build: error raised when the temporary directory does not exist (when changing the CPUs governors)
- date parsing when checking for updates
- Flatpak
- not all selected runtime partials to upgrade are actually requested to be upgraded

View File

@@ -492,9 +492,9 @@ class ArchManager(SoftwareManager, SettingsController):
try:
pkg.install_date = datetime_as_milis(parse_date(install_date))
except ValueError:
self.logger.error("Could not parse 'install_date' ({}) from AUR package '{}'".format(install_date, pkg.name))
self.logger.error(f"Could not parse 'install_date' ({install_date}) from AUR package '{pkg.name}'")
else:
self.logger.error("AUR package '{}' install_date was not retrieved".format(pkg.name))
self.logger.error(f"AUR package '{pkg.name}' install_date was not retrieved")
return self.aur_mapper.check_update(pkg=pkg, last_modified=api_data['LastModified'])

View File

@@ -108,12 +108,17 @@ def map_packages(names: Optional[Iterable[str]] = None, remote: bool = False, si
thread_ignored = Thread(target=fill_ignored_packages, args=(ignored,), daemon=True)
thread_ignored.start()
allinfo = run_cmd(f"pacman -{'S' if remote else 'Q'}i {' '.join(names) if names else ''}", print_error=False)
env = system.gen_env()
env['LC_TIME'] = ''
code, allinfo = system.execute(f"pacman -{'S' if remote else 'Q'}i {' '.join(names) if names else ''}",
shell=True, custom_env=env)
pkgs = {'signed': {}, 'not_signed': {}}
current_pkg = {}
if allinfo:
if code == 0 and allinfo:
current_pkg = {}
for idx, field_tuple in enumerate(RE_REPOSITORY_FIELDS.findall(allinfo)):
if field_tuple[0].startswith('R'):
current_pkg['repository'] = field_tuple[1].strip()