Bug 17913 - Mutlifile-Dateien werden beim entfernen des Pakets gelöscht
Mutlifile-Dateien werden beim entfernen des Pakets gelöscht
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: UCR
UCS 2.3
Other Linux
: P2 normal (vote)
: UCS 3.0 - MS2
Assigned To: Philipp Hahn
Moritz Muehlenhoff
:
Depends on: 22522
Blocks: 22668 24867
  Show dependency treegraph
 
Reported: 2010-03-18 12:24 CET by Stefan Gohmann
Modified: 2011-12-13 15:50 CET (History)
2 users (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):
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2010-03-18 12:24:32 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.
Comment 1 Philipp Hahn univentionstaff 2011-05-13 21:29:30 CEST
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})
Comment 2 Sönke Schwardt-Krummrich univentionstaff 2011-05-19 09:24:53 CEST
(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.
Comment 3 Philipp Hahn univentionstaff 2011-05-26 09:40:07 CEST
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}).
Comment 4 Moritz Muehlenhoff univentionstaff 2011-09-26 15:40:05 CEST
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.
Comment 5 Sönke Schwardt-Krummrich univentionstaff 2011-09-29 21:18:43 CEST
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
Comment 6 Philipp Hahn univentionstaff 2011-10-22 09:34:22 CEST
(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.
Comment 7 Moritz Muehlenhoff univentionstaff 2011-11-07 11:20:14 CET
(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.
Comment 8 Sönke Schwardt-Krummrich univentionstaff 2011-12-13 15:50:14 CET
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"