NSS

From CBLFS
Revision as of 15:28, 1 December 2006 by 129.65.40.61 (talk) (I added the package description from BLFS.)
Jump to navigationJump to search
Download Source: http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/NSS_3_11_3_RTM/src/nss-3.11.3.tar.gz
Download nss-config: http://www.cross-lfs.org/~jciccone/nss-config

Introduction to NSS

The Network Security Services (NSS) package is a set of libraries designed to support cross-platform development of security-enabled client and server applications. Applications built with NSS can support SSL v2 and v3, TLS, PKCS #5, PKCS #7, PKCS #11, PKCS #12, S/MIME, X.509 v3 certificates, and other security standards. This is useful for implementing SSL and S/MIME or other Internet security standards into an application.

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.11.3
Requires: nspr >= 4.6.3
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.11.3
Requires: nspr >= 4.6.3
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.11.3
Requires: nspr >= 4.6.3
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.11.3
Requires: nspr >= 4.6.3
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
Retrieved from "?title=NSS&oldid=4245"