[GELÖST] Erkennung einer neuen Version einer ausführbaren Datei (upgrade_package)
Veröffentlicht: 9. September 2022 - 8:14 Uhr
Guten Morgen,
Ich betreibe einen WAPT Enterprise 2.2.2.12388 Server unter Ubuntu.
Meine Frage betrifft die Funktion `upgrade_package` in WAPT-Paketen. Mir ist bewusst, dass man mit dieser Funktion festlegen kann, wie das Paket aktualisiert werden soll; allerdings verstehe ich nicht, wie die Versionserkennung in der Konsole funktioniert.
Ich habe beispielsweise das tis-powertoys-Paket genommen und modifiziert, sodass ich aktuell zwei Versionen habe. Die Originalversion (0.61.1-7) zeigt korrekt an, dass ein Update vom Herausgeber (dem PowerToys-Git-Repository) verfügbar ist, indem der Text rot dargestellt wird. Meine leicht modifizierte Version (0.61.1-8) hingegen meldet kein Update, obwohl es sich um dieselbe ausführbare Datei handelt. Können Sie mir erklären, wie dieser Versionserkennungsmechanismus funktioniert und wie ich ihn so konfigurieren kann, dass er auf die Veröffentlichung einer neuen Version der ausführbaren Datei reagiert?
Ich glaube nicht, dass ich den Code des Upgrade-Pakets verändert habe, aber sicherheitshalber füge ich ihn hier ein:
Ich betreibe einen WAPT Enterprise 2.2.2.12388 Server unter Ubuntu.
Meine Frage betrifft die Funktion `upgrade_package` in WAPT-Paketen. Mir ist bewusst, dass man mit dieser Funktion festlegen kann, wie das Paket aktualisiert werden soll; allerdings verstehe ich nicht, wie die Versionserkennung in der Konsole funktioniert.
Ich habe beispielsweise das tis-powertoys-Paket genommen und modifiziert, sodass ich aktuell zwei Versionen habe. Die Originalversion (0.61.1-7) zeigt korrekt an, dass ein Update vom Herausgeber (dem PowerToys-Git-Repository) verfügbar ist, indem der Text rot dargestellt wird. Meine leicht modifizierte Version (0.61.1-8) hingegen meldet kein Update, obwohl es sich um dieselbe ausführbare Datei handelt. Können Sie mir erklären, wie dieser Versionserkennungsmechanismus funktioniert und wie ich ihn so konfigurieren kann, dass er auf die Veröffentlichung einer neuen Version der ausführbaren Datei reagiert?
Ich glaube nicht, dass ich den Code des Upgrade-Pakets verändert habe, aber sicherheitshalber füge ich ihn hier ein:
Code: Alle auswählen
def update_package():
# Declaring local variables
result = False
proxies = get_proxies()
architecture = control.architecture
if not proxies:
proxies = get_proxies_from_wapt_console()
app_name = control.name
git_repo = "microsoft/PowerToys"
url_api = "https://api.github.com/repos/%s/releases/latest" % git_repo
bin_name_sub = "PowerToysSetup%s.exe"
# Getting latest version information from official sources
print("API used is: %s" % url_api)
json_load = json.loads(wgets(url_api, proxies=proxies))
for download in json_load["assets"]:
if bin_contains in download["name"] and architecture in download["name"]:
url_dl = download["browser_download_url"]
version = json_load["tag_name"].replace("v", "")
latest_bin = download["name"]
break
print("Latest %s version is: %s" % (app_name, version))
print("Download URL is: %s" % url_dl)
# Downloading latest binaries
if not isfile(latest_bin):
print("Downloading: %s" % latest_bin)
wget(url_dl, latest_bin, proxies=proxies)
# Changing version of the package
if Version(version) > control.get_software_version():
print("Software version updated from: %s to: %s" % (control.get_software_version(), Version(version)))
result = True
control.version = "%s-%s" % (Version(version), control.version.split("-", 1)[-1])
# control.set_software_version(Version(version))
control.save_control_to_wapt()
# Deleting outdated binaries
remove_outdated_binaries(version)
# Validating update-package-sources
return result