openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #01649
[Merge] lp:~raoul-snyman/openlp/windows-builder into lp:openlp
Raoul Snyman has proposed merging lp:~raoul-snyman/openlp/windows-builder into lp:openlp.
Requested reviews:
OpenLP Core (openlp-core)
Update the documentation of the builder script, and move the script to the scripts directory.
--
https://code.launchpad.net/~raoul-snyman/openlp/windows-builder/+merge/26244
Your team OpenLP Core is requested to review the proposed merge of lp:~raoul-snyman/openlp/windows-builder into lp:openlp.
=== removed file 'resources/pyinstaller/hook-lxml.objectify.py'
--- resources/pyinstaller/hook-lxml.objectify.py 2010-04-30 22:38:15 +0000
+++ resources/pyinstaller/hook-lxml.objectify.py 1970-01-01 00:00:00 +0000
@@ -1,1 +0,0 @@
-hiddenimports = ['lxml.etree']
=== renamed file 'resources/pyinstaller/windows-builder.py' => 'scripts/windows-builder.py'
--- resources/pyinstaller/windows-builder.py 2010-05-24 20:53:56 +0000
+++ scripts/windows-builder.py 2010-05-27 20:39:31 +0000
@@ -28,11 +28,48 @@
--------------------
This script is used to build the Windows binary and the accompanying installer.
-
-For this script to work out of the box, it depends on being inside the
-"resources/pyinstaller" directory in the OpenLP source tree, it depends on
-OpenLP having it's own project directory which all the branches live in, and it
-depends on PyInstaller being
+For this script to work out of the box, it depends on a number of things:
+
+Inno Setup 5
+ Inno Setup should be installed into "C:\%PROGRAMFILES%\Inno Setup 5"
+
+UPX
+ This is used to compress DLLs and EXEs so that they take up less space, but
+ still function exactly the same. To install UPS, download it from
+ http://upx.sourceforge.net/, extract it into C:\%PROGRAMFILES%\UPX, and then
+ add that directory to your PATH environment variable.
+
+PyInstaller
+ PyInstaller should be a checkout of trunk, and in a directory called,
+ "pyinstaller" on the same level as OpenLP's Bazaar shared repository
+ directory.
+
+ To install PyInstaller, first checkout trunk from Subversion. The easiest
+ way is to install TortoiseSVN and then checkout the following URL to a
+ directory called "pyinstaller"::
+
+ http://svn.pyinstaller.org/trunk
+
+ Then you need to copy the two hook-*.py files from the "pyinstaller"
+ subdirectory in OpenLP's "resources" directory into PyInstaller's "hooks"
+ directory.
+
+ Once you've done that, open a command prompt (DOS shell), navigate to the
+ PyInstaller directory and run::
+
+ C:\Projects\pyinstaller>python Configure.py
+
+Bazaar
+ You need the command line "bzr" client installed.
+
+OpenLP
+ A checkout of the latest code, in a branch directory, which is in a Bazaar
+ shared repository directory. This means your code should be in a directory
+ structure like this: "openlp\branch-name".
+
+windows-builder.py
+ This script, of course. It should be in the "scripts" directory of OpenLP.
+
"""
import os
@@ -40,12 +77,12 @@
from subprocess import Popen, PIPE
script_path = os.path.split(os.path.abspath(__file__))[0]
-pyinstaller_path = os.path.abspath(os.path.join(script_path, u'..', u'..', u'..', u'..', u'pyinstaller'))
-innosetup_path = os.path.join(os.getenv(u'PROGRAMFILES'), 'Inno Setup 5')
-iss_path = os.path.abspath(os.path.join(script_path, u'..', u'innosetup'))
-branch_path = os.path.abspath(os.path.join(script_path, u'..', u'..'))
+branch_path = os.path.abspath(os.path.join(script_path, u'..'))
source_path = os.path.join(branch_path, u'openlp')
dist_path = os.path.join(branch_path, u'dist', u'OpenLP')
+pyinstaller_path = os.path.abspath(os.path.join(branch_path, u'..', u'..', u'pyinstaller'))
+innosetup_path = os.path.join(os.getenv(u'PROGRAMFILES'), 'Inno Setup 5')
+iss_path = os.path.join(branch_path, u'resources', u'innosetup')
def run_pyinstaller():
@@ -113,12 +150,12 @@
def main():
print "Script path:", script_path
+ print "Branch path:", branch_path
+ print "Source path:", source_path
+ print "\"dist\" path:", dist_path
print "PyInstaller path:", pyinstaller_path
print "Inno Setup path:", innosetup_path
print "ISS file path:", iss_path
- print "Branch path:", branch_path
- print "Source path:", source_path
- print "\"dist\" path:", dist_path
run_pyinstaller()
write_version_file()
copy_plugins()
Follow ups