mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-04-29 06:49:38 -04:00
Compare commits
6 commits
a6e738093e
...
ffb12e1fbc
Author | SHA1 | Date | |
---|---|---|---|
|
ffb12e1fbc | ||
|
c5e44a0435 | ||
|
32d55e28af | ||
|
84de8c93e7 | ||
|
fad57e9e0f | ||
|
938208d91a |
3 changed files with 12 additions and 11 deletions
|
@ -9,7 +9,7 @@ export LC_ALL=C.UTF-8
|
|||
# Homebrew's python@3.12 is marked as externally managed (PEP 668).
|
||||
# Therefore, `--break-system-packages` is needed.
|
||||
export PIP_PACKAGES="--break-system-packages zmq"
|
||||
export GOAL="install"
|
||||
export GOAL="install deploy"
|
||||
export CMAKE_GENERATOR="Ninja"
|
||||
export BITCOIN_CONFIG="-DBUILD_GUI=ON -DWITH_ZMQ=ON -DREDUCE_EXPORTS=ON"
|
||||
export CI_OS_NAME="macos"
|
||||
|
|
|
@ -157,20 +157,19 @@ class DeploymentInfo(object):
|
|||
self.qtPath = None
|
||||
self.pluginPath = None
|
||||
self.deployedFrameworks = []
|
||||
|
||||
|
||||
def detectQtPath(self, frameworkDirectory: str):
|
||||
parentDir = os.path.dirname(frameworkDirectory)
|
||||
if os.path.exists(os.path.join(parentDir, "translations")):
|
||||
# Classic layout, e.g. "/usr/local/Trolltech/Qt-4.x.x"
|
||||
if os.path.exists(os.path.join(parentDir, "share", "qt", "translations")):
|
||||
self.qtPath = parentDir
|
||||
else:
|
||||
self.qtPath = os.getenv("QTDIR", None)
|
||||
|
||||
if self.qtPath is not None:
|
||||
pluginPath = os.path.join(self.qtPath, "plugins")
|
||||
pluginPath = os.path.join(self.qtPath, "share", "qt", "plugins")
|
||||
if os.path.exists(pluginPath):
|
||||
self.pluginPath = pluginPath
|
||||
|
||||
|
||||
def usesFramework(self, name: str) -> bool:
|
||||
for framework in self.deployedFrameworks:
|
||||
if framework.endswith(".framework"):
|
||||
|
@ -181,7 +180,7 @@ class DeploymentInfo(object):
|
|||
return True
|
||||
return False
|
||||
|
||||
def getFrameworks(binaryPath: str, verbose: int) -> list[FrameworkInfo]:
|
||||
def getFrameworks(binaryPath: str, verbose: int, rpath: str = '') -> list[FrameworkInfo]:
|
||||
objdump = os.getenv("OBJDUMP", "objdump")
|
||||
if verbose:
|
||||
print(f"Inspecting with {objdump}: {binaryPath}")
|
||||
|
@ -195,17 +194,19 @@ def getFrameworks(binaryPath: str, verbose: int) -> list[FrameworkInfo]:
|
|||
lines.pop(0) # First line is the inspected binary
|
||||
if ".framework" in binaryPath or binaryPath.endswith(".dylib"):
|
||||
lines.pop(0) # Frameworks and dylibs list themselves as a dependency.
|
||||
|
||||
|
||||
libraries = []
|
||||
for line in lines:
|
||||
line = line.replace("@loader_path", os.path.dirname(binaryPath))
|
||||
if rpath:
|
||||
line = line.replace("@rpath", rpath)
|
||||
info = FrameworkInfo.fromLibraryLine(line.strip())
|
||||
if info is not None:
|
||||
if verbose:
|
||||
print("Found framework:")
|
||||
print(info)
|
||||
libraries.append(info)
|
||||
|
||||
|
||||
return libraries
|
||||
|
||||
def runInstallNameTool(action: str, *args):
|
||||
|
@ -318,7 +319,7 @@ def deployFrameworks(frameworks: list[FrameworkInfo], bundlePath: str, binaryPat
|
|||
# install_name_tool it a new id.
|
||||
changeIdentification(framework.deployedInstallName, deployedBinaryPath, verbose)
|
||||
# Check for framework dependencies
|
||||
dependencies = getFrameworks(deployedBinaryPath, verbose)
|
||||
dependencies = getFrameworks(deployedBinaryPath, verbose, rpath=framework.frameworkDirectory)
|
||||
|
||||
for dependency in dependencies:
|
||||
changeInstallName(dependency.installName, dependency.deployedInstallName, deployedBinaryPath, verbose)
|
||||
|
|
|
@ -87,7 +87,7 @@ class BackwardsCompatibilityTest(BitcoinTestFramework):
|
|||
# 0.21.x and 22.x would both produce bad derivation paths when topping up an inactive hd chain
|
||||
# Make sure that this is being automatically cleaned up by migration
|
||||
node_master = self.nodes[1]
|
||||
node_v22 = self.nodes[self.num_nodes - 5]
|
||||
node_v22 = self.nodes[self.num_nodes - 3]
|
||||
wallet_name = "bad_deriv_path"
|
||||
node_v22.createwallet(wallet_name=wallet_name, descriptors=False)
|
||||
bad_deriv_wallet = node_v22.get_wallet_rpc(wallet_name)
|
||||
|
|
Loading…
Add table
Reference in a new issue