Univention Bugzilla – Bug 28718
Nachfrage vor der Installation von Applikationen
Last modified: 2012-12-12 21:11:10 CET
Nach dem Einbinden des Repositorys, aber vor der eigentlichen Installation, sollte geprüft werden, ob das Paket andere Pakete löscht. Wenn das der Fall ist, sollte eine Rückfrage kommen, ob das wirklich gewollt ist. Wenn diese Frage verneint wird, muss das Repository wieder entfernt werden. Wenn es keine Pakete gibt, die gelöscht würden, kann normal weiter gemacht werden.
Fixed in univention-management-console-module-udm 3.0.47-1.276.201210311032 War wirklich frapierend einfach...
(In reply to comment #1) > Fixed in > univention-management-console-module-udm 3.0.47-1.276.201210311032 > > War wirklich frapierend einfach... Hoppla. Falscher Bug...
Das Verhalten wurde nun wie folgt angepasst: Wenn eine "Aktion" vom Benutzer ausgeführt wird, wird zunächst geprüft ob es sich dabei um das Deinstallieren einer App handelt. Wenn dem so ist, wird dies ohne Rückfrage ausgeführt. Falls eine App jedoch installiert bzw. aktualisiert werden soll, wird vom Backend geprüft ob dieser Vorgang dazu führt, dasss a) andere Pakete entfernt werden b) andere Pakete dadurch kaputt gehen. Wenn dem so ist, wird der Benutzer in einem Dialog darauf hingewiesen und muss diesen Vorgang noch einmal explizit bestätigen. Falls keine anderen Pakete entfernt werden müssen bzw. kaputt gehen, wird der Dialog nicht angezeigt und die Aktion wird sofort ausgeführt. univention-management-console-module-packages (2.0.53-1) Changelog-Eintrag ist vorhanden.
Wenn die Installation einer App dazu führt, dass ein anderes Paket kaputt geht, dann wird dies über den Dialog angezeigt. Der Benutzer hat jedoch keine Möglichkeit die App dennoch zu installieren.
Dieses Vorgehen kostet zu viel Zeit: Wenn kein Paket deinstalliert werden würde, wird die Komponente einmal geladen, alles überprüft, wieder entfernt und danach noch mal neu geladen. D.h. es werden 3 "apt-get update"s ausgeführt. Wenn kein Paket installiert wird, sollte das System zu klug sein, sofort zu installieren, statt die Komponente wieder zu entfernen, grünes Licht zu geben und zu warten. Am besten, man entfernt invoke_dry_run wieder und packt die Logik in invoke (und zwar in can_continue=...).
Created attachment 4777 [details] install_dry_run.patch (In reply to comment #5) > Dieses Vorgehen kostet zu viel Zeit: Wenn kein Paket deinstalliert werden > würde, wird die Komponente einmal geladen, alles überprüft, wieder entfernt und > danach noch mal neu geladen. D.h. es werden 3 "apt-get update"s ausgeführt. > Wenn kein Paket installiert wird, sollte das System zu klug sein, sofort zu > installieren, statt die Komponente wieder zu entfernen, grünes Licht zu geben > und zu warten. > > Am besten, man entfernt invoke_dry_run wieder und packt die Logik in invoke > (und zwar in can_continue=...). Anbei ein Patch, welcher zumindest schon einmal das Backend anpasst. Die Änderungen *sollten* funktionieren. Es muss nun noch das Frontend angepasst werden. Vermutlich macht es wieder Sinn, _call_installer und _execute_installer zusammenzuführen.
(In reply to comment #5) > Am besten, man entfernt invoke_dry_run wieder und packt die Logik in invoke > (und zwar in can_continue=...). Fixed in univention-management-console-module-appcenter 2.0.64-1.10.201211081938 Das sollte man mal mit echten Repositories testen...
package_manager.update() ist vielleicht nicht nötig, es mag auch ein package_manager.reopen_cache() reichen, weil die Datenbank durch UCR (das Hinzufügen des Repositories) auf den neuesten Stand gebracht wurde. Sollte man mal bei Gelegenheit testen.
(In reply to comment #3) > Das Verhalten wurde nun wie folgt angepasst: > > Wenn eine "Aktion" vom Benutzer ausgeführt wird, wird zunächst geprüft ob es > sich dabei um das Deinstallieren einer App handelt. Wenn dem so ist, wird dies > ohne Rückfrage ausgeführt. Hmmm, ich würde gerne einen Hinweis bekommen, welche Pakete deinstalliert werden. → REOPENED: soll das an diesem Bug gemacht werden? > Falls eine App jedoch installiert bzw. aktualisiert werden soll, wird vom > Backend geprüft ob dieser Vorgang dazu führt, dass > a) andere Pakete entfernt werden OK > b) andere Pakete dadurch kaputt gehen. TODO > Wenn dem so ist, wird der Benutzer in einem Dialog darauf hingewiesen und muss > diesen Vorgang noch einmal explizit bestätigen. OK > Falls keine anderen Pakete entfernt werden müssen bzw. kaputt gehen, wird der > Dialog nicht angezeigt und die Aktion wird sofort ausgeführt. Ja > Changelog-Eintrag ist vorhanden. Ja
(In reply to comment #9) > > Wenn eine "Aktion" vom Benutzer ausgeführt wird, wird zunächst geprüft ob es > > sich dabei um das Deinstallieren einer App handelt. Wenn dem so ist, wird dies > > ohne Rückfrage ausgeführt. > Hmmm, ich würde gerne einen Hinweis bekommen, welche Pakete deinstalliert > werden. > → REOPENED: soll das an diesem Bug gemacht werden? Das ist wohl besser an Bug #29273 > > Falls eine App jedoch installiert bzw. aktualisiert werden soll, wird vom > > Backend geprüft ob dieser Vorgang dazu führt, dass > > a) andere Pakete entfernt werden > OK > > b) andere Pakete dadurch kaputt gehen. > TODO Das ist auch OK Dann ist das hier VERIFIED
UCS 3.1-0 has been released: http://forum.univention.de/viewtopic.php?f=54&t=2125 If this error occurs again, please use "Clone This Bug".