Bug 24867 - Wrapper für dpkg-divert --remove bei postrm
Wrapper für dpkg-divert --remove bei postrm
Status: RESOLVED WONTFIX
Product: UCS
Classification: Unclassified
Component: UCR
UCS 3.1
Other Linux
: P2 normal (vote)
: ---
Assigned To: UCS maintainers
:
Depends on: 17913 22668
Blocks:
  Show dependency treegraph
 
Reported: 2011-11-24 14:12 CET by Philipp Hahn
Modified: 2018-04-14 13:29 CEST (History)
4 users (show)

See Also:
What kind of report is it?: Feature Request
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):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philipp Hahn univentionstaff 2011-11-24 14:12:59 CET
+++ 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.
Comment 1 Erik Damrose univentionstaff 2013-05-14 12:55:31 CEST
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.
Comment 2 Stefan Gohmann univentionstaff 2017-06-16 20:35:44 CEST
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.
Comment 3 Stefan Gohmann univentionstaff 2017-08-08 07:09:23 CEST
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.