NSS

From CBLFS
Revision as of 22:43, 11 January 2007 by Jim (talk | contribs) (Introduction to NSS)
Jump to navigationJump to search
Download Source: http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_12_4_RTM/src/nss-3.12.4.tar.gz
Download nss-config: http://www.cross-lfs.org/~jciccone/nss-config

Introduction to NSS

<Package Description Needed>

Dependencies

Required

Non-Multilib

NOTE: someone check if we should be including more shlibs in the .pc file

Compile the package (NOTE: for pure64 builds add 'USE_64=1' to the make line):

export WORKINGDIR=$PWD &&
echo 'INCLUDES += -I/usr/include/nspr' >> mozilla/security/coreconf/headers.mk &&
for dir in $PWD/mozilla/security/{coreconf,dbm,nss}; do
  cd $dir &&
  make BUILD_OPT=1
done

Install the package

export NSS_LINUXDIR=$(basename `dir -d $WORKINGDIR/mozilla/dist/Linux*`) &&
cd $WORKINGDIR/mozilla/dist &&
install -v -m755 $NSS_LINUXDIR/lib/*.so /usr/lib &&
install -v -m644 $NSS_LINUXDIR/lib/*.{chk,a} /usr/lib &&
install -v -d /usr/include/nss &&
install -v -m644 {public,private}/nss/* /usr/include/nss &&
unset NSS_LINUXDIR WORKINGDIR

Create the pkg-config file:

cat > /usr/lib/pkgconfig/nss.pc << "EOF"
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib
includedir=/usr/include/nss

Name: NSS
Description: Network Security Services
Version: 3.12.4
Requires: nspr >= 4.9.4
Libs: -L${libdir} -lssl3 -lsmime3 -lnss3 -Wl,-R${libdir}
Cflags: -I${includedir}
EOF

Create /usr/bin/nss-config:

install -v -m755 ../nss-config /usr/bin/nss-config

Multilib

32Bit

Compile the package:

export WORKINGDIR=$PWD &&
echo 'INCLUDES += -I/usr/include/nspr' >> mozilla/security/coreconf/headers.mk &&
for dir in $PWD/mozilla/security/{coreconf,dbm,nss}; do
  cd $dir &&
  make CC="gcc ${BUILD32}" BUILD_OPT=1
done

Install the package

export NSS_LINUXDIR=$(basename `dir -d $WORKINGDIR/mozilla/dist/Linux*`) &&
cd $WORKINGDIR/mozilla/dist &&
install -v -m755 $NSS_LINUXDIR/lib/*.so /usr/lib &&
install -v -m644 $NSS_LINUXDIR/lib/*.{chk,a} /usr/lib &&
install -v -d /usr/include/nss &&
install -v -m644 {public,private}/nss/* /usr/include/nss &&
unset NSS_LINUXDIR WORKINGDIR

Create the pkg-config file:

cat > /usr/lib/pkgconfig/nss.pc << "EOF"
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib
includedir=/usr/include/nss

Name: NSS
Description: Network Security Services
Version: 3.12.4
Requires: nspr >= 4.9.4
Libs: -L${libdir} -lssl3 -lsmime3 -lnss3 -Wl,-R${libdir}
Cflags: -I${includedir}
EOF

Create /usr/bin/nss-config:

install -v -m755 ../nss-config /usr/bin/nss-config-32

N32

Compile the package:

export WORKINGDIR=$PWD &&
echo 'INCLUDES += -I/usr/include/nspr' >> mozilla/security/coreconf/headers.mk &&
for dir in $PWD/mozilla/security/{coreconf,dbm,nss}; do
  cd $dir &&
  make CC="gcc ${BUILDN32}" BUILD_OPT=1
done

Install the package

export NSS_LINUXDIR=$(basename `dir -d $WORKINGDIR/mozilla/dist/Linux*`) &&
cd $WORKINGDIR/mozilla/dist &&
install -v -m755 $NSS_LINUXDIR/lib/*.so /usr/lib32 &&
install -v -m644 $NSS_LINUXDIR/lib/*.{chk,a} /usr/lib32 &&
install -v -d /usr/include/nss &&
install -v -m644 {public,private}/nss/* /usr/include/nss &&
unset NSS_LINUXDIR WORKINGDIR

Create the pkg-config file:

cat > /usr/lib32/pkgconfig/nss.pc << "EOF"
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib32
includedir=/usr/include/nss

Name: NSS
Description: Network Security Services
Version: 3.12.4
Requires: nspr >= 4.9.4
Libs: -L${libdir} -lssl3 -lsmime3 -lnss3 -Wl,-R${libdir}
Cflags: -I${includedir}
EOF

Create /usr/bin/nss-config:

install -v -m755 ../nss-config /usr/bin/nss-config-n32 &&
sed -i "s:/lib:&32:g" /usr/bin/nss-config-n32

64Bit

Compile the package:

export WORKINGDIR=$PWD &&
echo 'INCLUDES += -I/usr/include/nspr' >> mozilla/security/coreconf/headers.mk &&
for dir in $PWD/mozilla/security/{coreconf,dbm,nss}; do
  cd $dir &&
  make CC="gcc ${BUILD64}" USE_64=1 BUILD_OPT=1
done

Install the package

export NSS_LINUXDIR=$(basename `dir -d $WORKINGDIR/mozilla/dist/Linux*`) &&
cd $WORKINGDIR/mozilla/dist &&
install -v -m755 $NSS_LINUXDIR/lib/*.so /usr/lib64 &&
install -v -m644 $NSS_LINUXDIR/lib/*.{chk,a} /usr/lib64 &&
install -v -d /usr/include/nss &&
install -v -m644 {public,private}/nss/* /usr/include/nss &&
unset NSS_LINUXDIR WORKINGDIR

Create the pkg-config file:

cat > /usr/lib64/pkgconfig/nss.pc << "EOF"
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib64
includedir=/usr/include/nss

Name: NSS
Description: Network Security Services
Version: 3.12.4
Requires: nspr >= 4.9.4
Libs: -L${libdir} -lssl3 -lsmime3 -lnss3 -Wl,-R${libdir}
Cflags: -I${includedir}
EOF

Create /usr/bin/nss-config:

install -v -m755 ../nss-config /usr/bin/nss-config-64 &&
sed -i "s:/lib:&64:g" /usr/bin/nss-config-64 &&
ln -sfv multiarch_wrapper /usr/bin/nss-config

Contents

Installed Programs: nspr-config and nss-config
Installed Libraries: libcrmf.a, libfreebl3.so, libnspr4.so, libnss3.so, libnssckbi.so, libplc4.so, libplds4.so, libsmime3.so, libsoftokn3.so and libssl3.so
Installed Directory: /usr/include/nspr and /usr/include/nss

Short Descriptions

nspr-config is used to determine the NSPR installation settings of the installed NSPR libraries.
nss-config is used to determine the NSS library settings of the installed NSS libraries.

The libnspr4.so, libplc4.so and libplds4.so libraries make up the Netscape Portable Runtime (NSPR) libraries. These libraries provide a platform-neutral API for system level and libc like functions. The API is used in the Mozilla client, many of the Netscape/AOL/iPlanet offerings and other software applications.

The libcrmf.a, libfreebl.so, libnss3.so, libnssckbi.so, libsmime3.so, libsoftokn3.so and libnssl3.so libraries make up the NSS libraries.