Не работает SLAPDURLLIST="'ldapi:///'" Причина: altbug#10382 ... socket(AF_UNIX, SOCK_STREAM, 0) = 11 unlink("/var/lib/run/ldapi") = -1 ENOENT (No such file or directory) umask(000) = 022 bind(11, {sa_family=AF_UNIX, sun_path="/var/lib/run/ldapi"}, 110) = -1 ENOENT (No such file or directory) ... Временно собрал себе так: $ sed 's/_localstatedir/_sharedstatedir/g' -i openldap.spec $ head -n1 openldap.spec %define _localstatedir /var Пример правильного использования макросов _localstatedir и _sharedstatedir можно посмотреть у Fedora: $ egrep '(localstate|sharedstate)' /tmp/fedora-openldap.spec mkdir -p %{buildroot}%{_sharedstatedir} mkdir -p %{buildroot}%{_localstatedir} install -m 0700 -d %{buildroot}%{_sharedstatedir}/ldap install -m 0755 -d %{buildroot}%{_localstatedir}/run/openldap rm -f %{buildroot}%{_localstatedir}/openldap-data/DB_CONFIG.example rmdir %{buildroot}%{_localstatedir}/openldap-data useradd -r -g ldap -u 55 -d %{_sharedstatedir}/ldap -s /sbin/nologin -c "OpenLDAP server" ldap touch %{_sharedstatedir}/ldap/rpm_upgrade_openldap &>/dev/null if [ -f %{_sharedstatedir}/ldap/rpm_upgrade_openldap ]; then rm -f %{_sharedstatedir}/ldap/rpm_upgrade_openldap touch %{_sharedstatedir}/ldap/rpm_upgrade_libdb rm -f %{_sharedstatedir}/ldap/rpm_upgrade_libdb if [ -f %{_sharedstatedir}/ldap/rpm_upgrade_libdb ]; then rm -f %{_sharedstatedir}/ldap/rpm_upgrade_libdb %dir %attr(0700,ldap,ldap) %{_sharedstatedir}/ldap %dir %attr(-,ldap,ldap) %{_localstatedir}/run/openldap
Для того, чтобы привести макрос _localstatedir в соответствие федориному, достаточно дописать BuildRequires: rpm-build-intro. Но в спеке есть конструкции вида %__mkdir_p -m750 %buildroot/%_localstatedir/ldap они явно сломаются. Потому что run-то должен быть в /var/run, но ldap должен быть /var/lib/ldap. И я бы заодно обсудил %_rundir А использование _sharedstatedir в приведённом примере выглядит очень неплохо.
А вот так работает: /etc/sysconfig/ldap SLAPDURLLIST="'ldapi://%2fvar%2flib%2fldap%2fdev%2flog'"
(In reply to comment #2) > А вот так работает: > > /etc/sysconfig/ldap > SLAPDURLLIST="'ldapi://%2fvar%2flib%2fldap%2fdev%2flog'" Замечательный способ отстрелить себе логи.
Можно тестировать исправленный пакет из http://git.altlinux.org/tasks/192208/
Сергей, поставь пожалуйста задачу протестировать новую сборку openldap.
Проверили на ALT домене. Всё работает.
openldap-2.4.45-alt2 -> sisyphus: Tue Oct 24 2017 Dmitry V. Levin <ldv@altlinux.org> 2.4.45-alt2 - slapd: + dropped bogus chown from %pre script; + fixed ldapi:/// (closes: #34023).