GitUI
Silent install package for GitUI
0.27.0-2
Development
Development
- package: tis-gitui
- name: GitUI
- version: 0.27.0-2
- categories: Development
- maintainer: WAPT Team,Tranquil IT,Ingrid TALBOT
- editor: extrawurst
- licence: opensource_free,cpe:/a:mit:x11_license,wapt_public
- locale: all
- target_os: linux
- impacted_process: gitui
- architecture: arm64
- signature_date:
- size: 5.92 Mo
- installed_size: 6.66 Mo
package : tis-gitui
version : 0.27.0-2
architecture : arm64
section : base
priority : optional
name : GitUI
categories : Development
maintainer : WAPT Team,Tranquil IT,Ingrid TALBOT
description : GitUI is a git GUI that works in the terminal
depends :
conflicts :
maturity : PROD
locale : all
target_os : linux
min_wapt_version : 2.3
sources :
installed_size : 6663168
impacted_process : gitui
description_fr : GitUI est une interface graphique git qui fonctionne dans le terminal
description_pl : GitUI to graficzny interfejs użytkownika git, który działa w terminalu
description_de : GitUI ist eine Git-GUI, die im Terminal funktioniert
description_es : GitUI es una GUI de git que funciona en el terminal
description_pt : GitUI é uma GUI do git que funciona no terminal
description_it : GitUI è una GUI di git che funziona nel terminale
description_nl : GitUI is een git GUI die in de terminal werkt
description_ru : GitUI - это графический интерфейс git, который работает в терминале
audit_schedule :
editor : extrawurst
keywords : git,terminal,interface
licence : opensource_free,cpe:/a:mit:x11_license,wapt_public
homepage :
package_uuid : fc80e56a-ec80-4895-bbed-e60f91c15750
valid_from :
valid_until :
forced_install_on :
changelog :
min_os_version :
max_os_version :
icon_sha256sum : cb274cdd0b059366eb59f4dc8f7a72f257d4a9fc490589a23cdc32f4c30b2f3b
signer : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date : 2025-11-03T17:09:29.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 : J7t2QLKD1tS4O/pMoXySgALBLJT9m0yIHenihxpSuil/7JfFNJhuHPuz80UCK+p8X+J1vz9tCQgRBMeI+ColWy20vS8QrQ5HKRLI8sfaU/TlUwo5WhIJ3SKTX/mb44iGjaSgNWK22aMtYwhyiNwzzBpbBPtDh+fx2/j/iONGyUC7xqWjHV8NV3dUg4MTs1FEE52hQ9JZOJHyoJ1jR/m2foZ8xFvR3P4ymU+4jwyM+y5QJjuOvu5TD1/UWoG84XUcJIfFcZHNUP90+kwWwuZRrxXaCIUaVe6uTVBYBwux1+JLBPF6P7AI6PQQuqqCBTufV7GajVjJRXysARdd4Lfs1g==
# -*- coding: utf-8 -*-
from setuphelpers import *
import tarfile
from typing import List, Optional
app_name = "gitui"
bin_name = "gitui"
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("gitui-linux-aarch64.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/extrawurst/gitui/releases/latest"
update_dict = {
"windows-x64": "gitui-win.msi",
"linux-x64": "gitui-linux-x86_64.tar.gz",
"linux-arm64": "gitui-linux-aarch64.tar.gz"
}
os_type = control.target_os + "-" + ensure_list(control.architecture)[0]
releases_dict = wgets(api_url, proxies=proxies, as_json=True)
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]
version = releases_dict["tag_name"].replace("v", "")
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
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
0102ae7fce4852611ee62110d7e11f490046441f4b20d4a811c74b16b22f2155 : WAPT/control
cb274cdd0b059366eb59f4dc8f7a72f257d4a9fc490589a23cdc32f4c30b2f3b : WAPT/icon.png
56116e278c618c054e7575adf3b357504c75fa1b5a3ecb9314504d521c07a008 : gitui-linux-aarch64.tar.gz
445fe0465f2ce2d59a4a41e98d6966e63bf41ec32ef5ab0c3ffa98c70fd496dc : luti.json
26c39ca5b894cad7c7e22b3955bf6d8a62fc5e0e4a1a6850cb4d071ca23737d3 : setup.py
0ef51b1f1cf01b98d37e723682c3b2f963808ced33a29a19bbbd5011acef6505 : update_package.py