touch-packages team mailing list archive
-
touch-packages team
-
Mailing list archive
-
Message #12268
[Bug 322944] Re: slapd upgrade fails: chown: cannot access `olcDbDirectory\nolcDbDirectory': No such file or directory
Still encountered in upgrade to 14.04, due to a few cases of a missing
-h parameter to grep when finding the value of olcDbDirectory. In my
case the suffix is stored in two backends, one of them on disk, causing
a grep with more than one file on the command line, and thus the result
of grep beeing prefixed with "<filename>:", which again causes "| cut
-d: -f 2" to return "olcDbDirectory" instead of "/var/lib/ldap".
--
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to openldap in Ubuntu.
https://bugs.launchpad.net/bugs/322944
Title:
slapd upgrade fails: chown: cannot access
`olcDbDirectory\nolcDbDirectory': No such file or directory
Status in “openldap” package in Ubuntu:
Triaged
Bug description:
Binary package hint: slapd
slapd upgrade fails with:
iain@stronginthearm:~$ sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0B of additional disk space will be used.
Setting up slapd (2.4.11-0ubuntu6.1) ...
Backing up /etc/ldap/slapd.d/ in /var/backups/slapd-2.4.11-0ubuntu6... done.
chown: cannot access `olcDbDirectory\nolcDbDirectory': No such file or directory
dpkg: error processing slapd (--configure):
subprocess post-installation script returned error exit status 1
Errors were encountered while processing:
slapd
E: Sub-process /usr/bin/dpkg returned an error code (1)
The attempt to parse out the olcDbDirectory in /var/lib/dpkg/info/slapd.postinst:get_directory() fails if there is more than one matching file, which there is on my system - there's an emacs backup file (i.e. olcDatabase={1}hdb.ldif~). Made the following patch:
--- slapd.postinst 2009-01-29 22:32:24.000000000 +0000
+++ /var/lib/dpkg/info/slapd.postinst 2009-01-29 22:37:55.000000000 +0000
@@ -229,7 +229,7 @@
get_directory() { # {{{
# Returns the db directory for a given suffix
if [ -d "${SLAPD_CONF}" ] && echo `get_suffix` | grep -q "$1" ; then
- grep "olcDbDirectory:" `grep -l "olcSuffix: $1" ${SLAPD_CONF}/cn\=config/olcDatabase*` | cut -d: -f 2 | sed 's/^ *//g'
+ grep -H "olcDbDirectory:" `grep -l "olcSuffix: $1" ${SLAPD_CONF}/cn\=config/olcDatabase*` | head -1 | cut -d: -f 3 | sed 's/^ *//g'
elif [ -f "${SLAPD_CONF}" ]; then
# Extract the directory for the given suffix ($1)
for f in `get_all_slapd_conf_files`; do
which is more robust in the face of multiple matches. Extra credit is
given for explicitly grepping out junk.
# lsb_release -rd
Description: Ubuntu 8.10
Release: 8.10
# apt-cache policy slapd
slapd:
Installed: 2.4.11-0ubuntu6.1
Candidate: 2.4.11-0ubuntu6.1
Version table:
*** 2.4.11-0ubuntu6.1 0
500 http://gb.archive.ubuntu.com intrepid-updates/main Packages
100 /var/lib/dpkg/status
2.4.11-0ubuntu6 0
500 http://gb.archive.ubuntu.com intrepid/main Packages
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openldap/+bug/322944/+subscriptions