rpms/nss-softokn/devel nss-disable-freebl-execstack.patch, NONE, 1.1 nss-softokn-config.in, NONE, 1.1 nss-softokn.pc.in, NONE, 1.1 nss-softokn-prelink.conf, NONE, 1.1 nss-split-softokn.sh, NONE, 1.1 nss-stubs-bug502133.patch, NONE, 1.1

Elio Maldonado emaldonado at fedoraproject.org
Wed Aug 19 23:47:13 UTC 2009


Author: emaldonado

Update of /cvs/extras/rpms/nss-softokn/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv6296

Added Files:
	nss-disable-freebl-execstack.patch nss-softokn-config.in 
	nss-softokn.pc.in nss-softokn-prelink.conf 
	nss-split-softokn.sh nss-stubs-bug502133.patch 
Log Message:
Initial checkin - rhbz# 515034

nss-disable-freebl-execstack.patch:
 Makefile |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

--- NEW FILE nss-disable-freebl-execstack.patch ---
--- softoken-3.12.4.0/mozilla/security/nss/lib/freebl/Makefile-save	2009-04-02 08:46:32.083530732 -0700
+++ softoken-3.12.4.0/mozilla/security/nss/lib/freebl/Makefile	2009-04-02 08:46:51.740542226 -0700
@@ -133,7 +133,7 @@
 ifeq ($(OS_TARGET),Linux)
 ifeq ($(CPU_ARCH),x86_64)
     ASFILES  = arcfour-amd64-gas.s mpi_amd64_gas.s
-    ASFLAGS += -march=opteron -m64 -fPIC
+    ASFLAGS += -march=opteron -m64 -fPIC -Wa,--noexecstack
     DEFINES += -DNSS_BEVAND_ARCFOUR -DMPI_AMD64 -DMP_ASSEMBLY_MULTIPLY
     DEFINES += -DNSS_USE_COMBA
     DEFINES += -DMP_CHAR_STORE_SLOW -DMP_IS_LITTLE_ENDIAN


--- NEW FILE nss-softokn-config.in ---
#!/bin/sh

prefix=@prefix@

major_version=@MOD_MAJOR_VERSION@
minor_version=@MOD_MINOR_VERSION@
patch_version=@MOD_PATCH_VERSION@

usage()
{
	cat <<EOF
Usage: nss-softokn-config [OPTIONS] [LIBRARIES]
Options:
	[--prefix[=DIR]]
	[--exec-prefix[=DIR]]
	[--includedir[=DIR]]
	[--libdir[=DIR]]
	[--version]
	[--libs]
	[--cflags]
Dynamic Libraries:
	softokn3
EOF
	exit $1
}

if test $# -eq 0; then
	usage 1 1>&2
fi

lib_ssl=no
lib_smime=no
lib_nss=no
lib_nssutil=yes

while test $# -gt 0; do
  case "$1" in
  -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
  *) optarg= ;;
  esac

  case $1 in
    --prefix=*)
      prefix=$optarg
      ;;
    --prefix)
      echo_prefix=yes
      ;;
    --exec-prefix=*)
      exec_prefix=$optarg
      ;;
    --exec-prefix)
      echo_exec_prefix=yes
      ;;
    --includedir=*)
      includedir=$optarg
      ;;
    --includedir)
      echo_includedir=yes
      ;;
    --libdir=*)
      libdir=$optarg
      ;;
    --libdir)
      echo_libdir=yes
      ;;
    --version)
      echo ${major_version}.${minor_version}.${patch_version}
      ;;
    --cflags)
      echo_cflags=yes
      ;;
    --libs)
      echo_libs=yes
      ;;
    ssl)
      lib_ssl=no
      ;;
    smime)
      lib_smime=no
      ;;
    nss)
      lib_nss=no
      ;;
    nssutil)
      lib_nssutil=yes
      ;;
    *)
      usage 1 1>&2
      ;;
  esac
  shift
done

# Set variables that may be dependent upon other variables
if test -z "$exec_prefix"; then
    exec_prefix=`pkg-config --variable=exec_prefix nss`
fi
if test -z "$includedir"; then
    includedir=`pkg-config --variable=includedir nss`
fi
if test -z "$libdir"; then
    libdir=`pkg-config --variable=libdir nss`
fi

if test "$echo_prefix" = "yes"; then
    echo $prefix
fi

if test "$echo_exec_prefix" = "yes"; then
    echo $exec_prefix
fi

if test "$echo_includedir" = "yes"; then
    echo $includedir
fi

if test "$echo_libdir" = "yes"; then
    echo $libdir
fi

if test "$echo_cflags" = "yes"; then
    echo -I$includedir
fi

if test "$echo_libs" = "yes"; then
      libdirs="-Wl,-rpath-link,$libdir -L$libdir"
      if test -n "$lib_ssl"; then
	libdirs="$libdirs -lssl${major_version}"
      fi
      if test -n "$lib_smime"; then
	libdirs="$libdirs -lsmime${major_version}"
      fi
      if test -n "$lib_nss"; then
	libdirs="$libdirs -lnss${major_version}"
      fi
      if test -n "$lib_nssutil"; then
	libdirs="$libdirs -lnssutil${major_version}"
      fi
      echo $libdirs
fi      



--- NEW FILE nss-softokn.pc.in ---
prefix=%prefix%
exec_prefix=%exec_prefix%
libdir=%libdir%
includedir=%includedir%

