tis-openrsat icon

OpenRSAT

Paquet d’installation silencieuse pour OpenRSAT

0.4.13
Utilities
Security
System and network
Utilities
Security
System and network

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-openrsat
  • name: OpenRSAT
  • version: 0.4.13
  • categories: Utilities,Security,System and network
  • maintainer: WAPT Team,Tranquil IT,Louis Persin,Thomas Prud'homme
  • locale: all
  • target_os: linux
  • architecture: x64
  • signature_date:
  • size: 3.24 Mo

package           : tis-openrsat
version           : 0.4.13
architecture      : x64
section           : base
priority          : optional
name              : OpenRSAT
categories        : Utilities,Security,System and network
maintainer        : WAPT Team,Tranquil IT,Louis Persin,Thomas Prud'homme
description       : 
depends           : 
conflicts         : 
maturity          : PREPROD
locale            : all
target_os         : linux
min_wapt_version  : 2.3
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      : 1057a20d-3815-4d76-acab-6c90c7d331f4
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 03ea977bb46ee771b0e00d075fd36c1b185129a40260935db691719e6f42483d
signer            : test
signer_fingerprint: b82fc8ef4a4475c0f69ac168176c2bfc58f572eb716c4eadd65e4785c155dd8e
signature_date    : 2025-10-14T07:54:13.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         : dTgqvNBVAUV+1nrUHASL4SXHbzTbJf8VuSQXbIyGlniAdX03J+CGUtrEvKrgJNEHoGusf7OeGSOOZFpT3XCN9v9dmrC1ivIa1XU2Ma3gFp2U6lZBXONLELXaDz66axAlly8BD956Y2RNs+WEduBsZt7/7XNjG/1WWjrF9+i42wdzuOP1G/geT18E1W9/2Rvpx2FjWHRKI59O+3N8W99s7fOub9c90dzaf8fK/n/wGbF0poFkS4YT0R3CdeWG4PkqdFaPClZGPoA8kP++TFZverJEmRNHumTjcYJZF7gfnsEvcOhu54jS4uW51V9yFQzyIgP00rc5sz+nynmUgKH8ZQ==

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

path = '/opt/openrsat'
name = 'OpenRSAT'

def install():
    arch = 'linux-x64'

    # if is64():
    #     arch = 'x86_64'

    # if is32():
    #     arch = 'i386'

    # if isARM():
    #     arch = 'arm'

    # if isARM64():
    #     arch = 'aarch64'


    mkdirs(path)
    filecopyto(f"bin/{arch}/{name}", f"{path}/{name}")
    run(f"chmod 755 {path}/{name}")
    filecopyto('WAPT/icon.png', f'{path}/{name}.png')
    filecopyto(f'{name}.desktop', f"{path}/{name}.desktop")
    run(f'ln -sf "{path}/{name}.desktop" "/usr/share/applications/{name}.desktop"')

def uninstall():
    remove_file(f"/usr/share/applications/{name}.desktop")
    remove_tree(path)


def audit():
    if not isfile(f"{path}/{name}"):
        print("erreur file not found")
        return "ERROR"
    else:
        return "OK"

# -*- coding: utf-8 -*-
from setuphelpers import *
import json

build_folder = r'/var/build'
git = r'git'
lazbuild = r'/opt/buildbot/lazarus_4_0/lazarus/lazbuild'

