[RISOLTO] Pacchetto per EdrawMax

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Bloccato
bastien30
Messaggi: 38
Registrazione: 8 marzo 2024 - 15:21

13 dicembre 2024 - 13:25

Buongiorno,

Ho creato un pacchetto per il software Wondershare EdrawMax, con update_package() funzionante.

Ho visto che avevi un pacchetto per EdrawMind, ma a quanto pare stai recuperando il programma di installazione dal tuo repository (problemi di licenza?).


setup.py:

Codice: Seleziona tutto

# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
from os import rename

def install():
    appver = control.get_software_version()
    appname = control.name
    install_exe_if_needed(r'edrawmax_%s.exe' % appver, silentflags=r'/VERYSILENT /NORESTART /ACCEPTEULA', min_version=appver, name=appname)
    remove_desktop_shortcut(appname)

def session_setup():
    appname = control.name
    remove_user_desktop_shortcut(appname)
    
def update_package():
    appver = control.get_software_version()
    url = control.sources
    for col in bs_find_all(url, "div", "class", "m-3"):
        if "EdrawMax for Windows" in col.text:
            for release in bs_find_all(col, "div", "class", "font-size-small"):
                if "what's new" in release.text:
                    latest_version = release.text.strip().split("(")[0]
                    break
            for release_link in bs_find_all(col, "div", "class"):
                if "Have trouble" in release_link.text:
                    latest_release_link = bs_find(release_link, "a", "href")
                    if latest_release_link["href"].endswith(".exe"):
                        if r"64bit" in latest_release_link["href"]:
                            latest_url = latest_release_link["href"]
                            break
        if latest_version and latest_url:
            break

    if not latest_version:
        error(r'Error fetching latest version from website !')
    elif not latest_url:
        error(r'Error fetching latest download link from website !')
    else:
        print(r'Latest version : %s' % latest_version)
        print(r'Latest url : %s' % latest_url)

    if Version(latest_version, 3) > Version(appver, 3):
        installer = r'edrawmax_latest.exe'
        installer_version = r'edrawmax_%s.exe'
        wget(latest_url, installer)
        # Get full version from binary
        bin_version = get_version_from_binary(installer)
        if Version(bin_version, 3) != Version(latest_version, 3):
            error(r'Error : binary version and website version are not the same !')
        else:
            # Renaming installer with full version
            os.rename(installer, installer_version % bin_version)
            # Changing version of the package
            control.version = '%s-%s'%(bin_version, control.version.split('-')[-1])
            control.save_control_to_wapt()
            print('Changing version to: %s in WAPT\\control' % control.version)
            remove_outdated_binaries(bin_version)
    else:
        print("Already up to date")
controllare:

Codice: Seleziona tutto

package           : xxx-edrawmax
version           : 14.1.0.1212-5
architecture      : x64
section           : base
priority          : optional
name              : Wondershare EdrawMax
categories        : Utilities
maintainer        : XXXX
description       : Edraw Max est un logiciel de diagramme d'affaires et technique en 2D qui aide à créer des diagrammes de flux, des organigrammes, des cartes mentales, des diagrammes de réseau, des plans d'étage, des diagrammes de flux de travail, des graphiques d'affaires et des diagrammes d'ingénierie
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : windows
min_wapt_version  : 
sources           : https://www.edrawsoft.com/download-edrawmax.html
installed_size    : 
impacted_process  : EdrawMax,EdrawMaxTray
description_fr    : 
description_pl    : 
description_de    : 
description_es    : 
description_pt    : 
description_it    : 
description_nl    : 
description_ru    : 
audit_schedule    : 
editor            : EdrawSoft Co.,Ltd.
keywords          : 
licence           : proprietary_restricted
homepage          : https://edrawmax.wondershare.com/
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://www.edrawsoft.com/whats-new/edrawmax.html
min_os_version    : 
max_os_version    : 
italbot
Messaggi: 44
Registrazione: 26 settembre 2023 - 15:50

17 dicembre 2024 - 14:29

Ciao,

grazie per la condivisione e ottima osservazione sul pacchetto EdrawMind; ho appena modificato la funzione update_package() per quel pacchetto.

Cordiali saluti,

Ingrid
Tranquillo IT
Bloccato