Univention Bugzilla – Bug 17913
Mutlifile-Dateien werden beim entfernen des Pakets gelöscht
Last modified: 2011-12-13 15:50:14 CET
Philipp ist in Bug #17630 aufgefallen, dass der slapd nicht mehr funktioniert, wenn das example-Paket deinstalliert wird. Das liegt daran, dass in der UCR-Config der Mutlifile Eintrag dür die slapd.conf geschrieben wird, wodurch der folgende debhlper-Eintrag generiert wird: test "$1" = "remove" && rm -f /etc/ldap/slapd.conf && dpkg-divert --rename --quiet --divert /etc/ldap/slapd.conf.debian --remove /etc/ldap/slapd.conf || true Es sollte geprüft werden, ob der Multfile Eintrag wirklich benötigt wird.
Files und Miltifiles werden nun nur noch durch den Aufruf von "ucr register $PKG" diverted bzw. "ucr unrgeister $PKG" un-diverted, wobei letzteres nur dann passiert, wenn kein Subfile mehr für das Multifile registriert ist. svn24154, univention-config-registry_7.0.5-1.332.201105132119 ChangeLog: \item \ucsUCS{} now only removed multifile templates, when the last subfile providing content is unregisteres (\ucsBug{17913})
(In reply to comment #1) > Files und Miltifiles werden nun nur noch durch den Aufruf von "ucr register > $PKG" diverted bzw. "ucr unrgeister $PKG" un-diverted, wobei letzteres nur dann > passiert, wenn kein Subfile mehr für das Multifile registriert ist. Das Un-Divert sollte nur dann stattfinden, wenn kein Multifile mehr registriert ist. Es kann durchaus sein, dass noch aus anderen Paketen Subfiles vorhanden sind, das "Kernpaket", welches das Multifile mitbringt, aber entfernt wurde.
Das un-divert wird nur noch dann durchgeführt, wenn kein Multifile- oder keine Subfile-Einträge mehr vorhanden sind. Sobald wieder mindestens ein Multifile- und ein Subfile-Eintrag registriert sind, wird das Divert wieder hinzugefügt. Wegen Bug #21263 können Diverts aber verloren gehen: Wenn ein Paket seine .info-Datei aktualisiert, ersetzt diese neue .info-Datei die alte. Wird ein Datei umbenannt, verliert UCR dadurch jegliche Information über die alte Datei und kann deswegen das Divert dafür nicht rückgängig machen. svn24479, univention-config-registry_7.0.10-1.337.201105260930ChangeLog: \item \ucsUC{} now removes multifile templates, when the last subfile providing content is unregistered or all multifile declaration are unregistered (\ucsBug{17913}).
Meine Tests mit dem Entfernen von Subfiles (u.a. univention-directory-manager-module-example-schema) waren erfolgreich. In allen Fällen bestand eine korreke slapd.conf. Changelog ist vorhanden.
univention-mail-postfix (6.0.19-1.156.201109271635) wird eingerichtet ... Neue Version der Konfigurationsdatei /etc/univention/templates/files/etc/aliases wird installiert ... Neue Version der Konfigurationsdatei /etc/univention/templates/files/etc/init.d/postfix wird installiert ... Traceback (most recent call last): File "/usr/sbin/ucr", line 42, in <module> ub.main(sys.argv[1:]) File "/usr/lib/pymodules/python2.6/univention/config_registry.py", line 1603, in main handlers[ action ][ 0 ]( args, cmd_opts ) File "/usr/lib/pymodules/python2.6/univention/config_registry.py", line 1130, in handler_unregister c.unregister(args[0], b) File "/usr/lib/pymodules/python2.6/univention/config_registry.py", line 893, in unregister handler.uninstall_divert() AttributeError: 'NoneType' object has no attribute 'uninstall_divert' File: /etc/init.d/postfix
(In reply to comment #5) > univention-mail-postfix (6.0.19-1.156.201109271635) wird eingerichtet ... ... > handler.uninstall_divert() > AttributeError: 'NoneType' object has no attribute 'uninstall_divert' Der Fehler wird nun explizit abgefangen, auch wenn unklar ist, wie es genau du der Fehlersituation gekommen ist. Einzige mir logisch erscheinende Konstellation ist, wenn ein (Single-)File de-registriert wird und die zugehörige Template-Datei bereits nicht mehr existiert. svn28108 ChangeLog: nicht notwenig, das Folgefehler der UCS-3.0 Umbauten an UCR.
(In reply to comment #6) > (In reply to comment #5) > > univention-mail-postfix (6.0.19-1.156.201109271635) wird eingerichtet ... > ... > > handler.uninstall_divert() > > AttributeError: 'NoneType' object has no attribute 'uninstall_divert' > > Der Fehler wird nun explizit abgefangen, auch wenn unklar ist, wie es genau du > der Fehlersituation gekommen ist. Einzige mir logisch erscheinende > Konstellation ist, wenn ein (Single-)File de-registriert wird und die > zugehörige Template-Datei bereits nicht mehr existiert. > > svn28108 > > ChangeLog: nicht notwenig, das Folgefehler der UCS-3.0 Umbauten an UCR. Das Exception-Handling wurde eingebaut, wieder VERIFIED.
UCS 3.0-0 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"