mirror of
https://github.com/dashpay/dash.git
synced 2024-12-25 12:02:48 +01:00
Merge bitcoin/bitcoin#24669: build: further consolidate macOS deployment
3d415215699e718b3f6eea6e3c9fb2948476f930 build: perform /Applications symlink generation in macdeployqtplus (fanquake) dac693671928aa3fc304e6a802abfffb2f4ec8fd build: perform all .tiff copying in macdeployqtplus (fanquake) Pull request description: Rather than maintaining 2 different versions of the same code (`.tiff` copying and symlink generation), consolidate to just the Python code, and use it on macOS and Linux. Previously Linux would perform the 2 actions in the makefile, and then would still be running the `macdeployqtplus` script, so it makes sense to further consolidate deployment operations into the script. Guix Build (on x86_64): ```bash 23343f04c426c7ff078afae4e600a7028970d4d86eed8b7834696d9e4d684151 guix-build-3d415215699e/output/arm64-apple-darwin/SHA256SUMS.part c28b2a2e4888bf84369aa25804e2576347d5ab09416354ec8b95c76a9d38ff96 guix-build-3d415215699e/output/arm64-apple-darwin/bitcoin-3d415215699e-arm64-apple-darwin-unsigned.dmg 9a57077b2bd722a7d85d26b66cbce5abdb791985fe9d9d37e884c79ba8751e24 guix-build-3d415215699e/output/arm64-apple-darwin/bitcoin-3d415215699e-arm64-apple-darwin-unsigned.tar.gz d2b06dc5b86541798ace41dab569849f7403e7ff9ec329bda671ec84e6fad549 guix-build-3d415215699e/output/arm64-apple-darwin/bitcoin-3d415215699e-arm64-apple-darwin.tar.gz 608e7d51a44ab9c5b28eb3703a0f4fe98b4adff22c77a5502786b84bd96cc188 guix-build-3d415215699e/output/dist-archive/bitcoin-3d415215699e.tar.gz 3e483705b1f9f1fb8f6afedc8ad0214a6cb00e77f766c0b03c42d56f410d4362 guix-build-3d415215699e/output/x86_64-apple-darwin/SHA256SUMS.part 9370e3e3b7d47b5a44e64554cf3b6d7e0671b072c08cd251eacc7ec72ce2b53f guix-build-3d415215699e/output/x86_64-apple-darwin/bitcoin-3d415215699e-x86_64-apple-darwin-unsigned.dmg ad0f68682d78c311497669fc3d627138be37510215d259b5f0b686d93e7d83b7 guix-build-3d415215699e/output/x86_64-apple-darwin/bitcoin-3d415215699e-x86_64-apple-darwin-unsigned.tar.gz e09dce4ff692ef66d1f4818083c1880bcf3a79c53112561d9e929bb6e5ffc011 guix-build-3d415215699e/output/x86_64-apple-darwin/bitcoin-3d415215699e-x86_64-apple-darwin.tar.gz ``` ACKs for top commit: laanwj: Re-ACK 3d415215699e718b3f6eea6e3c9fb2948476f930 Tree-SHA512: 80dd66a6e94c5b3e8823ccb57dcb08a8851a1e70a154b62385443f8d2d5ed5af900a0ac5003143959863586f1c7b90002fe6bff3ca5e37697253e051f69d7629
This commit is contained in:
parent
23adfb7bfd
commit
8b61966944
16
Makefile.am
16
Makefile.am
@ -36,7 +36,6 @@ OSX_APP=Dash-Qt.app
|
|||||||
OSX_VOLNAME = $(subst $(space),-,$(PACKAGE_NAME))
|
OSX_VOLNAME = $(subst $(space),-,$(PACKAGE_NAME))
|
||||||
OSX_DMG = $(OSX_VOLNAME).dmg
|
OSX_DMG = $(OSX_VOLNAME).dmg
|
||||||
OSX_TEMP_ISO = $(OSX_DMG:.dmg=).temp.iso
|
OSX_TEMP_ISO = $(OSX_DMG:.dmg=).temp.iso
|
||||||
OSX_BACKGROUND_IMAGE=$(top_srcdir)/contrib/macdeploy/background.tiff
|
|
||||||
OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus
|
OSX_DEPLOY_SCRIPT=$(top_srcdir)/contrib/macdeploy/macdeployqtplus
|
||||||
OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/dash.icns
|
OSX_INSTALLER_ICONS=$(top_srcdir)/src/qt/res/icons/dash.icns
|
||||||
OSX_PLIST=$(top_builddir)/share/qt/Info.plist #not installed
|
OSX_PLIST=$(top_builddir)/share/qt/Info.plist #not installed
|
||||||
@ -125,28 +124,17 @@ $(OSX_DMG): $(OSX_APP_BUILT) $(OSX_PACKAGING)
|
|||||||
deploydir: $(OSX_DMG)
|
deploydir: $(OSX_DMG)
|
||||||
else !BUILD_DARWIN
|
else !BUILD_DARWIN
|
||||||
APP_DIST_DIR=$(top_builddir)/dist
|
APP_DIST_DIR=$(top_builddir)/dist
|
||||||
APP_DIST_EXTRAS=$(APP_DIST_DIR)/.background/background.tiff $(APP_DIST_DIR)/.DS_Store $(APP_DIST_DIR)/Applications
|
|
||||||
|
|
||||||
$(APP_DIST_DIR)/Applications:
|
$(OSX_TEMP_ISO): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Dash-Qt
|
||||||
@rm -f $@
|
|
||||||
@cd $(@D); $(LN_S) /Applications $(@F)
|
|
||||||
|
|
||||||
$(APP_DIST_EXTRAS): $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Dash-Qt
|
|
||||||
|
|
||||||
$(OSX_TEMP_ISO): $(APP_DIST_EXTRAS)
|
|
||||||
$(XORRISOFS) -D -l -V "$(OSX_VOLNAME)" -no-pad -r -dir-mode 0755 -o $@ $(APP_DIST_DIR) -- $(if $(SOURCE_DATE_EPOCH),-volume_date all_file_dates =$(SOURCE_DATE_EPOCH))
|
$(XORRISOFS) -D -l -V "$(OSX_VOLNAME)" -no-pad -r -dir-mode 0755 -o $@ $(APP_DIST_DIR) -- $(if $(SOURCE_DATE_EPOCH),-volume_date all_file_dates =$(SOURCE_DATE_EPOCH))
|
||||||
|
|
||||||
$(OSX_DMG): $(OSX_TEMP_ISO)
|
$(OSX_DMG): $(OSX_TEMP_ISO)
|
||||||
$(DMG) dmg "$<" "$@"
|
$(DMG) dmg "$<" "$@"
|
||||||
|
|
||||||
$(APP_DIST_DIR)/.background/background.tiff:
|
|
||||||
$(MKDIR_P) $(@D)
|
|
||||||
cp $(OSX_BACKGROUND_IMAGE) $@
|
|
||||||
|
|
||||||
$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Dash-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING)
|
$(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Dash-Qt: $(OSX_APP_BUILT) $(OSX_PACKAGING)
|
||||||
INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(PYTHON) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) $(OSX_VOLNAME) -translations-dir=$(QT_TRANSLATION_DIR)
|
INSTALLNAMETOOL=$(INSTALLNAMETOOL) OTOOL=$(OTOOL) STRIP=$(STRIP) $(PYTHON) $(OSX_DEPLOY_SCRIPT) $(OSX_APP) $(OSX_VOLNAME) -translations-dir=$(QT_TRANSLATION_DIR)
|
||||||
|
|
||||||
deploydir: $(APP_DIST_EXTRAS)
|
deploydir: $(APP_DIST_DIR)/$(OSX_APP)/Contents/MacOS/Dash-Qt
|
||||||
endif !BUILD_DARWIN
|
endif !BUILD_DARWIN
|
||||||
|
|
||||||
appbundle: $(OSX_APP_BUILT)
|
appbundle: $(OSX_APP_BUILT)
|
||||||
|
@ -544,6 +544,22 @@ ds.close()
|
|||||||
if platform.system() == "Darwin":
|
if platform.system() == "Darwin":
|
||||||
subprocess.check_call(f"codesign --deep --force --sign - {target}", shell=True)
|
subprocess.check_call(f"codesign --deep --force --sign - {target}", shell=True)
|
||||||
|
|
||||||
|
print("+ Installing background.tiff +")
|
||||||
|
|
||||||
|
bg_path = os.path.join('dist', '.background', 'background.tiff')
|
||||||
|
os.mkdir(os.path.dirname(bg_path))
|
||||||
|
|
||||||
|
tiff_path = os.path.join('contrib', 'macdeploy', 'background.tiff')
|
||||||
|
shutil.copy2(tiff_path, bg_path)
|
||||||
|
|
||||||
|
# ------------------------------------------------
|
||||||
|
|
||||||
|
print("+ Generating symlink for /Applications +")
|
||||||
|
|
||||||
|
os.symlink("/Applications", os.path.join('dist', "Applications"))
|
||||||
|
|
||||||
|
# ------------------------------------------------
|
||||||
|
|
||||||
if config.dmg is not None:
|
if config.dmg is not None:
|
||||||
|
|
||||||
print("+ Preparing .dmg disk image +")
|
print("+ Preparing .dmg disk image +")
|
||||||
@ -567,19 +583,6 @@ if config.dmg is not None:
|
|||||||
print("Attaching temp image...")
|
print("Attaching temp image...")
|
||||||
output = run(["hdiutil", "attach", tempname, "-readwrite"], check=True, universal_newlines=True, stdout=PIPE).stdout
|
output = run(["hdiutil", "attach", tempname, "-readwrite"], check=True, universal_newlines=True, stdout=PIPE).stdout
|
||||||
|
|
||||||
m = re.search(r"/Volumes/(.+$)", output)
|
|
||||||
disk_root = m.group(0)
|
|
||||||
|
|
||||||
print("+ Applying fancy settings +")
|
|
||||||
|
|
||||||
bg_path = os.path.join(disk_root, ".background", os.path.basename('background.tiff'))
|
|
||||||
os.mkdir(os.path.dirname(bg_path))
|
|
||||||
if verbose:
|
|
||||||
print('background.tiff', "->", bg_path)
|
|
||||||
shutil.copy2('contrib/macdeploy/background.tiff', bg_path)
|
|
||||||
|
|
||||||
os.symlink("/Applications", os.path.join(disk_root, "Applications"))
|
|
||||||
|
|
||||||
print("+ Finalizing .dmg disk image +")
|
print("+ Finalizing .dmg disk image +")
|
||||||
|
|
||||||
run(["hdiutil", "detach", f"/Volumes/{appname}"], universal_newlines=True)
|
run(["hdiutil", "detach", f"/Volumes/{appname}"], universal_newlines=True)
|
||||||
|
Loading…
Reference in New Issue
Block a user