Shotcut
Paquet d’installation silencieuse pour Shotcut
26.1.30-15
Media
Media
Les paquets PREPROD sont des paquets construits via LUTI.
Ils restent généralement 5 jours en PREPROD, après quoi un deuxième scan VirusTotal est effectué pour vérifier que le status n'a pas changé.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.
- package: tis-shotcut
- name: Shotcut
- version: 26.1.30-15
- categories: Media
- maintainer: WAPT Team,Tranquil IT,Jimmy PELÉ,Simon Fonteneau,Pierre COSSON,Clément BAZIRET,Jordan ARNAUD
- licence: opensource_free,wapt_public
- locale: all
- target_os: linux
- impacted_process: shotcut
- architecture: x64
- signature_date:
- size: 187.52 Mo
- installed_size: 416.69 Mo
- homepage : https://www.shotcut.org/
package : tis-shotcut
version : 26.1.30-15
architecture : x64
section : base
priority : optional
name : Shotcut
categories : Media
maintainer : WAPT Team,Tranquil IT,Jimmy PELÉ,Simon Fonteneau,Pierre COSSON,Clément BAZIRET,Jordan ARNAUD
description : Shotcut is a free, open source, cross-platform video editor
depends :
conflicts :
maturity : PREPROD
locale : all
target_os : linux
min_wapt_version : 2.3
sources : https://www.shotcut.org/download/
installed_size : 416687882
impacted_process : shotcut
description_fr : Shotcut est un logiciel libre de montage vidéo
description_pl : Shotcut to darmowy, open source, wieloplatformowy edytor wideo
description_de : Shotcut ist ein kostenloser, quelloffener, plattformübergreifender Video-Editor
description_es : Shotcut es un editor de vídeo gratuito, de código abierto y multiplataforma
description_pt : Shotcut é um editor de vídeo gratuito, de código aberto, multiplataforma
description_it : Shotcut è un editor video gratuito, open source e multipiattaforma
description_nl : Shotcut is een gratis, open source, cross-platform video editor
description_ru : Shotcut - это бесплатный кроссплатформенный видеоредактор с открытым исходным кодом
audit_schedule :
editor :
keywords :
licence : opensource_free,wapt_public
homepage : https://www.shotcut.org/
package_uuid : 9a4145af-8861-4470-adad-5be838d483e0
valid_from :
valid_until :
forced_install_on :
changelog : https://www.shotcut.org/download/releasenotes/
min_os_version :
max_os_version :
icon_sha256sum : 92ffd46fdb4f06ce92ca5a54938896190a9f8f2d790cd800f68b7a7b6e7976e8
signer : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date : 2026-01-31T21:21:46.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 : HJAma4Ed6dQKLhMsmtbS4mjkleUpYtNXmSzXs1LSycDC3W9QGL3uOZWRQ44far5x9OqpJcG7462pOXJYt2vbwrknL1RN6yz5X6VuHrlMkrbX78F90vSXbnoKpNipp2A9Jc7eGT55GUcgsiB49wUTDdHw+efbscPH1LwcL3pdLtxi4cWodzgg/cvs04IfLlOPrMsXFlhopdLU5x2v4oYFQa97RrQ2qgJAsU5oizmbT3RNTWKiIsrfiYFApPaZ2ClVJYFxkw5xwYIu5y2kNAerr8y1vxKLSR9oFozeRXC8ChEDS3ss29vVfA/RpeZdBFVmNqWK6oAR0I/1xHLqbNXe1Q==
# -*- coding: utf-8 -*-
##################################################
# This file is part of WAPT Enterprise
# All right reserved, (c) Tranquil IT Systems 2024
# For more information please refer to
# https://wapt.tranquil.it/store/licences.html
##################################################
from setuphelpers import *
from iniparse import ConfigParser
import os
def install():
install_dir = makepath('/','opt',control.package.split('-',1)[1])
appimage = glob.glob("*.AppImage")[0]
install_appimage(appimage,install_dir)
def uninstall():
install_dir = makepath('/','opt',control.package.split('-',1)[1])
uninstall_appimage(install_dir)
def install_appimage(appimage,install_dir,binaliasname=None):
run('chmod a+x ./' + appimage)
if isdir(install_dir):
uninstall_appimage(install_dir)
mkdirs(install_dir)
name_appimage = appimage.split('/')[-1]
filecopyto(appimage, makepath(install_dir, name_appimage))
run('"./%s" --appimage-extract' % appimage)
for desktop in glob.glob(makepath('squashfs-root','*.desktop')):
desktop_cp = ConfigParser()
desktop_cp.optionxform = str
desktop_file = open(desktop, encoding="utf-8")
desktop_cp.readfp(desktop_file)
bin_path = desktop_cp.get('Desktop Entry',"Exec")
newbin_path = install_dir + '/' + name_appimage
if ' %' in bin_path:
newbin_path = newbin_path + ' %' + bin_path.split(' %',1)[1]
icon_path = desktop_cp.get('Desktop Entry',"Icon")
srcicon = makepath('squashfs-root',icon_path +'.svg')
if not isfile(srcicon):
srcicon = makepath('squashfs-root',icon_path +'.png')
if not isfile(srcicon):
lstglob = glob.glob(makepath('squashfs-root','*.svg'))
if lstglob :
srcicon=lstglob[0]
if not isfile(srcicon):
lstglob = glob.glob(makepath('squashfs-root','*.png'))
if lstglob :
srcicon=lstglob[0]
else:
srcicon = None
if srcicon:
new_icon = install_dir + '/' + srcicon.split('/')[-1]
filecopyto(srcicon,new_icon)
desktop_cp.set('Desktop Entry',"Icon",new_icon)
desktop_cp.set('Desktop Entry',"Exec",newbin_path)
with open(desktop, 'w', encoding="utf-8") as f:
desktop_cp.write(f)
pathdesk = makepath(install_dir,desktop.split('/')[-1])
filecopyto(desktop, pathdesk)
run('chown root:root "%s" ' % pathdesk)
for f in glob.glob(makepath(install_dir,'*.desktop')):
run('ln -sf "%s" "/usr/share/applications/%s"' % (f,f.split('/')[-1]))
if binaliasname :
run(f"ln -sf {install_dir}/{name_appimage} /usr/bin/{binaliasname}")
remove_tree('squashfs-root')
def uninstall_appimage(install_dir):
if not glob.glob(makepath(install_dir,'*.desktop')):
error('.desktop not found')
for f in glob.glob(makepath(install_dir,'*.desktop')):
deskfile = f.split('/')[-1]
system_desktop = makepath("/","usr","share","applications",deskfile)
if isfile(system_desktop):
remove_file(system_desktop)
remove_tree(install_dir)
# -*- coding: utf-8 -*-
from setuphelpers import *
from setupdevhelpers import *
def update_package():
# Declaring local variables
package_updated = False
proxies = get_proxies()
if not proxies:
proxies = get_proxies_from_wapt_console()
api_url = "https://api.github.com/repos/mltframework/shotcut/releases/latest"
bin_contains = ".AppImage"
# Getting latest version information from official sources
print("API used is: %s" % api_url)
json_load = wgets(api_url, proxies=proxies, as_json=True)
version = json_load["tag_name"].replace("v", "")
for to_download in json_load["assets"]:
if bin_contains in to_download["name"]:
download_url = to_download["browser_download_url"]
latest_bin = to_download["name"]
break
# Downloading latest binaries
print("Latest %s version is: %s" % (control.name, version))
print("Download URL is: %s" % download_url)
if not isfile(latest_bin):
print("Downloading: %s" % latest_bin)
wget(download_url, latest_bin, proxies=proxies)
else:
print("Binary is present: %s" % latest_bin)
# Deleting outdated binaries
remove_outdated_binaries(latest_bin)
# Checking version from file
if get_os_name() == "darwin" and "mac" in control.target_os.lower():
version_from_file = get_version_from_binary(latest_bin)
if Version(version_from_file, 4) == Version(version, 4):
print(f"INFO: Binary file version ({version_from_file}) corresponds to online version ({version})")
else:
error(f"ERROR: Binary file version ({version_from_file}) do NOT corresponds to online version ({version})")
# Changing version of the package
if Version(version, 4) > Version(control.get_software_version(), 4):
print("Software version updated (from: %s to: %s)" % (control.get_software_version(), Version(version)))
package_updated = True
else:
print("Software version up-to-date (%s)" % Version(version))
control.set_software_version(version)
control.save_control_to_wapt()
# Validating update-package-sources
return package_updated
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
963e53465b5d1003cc9984289b49cea7a2da8bf31cd35e1dfff5bb08902e7df7 : WAPT/control
92ffd46fdb4f06ce92ca5a54938896190a9f8f2d790cd800f68b7a7b6e7976e8 : WAPT/icon.png
5f1a7886aa92134e38778ba591de5c26ee1fb8bd8d379ffdc82079da4647ca9e : luti.json
83bcd377792f08d5d9a395a364e4e98089ceb92db2dc4165b1fd74e90e86b540 : setup.py
529f8f74cedd31c483cf877658ca1d7cfd0e08bdf0b815d344fe4d89d37a66eb : shotcut-linux-x86_64-26.1.30.AppImage
ea1bb13394d644e5afd2962df829721be2a3e562ff959b09c5d7e6dc593cd4cf : update_package.py