mirror of
https://github.com/facebook/proxygen.git
synced 2025-08-07 07:02:53 +03:00
include system package state in cache key
Summary: Using system packages changes the binaries, so include the used packages in the cache key when present Reviewed By: krallin Differential Revision: D32693534 fbshipit-source-id: c0494667b57040dde680cea3e8e00d77ef48403b
This commit is contained in:
committed by
Facebook GitHub Bot
parent
eb6c5ecd15
commit
46e693f4e5
@@ -175,23 +175,34 @@ class SystemPackageFetcher(object):
|
||||
if self.installed is not None:
|
||||
return self.installed
|
||||
|
||||
cmd = None
|
||||
if self.manager == "rpm":
|
||||
result = run_cmd(["rpm", "-q"] + self.packages, allow_fail=True)
|
||||
self.installed = result == 0
|
||||
cmd = ["rpm", "-q"] + sorted(self.packages)
|
||||
elif self.manager == "deb":
|
||||
result = run_cmd(["dpkg", "-s"] + self.packages, allow_fail=True)
|
||||
self.installed = result == 0
|
||||
cmd = ["dpkg", "-s"] + sorted(self.packages)
|
||||
|
||||
if cmd:
|
||||
proc = subprocess.run(cmd, capture_output=True)
|
||||
if proc.returncode == 0:
|
||||
# captured as binary as we will hash this later
|
||||
self.installed = proc.stdout
|
||||
else:
|
||||
# Need all packages to be present to consider us installed
|
||||
self.installed = False
|
||||
else:
|
||||
self.installed = False
|
||||
|
||||
return self.installed
|
||||
return bool(self.installed)
|
||||
|
||||
def update(self):
|
||||
assert self.installed
|
||||
return ChangeStatus(all_changed=False)
|
||||
|
||||
def hash(self):
|
||||
return "0" * 40
|
||||
if self.packages_are_installed():
|
||||
return hashlib.sha256(self.installed).hexdigest()
|
||||
else:
|
||||
return "0" * 40
|
||||
|
||||
def get_src_dir(self):
|
||||
return None
|
||||
|
Reference in New Issue
Block a user