[RISOLTO] Pacchetto per ChatGPT (MacOS)

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
Risposta
bastien30
Messaggi: 38
Registrazione: 8 marzo 2024 - 15:21

4 settembre 2025 - 12:00

Buongiorno,

Ho creato un pacchetto per il client desktop ChatGPT per MacOS, con update_package() funzionante.

Nota: secondo il loro sito web, il DMG è compatibile solo con i processori ARM.

Per Windows, l'applicazione è disponibile nello store, quindi è sufficiente utilizzare il pacchetto di modelli dedicato: https://wapt.tranquil.it/store/fr/tis-t ... -store-app

setup.py:

Codice: Seleziona tutto

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

def install():
    # Initializing variables
    package_version = control.version.split("-")[0]
    app_name = control.name

    # Installing the package
    bin_name= glob.glob('%s*.dmg' % app_name)[0]
    install_dmg(bin_name, key="/Applications/%s.app" % app_name, min_version=package_version)

def update_package():
    app_name = control.name
    bin_name = r'%s.dmg' % app_name
    dl_url = r'%s/%s' % (control.sources, bin_name)
    plist_file_name = r'Info.plist'

    # Downloading and extracting to compare version
    if isfile(bin_name):
        remove_file(bin_name)
    wget(dl_url, bin_name)

    if isfile(plist_file_name):
        remove_file(plist_file_name)
    unzip_with_7zip(bin_name, target=basedir, filenames=["%s Installer/%s.app/Contents/Info.plist" % (app_name, app_name)], extract_with_full_paths=False, recursive=False)
    
    plist_file = get_plist_obj(plist_file_name)
    latest_version = plist_file[r'CFBundleShortVersionString']
    print(r'Latest %s version is %s' % (app_name, latest_version))
    remove_file(plist_file_name)

    if Version(latest_version) > Version(control.get_software_version()):
        print(r'Latest %s version is %s' % (app_name, latest_version))
        # Changing version of the package
        control.version = '%s-%s' % (latest_version, control.version.split('-', 1)[-1])
        control.save_control_to_wapt()
        print('Changing version to: %s in WAPT\\control' % control.version)
    else:
        print(r'Already up to date !')

def get_plist_obj(plist_file):
    """ Returns a plist obj when given the path to a plist file. """

    with open(plist_file, 'rb') as fp :
        plist_obj = plistlib.load(fp)
    return plist_obj
controllare:

Codice: Seleziona tutto

package           : xxx-chatgpt
version           : 1.2025.231-2
architecture      : arm
section           : base
priority          : optional
name              : ChatGPT
categories        : Utilities
maintainer        : XXXX
description       : ChatGPT Officiel Desktop Client
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : darwin
min_wapt_version  : 2.0
sources           : https://persistent.oaistatic.com/sidekick/public/
installed_size    : 
impacted_process  : chatgpt
description_fr    : 
description_pl    : 
description_de    : 
description_es    : 
description_pt    : 
description_it    : 
description_nl    : 
description_ru    : 
audit_schedule    : 
editor            : OpenAI
keywords          : 
licence           : proprietary_free,wapt_public
homepage          : https://chatgpt.com
package_uuid      :
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : https://help.openai.com/en/articles/9703738-chatgpt-macos-app-release-notes
min_os_version    : 
max_os_version    : 
Risposta