In order to "fedora-ize" the file/dir layout, the instance specific directory should always be a child of the product name directory. This means the following directories will be moved: /var/lock/slapd-instance -> /var/lock/fedora-ds/slapd-instance /var/lib/slapd-instance -> /var/lib/fedora-ds/slapd-instance /var/log/slapd-instance -> /var/log/fedora-ds/slapd-instance /var/run/slapd-instance -> /var/run/fedora-ds the last one is a special case. fedora prefers the pid files to be named name.pid e.g. slapd-instance.pid rather than have a subdir with a file called pid. This also means some additional code in order to make /var/run/fedora-ds secure yet still writable by the server userid (e.g. nobody:nobody).
Created attachment 146695 [details] diffs to create additional instance dirs
Looks good.
Reviewed by: nhosoi (Thanks!) Files: see diff Branch: HEAD Fix Description: Fixed create instance to create these instance specific directories: /var/lock/slapd-instance -> /var/lock/fedora-ds/slapd-instance /var/lib/slapd-instance -> /var/lib/fedora-ds/slapd-instance /var/log/slapd-instance -> /var/log/fedora-ds/slapd-instance /var/run/slapd-instance -> /var/run/fedora-ds For now, I'm side-stepping the question of what to do about permissions on /var/run/fedora-ds/slapd-instance.pid - we'll address this in the RPM creation. I've also moved the migration scripts to the %{_libdir}/fedora-ds/slapd-instance directory, and I've made the default directory for the key/cert db the same as the config directory. I think the dynamic nature of their configuration warrants the move. Platforms tested: RHEL4 Flag Day: no Doc impact: no Checking in ldapserver/ldap/admin/lib/dsalib_updown.c; /cvs/dirsec/ldapserver/ldap/admin/lib/dsalib_updown.c,v <-- dsalib_updown.c new revision: 1.9; previous revision: 1.8 done Checking in ldapserver/ldap/admin/src/create_instance.c; /cvs/dirsec/ldapserver/ldap/admin/src/create_instance.c,v <-- create_instance.c new revision: 1.41; previous revision: 1.40 done Checking in ldapserver/ldap/admin/src/scripts/template-start-slapd.in; /cvs/dirsec/ldapserver/ldap/admin/src/scripts/template-start-slapd.in,v <-- template-start-slapd.in new revision: 1.4; previous revision: 1.3 done Checking in ldapserver/ldap/admin/src/scripts/template-stop-slapd.in; /cvs/dirsec/ldapserver/ldap/admin/src/scripts/template-stop-slapd.in,v <-- template-stop-slapd.in new revision: 1.4; previous revision: 1.3 done
In the diffs of Comment #1, Index: ldapserver/ldap/admin/lib/dsalib_updown.c =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/admin/lib/dsalib_updown.c,v retrieving revision 1.8 diff -u -8 -r1.8 dsalib_updown.c --- ldapserver/ldap/admin/lib/dsalib_updown.c 10 Nov 2006 23:44:32 -0000 1.8 +++ ldapserver/ldap/admin/lib/dsalib_updown.c 26 Jan 2007 17:40:14 -0000 @@ -90,17 +90,17 @@ [...] - PR_snprintf(pid_file_name, BIG_LINE, "%s/pid", rundir); + PR_snprintf(pid_file_name, BIG_LINE, "%s/%s.pid", ds_get_server_name(), rundir); [...] You actually meant this, didn't you? ;) + PR_snprintf(pid_file_name, BIG_LINE, "%s/%s.pid", rundir, ds_get_server_name()); With the above change, I could make quickinstall PASS again. Test Name PASS FAIL NORESULT quickinstall startup 100% (1/1)
Yep. Thanks Noriko! Checking in dsalib_updown.c; /cvs/dirsec/ldapserver/ldap/admin/lib/dsalib_updown.c,v <-- dsalib_updown.c new revision: 1.10; previous revision: 1.9 done