mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-08-11 09:13:57 -04:00
Signing of the 64-bit installer
This commit is contained in:
parent
11ff1b023d
commit
186f4c0dad
@ -8,14 +8,14 @@ __docformat__ = 'restructuredtext en'
|
|||||||
|
|
||||||
import os, shutil, subprocess
|
import os, shutil, subprocess
|
||||||
|
|
||||||
from setup import Command, __appname__, __version__
|
from setup import Command, __appname__, __version__, installer_name
|
||||||
from setup.installer import VMInstaller
|
from setup.installer import VMInstaller
|
||||||
|
|
||||||
class Win(Command):
|
class Win(Command):
|
||||||
|
|
||||||
description = 'Build windows binary installers'
|
description = 'Build windows binary installers'
|
||||||
|
|
||||||
sub_commands = ['win32']
|
sub_commands = ['win64', 'win32']
|
||||||
|
|
||||||
def run(self, opts):
|
def run(self, opts):
|
||||||
pass
|
pass
|
||||||
@ -35,28 +35,43 @@ class Win32(WinBase):
|
|||||||
VM = '/vmware/bin/%s'%VM_NAME
|
VM = '/vmware/bin/%s'%VM_NAME
|
||||||
VM_CHECK = 'calibre_windows_xp_home'
|
VM_CHECK = 'calibre_windows_xp_home'
|
||||||
|
|
||||||
|
@property
|
||||||
|
def msi64(self):
|
||||||
|
return installer_name('msi', is64bit=True)
|
||||||
|
|
||||||
def sign_msi(self):
|
def sign_msi(self):
|
||||||
|
import xattr
|
||||||
print ('Signing installers ...')
|
print ('Signing installers ...')
|
||||||
|
sign64 = False
|
||||||
|
msi64 = self.msi64
|
||||||
|
if os.path.exists(msi64) and 'user.signed' not in xattr.list(msi64):
|
||||||
|
subprocess.check_call(['scp', msi64, self.VM_NAME +
|
||||||
|
':build/%s/%s'%(__appname__, msi64)])
|
||||||
|
sign64 = True
|
||||||
subprocess.check_call(['ssh', self.VM_NAME, '~/sign.sh'], shell=False)
|
subprocess.check_call(['ssh', self.VM_NAME, '~/sign.sh'], shell=False)
|
||||||
|
return sign64
|
||||||
|
|
||||||
|
def do_dl(self, installer, errmsg):
|
||||||
|
subprocess.check_call(('scp',
|
||||||
|
'%s:build/%s/%s'%(self.VM_NAME, __appname__, installer), 'dist'))
|
||||||
|
if not os.path.exists(installer):
|
||||||
|
self.warn(errmsg)
|
||||||
|
raise SystemExit(1)
|
||||||
|
|
||||||
def download_installer(self):
|
def download_installer(self):
|
||||||
installer = self.installer()
|
installer = self.installer()
|
||||||
if os.path.exists('build/winfrozen'):
|
if os.path.exists('build/winfrozen'):
|
||||||
shutil.rmtree('build/winfrozen')
|
shutil.rmtree('build/winfrozen')
|
||||||
self.sign_msi()
|
sign64 = self.sign_msi()
|
||||||
|
if sign64:
|
||||||
|
self.do_dl(self.msi64, 'Failed to d/l signed 64 bit installer')
|
||||||
|
import xattr
|
||||||
|
xattr.set(self.msi64, 'user.signed', 'true')
|
||||||
|
|
||||||
subprocess.check_call(('scp',
|
self.do_dl(installer, 'Failed to freeze')
|
||||||
'xp_build:build/%s/%s'%(__appname__, installer), 'dist'))
|
|
||||||
if not os.path.exists(installer):
|
|
||||||
self.warn('Failed to freeze')
|
|
||||||
raise SystemExit(1)
|
|
||||||
|
|
||||||
installer = 'dist/%s-portable-installer-%s.exe'%(__appname__, __version__)
|
installer = 'dist/%s-portable-installer-%s.exe'%(__appname__, __version__)
|
||||||
subprocess.check_call(('scp',
|
self.do_dl(installer, 'Failed to get portable installer')
|
||||||
'xp_build:build/%s/%s'%(__appname__, installer), 'dist'))
|
|
||||||
if not os.path.exists(installer):
|
|
||||||
self.warn('Failed to get portable installer')
|
|
||||||
raise SystemExit(1)
|
|
||||||
|
|
||||||
class Win64(WinBase):
|
class Win64(WinBase):
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user