Ob das Join-Skript ordentlich ausgeführt wurde, habe ich in der UMC nachgesehen - inzwischen bin ich mir aber nicht mehr so sicher, ob das wirklich passiert.
Übrigens, nicht wundern: unser DC Master heißt backupsrv, da er in der Vergangenheit einmal hochgestuft werden musste. Mir ist erzählt worden, dass so etwa seit dieser Zeit diese Zarafa-Schema-Probleme bei größeren Updates aufgetaucht sind - ob da ein Zusammenhang besteht ist fraglich …
Wenn ich das Zarafa4UCS-UDM-Paket manuell entferne und neu installiere, kann das Joinskript nicht korrekt ausgeführt werden:
root@backupsrv:~# dpkg -i zarafa4ucs-udm_7.1.3000-2.75.201410211733_all.deb
Vormals nicht ausgewähltes Paket zarafa4ucs-udm wird gewählt.
(Lese Datenbank ... 218474 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacken von zarafa4ucs-udm (aus zarafa4ucs-udm_7.1.3000-2.75.201410211733_all.deb) ...
zarafa4ucs-udm (7.1.3000-2.75.201410211733) wird eingerichtet ...
Calling joinscript 70zarafa4ucs-udm.inst ...
2015-05-04 15:28:02.563374208+02:00 (in joinscript_init)
Joinscript 70zarafa4ucs-udm.inst finished with exitcode 1
Trigger für python-support werden verarbeitet ...[/code]
Wenn ich dann jedoch univention-run-join-scripts ausführe, wird es übersprungen.
[code]Running 70zarafa4ucs-udm.inst skipped (already executed)
In der UMC sieht es ebenso unverdächtig aus. (erfolgreich)
Das Skript zur erneuten Ausführung zu zwingen bringt auch nichts.
Wenn man sich dieses Join-Skript genauer ansieht, merkt man, dass es eigentlich gar nichts tut.
JS_LAST_EXECUTED_VERSION ist 3, damit wird der große if-Block nicht ausgeführt.
VERSION=3
. /usr/share/univention-join/joinscripthelper.lib
. /usr/share/univention-lib/all.sh
joinscript_init
eval "$(univention-config-registry shell)"
# test
#univention-directory-manager container/cn remove "$@" --dn "cn=zarafa,cn=custom attributes,cn=univention,$ldap_base"
# modify zarafa broken usertemplate from VERSION=1
if [ $JS_LAST_EXECUTED_VERSION -lt 2 ] && [ $JS_LAST_EXECUTED_VERSION -gt 0 ]; then
oldHome=$(univention-directory-manager settings/usertemplate list "$@" --filter name="Zarafa Account" | \
grep unixhome | \
awk -F ": " '{print $2}'| \
sed 's|/||g')
if [ -z "$oldHome" -o "$oldHome" = "home" ]; then
univention-directory-manager settings/usertemplate modify "$@" --ignore_exists \
--dn "cn=Zarafa Account,cn=templates,cn=univention,$ldap_base" \
--set unixhome="/home/<username>"
fi
fi
joinscript_save_current_version
exit 0
Wie oder woher der Exit-Status 1 beim Installieren entsteht und warum in der UMC alles ok aussieht (vom Joinen her zumindest) ist mir noch unklar.