Le principe de MAJ de paquet ?
Publié : 18 juil. 2018 - 14:19
Bonjour,
Je découvre depuis quelques temps WAPT Community version 1.5.1.26 et une question me turlupine. Je ne comprends pas très bien comment fonctionne la mise à jour des paquets logiciels.
Lorsque j'importe un paquet depuis le store de WAPT https://store.wapt.fr/ avec le bouton "Importer depuis Internet", je reçois ce paquet dans mon dépôt privé. Jusque là c'est ok. Mais s'il y a une nouvelle version du logiciel sur leur site officiel, le paquet ne va pas se mettre à jour automatiquement.
Est-ce que le fait d'avoir importé le paquet depuis le store de WAPT va mettre à jour les paquets qui sont dans mon dépôt privé ? Si oui, est-on dépendant de la personne qui gère le paquet sur le store ? Si non, doit-on attendre de voir une nouvelle version sur le store pour le ré-importer sur notre dépôt privé ?
Autre question liée aux mises à jour de paquet
Je constate que la version de OwnCloud sur le store n'est pas à jour. J'ai donc créé le paquet en y ajoutant une fonction update_package() qui va mettre à jour la source s'il ne l'est pas dans le paquet. Pour ceux qui utilisent ownCloud voici la fonction qui récupère la dernière version du logiciel sur le site officiel https://owncloud.org/download/ :
Cela marche bien sur PyScripter, en faisant clic droit sur update-package-source et Exécuter, il me met bien à jour le logiciel dans le dossier ainsi que la version dans le fichier control. Il faut donc ensuite build-upload et le tour est joué. Le soucis c'est qu'on ne peut pas faire cela directement sur la console. Peut-être que je n'ai pas trouvé comment faire, corrigez-moi si je me trompe.
Pour une alternative un peu "moche", je peux inclure la mise à jour du paquet au début de la fonction install() après avoir vérifié si la version sur le net est supérieure à celle de mon paquet, je n'ai pas encore essayé mais cela ne m'a l'air pas très adapté.
Merci pour vos retours
Je découvre depuis quelques temps WAPT Community version 1.5.1.26 et une question me turlupine. Je ne comprends pas très bien comment fonctionne la mise à jour des paquets logiciels.
Lorsque j'importe un paquet depuis le store de WAPT https://store.wapt.fr/ avec le bouton "Importer depuis Internet", je reçois ce paquet dans mon dépôt privé. Jusque là c'est ok. Mais s'il y a une nouvelle version du logiciel sur leur site officiel, le paquet ne va pas se mettre à jour automatiquement.
Est-ce que le fait d'avoir importé le paquet depuis le store de WAPT va mettre à jour les paquets qui sont dans mon dépôt privé ? Si oui, est-on dépendant de la personne qui gère le paquet sur le store ? Si non, doit-on attendre de voir une nouvelle version sur le store pour le ré-importer sur notre dépôt privé ?
Autre question liée aux mises à jour de paquet
Je constate que la version de OwnCloud sur le store n'est pas à jour. J'ai donc créé le paquet en y ajoutant une fonction update_package() qui va mettre à jour la source s'il ne l'est pas dans le paquet. Pour ceux qui utilisent ownCloud voici la fonction qui récupère la dernière version du logiciel sur le site officiel https://owncloud.org/download/ :
Code : Tout sélectionner
from setuphelpers import *
import glob
import re
def update_package():
htmlSource = wgets("https://owncloud.org/download/").splitlines()
filename = ''
realVersion = ''
for line in htmlSource:
match = re.search("https://download.owncloud.com/desktop/stable/ownCloud-.*-setup\.exe", line)
if match:
realVersion = line[line.find("ownCloud-")+9:line.find("-setup.exe")]
print("Last version : ", realVersion)
filename = 'ownCloud-%s-setup.exe' % realVersion
print("File name : ", filename)
exe = glob.glob('*.exe')
for fn in exe:
if fn != filename :
print 'remove' + fn
remove_file(fn)
if not isfile(filename):
print('Download' + filename)
wget('https://download.owncloud.com/desktop/stable/ownCloud-%s-setup.exe' % (realVersion), filename)
print ('Write ' + realVersion + '-0 in WAPT\\control')
from waptpackage import PackageEntry
pe = PackageEntry()
pe.load_control_from_wapt(os.getcwd())
pe.version = realVersion +'-0'
pe.save_control_to_wapt(os.getcwd())
print('The update is complete, you can now test and then launch a build upload.')
if __name__ == '__main__':
update_package()
Pour une alternative un peu "moche", je peux inclure la mise à jour du paquet au début de la fonction install() après avoir vérifié si la version sur le net est supérieure à celle de mon paquet, je n'ai pas encore essayé mais cela ne m'a l'air pas très adapté.
Merci pour vos retours