You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
36 lines
1.5 KiB
36 lines
1.5 KiB
# -*- coding: utf-8 -*-
|
|
from setuphelpers import *
|
|
import requests,json
|
|
|
|
uninstallkey = []
|
|
|
|
def install():
|
|
print('Installing Git for Windows')
|
|
version = control['version'].split('-',1)[0]
|
|
arch = '64' if iswin64() else '32'
|
|
install_exe_if_needed(
|
|
'Git-%s-%s-bit.exe' % (version,arch),
|
|
silentflags='/LOADINF="git.inf" /VERYSILENT /CLOSEAPPLICATIONS /NORESTART',
|
|
min_version=version,
|
|
key='Git_is1'
|
|
)
|
|
|
|
def update_package():
|
|
print('Updating Git Package')
|
|
latest = json.loads(requests.get('https://api.github.com/repos/git-for-windows/git/releases/latest').text.encode('utf-8'))
|
|
version = latest['tag_name'].lstrip('v').rstrip('.windows.1')
|
|
pe = PackageEntry();
|
|
control = pe.load_control_from_wapt('.')
|
|
for arch in ['32','64']:
|
|
for asset in latest['assets']:
|
|
if asset['name'] == 'Git-%s-%s-bit.exe' %(version,arch) and not isfile('Git-%s-%s-bit.exe' % (version,arch)):
|
|
url = asset['browser_download_url']
|
|
print('Downloading Git %s for win%s from %s' % (version,arch,url))
|
|
wget(url,asset['name'])
|
|
for old in glob.glob(r'Git-*-%s-bit.exe' % arch):
|
|
if not old == 'Git-%s-%s-bit.exe' %(version,arch):
|
|
remove_file(old)
|
|
if Version(version) > Version(control['version'].split('-',1)[0]):
|
|
print('Updating control file with new version %s' % version)
|
|
pe.version = version + '-0'
|
|
pe.save_control_to_wapt('.') |