diff --git a/CHANGELOG.md b/CHANGELOG.md index 619a0649..5d11310a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 diff --git a/bauh/gems/arch/controller.py b/bauh/gems/arch/controller.py index 8db7902c..428db069 100644 --- a/bauh/gems/arch/controller.py +++ b/bauh/gems/arch/controller.py @@ -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']) diff --git a/bauh/gems/arch/pacman.py b/bauh/gems/arch/pacman.py index 75531d22..ffe83c18 100644 --- a/bauh/gems/arch/pacman.py +++ b/bauh/gems/arch/pacman.py @@ -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()