Univention Bugzilla – Bug 24867
Wrapper für dpkg-divert --remove bei postrm
Last modified: 2018-04-14 13:29:09 CEST
+++ This bug was initially created as a clone of Bug #22668 +++ Der dpkg-divert-Wrapper funktioniert nicht einwandfrei bei der De-Installation von Paketen: Im prerm rufen alte UCS-2.x-Pakete das "ucr unregister $pkg.info" auf. Das führt dazu, das ucr alle .info-Dateien neu einliest und die zu de-registrierende Datei herausrechnet, um anschließend die Diverts rückgängig zu machen. Dabei werden die .debian-Dateien zurück umbenannt. Anschließend werden von dpkg die nicht-conffiles-Dateien entfernt. Danach werden im postrm vom alten UCS-2.x-Paket die Dateien per 'rm -f' entfernt, die vorher diverted waren. Hier wird jetzt das original-Debian-conffile gelöscht! Direkt nach dem rm erfolgt der Aufruf des dpkg-divert-Wrappers, der 'univention-config' triggert, um die eben gelöschten Dateien aus den bei MultiFiles ggf. verbleibenden Template-Daten neu zu erstellen. Da die .info-Datei aus dem Paket aber weder im postrm, noch im prerm, noch durch das unregister gelöscht (oder wenigstens verschoben werden), führt der getriggerte "ucr update"-Lauf dazu, das alle .info-Dateien (auch die vom gerade gelöschten Paket!) erneut eingelesen werden. Dadurch werden dann die Dateien erneut aus den Templates generiert. Die .info Datei wird erst (automatisch) bei der nächsten (De-)Installation eines Pakets getriggert, wodurch eine Modifikation in /etc/univention/temples/info erfolgt. Dadurch wird veranlasst, das die .info-Dateien von inzwischen entfernten Paketen de-registriert und nach /etc/univention/templates/removed/ verschoben werden. Vermutlich wäre es das beste, wenn "ucr unregister" direkt die .info-Datei selber verschiebt bzw. löscht, denn dadurch wird unterbunden, das die ansonsten immer noch vorhandenen Informationen erneut wiederbenutzt werden.
Der erste Teil des Problems konnte an bug 27786 beobachtet werden (univention-postgresql + postgresql): postgresql erstellt bei der Installation eine initiale Datenbank und kopiert configfiles von /var/lib nach /etc. univention-postgresql bringt diese configfiles selbst mit (multifile) und diverted die Originale zur Seite. Bei der Deinstallation von univention-postgresql verschwanden auch die divert-eten Dateien.
This issue has been filed against UCS 3. UCS 3 is out of the normal maintenance and many UCS components have vastly changed in UCS 4. If this issue is still valid, please change the version to a newer UCS version otherwise this issue will be automatically closed in the next weeks.
This issue has been filed against UCS 3.1. UCS 3.1 is out of maintenance and many UCS components have vastly changed in later releases. Thus, this issue is now being closed. If this issue still occurs in newer UCS versions, please use "Clone this bug" or reopen this issue. In this case please provide detailed information on how this issue is affecting you.