Name: SOFTKN
Description: Network Security Services Softoken PKCS #11 Module
Version: %SOFTOKEN_VERSION%
Requires: nspr >= %NSPR_VERSION%
Requires: nss-util >= %NSSUTIL_VERSION%
Cflags: -I${includedir}


--- NEW FILE nss-softokn-prelink.conf ---
-b /lib{,64}/libfreebl3.so
-b /lib{,64}/libsoftokn3.so


--- NEW FILE nss-split-softokn.sh ---
#!/bin/sh
#
# Splits NSS into nss-util and nss-softokn
# Takes as command line input the version of nss
# and assumes that a file nss-${nss_version}-stripped.tar.bz2
# exits in the current directory

set -e

if test -z $1
then
  echo "usage: $0 nss-version"
  exit
fi

export name=nss
export version=$1

echo "Extracting ${name}-${version}-stripped.tar.bz2"

tar -xjf ${name}-${version}-stripped.tar.bz2

# the directory will be named ${name}-${version}

nss_source_dir=${name}-${version}
softokn_dir=${name}-softokn-${version}

# make_nss_softokn
#-------------------------------------------------
# create the nss-softokn subset consisting of
#   mozilla/dbm                      --- full directory
#   mozilla/security                 --- top empty
#   mozilla/security/coreconf        --- full directory
#   mozilla/security/nss             --- top files only
#   mozilla/security/nss/lib         --- top files only
#   mozilla/security/nss/lib/freebl  --- full directory
#   mozilla/security/nss/lib/softoken --- full directory
#   mozilla/security/nss/lib/softoken/dbm --- full directory
#-------------------------------------------------------

SOFTOKN_WORK=${softokn_dir}-work
rm -rf ${SOFTOKN_WORK}
mkdir ${SOFTOKN_WORK}

# copy everything
cp -a ${nss_source_dir} ${SOFTOKN_WORK}/${softokn_dir}

# remove subdirectories that we don't want
rm -rf ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss/cmd
rm -rf ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss/tests
rm -rf ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss/lib
rm -rf ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss/pkg
# rstart with an empty lib directory and copy only what we need
mkdir ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss/lib
# copy entire freebl and softoken directories recursively
cp -a ${nss_source_dir}/mozilla/security/nss/lib/freebl ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss/lib/freebl
cp -a ${nss_source_dir}/mozilla/security/nss/lib/softoken ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss/lib/softoken
cp -a ${nss_source_dir}/mozilla/security/nss/lib/softoken ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss/lib/softoken/dbm

# and some Makefiles and related files
cp ${nss_source_dir}/mozilla/security/nss/Makefile ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss
cp ${nss_source_dir}/mozilla/security/nss/manifest.mn ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss
cp ${nss_source_dir}/mozilla/security/nss/trademarks.txt ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss
cp ${nss_source_dir}/mozilla/security/nss/lib/Makefile ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss/lib
cp ${nss_source_dir}/mozilla/security/nss/lib/manifest.mn ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss/lib

# we do need shlibsign from cmd
mkdir ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss/cmd
# copy some files at the top and the slhlib subdirectory
cp -p ${nss_source_dir}/mozilla/security/nss/cmd/Makefile ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss/cmd
cp -p ${nss_source_dir}/mozilla/security/nss/cmd/manifest.mn ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss/cmd
cp -p ${nss_source_dir}/mozilla/security/nss/cmd/platlibs.mk ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss/cmd
cp -p ${nss_source_dir}/mozilla/security/nss/cmd/platrules.mk ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss/cmd

cp -a ${nss_source_dir}/mozilla/security/nss/cmd/shlibsign ${SOFTOKN_WORK}/${softokn_dir}/mozilla/security/nss/cmd/shlibsign

pushd ${SOFTOKN_WORK}
# the compressed tar ball for nss-softokn
tar -cjf ../${name}-softokn-${version}-stripped.tar.bz2 ${softokn_dir}
popd

# cleanup after ourselves
rm -fr ${nss_source_dir}
rm -rf ${SOFTOKN_WORK}




nss-stubs-bug502133.patch:
 stubs.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

--- NEW FILE nss-stubs-bug502133.patch ---
diff -rupN nss-3.12.3.99.3-orig/mozilla/security/nss/lib/freebl/stubs.c nss-3.12.3.99.3/mozilla/security/nss/lib/freebl/stubs.c
--- ./mozilla/security/nss/lib/freebl/stubs.c	2009-03-28 19:21:50.000000000 -0700
+++ ./mozilla/security/nss/lib/freebl/stubs.c	2009-06-08 20:37:20.000000000 -0700
@@ -558,8 +558,8 @@ FREEBL_InitStubs()
 	    return SECFailure;
 	}
 	rv = freebl_InitNSPR(nspr);
-	freebl_releaseLibrary(nspr);
 	if (rv != SECSuccess) {
+	    freebl_releaseLibrary(nspr);
 	    return rv;
 	}
     }
@@ -570,8 +570,8 @@ FREEBL_InitStubs()
 	    return SECFailure;
 	}
 	rv = freebl_InitNSSUtil(nssutil);
-	freebl_releaseLibrary(nssutil);
 	if (rv != SECSuccess) {
+	    freebl_releaseLibrary(nssutil);
 	    return rv;
 	}
     }




More information about the fedora-extras-commits mailing list