tis-openrsat icon

OpenRSAT

Paquet d’installation silencieuse pour OpenRSAT

0.4.51.2
Utilities
Security
System and network
Utilities
Security
System and network

  • package: tis-openrsat
  • name: OpenRSAT
  • version: 0.4.51.2
  • categories: Utilities,Security,System and network
  • maintainer: WAPT Team,Tranquil IT,Louis Persin,Thomas Prud'homme
  • locale: all
  • target_os: linux
  • architecture: all
  • signature_date:
  • size: 14.87 Mo

package           : tis-openrsat
version           : 0.4.51.2
architecture      : all
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          : PROD
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      : 763e1e34-0ee4-4bf4-bde6-77de39c414e0
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : 03ea977bb46ee771b0e00d075fd36c1b185129a40260935db691719e6f42483d
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2025-10-28T21:07:18.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         : xNKHPIQ4w9RyCqF0xvYopTmtaer0yvLJ0DFe5O5wAjtB7cRBFFrxqmGFAwpD4tN2gIMNjC7Mye2CvoGOTHNUxo7UehOkRzuEvJTAchiTIPjX9mGvu7krtAbD7fYXbAauiqUvQNPDD4HjnOtLEGy2seJWgTnJHsUc+KknV1L41bXWi0n0NFTUfrQ0YdJhjSNbusBxqfMVEZi2kwziaRqg7bkmSxG5hWYLc5nSXZ92S8oJjoJwe9/Fd3/uW+NCzwUSUErF2tw507SIgHRyvglAwlExhM5XVzwWSWo6N7b8FFDeku75RRQfjRZxcBKJ4tYO4cKN05f7ZxJANn3nmPNhmg==

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

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

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

    if is64():
        arch = 'linux-x64'

    if is32():
        arch = 'linux-i386'

    if isARM():
        arch = 'linux-arm32'

    if isARM64():
        arch = 'linux-arm64'


    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/lazarus_4_0/lazarus/lazbuild'
package_version=2

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')
    tag = tag.strip()

    # 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_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('http://srvtemplates.ad.tranquil.it/binary_cache/mormot2static-2.3.stable.7z','mormot2static.7z', sha256='97c6e3ed9df42fb37911289b41761192b1cc56c1ff2c412609027a2560b31e56')
    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_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")
    for arch in ["linux-x64", "linux-i386", "linux-arm32", "linux-arm64"]:
        run(f"{lazbuild} --build-mode={arch} {build_folder}/sources/OpenRSAT.lpi")
    
    # WAPT PAckage prepare
    copytree2("/var/build/bin", "bin")

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

d2f0d7aaee4c5bd7f20a884be19d5442d077dcc88df4480eb5d221c09d2fdc8e : OpenRSAT.desktop
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
5677d2ed732f1f0df55e284dfa4cb626def62e85442e0d14cd9f481c4b90188b : WAPT/control
03ea977bb46ee771b0e00d075fd36c1b185129a40260935db691719e6f42483d : WAPT/icon.png
b4a47689e26a42eb083dbcbfb1011ae2f9f95e47ac2aaa07551f0a6c85ebfb64 : bin/linux-arm32/OpenRSAT
414e23bfc191841f45dfc02539af60821cd7c19039e00f3d07bf60226d1bfd4f : bin/linux-arm64/OpenRSAT
6cf0a80c20c3b4738e9ab15a4a12ad1544a32441e13df8ab279df110fde16155 : bin/linux-i386/OpenRSAT
71df94926fd3b79f6024c828080b484bcfc1092a3cb0ed1b88460c3a569743c0 : bin/linux-x64/OpenRSAT
778494a8cf14fddb014c832f6ce00bf5e5e96df3964c22fea16cec105e22d811 : luti.json
a2e046456e839ab4983903625a986b4a3374b7b38d384273483335b5a101a2fc : setup.py
3bacf1c833391077d53bbede66a509042235707536b0b4427ebe0d834dec8d43 : update_package.py