Need to be able to do an rpmbuild of ldapserver. Problems - we don't need to package external software - that packaging needs to be moved to a separate phase of the build (e.g. don't package libdb - just use the version in the OS). The makefiles are already set up to allow you to override the include and lib paths with env vars.
Created attachment 136306 [details] diffs for fix You can set env. vars. to override all of the LIB and INCLUDE paths with the make -e flag. I moved all of the external component packaging stuff into the packageDirectory target of ldap/cm/Makefile, and moved the "packaging" of the internal files into the releaseDirectory target. So the releaseDirectory target will now copy all of the ldapserver binaries and runtime files into their correct places under RELDIR, which is then used to create the rpm. There were a couple of other places that needed to change the way a particular file was packaged in order ot make sure it was packaged in the core ds and not as an external component.
Created attachment 136313 [details] example spec file used to build fedora ds core with these changes This is the spec file I'm using to test rpmbuild.
Looks good to me. It might be a good idea to note to clean up obsolete files before releasing 7.2... I see the code to package bin/slapd/install/version# and presence plugin (if the flag is set, though).
Yes. We'll be ripping out large chunks of code from ldapserver, and it will be good to get rid of the cruft. Checking in fedora-ds-1.1.0/Makefile; /cvs/dirsec/ldapserver/Makefile,v <-- Makefile new revision: 1.35; previous revision: 1.34 done Checking in fedora-ds-1.1.0/components.mk; /cvs/dirsec/ldapserver/components.mk,v <-- components.mk new revision: 1.53; previous revision: 1.52 done Checking in fedora-ds-1.1.0/nsconfig.mk; /cvs/dirsec/ldapserver/nsconfig.mk,v <-- nsconfig.mk new revision: 1.25; previous revision: 1.24 done Checking in fedora-ds-1.1.0/ldap/admin/src/ds_newinst.pl; /cvs/dirsec/ldapserver/ldap/admin/src/ds_newinst.pl,v <-- ds_newinst.pl new revision: 1.7; previous revision: 1.6 done Checking in fedora-ds-1.1.0/ldap/cm/Makefile; /cvs/dirsec/ldapserver/ldap/cm/Makefile,v <-- Makefile new revision: 1.60; previous revision: 1.59 done Checking in fedora-ds-1.1.0/lib/ldaputil/Makefile; /cvs/dirsec/ldapserver/lib/ldaputil/Makefile,v <-- Makefile new revision: 1.6; previous revision: 1.5 done
Whoops, I broke the build. As it turns out, RELDIR is not defined in lib/ldaputil. So, just skip the packaging in that makefile and just add it to ldap/cm/Makefile. Also, perldap packaging has changed for internal builds with the latest revision.
Created attachment 136382 [details] diffs for fix
Checking in ldapserver/components.mk; /cvs/dirsec/ldapserver/components.mk,v <-- components.mk new revision: 1.54; previous revision: 1.53 done Checking in ldapserver/internal_comp_deps.mk; /cvs/dirsec/ldapserver/internal_comp_deps.mk,v <-- internal_comp_deps.mk new revision: 1.47; previous revision: 1.46 done Checking in ldapserver/ldap/cm/Makefile; /cvs/dirsec/ldapserver/ldap/cm/Makefile,v <-- Makefile new revision: 1.61; previous revision: 1.60 done Checking in ldapserver/lib/ldaputil/Makefile; /cvs/dirsec/ldapserver/lib/ldaputil/Makefile,v <-- Makefile new revision: 1.7; previous revision: 1.6 done
Rpmbuild seems to run well. Vrified aginst: 1197673782 redhat-ds-base-8.0.0-11.el5dsrv Fri Dec 14 2007 1197673784 redhat-ds-admin-8.0.0-1.15.el5dsrv Fri Dec 14 2007 1197673785 redhat-ds-console-8.0.0-8.el5dsrv Fri Dec 14 2007 1197673786 redhat-admin-console-8.0.0-9.el5dsrv Fri Dec 14 2007