Page 1 sur 1

[RESOLU] Update-Upgrade package fusioninventory

Posté : 26 avr. 2018 - 11:33
par maintenancevla
Bonjour


je me permet ce mail car j'ai quelque soucis concernant l'upgrade de mon package fusion inventory.

J'ai changé de serveur Glpi suite a cela donc j'ai modifié mon package fuision inventory en version 2.4.5 mais helas sur les poste client la maj ne se fait pas il reste en 2.4.2 ou pire met bien version 2.4.5 mais

installing Fusion inventory agent
Exe setup fusioninventory-agent_windows-x64_2.4.exe already installed. Skipping

Quelle manip j'oublie

Merci d'avance

Re: Update-Upgrade package fusioninventory

Posté : 26 avr. 2018 - 16:25
par htouvet
Bonjour,
Pouvez-vous poster le contenu de votre setup.py.
Je pense que soit vous n'avez pas mis à jour la clé de désinstallation ou la version si la clé est la même quelque soit la version.

.

Re: Update-Upgrade package fusioninventory

Posté : 27 avr. 2018 - 08:07
par maintenancevla
Voici j'ai même testé avec => min_version='2.4-3'
Pour info avant c’était aussi la version 2.4 donc la c'est juste des modifies url serveur glpi



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

uninstallkey = []


serveur = "http://XXX.XXX.XXX.XXX/plugins/fusioninventory/"

parameters = '/S /acceptlicense /server="%s" /execmode=service /no-ssl-check /runnow' % (serveur)

key='FusionInventory-Agent'

def install():

print('installing Fusion inventory agent')
versionpaquet = control['version'].split('-',1)[0]
if iswin64():
install_exe_if_needed("fusioninventory-agent_windows-x64_%s.exe" % versionpaquet,parameters,key=key,min_version='2.4-3')
else:
install_exe_if_needed("fusioninventory-agent_windows-x86_%s.exe" % versionpaquet,parameters,key=key,min_version=versionpaquet)




def update_package():
import BeautifulSoup,requests,re

from waptpackage import PackageEntry
verify=True
pe = PackageEntry()
pe.load_control_from_wapt(os.getcwd())
current_version = pe['version'].split('-',1)[0]
verify=True

url = 'https://github.com/fusioninventory/fusi ... t/releases'

import requests,BeautifulSoup
page = requests.get(url + '/latest',headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64)'},verify=verify).text
bs = BeautifulSoup.BeautifulSoup(page)

bs_raw_string = str(bs.find('a',{'class':'css-truncate'}).text)

version = bs_raw_string

url64 = url + "/download/" + version + "/fusioninventory-agent_windows-x64_%s.exe" % version
url86 = url + "/download/" + version + "/fusioninventory-agent_windows-x86_%s.exe" % version

filenamex86 = "fusioninventory-agent_windows-x86_%s.exe" % version
filenamex64 = "fusioninventory-agent_windows-x64_%s.exe" % version

if not isfile( filenamex64 ) :
wget( url64 )
if not isfile( filenamex86 ) :
wget( url86 )


for fileexe in glob.glob('fusioninventory-agent_windows-x64*.exe'):
if fileexe != filenamex64 :
print('Delete ' + fileexe)
remove_file(fileexe)

for fileexe in glob.glob('fusioninventory-agent_windows-x86*.exe'):
if fileexe != filenamex86 :
print('Delete ' + fileexe)
remove_file(fileexe)

if not isfile(filenamex64):
print('Download ' + url64)
wget(url64,filenamex64)

if not isfile(filenamex86):
print('Download ' + url86)
wget(url86,filenamex86)


if __name__ == '__main__':
update_package()

Re: Update-Upgrade package fusioninventory

Posté : 27 avr. 2018 - 14:19
par htouvet
Dans le min_version, je vois '2.4-3' (avec un tiret... Je pense que '2.4' (avec un point serait plus correct)
Le binaire fusion inventory n'a pas changé, c'est toujours 2.4 chez l'éditeur donc c'est normal que Wapt ne le réinstalle pas si il est déjà à la bonne version.
Par contre les paramètres ont changé donc il faudrait :
* incrémenter la version de paquet (dans le fichier control, passer de .2.4-0 à 2.4-1 par exemple.
* forcer la réinstallation avec les nouveaux paramètres. La fonction install_exe_if_needed ne gère pas cela, cette fonction ne vérifie qu ela clé de désinstallation et la version inscrites dans la base de registre, mais ne garde pas la mémoire des paramètres utilisés.