tis-glpi-agent icon

GLPI Agent

Silent install package for GLPI Agent

1.17-3

  • package: tis-glpi-agent
  • name: GLPI Agent
  • version: 1.17-3
  • maintainer: Simon Fonteneau
  • licence: GPL-2.0
  • locale: all
  • target_os: darwin
  • impacted_process: glpi-agent
  • architecture: arm
  • signature_date:
  • size: 22.15 Mo
  • installed_size: 72.14 Mo
  • homepage : https://github.com/glpi-project/glpi-agent

package           : tis-glpi-agent
version           : 1.17-3
architecture      : arm
section           : base
priority          : optional
name              : GLPI Agent
categories        : 
maintainer        : Simon Fonteneau
description       : The GLPI Agent is a generic management agent. It can perform a certain number of tasks, according to its own execution plan, or on behalf of a GLPI server acting as a control point.
depends           : 
conflicts         : 
maturity          : PROD
locale            : all
target_os         : darwin
min_wapt_version  : 2.0
sources           : 
installed_size    : 72138232
impacted_process  : glpi-agent
description_fr    : L'Agent GLPI est un agent de gestion générique. Il peut effectuer un certain nombre de tâches, selon son propre plan d'exécution, ou pour le compte d'un serveur GLPI faisant office de point de contrôle.
description_pl    : 
description_de    : 
description_es    : 
description_pt    : 
description_it    : 
description_nl    : 
description_ru    : 
audit_schedule    : 
editor            : 
keywords          : glpi
licence           : GPL-2.0
homepage          : https://github.com/glpi-project/glpi-agent
package_uuid      : fb057192-74a7-43e5-9b46-227ccf905562
valid_from        : 
valid_until       : 
forced_install_on : 
changelog         : 
min_os_version    : 
max_os_version    : 
icon_sha256sum    : ff336ad8093a16abe7028748cdebfd0b9e789dd85f0b38d35d3dbdadbc8b6e97
signer            : Tranquil IT
signer_fingerprint: 8c5127a75392be9cc9afd0dbae1222a673072c308c14d88ab246e23832e8c6bb
signature_date    : 2026-04-05T11:07:20.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         : OwnJnmuKGjeeweX19zlwO2TdDCHztH3dWe5X9COFG6vDXGxOn8Nd/OvgJNDaeaElRBdWIYQmJlRo8/2yD65mNKAmk9ao4WjTgGjAe5Zb4kjA0JEyHDAT6M4Q5K6SVO1XHDQVjqq8nr+HvSzrogMMssq9OBvuY45dxWz2eKJ/HODPA05y8fb7gNL/iNXCq8PwDLK9p6/STTZ3RNgt5niTM1fBqaMvb/RuHo27MMflvrOYzgdI5tW1wvBVuSeLZXsxEsZrgSew/KX3gQBXgstqaDDJHWBlomyJHgnSVify8jyDcwDgi8VVSrkLBTpSn+wjsp68uMQpfMn64jzRJRjZhA==

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


def install():
    
    if installed_softwares('org.glpi-project.glpi-agent'):
        uninstall_pkg('org.glpi-project.glpi-agent')

    install_pkg(
        glob.glob("*.pkg")[0],
        key='pkgid:com.teclib.glpi-agent',
        min_version=control.get_software_version()
    )

def uninstall():
    files_to_delete = [
        "/Applications/GLPI-Agent",
        "/var/log/glpi-agent.log",
        "/usr/local/bin/dmidecode",
        "/Library/LaunchDaemons/com.teclib.glpi-agent.plist"
    ]
    for file in files_to_delete:
        if isfile(file):
            remove_file(file)
        remove_tree(file, ignore_errors=True)

# -*- 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

    url_api = "https://api.github.com/repos/glpi-project/glpi-agent/releases/latest"

    releases = wgets(url_api, proxies=proxies, as_json=True)
    version = releases['tag_name']

    os_dict = {
        "windows-x64": f"GLPI-Agent-{version}-x64.msi",
        "darwin-arm": f"GLPI-Agent-{version}_arm64.pkg",
        "darwin-x64": f"GLPI-Agent-{version}_x86_64.pkg",
        "debian_based-all": f"glpi-agent_{version}-1_all.deb",
        "redhat_based-all": f"glpi-agent-{version}-1.noarch.rpm",
    }

    os_type = control.target_os + "-" + ensure_list(control.architecture)[0]

    for download in releases["assets"]:
        if download["name"] == os_dict[os_type]:
            download_url = download["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"latest_bin 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

37690868bad9ccf55629bb668fe179e0eccb821bcab48c519bcb28b76589dac1 : GLPI-Agent-1.17_arm64.pkg
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
86974fbba5f686c37d1dc1eaf73aef2c55ff60810d7d6e6bac836473d71f5bf2 : WAPT/control
ff336ad8093a16abe7028748cdebfd0b9e789dd85f0b38d35d3dbdadbc8b6e97 : WAPT/icon.png
c6246be77fa0d87cb8860fc9de433dfc02b56edaaca368712d5b6267141eeee4 : WAPT/wapt.psproj
af29e6e98ec4c10678bf0979016aacba0b99eb094896ae3d573917203ebc41b4 : luti.json
a0092d774e65c11e745c590831f03eaf4550ca888a93b91880cbe3d8d17feab8 : setup.py
1212aed63741871708232abac417ed35c55ff9602afe1ece0e32cb90a27fe4e1 : update_package.py