You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
116 lines
3.8 KiB
116 lines
3.8 KiB
7 years ago
|
#!/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}.tar.gz
|
||
|
# exists 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}.tar.gz"
|
||
|
|
||
|
tar -xzf ${name}-${version}.tar.gz
|
||
|
|
||
|
# 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
|
||
|
# nss/dbm full directory
|
||
|
# nss/coreconf full directory
|
||
|
# nss top files only
|
||
|
# nss/lib top files only
|
||
|
# nss/lib/freebl full directory
|
||
|
# nss/lib/softoken full directory
|
||
|
# nss/lib/softoken/dbm full directory
|
||
|
#-------------------------------------------------------
|
||
|
|
||
|
WORK=${softokn_dir}-work
|
||
|
rm -rf ${WORK}
|
||
|
mkdir ${WORK}
|
||
|
|
||
|
# copy everything
|
||
|
cp -a ${nss_source_dir} ${WORK}/${softokn_dir}
|
||
|
|
||
|
# remove subdirectories that we don't want
|
||
|
rm -rf ${WORK}/${softokn_dir}/nss/cmd
|
||
|
rm -rf ${WORK}/${softokn_dir}/nss/tests
|
||
|
rm -rf ${WORK}/${softokn_dir}/nss/lib
|
||
|
rm -rf ${WORK}/${softokn_dir}/nss/pkg
|
||
|
rm -rf ${WORK}/${softokn_dir}/nss/automation
|
||
|
rm -rf ${WORK}/${softokn_dir}/nss/external_tests
|
||
|
rm -rf ${WORK}/${softokn_dir}/nss/doc
|
||
|
# start with an empty lib directory and copy only what we need
|
||
|
mkdir ${WORK}/${softokn_dir}/nss/lib
|
||
|
# copy the top files from nss/lib/
|
||
|
topFilesL=`find ${nss_source_dir}/nss/lib/ -maxdepth 1 -mindepth 1 -type f`
|
||
|
for f in $topFilesL; do
|
||
|
cp -p $f ${WORK}/${softokn_dir}/nss/lib
|
||
|
done
|
||
|
mkdir ${WORK}/${softokn_dir}/nss/lib/util
|
||
|
# copy entire dbm, freebl and softoken directories recursively
|
||
|
cp -a ${nss_source_dir}/nss/lib/dbm ${WORK}/${softokn_dir}/nss/lib/dbm
|
||
|
cp -a ${nss_source_dir}/nss/lib/freebl ${WORK}/${softokn_dir}/nss/lib/freebl
|
||
|
cp -a ${nss_source_dir}/nss/lib/softoken ${WORK}/${softokn_dir}/nss/lib/softoken
|
||
|
# and some Makefiles and related files from nss
|
||
|
topFilesN=`find ${nss_source_dir}/nss/ -maxdepth 1 -mindepth 1 -type f`
|
||
|
for f in $topFilesN; do
|
||
|
cp -p $f ${WORK}/${softokn_dir}/nss/
|
||
|
done
|
||
|
# copy private headers that nss-softoken needs
|
||
|
for f in verref.h; do
|
||
|
cp -p ${nss_source_dir}/nss/lib/util/$f ${WORK}/${softokn_dir}/nss/lib/util
|
||
|
done
|
||
|
|
||
|
# we do need bltest, ecperf, fbectest, lib, lowhashtest, and shlibsign
|
||
|
# from nss/cmd
|
||
|
mkdir ${WORK}/${softokn_dir}/nss/cmd
|
||
|
# copy some files at the top and the slhlib subdirectory
|
||
|
topFilesC=`find ${nss_source_dir}/nss/cmd/ -maxdepth 1 -mindepth 1 -type f`
|
||
|
for f in $topFilesC; do
|
||
|
cp -p $f ${WORK}/${softokn_dir}/nss/cmd/
|
||
|
done
|
||
|
|
||
|
cp -a ${nss_source_dir}/nss/cmd/bltest ${WORK}/${softokn_dir}/nss/cmd/bltest
|
||
|
cp -a ${nss_source_dir}/nss/cmd/ecperf ${WORK}/${softokn_dir}/nss/cmd/ecperf
|
||
|
cp -a ${nss_source_dir}/nss/cmd/fbectest ${WORK}/${softokn_dir}/nss/cmd/fbectest
|
||
|
cp -a ${nss_source_dir}/nss/cmd/fipstest ${WORK}/${softokn_dir}/nss/cmd/fipstest
|
||
|
cp -a ${nss_source_dir}/nss/cmd/lib ${WORK}/${softokn_dir}/nss/cmd/lib
|
||
|
cp -a ${nss_source_dir}/nss/cmd/lowhashtest ${WORK}/${softokn_dir}/nss/cmd/lowhashtest
|
||
|
cp -a ${nss_source_dir}/nss/cmd/shlibsign ${WORK}/${softokn_dir}/nss/cmd/shlibsign
|
||
|
|
||
|
# plus common, crypto, and lowhash from nss/tests
|
||
|
mkdir ${WORK}/${softokn_dir}/nss/tests
|
||
|
topFilesT=`find ${nss_source_dir}/nss/tests/ -maxdepth 1 -mindepth 1 -type f`
|
||
|
for f in $topFilesT; do
|
||
|
cp -p $f ${WORK}/${softokn_dir}/nss/tests/
|
||
|
done
|
||
|
keepers="cipher common ec lowhash"
|
||
|
for t in $keepers; do
|
||
|
cp -a ${nss_source_dir}/nss/tests/$t ${WORK}/${softokn_dir}/nss/tests/$t
|
||
|
done
|
||
|
|
||
|
pushd ${WORK}
|
||
|
# the compressed tar ball for nss-softokn
|
||
|
tar -czf ../${name}-softokn-${version}.tar.gz ${softokn_dir}
|
||
|
popd
|
||
|
|
||
|
# cleanup after ourselves
|
||
|
rm -fr ${nss_source_dir}
|
||
|
rm -rf ${WORK}
|
||
|
|
||
|
|
||
|
|