Skip to content

Commit 3af99eb

Browse files
committed
Merge remote-tracking branch 'origin/pr/139'
* origin/pr/139: Remove pacman_api and references Make refresh() for pacman_cli a no-op Fix pacman interaction with new realtime output Initial support for progress reporting updates via pacman_api
2 parents 746fe54 + 6f58852 commit 3af99eb

File tree

3 files changed

+15
-14
lines changed

3 files changed

+15
-14
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,4 @@
11
rpm/
22
pkgs/
3+
4+
__pycache__/

vmupdate/agent/entrypoint.py

100644100755
File mode changed.

vmupdate/agent/source/pacman/pacman_cli.py

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,7 @@
1919
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
2020
# USA.
2121

22-
import shutil
23-
from typing import List
22+
from typing import List, Dict
2423

2524
from source.common.package_manager import PackageManager
2625
from source.common.process_result import ProcessResult
@@ -29,34 +28,34 @@
2928
class PACMANCLI(PackageManager):
3029
def __init__(self, log_handler, log_level):
3130
super().__init__(log_handler, log_level)
32-
self.package_manager: str = "pacman"
31+
self.package_manager = "pacman"
3332

3433
def refresh(self, hard_fail: bool) -> ProcessResult:
3534
"""
3635
Use package manager to refresh available packages.
3736
38-
:param hard_fail: raise error if some repo is unavailable
37+
Note: Is a no-op in ArchLinux because upgrade takes care of it, and
38+
having just sync could cause problems.
39+
See: https://github.com/QubesOS/qubes-core-admin-linux/pull/139#pullrequestreview-1845574713
40+
3941
:return: (exit_code, stdout, stderr)
4042
"""
41-
cmd = [ self.package_manager,
42-
"-Sy" ]
43-
return self.run_cmd(cmd)
43+
cmd = ["true"]
44+
return self.run_cmd(cmd)
4445

45-
def get_packages(self):
46+
def get_packages(self) -> Dict[str, List[str]]:
4647
"""
4748
Use pacman to return the installed packages and their versions.
4849
"""
4950

50-
cmd = [ self.package_manager,
51-
"-Q" ]
51+
cmd = [self.package_manager, "-Q"]
5252
# EXAMPLE OUTPUT:
5353
# qubes-vm-core 4.2.25-1
54-
result = self.run_cmd(cmd)
54+
result = self.run_cmd(cmd, realtime=False)
5555

56-
packages = {}
56+
packages: Dict[str, List[str]] = {}
5757
for line in result.out.splitlines():
58-
cols = line.split()
59-
package, version = cols
58+
package, version = line.split()
6059
packages.setdefault(package, []).append(version)
6160

6261
return packages

0 commit comments

Comments
 (0)