This is excellent!  Thanks.  I guess we need to get a Debian box and try this out.

Seo Sanghyeon wrote:
Hello,

To satisfy my curiosity, today I tried building Fedora Directory Server
on my Debian Sid box. After some trying I made it.

I built with Debian's system Berkeley DB and Cyrus SASL.

Building with system Net-SNMP doesn't work, because Debian has version
5.1 but 5.2 is needed. Building with system Mozilla SDK doesn't work,
because Debian's Mozilla LDAP C SDK is built without optional SVRCORE,
but Directory Server needs it.
  
Right.  The SVRCORE component was recently released open source as part of the NSS family of components - mozilla/security/svcore - on Mozilla.  So now all distros can build and distribute Mozilla LDAP C SDK with SVRCORE included.
Build is looking for gmake. Fix nsconfig.mk line 349
-MAKE=gmake $(BUILDOPT) NO_JAVA=1
+MAKE=make $(BUILDOPT) NO_JAVA=1

Build is looking for /etc/redhat-release, which doesn't exist on Debian
systems. Delete between "ifeq ($(BUILD_ARCH), Linux)" and "endif" after
"# Check if we're on RHEL" in both nsdefs.mk and nsconfig.mk.

To build with system libraries, edit components.mk and fill in
appropriate {SASL,DB}_{INCLUDE,LIBPATH}.

Building recipe:

apt-get install libdb4.2-dev
apt-get install libsasl2-dev libkrb5-dev
apt-get install libicu26-dev

Build Mozilla components, either from Mozilla CVS or from
mozilla-components.tar.gz.

Build Net-SNMP 5.2, as described in the building instruction.

Checkout Fedora Directory Server.

Apply attached fds-build.diff.

Type make and wait.

Seo Sanghyeon
  

