[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Problem mit dpkg-reconfigure



Frank Küster schrieb:
> Siehst du einen Grund, warum der symlink erst im postinst erstellt wird,
> anstatt ihn im Paket mitzuliefern?
Eigentlich nicht. Die Datei /etc/phpldapadmin/config.php wird zwar erst
bei der Konfiguration erzeugt, aber dann würde der Link bei der
Installation (vor der Konfiguration) einfach auf eine nicht vorhandene
Datei zeigen. Ist allerdings auch nicht schön. Naja, man kann sicherlich
in /usr/share/phpldapadmin/config.php herumspielen und das anpassen.
Allerdings sollte man vielleicht den ganzen Rekonfigurationsmechanismus
von phpldapadmin von vorne durcharbeiten. Ich überblicke den aber nicht
wirklich, weil ich davon, offen gesagt, keine Ahnung habe.

> Hat man denn eine Möglichkeit, den symlink auf eine andere Datei legen zu lassen?
Die Frage verstehe ich jetzt nicht. Bei der (Re-)konfiguration wird man
nicht gefragt, da wird der Link gar nicht erst erwähnt. Auf den Link bin
ich erst durch /usr/share/phpldapadmin/config.php gestoßen.

> Ja, definitiv.  Selbst wenn es vom Paketbetreuer so geplant ist - das
> unterläuft einfach den Zweck von dpkg-reconfigure, und wenn es so
> geplant ist, hat er halt was nicht verstanden.  Du kannst ihm sagen,
> dass er im config-Skript (und IIRC auch im postinst) auf das Argument
> testen kann: Im upgrade-Fall ist das "configure", wenn dann der Link
> schon existiert braucht er nichts tun.  Im dpkg-reconfigure-Fall ist es
> aber "reconfigure", und dann sollte das Skript die Fragen stellen, auch
> wenn die Datei schon da ist.

Ich habe mir mit DEBCONF_DEBUG=developer dpkg-reconfigure phpldapadmin
das ganze mal angeschaut. Hier die wichtigen Zeilen:

host:~# DEBCONF_DEBUG=developer dpkg-reconfigure phpldapadmin
debconf (developer): starting /var/lib/dpkg/info/phpldapadmin.config
reconfigure 0.9.5-3sarge2
debconf (developer): <-- VERSION 2.0
...
debconf (developer): --> 0 ok
debconf (developer): starting /var/lib/dpkg/info/phpldapadmin.postinst
configure 0.9.5-3sarge2
debconf (developer): <-- VERSION 2.0
...
debconf (developer): <-- STOP

phpldapadmin.config wird zwar mit reconfigure aufgerufen, schaut man
sich aber das script an, wird das Argument gar nicht abgefragt.
phpldapadmin.postinst wird mit configure aufgerufen, was normal ist? Das
Argument wird auch in phpldapadmin.postinst abgefragt, aber da passiert
dann (wie bereits beschrieben) nix, wenn config.php bereits existiert,
bzw. es tritt ein Fehler auf, wenn config.php gelöscht wurde, aber der
Link noch existiert.


Ich werd mal nen Bugreport schreiben.

Grüße
Marc



Reply to: