tis-winmerge icon

WinMerge

Silent install package for WinMerge

2.16.32-2

  • package: tis-winmerge
  • name: WinMerge
  • version: 2.16.32-2
  • categories: Utilities
  • maintainer: Tranquil IT
  • locale: all
  • target_os: windows
  • architecture: x64
  • signature_date:
  • size: 9.75 Mo

package           : tis-winmerge
version           : 2.16.32-2
architecture      : x64
section           : base
priority          : optional
name              : WinMerge
categories        : Utilities
maintainer        : Tranquil IT
description       : automatic package for WinMerge (http://winmerge.org)
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 2.0
sources           : 
installed_size    : 
impacted_process  : 
description_fr    : paquetage automatique pour WinMerge (http://winmerge.org)
description_pl    : pakiet automatyczny dla WinMerge (http://winmerge.org)
description_de    : automatisches Paket für WinMerge (http://winmerge.org)
description_es    : paquete automático para WinMerge (http://winmerge.org)
description_pt    : pacote automático para WinMerge (http://winmerge.org)
description_it    : pacchetto automatico per WinMerge (http://winmerge.org)
description_nl    : automatisch pakket voor WinMerge (http://winmerge.org)
description_ru    : автоматический пакет для WinMerge (http://winmerge.org)
audit_schedule    : 
editor            : 
keywords          : winmerge,merge,compare
licence           : 
homepage          : 
package_uuid      : 784a246b-e0e6-4978-9393-d01c78aeb6ba
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 57671e8736c51c3c7fb97fc5f21adb7b8299f568c9b663df9e2b1a8988da88e4
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature         : DS6FYKwjqWAa1Rg3m1a2k2UylHFXbB0Qel21XWdTaLCeGwPFRuSEv1LEWssZM7LCt/pn++En0EA0Ati4K3YJKRXKo3JaBQegMf75gxLIjtj2CbsLfFZgNw0PHLHPp15UU2YjfU9ztUjq25tYOuWz6R6dCy5uWBGWIitGRsb2pMfeSgCTkXPgO0WB/NLq4s0W7WLZIBo+6GuLEDLgaS9HzZ8kmvphlVxd7wFa86BpPp5h9CF9RKlnSU9QdvC0awBvySadUo8Tsclf1qOOU3S7TGzXyScQxx3jQf3WrsPBCwcrlq0Y6zqIgJYsTZ5SdNSpAUQgkguRsKe/xyaspm0uew==
signature_date    : 2023-08-01T17:01:25.264348
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,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,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes

# -*- coding: utf-8 -*-

from setuphelpers import *

bin_contains = "WinMerge-%s-x64-Setup.exe"


def install():
    # Declaring local variables
    package_version = control.get_software_version()
    bin_name = glob.glob(bin_contains % package_version)[0]

    # Uninstalling older versions of the software
    for to_uninstall in installed_softwares(r"WinMerge_is1"):
        if Version(to_uninstall["version"]) < Version(package_version) or force:
            print("Removing: %s (%s)" % (to_uninstall["name"], to_uninstall["version"]))
            killalltasks(control.impacted_process.split(","))
            run(uninstall_cmd(to_uninstall["key"]))
            wait_uninstallkey_absent(to_uninstall["key"])

    # Installing the software
    print("Installing: %s" % control.package)
    install_exe_if_needed(
        bin_name,
        silentflags="/VERYSILENT /SUPPRESSMSGBOXES /NORESTART",
        key="WinMerge_is1",
        min_version=control.get_software_version(),
    )

# -*- coding: utf-8 -*-

from setuphelpers import *
import platform
import json

bin_contains = "WinMerge-%s-x64-Setup.exe"


def update_package():
    # Declaring local variables
    result = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name
    api_url = "https://api.github.com/repos/WinMerge/winmerge/releases/latest"
    if control.architecture == "x64":
        arch_contains = "x64"

    print("API used is: %s" % api_url)
    json_load = json.loads(wgets(api_url, proxies=proxies))
    version = json_load["tag_name"].replace("v", "")
    for download in json_load["assets"]:
        if bin_contains % version in download["name"]:
            download_url = download["browser_download_url"]
            version = json_load["tag_name"].replace("v", "")
            latest_bin = download["name"]
            break

    print("Latest %s version is: %s" % (app_name, version))
    print("Download URL is: %s" % download_url)

    # Downloading latest binaries
    if not isfile(latest_bin):
        print("Downloading: %s" % latest_bin)
        wget(download_url, latest_bin, proxies=proxies)

    # Changing version of the package
    if Version(version) > Version(control.get_software_version()):
        print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
        result = True
    else:
        print("Software version up-to-date (%s)" % Version(version))
    control.version = "%s-%s" % (Version(version), control.version.split("-", 1)[-1])
    # control.set_software_version(version)
    control.save_control_to_wapt()

    # Deleting outdated binaries
    remove_outdated_binaries(version)

    # Validating update-package-sources
    return result

0a62e8fa24716e7cd36bd4a820b64fbddfa6dafc6653d6cb2c0e7d74eb283a65 : setup.py
2ba19a96c34220fe288ac88e17352f55e9ad2a460ca6567c5d6b22bb5b45af74 : update_package.py
8d6a6c7c4b6c6c844d993697fa8f0818a8b6213c0e2d64fd97d74478138d53fd : WinMerge-2.16.32-x64-Setup.exe
57671e8736c51c3c7fb97fc5f21adb7b8299f568c9b663df9e2b1a8988da88e4 : WAPT/icon.png
a5a97261381e1d0ad46ee15916abec9c2631d0201f5cc50ceb0197a165a0bbbf : WAPT/certificate.crt
515667e81a9847d3cf4489f5b9ecee948df2aa081ce2ab2496af0711bdbaa445 : luti.json
f77465ef7a49416ca52b84d06a598989dfd390f8b5c36205479fc0567c2dd2a6 : WAPT/control