Index: components.mk =================================================================== RCS file: /cvs/dirsec/ldapserver/components.mk,v retrieving revision 1.30 diff -u -r1.30 components.mk --- components.mk 16 May 2005 21:58:00 -0000 1.30 +++ components.mk 5 Jun 2005 06:02:53 -0000 @@ -354,15 +354,9 @@ ### SASL package ########################################## -ifdef SASL_SOURCE_ROOT - SASL_LIBPATH = $(SASL_SOURCE_ROOT)/lib - SASL_BINPATH = $(SASL_SOURCE_ROOT)/bin - SASL_INCDIR = $(SASL_SOURCE_ROOT)/include -else - SASL_LIBPATH = $(SASL_BUILD_DIR)/lib - SASL_BINPATH = $(SASL_BUILD_DIR)/bin - SASL_INCDIR = $(SASL_BUILD_DIR)/include -endif +SASL_LIBPATH = /usr/lib +SASL_BINPATH = /usr/bin +SASL_INCDIR = /usr/include/sasl SASL_INCLUDE = $(SASL_INCDIR) ifeq ($(ARCH), WINNT) @@ -458,15 +452,9 @@ ### DB component (Berkeley DB) ############################ DB_LIBNAME=lib$(DB_MAJOR_MINOR) -ifdef DB_SOURCE_ROOT - DB_INCLUDE =$(DB_SOURCE_ROOT)/built - DB_LIBPATH =$(DB_SOURCE_ROOT)/built/.libs - DB_BINPATH =$(DB_SOURCE_ROOT)/built -else - DB_INCLUDE =$(db_path_config)/include - DB_LIBPATH =$(db_path_config)/lib - DB_BINPATH =$(db_path_config)/bin -endif +DB_INCLUDE =/usr/include +DB_LIBPATH =/usr/lib +DB_BINPATH =/usr/bin ifeq ($(ARCH), WINNT) db_import_lib_suffix =$(LIB_SUFFIX) DB_LIB =$(DB_LIBPATH)/$(DB_LIBNAME).$(db_import_lib_suffix) Index: nsconfig.mk =================================================================== RCS file: /cvs/dirsec/ldapserver/nsconfig.mk,v retrieving revision 1.14 diff -u -r1.14 nsconfig.mk --- nsconfig.mk 10 May 2005 23:16:59 -0000 1.14 +++ nsconfig.mk 5 Jun 2005 06:02:54 -0000 @@ -103,20 +103,6 @@ # Check if we're on RHEL ifeq ($(NSOS_ARCH), Linux) - NSOS_TEST := $(shell cat /etc/redhat-release) - ifeq ($(findstring Taroon,$(NSOS_TEST)),Taroon) - NSOS_ARCH := RHEL - NSOS_RELEASE := 3 - # Always use gcc on RHEL - GCC_VERSION := gcc$(word 1, $(shell gcc --version | sed 's/gcc.*GCC.\s//' | sed 's/\..*//')) - else - ifeq ($(findstring Nahant,$(NSOS_TEST)),Nahant) - NSOS_ARCH := RHEL - NSOS_RELEASE := 4 - # Always use gcc on RHEL - GCC_VERSION := gcc$(word 1, $(shell gcc --version | sed 's/gcc.*GCC.\s//' | sed 's/\..*//')) - endif - endif endif ifeq ($(NSOS_ARCH), AIX) @@ -346,7 +332,7 @@ NSCP_DIST = $(BUILD_ROOT)/../dist NSCP_DISTDIR = $(BUILD_ROOT)/../dist/$(NSOBJDIR_NAME) -MAKE=gmake $(BUILDOPT) NO_JAVA=1 +MAKE=make $(BUILDOPT) NO_JAVA=1 export NSPR20=1 Index: nsdefs.mk =================================================================== RCS file: /cvs/dirsec/ldapserver/nsdefs.mk,v retrieving revision 1.11 diff -u -r1.11 nsdefs.mk --- nsdefs.mk 19 Apr 2005 22:06:42 -0000 1.11 +++ nsdefs.mk 5 Jun 2005 06:02:54 -0000 @@ -99,14 +99,6 @@ # Check if we're on RHEL ifeq ($(BUILD_ARCH), Linux) - ARCH_TEST := $(shell cat /etc/redhat-release) - ifeq ($(findstring Taroon, $(ARCH_TEST)),Taroon) - BUILD_ARCH = RHEL3 - else - ifeq ($(findstring Nahant, $(ARCH_TEST)),Nahant) - BUILD_ARCH = RHEL4 - endif - endif endif # Should we build Java code on this platform? Index: nsperl.mk =================================================================== RCS file: /cvs/dirsec/ldapserver/nsperl.mk,v retrieving revision 1.4 diff -u -r1.4 nsperl.mk --- nsperl.mk 19 Apr 2005 22:06:42 -0000 1.4 +++ nsperl.mk 5 Jun 2005 06:02:54 -0000 @@ -52,6 +52,7 @@ PERL=perl endif +USE_PERL_FROM_PATH=1 ifdef USE_PERL_FROM_PATH PERL = $(shell perl -e 'print "$$\n"') endif Index: ldap/cm/Makefile =================================================================== RCS file: /cvs/dirsec/ldapserver/ldap/cm/Makefile,v retrieving revision 1.30 diff -u -r1.30 Makefile --- ldap/cm/Makefile 28 Apr 2005 17:32:32 -0000 1.30 +++ ldap/cm/Makefile 5 Jun 2005 06:02:54 -0000 @@ -501,8 +501,8 @@ endif # Copy db tools - $(INSTALL) -m 755 $(DB_BINPATH)/db_printlog* $(RELDIR)/bin/slapd/server - $(INSTALL) -m 755 $(DB_BINPATH)/db_verify* $(RELDIR)/bin/slapd/server + $(CP) $(DB_BINPATH)/db4.2_printlog $(RELDIR)/bin/slapd/server/db_printlog + $(CP) $(DB_BINPATH)/db4.2_verify $(RELDIR)/bin/slapd/server/db_verify $(INSTALL) -m 755 $(OBJDIR)/lib/libsi18n/ns-slapd.properties $(RELDIR)/bin/slapd/property;

-- Fedora-directory-devel mailing list Fedora-directory-devel@redhat.com https://www.redhat.com/mailman/listinfo/fedora-directory-devel