First version of the package, heavily based on the one from TranquilIT
This commit is contained in:
parent
8ffe71472e
commit
3932380b4e
|
@ -0,0 +1,32 @@
|
|||
package : fws-thunderbird
|
||||
version : 60.3.2-1
|
||||
architecture : all
|
||||
section : base
|
||||
priority : optional
|
||||
maintainer : Daniel Berteaud
|
||||
description : Mozilla Thunderbird email client
|
||||
depends :
|
||||
conflicts :
|
||||
maturity : DEV
|
||||
locale : fr
|
||||
target_os : windows
|
||||
min_os_version : 5.0
|
||||
max_os_version :
|
||||
min_wapt_version : 1.5
|
||||
sources :
|
||||
installed_size :
|
||||
impacted_process : thunderbird.exe
|
||||
description_fr : Client de messagerie Mozilla Thunderbird
|
||||
description_pl :
|
||||
description_de :
|
||||
description_es :
|
||||
audit_schedule : 2d
|
||||
editor :
|
||||
keywords : email,mail,pop,imap,smtp
|
||||
licence :
|
||||
homepage : https://www.thunderbird.net/fr/
|
||||
package_uuid :
|
||||
signer : Daniel Berteaud
|
||||
signer_fingerprint:
|
||||
signature_date :
|
||||
signed_attributes :
|
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
|
@ -0,0 +1,295 @@
|
|||
[PyScripter]
|
||||
Version=3.3.2.0
|
||||
|
||||
[Project]
|
||||
ClassName=TProjectRootNode
|
||||
StoreRelativePaths=TRUE
|
||||
ShowFileExtensions=FALSE
|
||||
|
||||
[Project\ChildNodes\Node0]
|
||||
ClassName=TProjectFilesNode
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node0]
|
||||
ClassName=TProjectFolderNode
|
||||
Name=wapt
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node0]
|
||||
ClassName=TProjectFileNode
|
||||
FileName=C:\Program Files (x86)\wapt\common.py
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node1]
|
||||
ClassName=TProjectFileNode
|
||||
FileName=C:\Program Files (x86)\wapt\setuphelpers.py
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node2]
|
||||
ClassName=TProjectFileNode
|
||||
FileName=C:\Program Files (x86)\wapt\wapt-get.ini
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node3]
|
||||
ClassName=TProjectFileNode
|
||||
FileName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes\Node4]
|
||||
ClassName=TProjectFileNode
|
||||
FileName=C:\Program Files (x86)\wapt\waptpackage.py
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node0\ChildNodes]
|
||||
Count=5
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node1]
|
||||
ClassName=TProjectFileNode
|
||||
FileName=$[Project-Path]changelog.txt
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node2]
|
||||
ClassName=TProjectFileNode
|
||||
FileName=$[Project-Path]control
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes\Node3]
|
||||
ClassName=TProjectFileNode
|
||||
FileName=$[Project-Path]..\setup.py
|
||||
|
||||
[Project\ChildNodes\Node0\ChildNodes]
|
||||
Count=4
|
||||
|
||||
[Project\ChildNodes\Node1]
|
||||
ClassName=TProjectRunConfiguationsNode
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node0]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=install
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node0\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=install "$[Project-Path].."
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node0\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
ShortCut=0
|
||||
MessagesFormat=$[FileName] $[LineNumber]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node1]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=remove
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node1\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=remove "$[Project-Path].."
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node1\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
ShortCut=0
|
||||
MessagesFormat=$[FileName] $[LineNumber]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node2]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=session-setup
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node2\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=session-setup "$[Project-Path].."
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node2\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
ShortCut=0
|
||||
MessagesFormat=$[FileName] $[LineNumber]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node3]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=update
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node3\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=update
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node3\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
ShortCut=0
|
||||
MessagesFormat=$[FileName] $[LineNumber]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node4]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=upgrade
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node4\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=-f upgrade
|
||||
WorkingDir=$[ActiveScript-Dir]
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node4\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
ShortCut=0
|
||||
MessagesFormat=$[FileName] $[LineNumber]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node5]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=-i build-upload
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node5\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=-i build-upload "$[Project-Path].."
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node5\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
ShortCut=0
|
||||
MessagesFormat=$[FileName] $[LineNumber]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node6]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=svn update
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node6\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=sources "$[Project-Path].."
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node6\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
ShortCut=0
|
||||
MessagesFormat=$[FileName] $[LineNumber]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node7]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=uninstall
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node7\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=uninstall "$[Project-Path].."
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node7\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[Project-Path]..
|
||||
ShortCut=0
|
||||
MessagesFormat=$[FileName] $[LineNumber]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node8]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=update-package-sources
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node8\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=update-package-sources "$[Project-Path].."
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node8\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
ShortCut=0
|
||||
MessagesFormat=$[FileName] $[LineNumber]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node9]
|
||||
ClassName=TProjectRunConfiguationNode
|
||||
Name=audit
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node9\RunConfig]
|
||||
ScriptName=C:\Program Files (x86)\wapt\wapt-get.py
|
||||
EngineType=peRemote
|
||||
ReinitializeBeforeRun=TRUE
|
||||
Parameters=audit "$[Project-Path].."
|
||||
WorkingDir=$[Project-Path]..
|
||||
WriteOutputToFile=FALSE
|
||||
OutputFileName=$[ActiveScript-NoExt].log
|
||||
AppendToFile=FALSE
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes\Node9\RunConfig\ExternalRun]
|
||||
Caption=External Run
|
||||
Description=Run script using an external Python Interpreter
|
||||
ApplicationName=$[PythonExe-Short]
|
||||
Parameters=$[ActiveScript-Short]
|
||||
WorkingDirectory=$[ActiveScript-Dir]
|
||||
ShortCut=0
|
||||
MessagesFormat=$[FileName] $[LineNumber]
|
||||
|
||||
[Project\ChildNodes\Node1\ChildNodes]
|
||||
Count=10
|
||||
|
||||
[Project\ChildNodes]
|
||||
Count=2
|
||||
|
||||
[Project\ExtraPythonPath]
|
||||
Count=0
|
||||
|
|
@ -0,0 +1,99 @@
|
|||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
# -----------------------------------------------------------------------
|
||||
# This file is part of WAPT
|
||||
# Copyright (C) 2013 Tranquil IT Systems http://www.tranquil.it
|
||||
# WAPT aims to help Windows systems administrators to deploy
|
||||
# setup and update applications on users PC.
|
||||
#
|
||||
# WAPT is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 3 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# WAPT is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with WAPT. If not, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# -----------------------------------------------------------------------
|
||||
from setuphelpers import *
|
||||
import time
|
||||
import subprocess
|
||||
|
||||
uninstallkey = []
|
||||
|
||||
def install():
|
||||
waptversion = Version(__version__)
|
||||
|
||||
if waptversion > Version('1.5') :
|
||||
|
||||
softname = 'Mozilla Thunderbird'
|
||||
versionsoft = control['version'].split('-',1)[0]
|
||||
|
||||
check_installed = installed_softwares(softname)
|
||||
diskfreespacebefore = get_disk_free_space(programfiles)
|
||||
|
||||
if check_installed:
|
||||
for uninstall in check_installed:
|
||||
if iswin64():
|
||||
if 'x86' in uninstall['name'] :
|
||||
print(u'Remove Thunderbird x86 for install Thunderbird x64' )
|
||||
if uninstall_key_exists(uninstall['key']):
|
||||
killalltasks('thunderbird.exe')
|
||||
cmd = WAPT.uninstall_cmd(uninstall['key'])
|
||||
run(cmd)
|
||||
time.sleep (5)
|
||||
|
||||
version = control.version.split('-',1)[0]
|
||||
arch = control.architecture
|
||||
#locale = control.locale
|
||||
locale = 'fr'
|
||||
key='Mozilla Thunderbird %s (%s %s)' % (version,'x64' if iswin64() else 'x86',locale)
|
||||
install_exe_if_needed(r'win%s\Thunderbird Setup %s.exe' % ('64' if iswin64() else '32',version),silentflags='-ms',key=key ,min_version=version,killbefore=['thunderbird.exe'])
|
||||
|
||||
diskfreespaceafter = get_disk_free_space(programfiles)
|
||||
difffreespace = diskfreespacebefore - diskfreespaceafter
|
||||
print(ur"Needed disk space : " + str(difffreespace))
|
||||
|
||||
else:
|
||||
error('This package is not compatible with your WAPT version. Please upgrade to WAPT 1.5 or more.')
|
||||
|
||||
def update_package():
|
||||
"""updates the package / control version with the latest stable thunderbird version"""
|
||||
import re,requests,urlparse,glob
|
||||
|
||||
filename = ''
|
||||
url = requests.head('https://download.mozilla.org/?product=thunderbird-latest').headers['Location']
|
||||
filename = urlparse.unquote(url.rsplit('/',1)[1])
|
||||
version = re.findall(r'Thunderbird Setup (.*)\.exe',filename)[0]
|
||||
control = PackageEntry().load_control_from_wapt ('.')
|
||||
|
||||
if Version(version) > Version(control['version'].split('-',1)[0]):
|
||||
print('Updating package to %s' % version)
|
||||
for arch in ['32','64']:
|
||||
filename = makepath('win%s' % arch, filename)
|
||||
url = 'https://download-installer.cdn.mozilla.net/pub/thunderbird/releases/%s/win%s/fr/Thunderbird%sSetup%s%s.exe' % (version,arch,'%20','%20',version)
|
||||
if not isfile(filename):
|
||||
print('Downloading %s from %s'%(filename,url))
|
||||
wget(url,filename)
|
||||
|
||||
# removes old exe
|
||||
if isfile(filename):
|
||||
exes = glob.glob(r'x%s\Thunderbird*.exe' % arch)
|
||||
for fn in exes:
|
||||
if fn != filename:
|
||||
remove_file(fn)
|
||||
|
||||
# updates control version from filename, increment package version.
|
||||
control.version = '%s-%s'%(re.findall(r'Thunderbird Setup (.*)\.exe',filename)[0],int(control.version.split('-',1)[1])+1)
|
||||
control.save_control_to_wapt('.')
|
||||
else:
|
||||
print('No update available')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
update_package()
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue