tis-xnview-mp icon

XnView MP

Silent install package for XnView MP

1.12.1-1
Media
Utilities
Media
Utilities

  • package: tis-xnview-mp
  • name: XnView MP
  • version: 1.12.1-1
  • categories: Media,Utilities
  • maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ,Amel FRADJ
  • editor: Pierre-e Gougelet
  • licence: Freeware for private and educational use, commercial license required otherwise
  • locale: all
  • target_os: debian(>=11),ubuntu(>=22)
  • impacted_process: XnView
  • architecture: x64
  • signature_date:
  • size: 65.84 Mo
  • homepage : https://www.xnview.com/en/xnviewmp/

package           : tis-xnview-mp
version           : 1.12.1-1
architecture      : x64
section           : base
priority          : optional
name              : XnView MP
categories        : Media,Utilities
maintainer        : WAPT Team,Tranquil IT,Jimmy PELÉ,Amel FRADJ
description       : XnView MP is a versatile and powerful photo viewer, image manager and image resizer.
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : debian(>=11),ubuntu(>=22)
min_wapt_version  : 2.3
sources           : https://www.xnview.com/en/xnviewmp/#downloads
installed_size    : 
impacted_process  : XnView
description_fr    : XnView MP est une visionneuse de photos polyvalente et puissante, un gestionnaire d'images et un outil de redimensionnement d'images.
description_pl    : XnView MP to wszechstronna i wydajna przeglądarka zdjęć, menedżer obrazów i narzędzie do zmiany ich rozmiaru.
description_de    : XnView MP ist ein vielseitiger und leistungsstarker Bildbetrachter, Bildverwalter und Bildgrößenänderer.
description_es    : XnView MP es un visor de fotos versátil y potente, un gestor de imágenes y un redimensionador de imágenes.
description_pt    : O XnView MP é um visualizador de fotografias versátil e poderoso, um gestor de imagens e um redimensionador de imagens.
description_it    : XnView MP è un visualizzatore di foto versatile e potente, un gestore di immagini e uno strumento per ridimensionarle.
description_nl    : XnView MP is een veelzijdige en krachtige fotoviewer, afbeeldingsbeheerder en tool om afbeeldingen te verkleinen.
description_ru    : XnView MP представляет собой универсальную и мощную программу для просмотра фотографий, управления изображениями и изменения их размера.
audit_schedule    : 
editor            : Pierre-e Gougelet
keywords          : xnview,image,photo,viewer,picture,converter,resize,batch,browser
licence           : Freeware for private and educational use, commercial license required otherwise
homepage          : https://www.xnview.com/en/xnviewmp/
package_uuid      : ffa1d9d1-ecf9-4297-ad2a-da8eff0b9104
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://www.xnview.com/en/xnviewmp/#changelog
min_os_version    : 
max_os_version    : 
icon_sha256sum    : eadc5181f6365179b2c019db57bece8c68e588714cb4c37f371483404df6967f
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2026-10-04T09:10:59.000000
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
signature         : eNNT+oxpR01ZW4T6SSV607UNmirZ2FqlbKlv60hWGJblLJhDbgq5IcymR+Hv5joNgwwS0Y9IB1nTE/e5taDLp/yRYHV4Iq35eE6GreyN+eaucQQlKSUR03/OT10ig5FDuHDI0Yji43+t6aFbOgQ8KOvOdO23UTzZV5eCrcLUZfX0K50lR5IGtVtQKRWW2ojfIodlbU3boJn8nmuXPtAt4scYNvO1OkEMfN1Skm09ih++ZjlyOuzYbpx/7WV6nGp6pnTe+d31xoebr9TRb3R8vIpWmQHBmpPRMBrBD29UPcz5H3eJg7Cpn4S4HSm2xAcrHpjBblIMsXnnSUtMCMko9A==

# -*- coding: utf-8 -*-
from setuphelpers import *


def install():
    killalltasks(ensure_list(control.impacted_process))
    install_deb(glob.glob("XnViewMP-linux-x64.deb")[0])


def uninstall():
    uninstall_apt("xnview")

# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
import io
import tarfile


def update_package():
    package_updated = False
    proxies = get_proxies()
    if not proxies:
        proxies = get_proxies_from_wapt_console()
    app_name = control.name

    # The vendor's version feeds http://www.xnview.com/update.txt lag behind the actual binaries,
    # so the version is read from the downloaded installer itself
    base_url = "https://download.xnview.com/"
    os_dict = {
        "windows-x64": "XnViewMP-win-x64.exe",
        "windows-x86": "XnViewMP-win.exe",
        "darwin-all": "XnViewMP-mac.dmg",
        "debian-x64": "XnViewMP-linux-x64.deb",
    }
    os_type = control.target_os.split("(")[0] + "-" + ensure_list(control.architecture)[0]
    latest_bin = os_dict[os_type]
    download_url = base_url + latest_bin

    if isfile(latest_bin):
        remove_file(latest_bin)
    print(f"Downloading: {download_url}")
    wget(download_url, latest_bin, proxies=proxies)

    version = get_deb_version(latest_bin)
    print(f"Latest {app_name} version is: {version}")

    if Version(version) > Version(control.get_software_version()):
        print(f"Software version updated (from: {control.get_software_version()} to: {Version(version)})")
        package_updated = True
    else:
        print(f"Software version up-to-date ({Version(version)})")

    for f in glob.glob("*.deb"):
        if f != latest_bin:
            remove_file(f)

    control.set_software_version(version)
    control.save_control_to_wapt()

    return package_updated


def get_deb_version(deb_file):
    with open(deb_file, "rb") as f:
        data = f.read()
    header = data.index(b"control.tar")
    size = int(data[header + 48:header + 58])
    with tarfile.open(fileobj=io.BytesIO(data[header + 60:header + 60 + size])) as control_tar:
        deb_control = control_tar.extractfile("./control").read().decode()
    return deb_control.split("\nVersion: ")[1].splitlines()[0]

38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
322f7213213ae3560693dd43ba7bb8225b83c36da3711193dafa5fa9e4c21108 : WAPT/control
eadc5181f6365179b2c019db57bece8c68e588714cb4c37f371483404df6967f : WAPT/icon.png
0e82f8e681a19bb9efc74fdd003f22a043890d5a7db32ffb6145c693e289d279 : XnViewMP-linux-x64.deb
5942924b47751251a498e4863d155e501d152b4651d9fbe897e0b967e5588c93 : luti.json
f5a39b39087103738716255f456fa2aed6ed69a90eb785a20d360c51cb3c87f6 : setup.py
57e170b7856aa0ceb36882558d698e4fa7996f7150e42051b091df6abaf15d7f : update_package.py