Ich nutze seit Kurzem WAPT Community Version 1.5.1.26 und habe eine Frage, die mich beschäftigt. Ich verstehe nicht ganz, wie die Software-Updates funktionieren.
Wenn ich ein Paket aus dem WAPT-Store importiere https://store.wapt.fr/ Über die Schaltfläche „Aus dem Internet importieren“ erhalte ich dieses Paket in meinem privaten Repository. Soweit so gut. Wenn jedoch eine neue Version der Software auf der offiziellen Website verfügbar ist, wird das Paket nicht automatisch aktualisiert.
Werden durch den Import des Pakets aus dem WAPT-Store die Pakete in meinem privaten Repository aktualisiert? Falls ja, sind wir von der Person abhängig, die das Paket im Store verwaltet? Falls nein, müssen wir auf eine neue Version im Store warten, bevor wir es erneut in unser privates Repository importieren können?
Eine weitere Frage zu Paketaktualisierungen
Mir ist aufgefallen, dass die OwnCloud-Version im Store veraltet ist. Deshalb habe ich ein Paket erstellt und eine `update_package()`-Funktion hinzugefügt, die den Quellcode aktualisiert, falls dieser im Paket noch nicht auf dem neuesten Stand ist. Für alle OwnCloud-Nutzer: Hier ist die Funktion, mit der ihr die aktuellste Softwareversion von der offiziellen Website abrufen könnt https://owncloud.org/download/ :
Code: Alle auswählen
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()Als etwas „unsaubere“ Alternative könnte ich die Paketaktualisierung an den Anfang der install()-Funktion einfügen, nachdem ich geprüft habe, ob die Version im Internet höher ist als die meines Pakets; ich habe es noch nicht ausprobiert, aber es scheint nicht sehr geeignet zu sein.
Vielen Dank für Ihr Feedback
