tis-lazygit-portable icon

lazygit

Paquet d’installation silencieuse pour lazygit

0.57.0-1

Les paquets PREPROD sont des paquets construits via LUTI. Ils restent généralement 5 jours en PREPROD, après quoi un scan VirusTotal est effectué.
Si le paquet réussit ce dernier contrôle, il est promu en PROD et publié sur le store.

  • package: tis-lazygit-portable
  • name: lazygit
  • version: 0.57.0-1
  • maintainer: Amel FRADJ,Bertrand Lemoigne
  • licence: MIT license
  • target_os: linux
  • impacted_process: lazygit
  • architecture: x64
  • signature_date:
  • size: 7.93 Mo
  • homepage : https://donorbox.org/lazygit

package           : tis-lazygit-portable
version           : 0.57.0-1
architecture      : x64
section           : base
priority          : optional
name              : lazygit
categories        : 
maintainer        : Amel FRADJ,Bertrand Lemoigne
description       : A simple terminal UI for git commands, written in Go with the gocui library
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : 
target_os         : linux
min_wapt_version  : 
sources           : 
installed_size    : 
impacted_process  : lazygit
description_fr    : Une interface de terminal simple pour les commandes git, écrite en Go avec la bibliothèque gocui
description_pl    : Prosty interfejs terminala dla poleceń git, napisany w języku Go przy użyciu biblioteki gocui
description_de    : Eine einfache Terminal-Oberfläche für Git-Befehle, geschrieben in Go mit der gocui-Bibliothek
description_es    : Una sencilla interfaz de terminal para comandos git, escrita en Go con la biblioteca gocui
description_pt    : Uma interface de terminal simples para comandos git, escrita em Go com a biblioteca gocui
description_it    : Una semplice interfaccia terminale per i comandi di git, scritta in Go con la libreria gocui
description_nl    : Een eenvoudige terminal UI voor git commando's, geschreven in Go met de gocui bibliotheek
description_ru    : Простой терминальный пользовательский интерфейс для команд git, написанный на Go с использованием библиотеки gocui
audit_schedule    : 
editor            : 
keywords          : 
licence           : MIT license
homepage          : https://donorbox.org/lazygit
package_uuid      : 39154548-96d7-44ff-bfd0-1218568df002
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : e34d0e3c2ab4bd743db7dde335dba0c5de73c28ad51e6ffcf003ca15650be2ee
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2025-12-06T13:24:39.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         : NV2vQ28ky2xE+GzsEtjsJrN2wFWlDCo0UL/ERlkQUV7zrNBfpUvFLJQSf1Nj2RjP8K6tnEQmoBRnE2fFsG5gMO9QYeg1tn5D9xwMx9VSi0heibRPnkITCnLBH2E/VmgQV0i0xLcH78V32LdP5ASsK+Fid9RCVQIUZwXRPqcNwaSlgUfotM0wWrI+Ka1JuxtPcVMu1c5nMshrBdoDwKgJ0DqUAcQcMkqAvgVlY6fIgHZErE9OYZkDjqDkveO0DXaChHgF2kNrFEFS0+EfvnVdg965Dno0hSWLN7O7BD6NPKTtWKP7BVhuv3oBIFLWTSsh9LR7e3PcsAXd1euF+cS8Nw==

# -*- coding: utf-8 -*-
from setuphelpers import *
import tarfile
from typing import List, Optional


app_name = "lazygit"
bin_name = "lazygit"
bin_path = "/usr/local/bin"
app_path = makepath("/opt", app_name)

bin_target = makepath(bin_path, bin_name)
app_target = makepath(app_path, bin_name)

def install():
    extract_path = glob.glob("lazygit_*_linux_x86_64.tar.gz")[0]
    mkdirs(app_path)
    extract_tar(extract_path, app_path)
    
    if isfile(bin_target):
        remove_file(bin_target)

    os.symlink(app_target, bin_target)

def uninstall():
    print(f"Removing {app_name}")
    if isfile(bin_target):
        remove_file(bin_target)
    if isdir(app_path):
        remove_tree(app_path)

def extract_tar(
    tar_path: str,
    extract_path: str = ".",
    exclude_list: Optional[List[str]] = None,
    include_list: Optional[List[str]] = None
) -> None:
    """
    Extracts a tar archive to the given directory, with optional inclusion or exclusion filtering.

    :param tar_path: Path to the .tar (or .tar.gz, .tar.bz2, etc.) archive.
    :param extract_path: Directory where files should be extracted.
    :param exclude_list: List of path prefixes to exclude from extraction.
    :param include_list: List of path prefixes to include exclusively. Overrides exclude_list if provided.
    """
    with tarfile.open(tar_path, 'r:*') as tar:
        all_members = tar.getmembers()

        if include_list:
            include_set = set(include_list)
            members = [
                m for m in all_members
                if any(m.name.startswith(inc) for inc in include_set)
            ]
        elif exclude_list:
            exclude_set = set(exclude_list)
            members = [
                m for m in all_members
                if not any(m.name.startswith(exc) for exc in exclude_set)
            ]
        else:
            members = all_members

        tar.extractall(path=extract_path, members=members)

# -*- 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()
    app_name = control.name

    api_url = "https://api.github.com/repos/jesseduffield/lazygit/releases/latest"

    os_type = control.target_os + "-" + ensure_list(control.architecture)[0]
    releases_dict = wgets(api_url, proxies=proxies, as_json=True)
    version = releases_dict["tag_name"].replace("v", "")

    update_dict = {
        "linux-arm64": f"lazygit_{version}_linux_arm64.tar.gz",
        "linux-x64": f"lazygit_{version}_linux_x86_64.tar.gz"
    }

    for asset in releases_dict["assets"]:
        if asset["name"] == update_dict[os_type]:
            download_url = asset["browser_download_url"]
            latest_bin = download_url.rsplit("/", 1)[-1]
            latest_bin_extension =  latest_bin.rsplit(".", 1)[-1]
            break

    # Downloading latest binaries
    print(f"Latest {app_name} version is: {version}")
    print(f"Download URL is: {download_url}")
    if not isfile(latest_bin):
        print(f"Downloading: {latest_bin}")
        wget(download_url, latest_bin, proxies=proxies)
    else:
        print(f"Binary is present: {latest_bin}")

    # Changing version of the package
    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(f'*.{latest_bin_extension}'):
        if f != latest_bin:
            remove_file(f)

    control.set_software_version(version)
    control.save_control_to_wapt()

    return package_updated

01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
15a8ba26f1289e6d8ed74afcd5ac9b5c41a9099a247383537fdb949a432f366c : WAPT/control
e34d0e3c2ab4bd743db7dde335dba0c5de73c28ad51e6ffcf003ca15650be2ee : WAPT/icon.png
ced011ecd1459d069c66128fbf172b7248c8b99d8983fa17d84a247a98146d5e : lazygit_0.57.0_linux_x86_64.tar.gz
e86345faa0d0a7e4ac44ff554c7037f60ddf4c9da00154f6480042d21db9ea2d : luti.json
bdd73c3cbc061c2c879740564ee9ff3334e2e82484d99466368f6e3a368b297c : setup.py
679aab414f17d5aa49c595cecd396e00105092cd61d81bd55821f98456a3a74c : update_package.py