[Fedora-directory-devel] Building on Debian

Seo Sanghyeon tinuviel at sparcs.kaist.ac.kr
Sun Jun 5 12:18:12 UTC 2005


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.

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
-------------- next part --------------
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;
 


More information about the Fedora-directory-devel mailing list