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