Difference between revisions of "NSS"

From CBLFS
Jump to navigationJump to search
Line 42: Line 42:
 
Install the package
 
Install the package
  
  install -m755 -d /usr/include/nss
+
install -m755 -d /usr/include/nss
  install -m755 -d /usr/lib/nss
+
install -m755 -d /usr/lib/nss
 
+
  for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
+
for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
    install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
+
  install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
  done
+
done
  for file in libcrmf.a libnssb.a libnssckfw.a; do
+
for file in libcrmf.a libnssb.a libnssckfw.a; do
    install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
+
  install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
  done
+
done
  for file in certutil cmsutil crlutil modutil pk12util signtool signver ssltap; do
+
for file in certutil cmsutil crlutil modutil pk12util signtool signver ssltap; do
    install -m755 mozilla/dist/*.OBJ/bin/${file} /usr/bin/
+
  install -m755 mozilla/dist/*.OBJ/bin/${file} /usr/bin/
  done
+
done
  install -m644 mozilla/dist/public/nss/*.h /usr/include/nss/
+
install -m644 mozilla/dist/public/nss/*.h /usr/include/nss/
  echo "/usr/lib/nss" >> /etc/ld.so.conf
 
  
 
Create the pkg-config file:
 
Create the pkg-config file:
Line 110: Line 109:
 
Install the package
 
Install the package
  
  cd $WORKINGDIR/mozilla/dist &&
+
install -m755 -d /usr/include/nss
  install -m755 -d /usr/lib/nss
+
install -m755 -d /usr/lib/nss
 
+
  for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
+
for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
    install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
+
  install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
  done
+
done
  for file in libcrmf.a libnssb.a libnssckfw.a; do
+
for file in libcrmf.a libnssb.a libnssckfw.a; do
    install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
+
  install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
  done
+
done
  echo "/usr/lib/nss" >> /etc/ld.so.conf
+
for file in certutil cmsutil crlutil modutil pk12util signtool signver ssltap; do
 +
  install -m755 mozilla/dist/*.OBJ/bin/${file} /usr/bin/
 +
done
 +
install -m644 mozilla/dist/public/nss/*.h /usr/include/nss/
  
 
Create the pkg-config file:
 
Create the pkg-config file:
Line 172: Line 174:
 
Install the package
 
Install the package
  
  cd $WORKINGDIR/mozilla/dist &&
+
install -m755 -d /usr/include/nss
  install -m755 -d /usr/lib32/nss  
+
install -m755 -d /usr/lib32/nss
 
+
  for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
+
for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
    install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib32/nss
+
  install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib32/nss
  done
+
done
  for file in libcrmf.a libnssb.a libnssckfw.a; do
+
for file in libcrmf.a libnssb.a libnssckfw.a; do
    install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib32/nss
+
  install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib32/nss
  done
+
done
  echo "/usr/lib32/nss" >> /etc/ld.so.conf
+
for file in certutil cmsutil crlutil modutil pk12util signtool signver ssltap; do
 +
  install -m755 mozilla/dist/*.OBJ/bin/${file} /usr/bin/
 +
done
 +
install -m644 mozilla/dist/public/nss/*.h /usr/include/nss/
  
 
Create the pkg-config file:
 
Create the pkg-config file:
Line 235: Line 240:
 
Install the package
 
Install the package
  
  cd $WORKINGDIR/mozilla/dist &&
+
install -m755 -d /usr/include/nss
  install -m755 -d /usr/include/nss &&
+
install -m755 -d /usr/lib64/nss
  install -m755 -d /usr/lib64/nss  
+
 
+
for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
  for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
+
  install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib64/nss
    install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib64/nss
+
done
  done
+
for file in libcrmf.a libnssb.a libnssckfw.a; do
  for file in libcrmf.a libnssb.a libnssckfw.a; do
+
  install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib64/nss
    install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib64/nss
+
done
  done
+
for file in certutil cmsutil crlutil modutil pk12util signtool signver ssltap; do
  for file in certutil cmsutil crlutil modutil pk12util signtool signver ssltap; do
+
  install -m755 mozilla/dist/*.OBJ/bin/${file} /usr/bin/
    install -m755 mozilla/dist/*.OBJ/bin/${file} /usr/bin/
+
done
  done
+
install -m644 mozilla/dist/public/nss/*.h /usr/include/nss/
  install -m644 mozilla/dist/public/nss/*.h /usr/include/nss/
 
  echo "/usr/lib64/nss" >> /etc/ld.so.conf
 
  
 
Create the pkg-config file:
 
Create the pkg-config file:

Revision as of 07:37, 7 September 2009

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://cross-lfs.org/~jciccone/nss-3.12-r5-config.in
Required Patch: http://svn.cross-lfs.org/svn/repos/patches/nss/nss-3.12.4-fixes-1.patch

Introduction to NSS

Project Homepage: Unknown

Dependencies

Required

Non-Multilib

Caution.png

Note

For Pure64 builds add 'USE_64=1' to the make commands

Compile the package:

export WORKINGDIR=$PWD &&
patch -Np0 -i ../nss-3.12.4-fixes-1.patch &&
make -C mozilla/security/coreconf BUILD_OPT=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
make -C mozilla/security/dbm BUILD_OPT=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
make -C mozilla/security/nss BUILD_OPT=1 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')

Install the package

install -m755 -d /usr/include/nss
install -m755 -d /usr/lib/nss

for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
  install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
done
for file in libcrmf.a libnssb.a libnssckfw.a; do
  install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
done
for file in certutil cmsutil crlutil modutil pk12util signtool signver ssltap; do
  install -m755 mozilla/dist/*.OBJ/bin/${file} /usr/bin/
done
install -m644 mozilla/dist/public/nss/*.h /usr/include/nss/

Create the pkg-config file:

 cat > /usr/lib/pkgconfig/nss.pc << "EOF"
 prefix=/usr
 exec_prefix=/usr/bin
 libdir=/usr/lib/nss
 includedir=/usr/include/nss
 
 Name: NSS
 Description: Network Security Services
 Version: 3.12.4
 Requires: nspr >= 4.9.4
 Libs: -L/usr/lib/nss -lssl3 -lsmime3 -lnss3 -lnssutil3
 Cflags: -I${includedir}
 EOF
   
 ln -sfv nss.pc /usr/lib/pkgconfig/mozilla-nss.pc
 chmod 644 /usr/lib/pkgconfig/*.pc

Create /usr/bin/nss-config:

install -v -m755 ../../../nss-3.12-r5-config.in /usr/bin/nss-config &&
sed -i -e "s/@MOD_MAJOR_VERSION@/3/" \
       -e "s/@MOD_MINOR_VERSION@/12/" \
       -e "s/@MOD_PATCH_VERSION@/3/" \
       -e "s/@prefix@/\/usr/" \
       /usr/bin/nss-config

Multilib

32Bit

Compile the package:

export WORKINGDIR=$PWD &&
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" USE_ARCH=32 &&
patch -Np0 -i ../nss-3.12.4-fixes-1.patch &&
make -C mozilla/security/coreconf CC="gcc ${BUILD32}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
make -C mozilla/security/dbm CC="gcc ${BUILD32}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
make -C mozilla/security/nss CC="gcc ${BUILD32}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
unset WORKINGDIR PKG_CONFIG_PATH USE_ARCH

Install the package

install -m755 -d /usr/include/nss
install -m755 -d /usr/lib/nss

for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
  install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
done
for file in libcrmf.a libnssb.a libnssckfw.a; do
  install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib/nss
done
for file in certutil cmsutil crlutil modutil pk12util signtool signver ssltap; do
  install -m755 mozilla/dist/*.OBJ/bin/${file} /usr/bin/
done
install -m644 mozilla/dist/public/nss/*.h /usr/include/nss/

Create the pkg-config file:

 cat > /usr/lib/pkgconfig/nss.pc << "EOF"
 prefix=/usr
 exec_prefix=/usr/bin
 libdir=/usr/lib/nss
 includedir=/usr/include/nss
 
 Name: NSS
 Description: Network Security Services
 Version: 3.12.4
 Requires: nspr >= 4.9.4
 Libs: -L/usr/lib/nss -lssl3 -lsmime3 -lnss3 -lnssutil3
 Cflags: -I${includedir}
 EOF
   
 ln -sfv nss.pc /usr/lib/pkgconfig/mozilla-nss.pc
 chmod 644 /usr/lib/pkgconfig/*.pc

Create /usr/bin/nss-config:

install -v -m755 ../../../nss-3.12-r5-config.in /usr/bin/nss-config-32 &&
sed -i -e "s/@MOD_MAJOR_VERSION@/3/" \
       -e "s/@MOD_MINOR_VERSION@/12/" \
       -e "s/@MOD_PATCH_VERSION@/3/" \
       -e "s/@prefix@/\/usr/" \
       /usr/bin/nss-config-32

N32

Compile the package:

export WORKINGDIR=$PWD &&
export PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" USE_ARCH=N32 &&
patch -Np0 -i ../nss-3.12.4-fixes-1.patch &&
make -C mozilla/security/coreconf CC="gcc ${BUILDN32}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
make -C mozilla/security/dbm CC="gcc ${BUILDN32}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
make -C mozilla/security/nss CC="gcc ${BUILDN32}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
unset WORKINGDIR PKG_CONFIG_PATH USE_ARCH

Install the package

install -m755 -d /usr/include/nss
install -m755 -d /usr/lib32/nss

for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
  install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib32/nss
done
for file in libcrmf.a libnssb.a libnssckfw.a; do
  install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib32/nss
done
for file in certutil cmsutil crlutil modutil pk12util signtool signver ssltap; do
  install -m755 mozilla/dist/*.OBJ/bin/${file} /usr/bin/
done
install -m644 mozilla/dist/public/nss/*.h /usr/include/nss/

Create the pkg-config file:

 cat > /usr/lib32/pkgconfig/nss.pc << "EOF"
 prefix=/usr
 exec_prefix=/usr/bin
 libdir=/usr/lib32/nss
 includedir=/usr/include/nss
 
 Name: NSS
 Description: Network Security Services
 Version: 3.12.4
 Requires: nspr >= 4.9.4
 Libs: -L/usr/lib32/nss -lssl3 -lsmime3 -lnss3 -lnssutil3
 Cflags: -I${includedir}
 EOF
   
 ln -sfv nss.pc /usr/lib/pkgconfig/mozilla-nss.pc
 chmod 644 /usr/lib/pkgconfig/*.pc

Create /usr/bin/nss-config:

install -v -m755 ../../../nss-3.12-r5-config.in /usr/bin/nss-config-n32 &&
sed -i -e "s/@MOD_MAJOR_VERSION@/3/" \
       -e "s/@MOD_MINOR_VERSION@/12/" \
       -e "s/@MOD_PATCH_VERSION@/3/" \
       -e "s/@prefix@/\/usr/" \
       -e "/libdir=/s/\/lib/&32/" \
       /usr/bin/nss-config-n32

64Bit

Compile the package:

export WORKINGDIR=$PWD &&
export PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" USE_ARCH=64 &&
patch -Np0 -i ../nss-3.12.4-fixes-1.patch &&
make -C mozilla/security/coreconf CC="gcc ${BUILD64}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 USE_64=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
make -C mozilla/security/dbm CC="gcc ${BUILD64}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 USE_64=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
make -C mozilla/security/nss CC="gcc ${BUILD64}" BUILD_OPT=1 \
 PKG_CONFIG_ALLOW_SYSTEM_LIBS=1 USE_64=1 \
 NSPR_INCLUDE_DIR=$(pkg-config --cflags-only-I nspr | sed 's@-I@@') \
 NSPR_LIB_DIR=$(pkg-config --libs-only-L nspr | sed 's@-L@@')
unset WORKINGDIR PKG_CONFIG_PATH USE_ARCH

Install the package

install -m755 -d /usr/include/nss
install -m755 -d /usr/lib64/nss

for file in libsoftokn3.so libfreebl3.so libnss3.so libnssutil3.so libssl3.so libsmime3.so libnssckbi.so libnssdbm3.so; do
  install -m755 mozilla/dist/*.OBJ/lib/${file} /usr/lib64/nss
done
for file in libcrmf.a libnssb.a libnssckfw.a; do
  install -m644 mozilla/dist/*.OBJ/lib/${file} /usr/lib64/nss
done
for file in certutil cmsutil crlutil modutil pk12util signtool signver ssltap; do
  install -m755 mozilla/dist/*.OBJ/bin/${file} /usr/bin/
done
install -m644 mozilla/dist/public/nss/*.h /usr/include/nss/

Create the pkg-config file:

 cat > /usr/lib64/pkgconfig/nss.pc << "EOF"
 prefix=/usr
 exec_prefix=/usr/bin
 libdir=/usr/lib64/nss
 includedir=/usr/include/nss
 
 Name: NSS
 Description: Network Security Services
 Version: 3.12.4
 Requires: nspr >= 4.9.4
 Libs: -L/usr/lib64/nss -lssl3 -lsmime3 -lnss3 -lnssutil3
 Cflags: -I${includedir}
 EOF

Create /usr/bin/nss-config:

install -v -m755 ../../../nss-3.12-r5-config.in /usr/bin/nss-config-64 &&
sed -i -e "s/@MOD_MAJOR_VERSION@/3/" \
       -e "s/@MOD_MINOR_VERSION@/12/" \
       -e "s/@MOD_PATCH_VERSION@/3/" \
       -e "s/@prefix@/\/usr/" \
       -e "/libdir=/s/\/lib/&64/" \
       /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.