Package: libnss-ldap Version: 251-1 After upgrading the package, the postinst-script return the following error.
ape29:/home/jan# apt-get --reinstall install libnss-ldap Paketlisten werden gelesen... Fertig Abhängigkeitsbaum wird aufgebaut... Fertig 0 aktualisiert, 0 neu installiert, 1 erneut installiert, 0 zu entfernen und 0 nicht aktualisiert. Es müssen 95,7kB Archive geholt werden. Nach dem Auspacken werden 0B Plattenplatz zusätzlich benutzt. Möchten Sie fortfahren [J/n]? J Hole:1 http://194.97.2.69 unstable/main libnss-ldap 251-1 [95,7kB] Es wurden 95,7kB in 0s geholt (162kB/s) Vorkonfiguration der Pakete ... (Lese Datenbank ... 111081 Dateien und Verzeichnisse sind derzeit installiert.) Vorbereiten zum Ersetzen von libnss-ldap 251-1 (durch .../libnss-ldap_251-1_i386.deb) ... Entpacke Ersatz für libnss-ldap ... Richte libnss-ldap ein (251-1) ... Bareword found where operator expected at -e line 1, near "s-^base .*-base dc=ape29,dc=pdc,dc=autohaus-geisser" Can't modify constant item in scalar assignment at -e line 1, near "pdc," syntax error at -e line 1, near "s-^base .*-base dc=ape29,dc=pdc,dc=autohaus-geisser" Execution of -e aborted due to compilation errors. dpkg: Fehler beim Bearbeiten von libnss-ldap (--configure): Unterprozess post-installation script gab den Fehlerwert 255 zurück Fehler traten auf beim Bearbeiten von: libnss-ldap E: Sub-process /usr/bin/dpkg returned an error code (1) ape29:/home/jan# The Problem is the hypher in the base. To correct the bug you must escape the hypher in the regex. The attachment is the patch who fix the bug. At least I think so ;-) Im am using Debian GNU/Linux unstable, kernel 2.6.16-1-686-smp and libc6 2.3.6-15.
--- libnss-ldap.postinst_old 2006-06-23 12:59:16.000000000 +0200 +++ libnss-ldap.postinst 2006-06-23 13:04:14.000000000 +0200 @@ -24,6 +24,8 @@ value=`echo $value | sed -s 's#\\\#\\\\\\\#g'` # then the slashes value=`echo $value | sed -s 's#/#\\\/#g'` + # escape hyphen in domainnames for later regex compat (ex. example-city.net) + value=`echo $value | sed -s 's#-#\\\-#g'` egrep -i -q "^$parameter " $CONFFILE || notthere=1 if [ "$notthere" = "1" ]; then