Bug 28718 - Nachfrage vor der Installation von Applikationen
Nachfrage vor der Installation von Applikationen
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UMC - App-Center
UNSTABLE
Other Linux
: P2 normal (vote)
: UCS 3.1
Assigned To: Dirk Wiesenthal
Florian Best
: interim-3
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-10-09 13:34 CEST by Dirk Wiesenthal
Modified: 2012-12-12 21:11 CET (History)
1 user (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): Usability
Max CVSS v3 score:


Attachments
install_dry_run.patch (5.53 KB, patch)
2012-11-07 20:47 CET, Jascha Geerds
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk Wiesenthal univentionstaff 2012-10-09 13:34:59 CEST
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.
Comment 1 Dirk Wiesenthal univentionstaff 2012-10-31 10:36:54 CET
Fixed in
  univention-management-console-module-udm 3.0.47-1.276.201210311032

War wirklich frapierend einfach...
Comment 2 Dirk Wiesenthal univentionstaff 2012-10-31 10:47:52 CET
(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...
Comment 3 Jascha Geerds univentionstaff 2012-11-02 12:48:59 CET
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.
Comment 4 Jascha Geerds univentionstaff 2012-11-02 12:57:51 CET
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.
Comment 5 Dirk Wiesenthal univentionstaff 2012-11-05 11:16:26 CET
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=...).
Comment 6 Jascha Geerds univentionstaff 2012-11-07 20:47:30 CET
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.
Comment 7 Dirk Wiesenthal univentionstaff 2012-11-08 19:57:51 CET
(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...
Comment 8 Dirk Wiesenthal univentionstaff 2012-11-08 20:53:49 CET
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.
Comment 9 Florian Best univentionstaff 2012-11-19 14:53:50 CET
(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
Comment 10 Florian Best univentionstaff 2012-11-19 15:09:04 CET
(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
Comment 11 Stefan Gohmann univentionstaff 2012-12-12 21:11:10 CET
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".