Univention Bugzilla – Bug 24347
Errata Updates für Components
Last modified: 2012-03-04 14:34:21 CET
Wir müssen Errata Updates für Components erlauben. Vermutlich ist das sinnvollste auch für Components die Errata Updates einzeln zu veröffentlichen, also: 3.0/maintained/components/dvs/ 3.0/maintained/components/dvs-errata1/ 3.0/maintained/components/dvs-errata2/
Eine erste Version ist im svn. Es fehlen noch: - ausführliche Tests - Abbildung in UMC
Das ist soweit umgesetzt. Bitte auch das Update per UMC testen. Intern wird der erratalevel pro component/version Kombination gespeichert: root@master741:~/univention-updater# ucr search erratalevel repository/online/component/foobar/3.0/erratalevel: 3 repository/online/component/tcs/3.0/erratalevel: 5 version/erratalevel: 29 univention-upgrade fragt pro component, ob die verfügbaren errata-Updates eingespielt werden sollen.
OK: Updater funktioniert soweit (ucs-test/09_updater/56component-errata) OK: Funktioniert auch über UMC, bis auf eine kleine Unschönheit (→Bug #26245) OK: svn12304 (s/Univention Updater/Updater/) FAIL: 57component-errata-multi Der Updater gerät in eine Endlosschleife, wenn zeitgleich ein Minor- und Component-Errata-Updates für die alte Version anstehen. Der Updater aktualisiert dann zuerst auf die nächste Minor-Version, kann dann aber nicht mehr das Update für die alte Minor-Version einspielen, obwohl er dessen Vorhandensein erkennt.
Created attachment 4219 [details] ucs-test Bug #24347
(In reply to comment #3) > OK: Updater funktioniert soweit (ucs-test/09_updater/56component-errata) > OK: Funktioniert auch über UMC, bis auf eine kleine Unschönheit (→Bug #26245) > OK: svn12304 (s/Univention Updater/Updater/) > FAIL: 57component-errata-multi > Der Updater gerät in eine Endlosschleife, wenn zeitgleich ein Minor- und > Component-Errata-Updates für die alte Version anstehen. Der Updater > aktualisiert dann zuerst auf die nächste Minor-Version, kann dann aber nicht > mehr das Update für die alte Minor-Version einspielen, obwohl er dessen > Vorhandensein erkennt. Das hat auch noch ein grundsätzliches Problem aufgezeigt. Die errata Updates sind an die Minorversion gebunden, das ist jetzt entsprechend umgesetzt. Es werden nur noch die errata Updates für die aktuellste Component Version eingespielt und auch in die sources.list eingebunden.
OK: 57component-errata-multi läuft jetzt durch (svn31124) OK: Beim Update über UMC werden _3_ ausstehende Errata-Updates angekündigt, installiert werden aber nur die _2_ für die aktuelle Major.Minor-Version. Danach werden dann _keine_ ausstehenden Updates mehr angezeigt. Nach einem Update auf die nächste Major.Minor-Version wird dann das ausstehenden _1_ Update wieder angezeigt und lässt sich so auch installieren. FAIL: Wenn man über UMC erst das Minor-Update einspielt, und danach das 1 Komponenten-Update, bleibt das UMC-Modul weiterhin bei _3_ ausstehenden Komponenten-Errata-Updates stehen. /usr/share/univention-updater/univention-errata-components-update net --check 0 cat /var/lib/univention-updater/univention-errata-update.status status=DONE type=NET from univention.updater.tools import UniventionUpdater uu = UniventionUpdater() uu.get_all_available_errata_component_updates() [('test22799', {'3.0': [1, 2]})] uu.get_ucs_version() '3.1-0' N: Schön wäre, wenn man den aktuellen Errata-Level der Komponente auch irgendwo sehen könnte. OK: ChangeLog
(In reply to comment #6) > FAIL: Wenn man über UMC erst das Minor-Update einspielt, und danach das 1 > Komponenten-Update, bleibt das UMC-Modul weiterhin bei _3_ ausstehenden > Komponenten-Errata-Updates stehen. Wurde angepasst. Eine weitere Änderung ist, dass jetzt nur noch für die aktuellste Component die errata-Versionen gezählt werden. Beispiel: Component comp1 ist nur für 3.0 verfügbar und es stehen für diese Component in 3.0 3 errata-Updates zur Verfügung, dann werden diese angezeigt. Wenn die Component jetzt für 3.1 veröffentlicht wird (ohne errata Updates), dann werden die 3.0 errata-Updates der Component nicht mehr angezeigt.
OK: Es werden nur noch die ausstehenden Komponenten-Updates für die aktuelle Major.Minor-Version angezeigt. OK: Aktualisierung in der Reihenfolge Minor,Component OK: Aktualisierung in der Reihenfolge Component,Minor,Component OK: VERIFIED univention-updater_7.0.150-1.1020.201202280744
FAIL: Beim Aufruf von "univention-upgrade" habe ich gerade noch folgenden Fehler bekommen: Checking for component errata updates for tcs: Failure to query repository: max() arg is an empty sequence none /usr/share/univention-updater/univention-errata-components-update net Traceback (most recent call last): File "/usr/share/univention-updater/univention-errata-components-update", line 278, in <module> version = max(updater._get_component_versions(component, None, None)) ValueError: max() arg is an empty sequence
# ucr search --brief ^repository/online/comp repository/online/component/tcs/versions: repository/online/component/tcs: no
(In reply to comment #9) > FAIL: Beim Aufruf von "univention-upgrade" habe ich gerade noch folgenden > Fehler bekommen: > > Checking for component errata updates for tcs: Failure to query > repository: max() arg is an empty sequence > none > > /usr/share/univention-updater/univention-errata-components-update net > Traceback (most recent call last): > File "/usr/share/univention-updater/univention-errata-components-update", > line 278, in <module> > version = max(updater._get_component_versions(component, None, None)) > ValueError: max() arg is an empty sequence Wird jetzt abgefangen.
OK: Der max([])-Traceback tritt nicht mehr auf. OK: Update über UMC und CLI funktionieren weiterhin OK: ucs-test-updater_2.0.7-4 OK: VERIFIED univention-updater_7.0.152-1.1022.201202281205
UCS 3.0-1 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert werden: "Clone This Bug"