def update_package():
    # Remove old build folder
    if isdir(build_folder):
        print(f"Old build folder exists ({build_folder}). Remove it.")
        remove_tree(build_folder)

    mkdirs(build_folder)

    # Clone OpenRSAT repository
    print("Clone OpenRSAT repository.")
    run(f"{git} clone https://github.com/tranquilit/OpenRSAT.git {build_folder}")

    # Retrieve last tag
    print("Retrieve last tag.")
    tag = run(fr'{git} -C {build_folder} describe --tags --abbrev=0')

    # Checkout to last tag
    print(f"Last tag found ({tag}). Checkout to this tag.")
    run(fr'{git} -C {build_folder} checkout {tag}')

    # Update submodules
    print("Update submodules")
    run(fr'{git} -C {build_folder} submodule update --progress --init -- "submodules/mORMot2"')
    run(fr'{git} -C {build_folder} submodule update --progress --init -- "submodules/pltis_uicomponents"')
    run(fr'{git} -C {build_folder} submodule update --progress --init -- "submodules/pltis_tsmbios"')
    run(fr'{git} -C {build_folder} submodule update --progress --init -- "submodules/pltis_utils"')
    run(fr'{git} -C {build_folder} submodule update --progress --init -- "submodules/pltis_virtualtrees"')
    run(fr'{git} -C {build_folder} submodule update --progress --init -- "submodules/metadarkstyle"')

    # Patch pltis_uicomponents
    print("Patch pltis_uicomponents")
    f = open(fr'{build_folder}/submodules/pltis_uicomponents/src/standard/tis.ui.lvlgraphcontrol.pas','r')
    filedata = f.read()
    f.close()
    newdata = filedata.replace("Laz_AVL_Tree","AVL_Tree")
    f = open(fr'{build_folder}/submodules/pltis_uicomponents/src/standard/tis.ui.lvlgraphcontrol.pas','w')
    f.write(newdata)
    f.close()

    # Update and install debian dependancies
    print("Update and install debian dependancies.")
    update_apt()
    install_apt("mingw-w64")
    install_apt("binutils-mingw-w64")
    install_apt("gcc-multilib")

    # Link windres
    print("Link windres.")
    run("ln -s /usr/bin/x86_64-w64-mingw32-windres /usr/bin/windres")

    # Download mORMot2 static requirements
    print("Download mORMot2 static")
    wget('https://synopse.info/files/mormot2static.7z', 'mormot2static.7z')
    run('7zz x -y mormot2static.7z -ostatic')
    remove_tree(fr'{build_folder}/submodules/mORMot2/static')
    os.rename('static',fr'{build_folder}/submodules/mORMot2/static')
    remove_file('mormot2static.7z')

    # Add required package to Lazarus IDE
    print("Add required package to Lazarus IDE")
    run(f'{lazbuild} --add-package-link {build_folder}/submodules/mORMot2/packages/lazarus/mormot2.lpk')
    run(f'{lazbuild} --add-package-link {build_folder}/submodules/pltis_uicomponents/pack/pltis_uicomponents.lpk')
    run(f'{lazbuild} --add-package-link {build_folder}/submodules/pltis_tsmbios/Packages/tsmbios.lpk')
    run(f'{lazbuild} --add-package-link {build_folder}/submodules/pltis_utils/pltis_utils.lpk ')
    run(f'{lazbuild} --add-package {build_folder}/submodules/pltis_virtualtrees/virtualtreeview_package.lpk')
    run(f'{lazbuild} --add-package {build_folder}/submodules/metadarkstyle/metadarkstyle.lpk')
    run(f'{lazbuild} --add-package {build_folder}/submodules/metadarkstyle/metadarkstyledsgn.lpk')
    run(f'{lazbuild} --add-package-link {build_folder}/packages/OpenRSATCore/OpenRSATCore.lpk')
    
    # Build Lazarus project
    print("Build lazarus project")
    run(f"{lazbuild} --build-mode=linux-x64 {build_folder}/sources/OpenRSAT.lpi")
    
    # WAPT PAckage prepare
    copytree2("/var/build/bin", "bin")

    # Update package version
    print("Update package version")
    version = tag[1:]
    control.set_software_version(version)
    control.save_control_to_wapt()

d2f0d7aaee4c5bd7f20a884be19d5442d077dcc88df4480eb5d221c09d2fdc8e : OpenRSAT.desktop
01ca7fe94636e5a08fcb73849d3b5df25d51e2c82f4dd1a08f01798b25899819 : WAPT/certificate.crt
5c87afacf1a3082a5fc3df6b5641d232334eaeefd4bdd3aa94d46437a2e13beb : WAPT/control
03ea977bb46ee771b0e00d075fd36c1b185129a40260935db691719e6f42483d : WAPT/icon.png
5f27a9139bcc2cee14d775d7279b1b954c1c7e666c6c6e7dfeb9531f0bf614f4 : bin/linux-x64/OpenRSAT
aa2437c5053dda1da1c9440c20494ba59ac12ee43b6cc7ecd00d4347569d2e24 : luti.json
5ff07b841364fa814e9ba650f477692d54406ed1ee08b5a08f9d2f6d2fe39564 : setup.py
85b9fc193a13c5c736bf3ba8d56b0a7290f20df9c0ae30cb94b234bd3c777f95 : update_package.py