These scripts build and install the console and required libraries in a directory called /Users/john/Projects/FedoraDS/usr/ - if you want it somewhere else then change MYROOT in each script.

Build JSS

#!/bin/bash

cd /Users/john/Projects/FedoraDS/build
export MYROOT=/Users/john/Projects/FedoraDS/usr
mkdir $MYROOT
mkdir $MYROOT/lib
mkdir $MYROOT/lib/java
mkdir $MYROOT/bin
mkdir $MYROOT/share
mkdir $MYROOT/share/java

unset USE_64

export BUILD_OPT=1
export CVSROOT=:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot
export NS_USE_GCC=1
export NO_MDUPDATE=1
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home

rm -rf mozilla
cvs co -r NSPR_4_7_RTM NSPR
cvs co -r NSS_3_12_1_RC2 NSS
cd mozilla/security/nss/
make nss_build_all
cd ../../..
cvs co -r JSS_4_2_5_RTM mozilla/security/jss
cd mozilla/security/jss/
make
cd ../../dist/classes
zip -r ../jss4.jar .
cp ../jss4.jar $MYROOT/lib/java/
cp ../jss4.jar $MYROOT/lib/java/jss42.jar
cp ../jss4.jar $MYROOT/share/java
cp ../jss4.jar $MYROOT/share/java/jss42.jar
cp ../Darwin9.5.0_OPT.OBJ/lib/* $MYROOT/lib

unset BUILD_OPT
unset CVSROOT
unset NS_USE_GCC
unset NO_MDUPDATE
unset JAVA_HOME
unset MYROOT

Build LDAPSDK like this

#!/bin/bash

cd /Users/john/Projects/FedoraDS/build
export MYROOT=/Users/john/Projects/FedoraDS/usr
mkdir $MYROOT
mkdir $MYROOT/lib
mkdir $MYROOT/lib/java
mkdir $MYROOT/bin
mkdir $MYROOT/share
mkdir $MYROOT/share/java

export MOZ_SRC=/Users/jad/console/mozilla
export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home

curl -O http://www.mozilla.org/directory/ldapsdk_java_20020819.tar.gz
tar -xzf ldapsdk_java_20020819.tar.gz
cd mozilla/directory/java-sdk/
cp ldap.mk ldap.mk.old
sed 's/JAVAC=.*/& -source 1.4/' ldap.mk.old > ldap.mk
make -f ldap.mk JAVA_VERSION=1.5
make -f ldap.mk JAVA_VERSION=1.5 basepackage
cp ldapsp.mk ldapsp.mk.old
sed 's/JAVAC=.*/& -source 1.4/' ldapsp.mk.old > ldapsp.mk
make -f ldapsp.mk JAVA_VERSION=1.5
make -f ldapsp.mk JAVA_VERSION=1.5 basepackage

cp dist/packages/ldapjdk.jar $MYROOT/share/java/
cp dist/packages/ldapsp.jar $MYROOT/share/java/
cp dist/packages/ldapjdk.jar $MYROOT/lib/java/
cp dist/packages/ldapsp.jar $MYROOT/lib/java/

Now finally the script to build the console like this. Note the important step to get this to work is to delete the build directory after building the framework. It took me several hours of trial and error to discover this!!!

#!/bin/bash

cd /Users/john/Projects/FedoraDS/build
export MYROOT=/Users/john/Projects/FedoraDS/usr
mkdir $MYROOT
mkdir $MYROOT/lib
mkdir $MYROOT/lib/java
mkdir $MYROOT/bin
mkdir $MYROOT/share
mkdir $MYROOT/share/java

export CLASSPATH=$MYROOT/share/java

rm -rf built
rm -rf fedora-ds-console-1.1.2
rm -rf fedora-ds-admin-console-1.1.2
rm -rf idm-console-framework-1.1.2
rm -rf fedora-idm-console-1.1.1

