[Fedora-directory-devel] Please review: allow admin server to build without java

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



It's a little bit tricky. The base package is a dependency of both the main admin server package and the directory server package. However, it works if you just create a zero length .zip file for the base archive - you get a warning when running setup, but everything installs correctly. While it's not perfect (it will be addressed for the next major release) it will at least allow those developers who do not want to use java at all to build and install.

You must use "make NOJAVA=1 ..." to build and package admin server without java.


adminserver/Makefile
adminserver/admserv/Makefile
adminserver/admserv/pkgadmin.mk
adminserver/base/Makefile
Index: adminserver/Makefile
===================================================================
RCS file: /cvs/dirsec/adminserver/Makefile,v
retrieving revision 1.16
diff -u -8 -r1.16 Makefile
--- adminserver/Makefile	3 Nov 2005 23:20:38 -0000	1.16
+++ adminserver/Makefile	18 Jan 2006 17:18:38 -0000
@@ -25,34 +25,44 @@
 #  Makefile for AdminServer
 #
 
 BUILD_ROOT=.
 
 include nsconfig.mk
 include components.mk
 
+PACKAGEDEPS = start_time
+
+ifndef NOJAVA
+PACKAGEDEPS += ldapjdk nmcjdk jsssdk jsslib
+endif
+
+PACKAGEDEPS += pkgBase pkgAdmin pkgMcc end_time
+
 all: buildAndPkgAdmin
 
 buildAndPkgAdmin: buildOxygen pkgOxygen
 
 help:
 	@echo
 	@echo The following are build targets that you can choose from:
 	@echo
-	@echo "   gmake buildAndPkgAdmin (the default if no targets are given)"
-	@echo "   gmake buildAdmin"
-	@echo "   gmake buildOxygen"
-	@echo "   gmake buildConsole"
-	@echo "   gmake pkgAdmin"
-	@echo "   gmake pkgOxygen"
-	@echo "   gmake pkgConsole"
-	@echo "   gmake pkgL10NOxygen"
-	@echo "   gmake docConsole"
-	@echo "   gmake acceptAdmin"
+	@echo "   $(MAKE) buildAndPkgAdmin (the default if no targets are given)"
+	@echo "   $(MAKE) buildAdmin"
+	@echo "   $(MAKE) buildOxygen"
+	@echo "   $(MAKE) buildConsole"
+	@echo "   $(MAKE) pkgAdmin"
+	@echo "   $(MAKE) pkgOxygen"
+	@echo "   $(MAKE) pkgConsole"
+	@echo "   $(MAKE) pkgL10NOxygen"
+	@echo "   $(MAKE) docConsole"
+	@echo "   $(MAKE) acceptAdmin"
+	@echo ""
+	@echo Use $(MAKE) NOJAVA=1 to skip building/packaging any Java (console or command line) code
 
 pumpkin:
 	$(PERL) pumpkin.pl $(PUMPKIN_AGE) pumpkin.dat
 
 start_time:
 	@echo  " Starting SBCX IMPORT  "
 	@date
 
@@ -206,17 +216,17 @@
 	@echo
 	@echo
 	@echo ==== Starting Win9x Console Package ==========
 	@echo
 	$(MAKE) -f win9xMakefile $(MFLAGS) BUILD_MODULE=WIN9X_CONSOLE package
 	@echo
 	@echo ============== Finished ============================
 
-pkgOxygen:start_time ldapjdk nmcjdk jsssdk jsslib pkgBase pkgAdmin pkgMcc end_time
+pkgOxygen: $(PACKAGEDEPS)
 	@echo
 	@echo
 	@echo
 	@echo ==== Finished Oxygen Package ==========
 	@echo
 
 pkgMcc:
 	@echo
Index: adminserver/admserv/Makefile
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/Makefile,v
retrieving revision 1.6
diff -u -8 -r1.6 Makefile
--- adminserver/admserv/Makefile	29 Sep 2005 22:11:58 -0000	1.6
+++ adminserver/admserv/Makefile	18 Jan 2006 17:18:38 -0000
@@ -28,22 +28,31 @@
 NOSTDSTRIP=true
 
 include $(BUILD_ROOT)/nsconfig.mk
 
 ifeq ($(ARCH), AIX)
 MFLAGS :=
 endif
 
+ALLTARGETS = do-src do-cgi-src do-html
+ifndef NOJAVA
+ALLTARGETS += do-console
+endif
+
+ALLTARGETS += do-cfg
+
 ifeq ($(ARCH), WINNT)
