Détails du package

smp-winff

retour Revenir à la liste des packages

smp-winff


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)