Détails du package
smp-winff
Revenir à la liste des packages
Version officielle sur le site de l'editeur : 1.5.5
Fichier control :
package : smp-winff
version : 1.5.5-2
architecture : all
section : base
priority : optional
name :
categories :
maintainer : Simon Fonteneau
description : Encodeur de vidéo
depends :
conflicts :
maturity :
locale :
target_os : windows
min_os_version :
max_os_version :
min_wapt_version : 1.3.9.3
sources :
installed_size :
impacted_process :
description_fr :
description_pl :
description_de :
description_es :
description_pt :
description_it :
description_nl :
description_ru :
audit_schedule :
editor :
keywords :
licence :
homepage :
package_uuid : 91fb3641-9e06-4e57-b61f-0cc8dec55070
valid_from :
valid_until :
forced_install_on :
changelog :
signer : wapt.lesfourmisduweb.org
signer_fingerprint: 1e54425be03a2a3ea1a264b40d984c31f17a6a489a3b722acb993cbf6561e903
signature : NsJbKzRCZKEmQ5+3LkcRhVwpT/+QgTkZ4q5Dw9PkaTK7PX50H/v/U2ZojGm6AjmMYcsSE+zpA0Bd/F+oLGWEdqUISpZNCO7u7z4ogsTkLMTRmeJY+RKOH29ZSV6jgtbvpbkkTn7DWiDBLiRbEJlwse3fRS2N+huTu+M/4T8+S0gdVSaePecCN0+0gxCnSyEqIMqY100snUCr1ISMLqlDPNWpXWd5XB3F9ACU5147D3QTdPB+1deJ2DdXc/aVBp2vdfBkFjGKUxW5WOH05AkTjVw4W1lrHDQH5nP7jUexSv9AIM4xaISm0ZMhLHqUMOBq+pn/PK6sjHS8dYEadkhq3g==
signature_date : 2020-07-04T01:22:09.547884
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_os_version,max_os_version,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,signer,signer_fingerprint,signature_date,signed_attributes
Fichier setup.py :
# -*- coding: utf-8 -*-
from setuphelpers import *
# registry key(s) where WAPT will find how to remove the application(s)
uninstallkey = []
def install():
def get_vers_winff(soft):
if isfile(makepath(install_location(soft['key']),'winff.exe')):
return get_file_properties(makepath(install_location(soft['key']),'winff.exe'))['FileVersion']
if iswin64():
install_exe_if_needed('WinFF-1.5.5-setup.exe',silentflags='/VERYSILENT /NORESTART',key='WinFF_is1',min_version='1.5.5.0',get_version=get_vers_winff)
else:
install_exe_if_needed('WinFF-1.5.4-setup.exe',silentflags='/VERYSILENT /NORESTART',key='WinFF_is1',min_version='1.5.4.0',get_version=get_vers_winff)
# re def install_exe_if_needed because bug in 1.3.9.3
def install_exe_if_needed(exe,silentflags=None,key=None,min_version=None,killbefore=[],accept_returncodes=[0,1603,3010],timeout=300,get_version=None):
"""Install silently the supplied setup executable file, and add the uninstall key to
global uninstallkey list if it is defined.
Check if already installed at the supllied min_version.
Kill the processes in killbefore list before launching the setup.
Raises an error if, after the setup install, the uninstall key is not found in registry.
Args:
exe (str) : path to the setup exe file
silentflags (str) : flags to append to the exe command line for silent install
if not provided, tries to guess them.
key (str) : uninstall key to check in registry and to add to uninstallkey global list
min_version (str) : if installed version is equal or gretaer than this, don't install
if not provided (None), guess it from exe setup file properties.
if == '': ignore version check.
kill_before (list of str) : processes to kill before setup, to avoid file locks
issues.
get_version (callable) : optional func to get installed software version from one entry retunred by installed_softwares
if not provided, version is taken from 'version' attribute in uninstall registry
Returns:
None
"""
if not isfile(exe):
error('setup exe file %s not found in package' % exe)
if silentflags is None:
silentflags = getsilentflags(exe)
# use empty string to ignore version checking
if min_version is None:
min_version = getproductprops(exe)['version']
import inspect
caller_globals = inspect.stack()[1][0].f_globals
WAPT = caller_globals.get('WAPT',None)
force = WAPT and WAPT.options.force
if need_install(key,min_version=min_version or None,force=force,get_version=get_version):
if killbefore:
killalltasks(killbefore)
run(r'"%s" %s' % (exe,silentflags),accept_returncodes=accept_returncodes,timeout=timeout)
if key and not installed_softwares(uninstallkey=key):
error('Setup %s has been ran but the uninstall key %s can not be found' % (exe,key))
if key and min_version is not None and need_install(key,min_version=min_version or None,force=False,get_version=get_version):
error('Setup %s has been and uninstall key %s found but version is not good' % (exe,key))
else:
print('Exe setup %s already installed. Skipping' % exe)
if key:
# will try to add key in the caller's (setup.py) uninstallkey list
if 'uninstallkey' in caller_globals and not key in caller_globals['uninstallkey']:
caller_globals['uninstallkey'].append(key)