-all: do-src do-cgi-src do-html do-console do-cfg do-viewurl do-inst do-ldap-stuffs do-icons
-else
-all: do-src do-cgi-src do-html do-console do-cfg do-inst do-ldap-stuffs do-icons
+ALLTARGETS += do-viewurl
 endif
 
+ALLTARGETS += do-inst do-ldap-stuffs do-icons
+
+all: $(ALLTARGETS)
+
 do-src:
 #	cd src; $(MAKE) BUILD_MODULE=HTTP_ADMIN $(MFLAGS)
 	mkdir -p $(OBJDIR)/admin-lib
 
 do-cgi-src:
 	cd cgi-src40; $(MAKE) BUILD_MODULE=HTTP_ADMIN $(MFLAGS)
 
 do-html:
Index: adminserver/admserv/pkgadmin.mk
===================================================================
RCS file: /cvs/dirsec/adminserver/admserv/pkgadmin.mk,v
retrieving revision 1.34
diff -u -8 -r1.34 pkgadmin.mk
--- adminserver/admserv/pkgadmin.mk	8 Dec 2005 02:37:25 -0000	1.34
+++ adminserver/admserv/pkgadmin.mk	18 Jan 2006 17:18:38 -0000
@@ -134,28 +134,33 @@
 ifndef MOD_NSS_LIB_DIR
 	MOD_NSS_LIB_DIR=$(BUILD_ROOT)/../mod_nss/.libs
 endif
 ifndef MOD_NSS_BIN_DIR
 	MOD_NSS_BIN_DIR=$(BUILD_ROOT)/../mod_nss
 endif
 endif
 
+ifndef NOJAVA
+ALLTARGETS = pkguxClient
+endif
+ALLTARGETS += pkguxAdmin pkgSetup pkgSBC
+
 ifneq ($(strip $(ADM_VERSION)),)
 all:
 	-if [ ! -d $(PKGTOP) ]; then \
 	   $(MKDIR) $(PKGTOP) ; \
 	fi
 ifneq ($(ARCH), WINNT)
 	cd $(PKGTOP); find . -type f -exec chmod go-w {} \;
 endif
 	cd $(PKGTOP); $(TAR) xf $(ADM_RELEASE)/admserv.tar
 else
 