tar -xjf ../tars/fedora-ds-console-1.1.2.tar.bz2
tar -xjf ../tars/fedora-ds-admin-console-1.1.2.tar.bz2
tar -xjf ../tars/idm-console-framework-1.1.2.tar.bz2
tar -xjf ../tars/fedora-idm-console-1.1.1.tar.bz2

cd idm-console-framework-1.1.2
ant -Dldapjdk.local.location=$MYROOT/share/java -Djss.local.location=$MYROOT/lib/java

cp ../built/release/jars/idm-console-base-1.1.2.jar $MYROOT/share/java/
cp ../built/release/jars/idm-console-mcc-1.1.2_en.jar $MYROOT/share/java/
cp ../built/release/jars/idm-console-mcc-1.1.2.jar $MYROOT/share/java/
cp ../built/release/jars/idm-console-nmclf-1.1.2_en.jar $MYROOT/share/java/
cp ../built/release/jars/idm-console-nmclf-1.1.2.jar $MYROOT/share/java/

ln -s $MYROOT/share/java/idm-console-base-1.1.2.jar $MYROOT/share/java/idm-console-base-1.1.jar
ln -s $MYROOT/share/java/idm-console-base-1.1.2.jar $MYROOT/share/java/idm-console-base.jar
ln -s $MYROOT/share/java/idm-console-mcc-1.1.2_en.jar $MYROOT/share/java/idm-console-mcc-1.1_en.jar
ln -s $MYROOT/share/java/idm-console-mcc-1.1.2_en.jar $MYROOT/share/java/idm-console-mcc_en.jar
ln -s $MYROOT/share/java/idm-console-mcc-1.1.2.jar $MYROOT/share/java/idm-console-mcc-1.1.jar
ln -s $MYROOT/share/java/idm-console-mcc-1.1.2.jar $MYROOT/share/java/idm-console-mcc.jar
ln -s $MYROOT/share/java/idm-console-nmclf-1.1.2_en.jar $MYROOT/share/java/idm-console-nmclf-1.1_en.jar
ln -s $MYROOT/share/java/idm-console-nmclf-1.1.2_en.jar $MYROOT/share/java/idm-console-nmclf_en.jar
ln -s $MYROOT/share/java/idm-console-nmclf-1.1.2.jar $MYROOT/share/java/idm-console-nmclf-1.1.jar
ln -s $MYROOT/share/java/idm-console-nmclf-1.1.2.jar $MYROOT/share/java/idm-console-nmclf.jar

cd ..
rm -rf built
cd fedora-idm-console-1.1.1
ant -Dldapjdk.local.location=$MYROOT/share/java -Djss.local.location=$MYROOT/lib/java -Dclassdest=$MYROOT/share/java -Dlib.dir=$MYROOT/lib -Dconsole.local.location=$MYROOT/share/java

cp ../built/fedora-idm-console $MYROOT/bin/
chmod 755 $MYROOT/bin/fedora-idm-console
cp ../built/fedora-idm-console-1.1.1_en.jar $MYROOT/share/java

cd ..
rm -rf built
cd fedora-ds-console-1.1.2
ant -Dconsole.location=$MYROOT/share/java -Dldapjdk.location=$MYROOT/share/java

mkdir ~/.fedora-idm-console
mkdir ~/.fedora-idm-console/jars

cp ../built/package/fedora-ds-1.1.2.jar ~/.fedora-idm-console/jars/fedora-ds-1.1.jar
cp ../built/package/fedora-ds-1.1.2_en.jar ~/.fedora-idm-console/jars/fedora-ds-1.1_en.jar

cd ..
rm -rf built
cd fedora-ds-admin-console-1.1.2
ant -Dconsole.location=$MYROOT/share/java -Dldapjdk.location=$MYROOT/share/java

cp ../built/package/fedora-admin-1.1.2.jar ~/.fedora-idm-console/jars/fedora-admin-1.1.jar
cp ../built/package/fedora-admin-1.1.2_en.jar ~/.fedora-idm-console/jars/fedora-admin-1.1_en.jar

cd ..
rm -rf built

0 Responses to “Fedora DS Console on OS X”


  1. No Comments

Leave a Reply