From f95279ba79be1c46fe14468269ae53cdb3ac9c24 Mon Sep 17 00:00:00 2001 From: Jonas Schnelli Date: Mon, 15 Apr 2013 16:15:11 +0200 Subject: [PATCH] fixes #2506: mac binary with proper version and copyright meta-informations (Info.plist) Due a bug in QT (https://bugreports.qt-project.org/browse/QTBUG-21267), the mac binary of the last release contains bulk meta informations. The url-handler (bitcoin://) is also not working in current release Should be fixed with this commit. Signed-off-by: Jonas Schnelli --- doc/release-process.txt | 1 + share/qt/Info.plist | 6 +++++- share/qt/clean_mac_info_plist.py | 29 +++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100755 share/qt/clean_mac_info_plist.py diff --git a/doc/release-process.txt b/doc/release-process.txt index 29271ad22..ce6614335 100644 --- a/doc/release-process.txt +++ b/doc/release-process.txt @@ -80,6 +80,7 @@ make export QTDIR=/opt/local/share/qt4 # needed to find translations/qt_*.qm files T=$(contrib/qt_translations.py $QTDIR/translations src/qt/locale) + python2.7 share/qt/clean_mac_info_plist.py python2.7 contrib/macdeploy/macdeployqtplus Bitcoin-Qt.app -add-qt-tr $T -dmg -fancy contrib/macdeploy/fancy.plist Build output expected: diff --git a/share/qt/Info.plist b/share/qt/Info.plist index 58b2152e9..2312094c4 100644 --- a/share/qt/Info.plist +++ b/share/qt/Info.plist @@ -7,7 +7,11 @@ CFBundlePackageType APPL CFBundleGetInfoString - Bitcoin-Qt + $VERSION, Copyright © 2009-$YEAR The Bitcoin developers + CFBundleShortVersionString + $VERSION + CFBundleVersion + $VERSION CFBundleSignature ???? CFBundleExecutable diff --git a/share/qt/clean_mac_info_plist.py b/share/qt/clean_mac_info_plist.py new file mode 100755 index 000000000..df677f50b --- /dev/null +++ b/share/qt/clean_mac_info_plist.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python +# Jonas Schnelli, 2013 +# make sure the Bitcoin-Qt.app contains the right plist (including the right version) +# fix made because of serval bugs in Qt mac deployment (https://bugreports.qt-project.org/browse/QTBUG-21267) + +from string import Template +from datetime import date + +bitcoinDir = "./"; + +inFile = bitcoinDir+"/share/qt/Info.plist" +outFile = "Bitcoin-Qt.app/Contents/Info.plist" +version = "unknown"; + +fileForGrabbingVersion = bitcoinDir+"bitcoin-qt.pro" +for line in open(fileForGrabbingVersion): + lineArr = line.replace(" ", "").split("="); + if lineArr[0].startswith("VERSION"): + version = lineArr[1].replace("\n", ""); + +fIn = open(inFile, "r") +fileContent = fIn.read() +s = Template(fileContent) +newFileContent = s.substitute(VERSION=version,YEAR=date.today().year) + +fOut = open(outFile, "w"); +fOut.write(newFileContent); + +print "Info.plist fresh created" \ No newline at end of file