From 5c399a268eb6307e1cc13030cd30ba940b85c1a7 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sat, 30 Aug 2008 13:46:39 -0700 Subject: [PATCH] IGN:... --- installer/windows/build_installer.py | 10 ++++++---- installer/windows/freeze.py | 29 ++++++++++------------------ upload.py | 2 +- 3 files changed, 17 insertions(+), 24 deletions(-) diff --git a/installer/windows/build_installer.py b/installer/windows/build_installer.py index 949ef2c190..7119d92383 100644 --- a/installer/windows/build_installer.py +++ b/installer/windows/build_installer.py @@ -5,9 +5,11 @@ __docformat__ = 'restructuredtext en' ''' ''' -import sys, time, subprocess, os +import sys, time, subprocess, os, re from calibre import __appname__, __version__ +sv = re.sub(r'[a-z]\d+', '', __version__) + cmdline = [ '/usr/local/installjammer/installjammer', '--build-dir', '/tmp/calibre-installjammer', @@ -18,10 +20,10 @@ cmdline = [ '-DPackageDescription', '%s is an e-book library manager. It can view, convert and catalog e-books in most of the major e-book formats. It can also talk to a few e-book reader devices. It can go out to the internet and fetch metadata for your books. It can download newspapers and convert them into e-books for convenient reading.'%__appname__, '-DPackageSummary', '%s: E-book library management'%__appname__, '-DVersion', __version__, - '-DInstallVersion', __version__ + '.0', + '-DInstallVersion', sv + '.0', '-DLicense', open(os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), 'LICENSE')).read().replace('\n', '\r\n'), '--output-dir', os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), 'dist'), - '--platform', 'Windows', + '--platform', 'Windows', ] def run_install_jammer(installer_name='<%AppName%>-<%Version%><%Ext%>', build_for_release=True): @@ -43,4 +45,4 @@ def main(args=sys.argv): return 0 if __name__ == '__main__': - sys.exit(main()) \ No newline at end of file + sys.exit(main()) diff --git a/installer/windows/freeze.py b/installer/windows/freeze.py index 2d8932a440..a181ba0228 100644 --- a/installer/windows/freeze.py +++ b/installer/windows/freeze.py @@ -14,7 +14,7 @@ IMAGEMAGICK_DIR = 'C:\\ImageMagick' FONTCONFIG_DIR = 'C:\\fontconfig' -import sys, os, py2exe, shutil, zipfile, glob, subprocess +import sys, os, py2exe, shutil, zipfile, glob, subprocess, re from distutils.core import setup from distutils.filelist import FileList BASE_DIR = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) @@ -22,6 +22,8 @@ sys.path.insert(0, BASE_DIR) from setup import VERSION, APPNAME, entry_points, scripts, basenames sys.path.remove(BASE_DIR) +VERSION = re.sub('[a-z]\d+', '', VERSION) + PY2EXE_DIR = os.path.join(BASE_DIR, 'build','py2exe') class BuildEXE(py2exe.build_exe.py2exe): @@ -58,29 +60,18 @@ class BuildEXE(py2exe.build_exe.py2exe): shutil.copyfile(f, os.path.join(self.dist_dir, os.path.basename(f))) for f in glob.glob(os.path.join(BASE_DIR, 'src', 'calibre', 'plugins', '*.pyd')): shutil.copyfile(f, os.path.join(tgt, os.path.basename(f))) - qtsvgdll = None - for other in self.other_depends: - if 'qtsvg4.dll' in other.lower(): - qtsvgdll = other - break shutil.copyfile('LICENSE', os.path.join(self.dist_dir, 'LICENSE')) print - if qtsvgdll: - print 'Adding', qtsvgdll - shutil.copyfile(qtsvgdll, os.path.join(self.dist_dir, os.path.basename(qtsvgdll))) - qtxmldll = os.path.join(os.path.dirname(qtsvgdll), 'QtXml4.dll') - print 'Adding', qtxmldll - shutil.copyfile(qtxmldll, - os.path.join(self.dist_dir, os.path.basename(qtxmldll))) + print 'Adding QtXml4.dll' + shutil.copyfile(os.path.join(QT_DIR, 'bin', 'QtXml4.dll'), + os.path.join(self.dist_dir, 'QtXml4.dll')) print 'Adding Qt plugins...', qt_prefix = QT_DIR - if qtsvgdll: - qt_prefix = os.path.dirname(os.path.dirname(qtsvgdll)) plugdir = os.path.join(qt_prefix, 'plugins') for d in ('imageformats', 'codecs', 'iconengines'): print d, imfd = os.path.join(plugdir, d) - tg = os.path.join(self.dist_dir, d) + tg = os.path.join(self.dist_dir, d) if os.path.exists(tg): shutil.rmtree(tg) shutil.copytree(imfd, tg) @@ -124,8 +115,8 @@ class BuildEXE(py2exe.build_exe.py2exe): @classmethod def manifest(cls, prog): cls.manifest_resource_id += 1 - return (24, cls.manifest_resource_id, - cls.MANIFEST_TEMPLATE % dict(prog=prog, version=VERSION+'.0')) + return (24, cls.manifest_resource_id, + cls.MANIFEST_TEMPLATE % dict(prog=prog, version=(VERSION+'.0'))) def main(args=sys.argv): @@ -161,7 +152,7 @@ def main(args=sys.argv): 'win32process', 'win32api', 'msvcrt', 'win32event', 'calibre.ebooks.lrf.any.*', 'calibre.ebooks.lrf.feeds.*', - 'genshi', + 'genshi', 'path', 'pydoc', 'IPython.Extensions.*', 'calibre.web.feeds.recipes.*', 'PyQt4.QtWebKit', 'PyQt4.QtNetwork', diff --git a/upload.py b/upload.py index b4e74f161f..a653b7e891 100644 --- a/upload.py +++ b/upload.py @@ -31,7 +31,7 @@ cd ~/build && \ rsync -avz --exclude src/calibre/plugins --exclude calibre/src/calibre.egg-info --exclude docs --exclude .bzr --exclude .build --exclude build --exclude dist --exclude "*.pyc" --exclude "*.pyo" rsync://%(host)s/work/%(project)s . && \ cd %(project)s && \ %%s && \ -rm -rf build/* && \ +rm -rf build/* dist/* && \ %%s %%s '''%dict(host=HOST, project=PROJECT) check_call = partial(_check_call, shell=True)