tis-glpi-agent icon

GLPI Agent

Silent install package for GLPI Agent

1.20-3

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

package           : tis-glpi-agent
version           : 1.20-3
architecture      : x64
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      : 698776b1-89a6-4780-87b3-fc465829f47c
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-09-29T12:10:50.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         : c+dsw1oMyGs40nNlyn41twBUBGo3vWjjTVRypg4uU1pSJQLT41Hmcsor0gHzBTldv+E8DQa0Xpdqj8cxxLDkuNt8ibK7dOPJ0kw8gjIJTVlS88pKirK2sFBLwIJWmVp9+KZq9gyNXkGw4lpB/eDL3V7Fdby2i1CIYpd8JU4ldmGwB6+tSL2knHvaiiduJLTD5KR1U/nJ2+xA/pu6eIJSxQ7uBA+HYk4EtZWWv5uNd2ivn7AuX3XuyIXUVEtrtGmZJL5Aw15d/f93r8WVzzx2C6f6qSPvoDTIPtQkBEeCDiErDcoeYoFRJdFQp3zh3eEU34BJs6ajvI9YPOqoXXNYtA==

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

863ab0dd0628d23816209ad5cdd8272f9953df121237802dc5fb9a15b3f2471e : GLPI-Agent-1.20_x86_64.pkg
38d056ab130f7bf7c481c12636a4e9959de36561d3dfcbe54c6e3571bc0c1dc3 : WAPT/certificate.crt
a3910bd7352f5c6717f2c2ac62ae2369f4ec706bce15e9ae1a741556400c80fc : WAPT/control
ff336ad8093a16abe7028748cdebfd0b9e789dd85f0b38d35d3dbdadbc8b6e97 : WAPT/icon.png
c6246be77fa0d87cb8860fc9de433dfc02b56edaaca368712d5b6267141eeee4 : WAPT/wapt.psproj
6420bd2000366e5c6416c515b5f4e104ddea0c107022d17a923ac93b84d31006 : luti.json
2622c06064ef0c96d08dbd2d7efcc2a55728a2db0e88045fd31cdf4953337e20 : setup.py
1212aed63741871708232abac417ed35c55ff9602afe1ece0e32cb90a27fe4e1 : update_package.py