-all:  pkguxClient pkguxAdmin pkgSetup pkgSBC
+all:  $(ALLTARGETS)
 
 endif
 
 pkguxClient: pkguxConsole $(CLIENT_DIR)
 	echo "===== Packaging Admin Server client ======"
 	echo
 	rm -rf $(CLIENT_DIR)/*
 	-$(MKDIR) $(CLIENT_DIR)/java
@@ -180,18 +185,20 @@
 
 pkguxAdmin: $(ADMIN_DIR) new-pkguxAdmin
 
 new-pkguxAdmin:
 # Note: need to create $(PKGDIR)/unzipped/admserv for backwards compat --MLM
 # Note: need to do admin-nickname rather than admin-serv --MLM
 
 	-$(MKDIR) $(ADMIN_DIR)/dist
+ifndef NOJAVA
 	-$(MKDIR) $(ADMIN_DIR)/java/jars
 	-$(MKDIR) $(ADMIN_DIR)/java/html/en
+endif # NOJAVA
 
 	-$(MKDIR) $(ADMIN_DIR)/admin-serv
 	-$(MKDIR) $(ADMIN_DIR)/admin-serv/config
 	-$(MKDIR) $(ADMIN_DIR)/admin-serv/logs
 	-$(MKDIR) $(ADMIN_DIR)/admin-serv/ldif
 
 	-$(MKDIR) $(ADMIN_DIR)/bin/admin
 	-$(MKDIR) $(ADMIN_DIR)/bin/admin/lib
@@ -257,23 +264,25 @@
 	if [ -d $(ADMINUTIL_LIBPATH)/property ] ; then \
 		$(MKDIR) $(ADMIN_DIR)/bin/admin/lib/property ; \
 		cp -p $(ADMINUTIL_LIBPATH)/property/* $(ADMIN_DIR)/bin/admin/lib/property ; \
 	elif [ -d $(ADMINUTIL_LIBPATH)/adminutil-properties ] ; then \
 		$(MKDIR) $(ADMIN_DIR)/bin/admin/lib/adminutil-properties ; \
 		cp -p $(ADMINUTIL_LIBPATH)/adminutil-properties/* $(ADMIN_DIR)/bin/admin/lib/adminutil-properties ; \
 	fi
 
+ifndef NOJAVA
 	cd $(ADMSERV_OBJDIR)/cmdln; \
 	cp -p admconfig $(ADMIN_DIR)/bin/admin;
 
 	cd $(ADMIN_JARS)/.. ; \
 	   find *.html *.gif *.jpg | $(CPIO) $(ADMIN_DIR)/java/html
 	cd $(ADMIN_JARS)/.. ; \
 	   find *.html | $(CPIO) $(ADMIN_DIR)/java/html/en
+endif # NOJAVA
 
 	cp $(BUILD_ROOT)/lib/ldaputil/certmap.conf $(ADMIN_DIR)/shared/config
 	cp -p $(BUILD_ROOT)/admserv/cfgstuff/httpd.conf $(ADMIN_DIR)/shared/config/template/httpd.conf.tmpl
 	cp -p $(BUILD_ROOT)/admserv/cfgstuff/admserv.conf $(ADMIN_DIR)/shared/config/template/admserv.conf.tmpl
 	cp -p $(BUILD_ROOT)/admserv/cfgstuff/console.conf $(ADMIN_DIR)/shared/config/template/console.conf.tmpl
 	cp -p $(BUILD_ROOT)/admserv/cfgstuff/nss.conf $(ADMIN_DIR)/shared/config/template/nss.conf.tmpl
 	cp -p $(BUILD_ROOT)/admserv/cfgstuff/start-admin $(ADMIN_DIR)/shared/config/template/start-admin.tmpl
 	cp -p $(BUILD_ROOT)/admserv/cfgstuff/stop-admin $(ADMIN_DIR)/shared/config/template/stop-admin.tmpl
Index: adminserver/base/Makefile
===================================================================
RCS file: /cvs/dirsec/adminserver/base/Makefile,v
retrieving revision 1.16
diff -u -8 -r1.16 Makefile
--- adminserver/base/Makefile	18 Nov 2005 21:16:39 -0000	1.16
+++ adminserver/base/Makefile	18 Jan 2006 17:18:38 -0000
@@ -144,23 +144,24 @@
 ifdef BUILD_SHIP
 	-mkdir -p $(RELTOP)
 	-rm $(RELTOP)/base.ex
 	echo "base/unzipped" > $(RELTOP)/base.ex
 	echo "svrcore/unzipped" >> $(RELTOP)/base.ex
 	cd $(PKGTOP); $(TAR) cvfX $(RELTOP)/base.tar $(RELTOP)/base.ex base
 	-rm $(RELTOP)/base.tar.gz $(RELTOP)/base.ex
 	cd $(RELTOP); gzip -f base.tar
-endif     
+endif
 
 pkguxClient:
 
 	rm -rf $(CLIENT_DIR)
 	rm -f $(BASEDIR)/ns$(BASE_CLIENT).zip
 
+ifndef NOJAVA
 	-$(MKDIR) $(CLIENT_DIR)/$(JAVA_DIR)
 	-$(MKDIR) $(CONSOLE_HELP)
 	-$(CHMOD) 0777 $(CLIENT_DIR)/$(JAVA_DIR)
 
 #copy console help
 ifdef ONLINEHELP_SOURCE_DIR
 	@cd $(ONLINEHELP_SOURCE_DIR)/console/html ; \
 	for dir in * ; do \
@@ -206,13 +207,18 @@
 #	-find $(BASEDIR) -type f \( -name '*.o' -o -name '.*' \) -exec rm {} \;
 
 ifneq ($(ARCH), WINNT)
 	-find $(BASEDIR) -type f -exec chmod go-w {} \;
 endif
 	cd $(CLIENT_DIR) ; \
 	   $(IZIP) $(BASEDIR)/ns$(BASE_CLIENT).zip * ;
 
+else # NOJAVA
+	$(MKDIR) $(BASEDIR)
+	touch $(BASEDIR)/ns$(BASE_CLIENT).zip
+endif # NOJAVA
+
 ifeq ($(ARCH), Linux)
 	$(PERL) fixPI.pl SETUP_BASE ../include/version.h ../$(NSPLATFORM_DIR)/buildnum.dat $(BUILD_SECURITY) base.inf $(BASEDIR)/base.inf
 else
 	$(COMPONENTS_DIR)/perl5/$(ARCH)-perl5/perl fixPI.pl SETUP_BASE ../include/version.h ../$(NSPLATFORM_DIR)/buildnum.dat $(BUILD_SECURITY) base.inf $(BASEDIR)/base.inf
 endif

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


[Index of Archives]     [Fedora Directory Announce]     [Fedora Users]     [Older Fedora Users Mail]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Review]     [Fedora Art]     [Fedora Music]     [Fedora Packaging]     [CentOS]     [Fedora SELinux]     [Big List of Linux Books]     [KDE Users]     [Fedora Art]     [Fedora Docs]

  Powered by Linux