Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1522 connectés 

  FORUM HardWare.fr
  Windows & Software
  Logiciels

  Internalisation de Chocolatey

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Internalisation de Chocolatey

n°3452323
papacha_sa​ma
Posté le 12-07-2024 à 15:49:39  profilanswer
 

Bonjour à tous,
 
Dans l'optique de maitriser toutes les sources utilisé par Chocolatey, je cherche à internaliser la solution
Donc héberger en interne les packages ET les exécutables, Chocolatey a assez bien documenté cette possibilité mais je bloque pour autant
 
J'ai créé un serveur local qui héberge les packages que j'ai édité pour qu'ils pointent sur un emplacement réseau local
Mais lorsque je tente de mettre à jour une application, Chocolatey télécharge bien le package depuis mon serveur mais il va quand même chercher l'exécutable sur internet
 
Comment fait-il pour aller le chercher sur internet vu qu'il n'y en a aucun lien dans mes packages  :fou:  
 
Y-a-t-il des gens qui connaissent bien la solution par ici qui pourrait m'aider ?
 
Merci pour vos retour

mood
Publicité
Posté le 12-07-2024 à 15:49:39  profilanswer
 

n°3452324
Je@nb
Modérateur
Kindly give dime
Posté le 12-07-2024 à 16:03:24  profilanswer
 

Ton package mis à jour tu as bien mis à jour le lien pour faire pointer sur ton emplacement local ?
 

Citation :

Internalizing a Chocolatey package at a high level involves:
 
    Downloading and unpacking the existing package as a zip file.
    Downloading the resources the package has and putting them in the package or somewhere internal (UNC, internal Http repository, DFS, SCCM Distribution point, etc).
   Editing the install script to point to the internal/embedded software.
    Packaging it back up (recompiling).
    Pushing it to your internal server.
    And that’s it!

n°3452382
papacha_sa​ma
Posté le 15-07-2024 à 12:10:48  profilanswer
 

Oui j'ai bien édité le fichier chocolateyInstall.ps1 du package pour y mettre mon emplacement local
Je fais mes tests avec une ancienne version de Libre Office :
 

Code :
  1. $ErrorActionPreference = 'Stop'
  2. $toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
  3. . $toolsDir\helpers.ps1
  4. $packageArgs = @{
  5.   packageName            = 'libreoffice-still'
  6.   version                = '7.6.6'
  7.   fileType               = 'msi'
  8.   url                    = 'file://***/Choco/LibreOffice_7.6.6_Win_x86-64.msi'
  9.   url64bit               = 'file://***/Choco/LibreOffice_7.6.6_Win_x86-64.msi'
  10.   checksum               = '80243cc35151e03fde57650e63aa6a62174af1ff6f9ebb520d1070641b770a0d'
  11.   checksum64             = '6570eb9362fa56dee557400d6b90967f18a5c442b4807dd5a56747ff760ae1bb'
  12.   checksumType           = 'sha256'
  13.   checksumType64         = 'sha256'
  14.   silentArgs             = '/qn /passive /norestart /l*v "{0}"' -f "$($env:TEMP)\$($env:ChocolateyPackageName).$($env:ChocolateyPackageVersion).MsiInstall.log"
  15.   validExitCodes         = @(0,3010)
  16.   softwareName           = 'LibreOffice*'
  17. }
  18. if (-not (IsUrlValid $packageArgs.url)) {
  19.   $exactVersion = GetLibOExactVersion $packageArgs.version
  20.   $packageArgs.url = $exactVersion.Url32
  21.   $packageArgs.url64bit = $exactVersion.Url64
  22. }
  23. Install-ChocolateyPackage @packageArgs


 
J'ai essayé également en écrivant ainsi  

Code :
  1. url64bit               = '\\***\Choco\LibreOffice_7.6.6_Win_x86-64.msi'


 
Mais même si j'ai mal écrit le chemin qui fait office de dépot de l'exécutable il devrait m'afficher une erreur et pas aller chercher sur internet l'exécutable
Sachant qu'il va chercher l'exécutable de la version exacte de mon package, j'ai aucune idée d'où il récupère cette URL
 
Je n'ai pas essayé d'intégrer l'exécutable au package vu qu'ils déconseillent de le faire si l'exécutable fait plus de 100Mo, ce qui est le cas...

n°3452383
Je@nb
Modérateur
Kindly give dime
Posté le 15-07-2024 à 12:17:08  profilanswer
 

ton packet est en cache et il utilise pas celui que tu as généré ?

n°3452387
papacha_sa​ma
Posté le 15-07-2024 à 14:34:01  profilanswer
 

Pas de souci sur le cache du package, j'avais déjà remarqué ce point lorsque j'avais fait des changements sur l'écriture dans l'URL entre "\\" et "file://"
 
Mais du coup je viens de faire un test sur un poste clean et j'ai des blocages sur la récupération de dépendance liée à l'exécutable que je n'avais pas encore eu
Il y a peu être autre chose en cache qui provoque la récupération sur internet, je vais continuer mes tests sur le poste clean (là ou j'aurais dû commencer en fait :x )

n°3452776
papacha_sa​ma
Posté le 23-07-2024 à 11:00:14  profilanswer
 

Petit retour après mes différents tests
 
tout fonctionne bien !
 
Libre Office n'était pas le package le plus simple pour commencer la démarche
J'ai pris d'autres packages avec lesquels je n'ai pas eu de souci.
 
La solution pour Libre Office, il fallait retirer les lignes suivantes du package

Code :
  1. if (-not (IsUrlValid $packageArgs.url)) {
  2.   $exactVersion = GetLibOExactVersion $packageArgs.version
  3.   $packageArgs.url = $exactVersion.Url32
  4.   $packageArgs.url64bit = $exactVersion.Url64
  5. }


 
ça lui faisait aller voir dans un autre fichier qui lui contenait les URLs
 
Merci pour les échanges (qui même étant très basique au final, m'ont permis d'avancer dans ma réflexion)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software
  Logiciels

  Internalisation de Chocolatey

 

Sujets relatifs
Impossible installer chocolateychocolatey: qu'est-ce que c'est que ce truc ?
Plus de sujets relatifs à : Internalisation de Chocolatey


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR